x

OSM-Rohdaten filtern ... speziell alle Gebäude ohne Eigenschaften raus


  1. OSM-Rohdaten filtern ... speziell alle Gebäude ohne Eigenschaften raus · stephan75 (Gast) · 07.10.2011 16:23 · [flux]

    Hi,

    die OSM-Rohdaten werden immer detaillierter und die Datenmengen immer größer. Wenn man die Daten z.B. für mobile Geräte verwenden will, so kommen diese bal an ihre Platz- und Leistungsgrenzen.

    Somit wird vielleicht immer mehr der Bedarf entstehen, die OSM-Daten vor Verarbeitung durch irgendwelche Präprozesssoren (wie z.B. der Mapcreator von OsmAnd) zu filtern.

    Sicher gibt es da schon einige Methoden zu, beispielsweise via Osmosis oder Osmfilter.

    Ich hab aber beobachtet dass es auch aufgrund der Bing-Bilder-Freigabe nun unheimlich viele area-Objekte aus einigen Nodes mit der einzigen Eigenschaft "building=yes" gibt.

    Solche ganz simplen Gebäude könnten z.B. bei Navigations-Apps getrost ignoriert werden.

    Nur: wie kann man solche Objekte per irgendeinem Filter-Programm rausschmeißen?
    Die buildings sollen aber erhalten bleiben, sobald an dem Objekt nur die geringste zusätzliche Eigenschaft getaggt ist.

    Wie könnte man das technisch realisieren? Und welche Ersparnis würde das bringen?

    Gruß, Stephan


    • Re: OSM-Rohdaten filtern ... speziell alle Gebäude ohne Eigenschaften raus · chris66 (Gast) · 07.10.2011 16:29 · [flux]

      ich mach's mit osmfilter. Ich hab dadurch für mein DACH-Extrakt ca. 35 % weniger Tiles, und es passt in 1.6 GB.

      hier mein buildingfilter.txt:

      --keep-nodes=
      aerialway=
      amenity=
      aeroway=
      barrier=
      boundary=
      highway=
      historic=
      landuse=
      leisure=
      man_made=
      military=
      name=
      natural=
      place=
      power=
      railway=
      route=
      shop=
      sport=
      tourism=
      waterway=
      
      --keep-ways=
      aerialway=
      amenity=
      aeroway=
      barrier=
      boundary=
      highway=
      historic=
      landuse=
      leisure=
      man_made=
      military=
      name=
      natural=
      place=
      power=
      railway=
      route=
      shop=
      sport=
      tourism=
      waterway=
      
      --keep-relations=
      type=boundary
      =multipolygon
      =restriction
      =route
      =route_master
      =public_transport
      

      Befehl:

      osmfilter -v europe.o5m --parameter-file=buildingfilter.txt --out-osm | osmconvert - -b=2.1533,45.9817,17.8857,56.7286 --drop-brokenrefs --drop-author --out-osm | gzip -1 > data.osm.gz

      Filtert buildings und schneidet mir den DACH Ausschnitt aus.
      Achtung: Bitte aktuelle Version von osmfilter nutzen.

      Wenn Du buildings behalten willst welche Adressdaten besitzen, dann addr:housenumber= in die keep-nodes und keep-ways
      hinzufügen. Die associated-street Relation ist mit Absicht nicht in den keep-Relations drin, da sonst alle
      Häuser in Dortmund mit drin sind, da die ja alle in entsprechenden Relationen hängen.... 😉


    • Re: OSM-Rohdaten filtern ... speziell alle Gebäude ohne Eigenschaften raus · edwin-ldbg (Gast) · 07.10.2011 17:51 · [flux]

      Da hat man mit Häuserabzeichnen so viel Arbeit....und du filterst es raus....


    • Re: OSM-Rohdaten filtern ... speziell alle Gebäude ohne Eigenschaften raus · chris66 (Gast) · 07.10.2011 18:59 · [flux]

      Na, in Mapnik kannst Du Deine Kästchen ja noch sehen....... 😉


    • Re: OSM-Rohdaten filtern ... speziell alle Gebäude ohne Eigenschaften raus · aighes (Gast) · 07.10.2011 19:16 · [flux]

      Edwin, die stecken bestimmt auch mit dem Stefan Küste unter einer Decke....


    • Re: OSM-Rohdaten filtern ... speziell alle Gebäude ohne Eigenschaften raus · edwin-ldbg (Gast) · 07.10.2011 20:24 · [flux]

      aighes wrote:

      Edwin, die stecken bestimmt auch mit dem Stefan Küste unter einer Decke....

      Ob Stefan Küste auch diabolische Verbindungen mit Apfelgründer Stefan Arbeit hatte?