out-keys ?
Da schreibe ich dann alle Schlüssel=Wertpaare auf?
Beispiel:
o5mfilter reitgebiet.osm --highway=bridleway --horse=yes|no|designated|official (da würde ich jetzt lieber anzeigen, daß der Wert beliebig sein kann) >tagliste.txt
Am Ende kommt dann eine *.txt heraus.
Die brauch ich nicht.
Im Composer gibt es schon einen Assistenten und Listen, die mir alle möglichen Dinge anzeigen.
Ich hätte lieber als Ausgabe eine Datei, aus der sich eine Karte erstellen läßt.
es soll auch Leute geben, die den (unfreien) composer nicht verwenden
Und auch keine postgis-datenbank haben.
Umd fuer die ist das tool von Markus schon toll
Sorry, war mein Fehler. Ich hatte mitten in der Nacht die Datei osmfilter.exe (ohne 5) überschrieben, anstatt eine neue o5mfilter.exe anzulegen. Schaden ist inzwischen repariert.
Gibt dafür zwei neue Optionen:
–fake-history
–fake-version
Beide sind dafür gedacht, die einmal rausgeworfene History-Information wieder einzubinden. Manche Programme bestehen drauf, obwohl sie die Infos gar nicht auswerten. JOSM zum Beispiel braucht unbedingt die Versionsnummer, sonst öffnet er eine Datei nicht. Deswegen auch die Möglichkeit, speziell die Versionsnummer zu faken: alle Objekte erhalten dann version=“1”. Damit kann man die Datei per JOSM anschauen - hochladen geht natürlich nicht, denn dazu bräuchte man die echten Versionsnummern.
Gibt es einen Vorteil der Optionen? Außer damit ich damit den Schaden “reparieren” kann. Aber wenn ich von vornherein weiß, das ich das mit Josm öffnen möchte, dann ist es doch sicher besser auf drop history zu verzichten denn der Speicherplatzvorteil geht ja dann wieder verloren oder?
ist das jetzt ein richtiger (C99-)Fehler? (Zeile 2560)
$ gcc -std=c99 o5mfilter.c
o5mfilter.c: In function ‘write_timestamp’:
o5mfilter.c:1291: warning: implicit declaration of function ‘gmtime_r’
o5mfilter.c: In function ‘rr_ini’:
o5mfilter.c:1859: warning: implicit declaration of function ‘fchmod’
o5mfilter.c: In function ‘stw_write’:
o5mfilter.c:2407: warning: implicit declaration of function ‘stpcpy’
o5mfilter.c:2407: warning: assignment makes pointer from integer without a cast
o5mfilter.c: In function ‘str_read’:
o5mfilter.c:2560: error: subscripted value is neither array nor pointer
o5mfilter.c: In function ‘oo__strtimetosint64’:
o5mfilter.c:3315: warning: implicit declaration of function ‘timegm’
o5mfilter.c: In function ‘oo__end’:
o5mfilter.c:3721: warning: implicit declaration of function ‘putenv’
o5mfilter.c:3722: warning: implicit declaration of function ‘tzset’
$
Über den bin ich auch schon gestolpert. Es ist ein Fehler, aber meiner Vermutung nach einer in gcc - doch sicher bin ich mir nicht ganz. Der Compiler meckert, dass die mit einem Index versehene Variable weder Feld noch Zeiger ist. Es geht also entweder um str__infop->tab oder um das Funktionsergebnis.
str__infop->tab ist eindeutig ein Feld, siehe Zeile 2466.
Das Funktionsergebnis ist eindeutig ein Zeiger, siehe Linux-Hilfe “man stpcpy” oder http://www.kernel.org/doc/man-pages/online/pages/man3/stpcpy.3.html
Du hast natürlich Recht, wenn du weißt, dass du die History später wieder brauchst, wärs doof, sie rauszuwerfen.
Die Option ist eher für die Fälle gedacht, in denen man aus Platzgründen mit einigen Dateien ohne History-Informationen hantiert, dann aber für die Fehlersuche eine davon mal schnell mit JOSM anschauen will.
horse=
und dann nichts dahinter geht also, bzw. bedeutet alles einsammeln.
Das Ergebnis sind dann sämtliche Objekte, an denen dieser Schlüssel unabhängig vom Wert hängt.
Da stellt sich für mich nun die Frage, ob die anderen Schlüssel, die zu diesen Objekten gehören mit in die Ausgabedatei (z.B. Reiten.osm) geschrieben werden oder ob die bei diesem Filtervorgang verloren gehen?
Ein Fehler trat bei mir jetzt auf. Nachdem ich die Kommandozeile ausführen wollte bekam ich:
o5mfilter Error: could not open temporary file: o5mfilter_tempfile.0
Ein manuelles löschen der Datei hilft.
theoretisch müsste das
route=bus
genügen. Da aber es sehr viel Kuddelmuddel beim ÖPNV-Schema gab, gibt es z. B. in Bremen die Relatiion
376492
in welcher das “route=bus” fehlt und nur noch
type=route
line=bus
vorhanden ist. Könnt mir auch noch gut vorstellen, dass
line_variants
noch “unterwegs” sind.
kommandozeilenbasiert (unter Windows nicht ganz einfach: WINDOWS-Taste+R drücken, cmd eingeben, mit chdir den Ordner wechseln, dann o5mfilter.exe --h (anders als in der Anleitung beschrieben) eingeben - dafür braucht man schon fortgeschrittene DOS-Kenntnisse)
braucht immer noch riesige, gigabytegroße Ausgangsdateien (Europe.osm hat 82 GB)
Na,jetzt übertreibst Du aber ein bischen
Fortgeschrittene DOS-kenntnisse sind IMHO Batch-Dateien schreiben; “cmd” eintippen gehört noch nicht dazu.
Die braucht man immer, - wenn mal lokal arbeiten will und niemand anderen (den Serverbetreiber einer funktionierenden XAPI z. B. ) zur Last fallen will und grenzüberschreitene Gebiete benötigt. Hätt’ ich z. B. auch, wenn ich eine DB aufsetzen würde für die initial-Befüllung.
Meiner einer kommt z. B. mit mittefranken.osm zurecht, hat ca. 500 MB, manchmal reicht schon “Bremen”