OSMFilter, source-tag

Hallo,

ich wollte gestern aus dem planet-file alle Datensätze ausfiltern, welche als Quelle vermessung oder kataster beinhalten. Also das komplette planet-latest.osm gezogen, entpackt und osmfilter angesetzt:

osmfilter planet-latest.osm --keep="(source=*kataster*) or (source=*vermessung*)" -o=kataster_vermessung.osm

Leider ist mein erzeugtes kataster_vermessung.osm leer :frowning: Zumindest die in Viersen importierten Daten sollten doch vorhanden sein? http://wiki.openstreetmap.org/wiki/Niederrhein/Viersen/Stammtisch/Import#Kennzeichnung_der_Importe

Könnte mich liebenswerterweise jemand aufklären, wo hier der Fehler liegt?

Gruß, dooley

kenn mich mit osmfilter net so aus aber im Import wird zumindest Kataster groß geschrieben. Fragst du am besten nach ataster ab.

Und zum Testen tut es NRW doch wohl auch, oder?

Gruss
walter

sind überhaupt irgendwelche source-Tags in deinem planet-File enthalten?

Sprich: filtere zuerst mal mit source=* und dann guck das Ergebnis an, und suche darin manuell mal ein paar Objekte, von denen du weisst das sie dein gesuchten source tag besitzen, und dann guck, wie du da genau filtern musst.

Hallo walter,

danke. Ich lass den Filter grad nochmal laufen. Ja, NRW würde auch reichen, bzw. Deutschland. Leider bekommt man offensichtlich keine Ausschnitte ausser denen der Geofabrik, und nachdem ich mit deren Deutschland-Extrakt letzte Woche “auf die Schnauze” gefallen bin, weil die grenzüberschreitenden Gewässer teilweise verlandet waren (z.B. Bodensee und Rhein), nehme ich lieber gleich das ganze File.

Gruß, dooley

Ich finde in meiner DB (Full planet in PostGis) keine Objekte mit source-tags. Ist ja auch logisch, da die rausgeworfen wurden.
Die stehen jetzt ja alle an den Changesets.

Dumm gelaufen
walter


plane2=# select osm_id from planet_osm_point where tags ? 'source';
 osm_id 
--------
(0 rows)

planet2=# 
planet2=# select osm_id from planet_osm_polygon where tags ? 'source';
 osm_id 
--------
(0 rows)

@gormo: Stimmt, kann ich auch machen. Jetzt läuft grad der geänderte Filter, mal schauen, was rauskommt…
@walter: Das in der DB keine source-tags drin sind ist richtig, zumindest osm2pgsql schmeisst die immer weg (das ist hardcodiert und kann auch nicht durch irgendwelche Settings beeinflusst werden). Dass die source-tags nicht im Original Planet drin sein sollen, sondern nur in den Changesets, kann ich mir beim besten Willen nicht vorstellen und würde auch keinen Sinn machen. TagInfo jedenfalls hat diese Daten: https://taginfo.openstreetmap.org/keys/source

dooley

Ich glaube das war was walter meinte, als er sagte “nimm doch NRW zum Testen”: die Laufzeit für Tests ist einfach viel weniger, und wenn du dann sicher bist das dein Filter klappt kannst du den auf den Gesamtdatensatz loslassen.

8<

Das sind zwei verschiedene source-Tags.
Das eigentliche source-Tag steht noch direkt an den Elementen (wohl nicht mehr in der DB, aber da kenne ich mich nicht aus, aber in den Extrakten sind sie drin), sofern getaggt. Allerdings zunehmend unzuverlässig praktiziert.
Das “source” in den Changesets stammt von den Editioren, z.B. JOSM: “Datenquelle für die Änderungen” beim Hochladen - Auswahl knowledge, survey, Bing oder eigener Text.

Gruß
Mario

Jo, hast du natürlich recht. source und created_by werden ignoriert - und das ist auch gut so.

Gruss
walter

Hi,
folgendes funzt bei mir unter Win-7:

kataster.txt:

--keep-nodes=
source=*ataster*

--keep-ways=
source=*ataster*

--keep-relations=
source=*ataster*


katasterfilter.bat:


osmfilter -v europe.o5m --parameter-file=kataster.txt --out-osm  > data-kataster.osm

pause


Liefert eine 148 MB OSM Datei.

Hallo zusammen,

wie im Beitrag 1 oberhalb hat es auch bei mir geklappt, einfach ataster nehmen.

Herzlichen Dank allen Beteiligten,

dooley

Erster! :wink:

Gruss
walter

…wenn man es ganz genau will (und beispielsweise “XXXataster” oder “Blataster” ausschließen), kann man

source~"*[Kk]ataster*"

nehmen. in eckigen Klammern eingeklammertes steht für “ein Zeichen aus der Menge an Zeichen in Klammern”.