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

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

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… :wink:

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

Na, in Mapnik kannst Du Deine Kästchen ja noch sehen… :wink:

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?