Also bei meinen ersten Versuchen hatte ich das auch so gemacht. Leider wurde dann immer zu viel behalten. Das ist aber auch schon Monate her.
–out-count hatte ich immer zur Kontrolle genommen.
osmfilter --parameter-file=autobahn.parm -o=deutschland1.osm deutschland.osm
Es kann sein, dass ich am Anfang die Formate und Endungen nicht ordentlich benutzt habe. Ich achte darauf nun.
Hier noch mal frisch gefiltert: 672MB als o5m
Nachtrag:
Du hast recht, ohne Drop nur 2 MB größer, also 674MB.
Hmmm… Bist du sicher, dass das Format .o5m ist? In deinem Kommando steht “-o=deutschland1.osm”, also “.osm”. Das wäre natürlich einiges größer als “.o5m”.
Ob es .o5m oder .osm ist, kannst du leicht prüfen, wenn du die Datei mit einem normalen Editor öffnest. Wenn sie direkt lesbar ist, dann ist es “.osm”, also das Platz verschwendende Format.
Brauchst natürlich keinen Editor verwenden, geht auch mit Kommandos wie “head”, um z.B. die ersten 10 Zeilen anzuzeigen (Linux).
Ich hab mir das germany-latest noch mal gezogen, ausgepackt und mit drop author/version als o5m gespeichert; als Grundlage für die Tests:
3.086.806.563 germany-latest.o5m
Danach habe ich diesen Filter genommen und auch wieder ald o5m gespeichert:
Und für Navit umgewandelt:
590.496.046 germany.bin
Die Karte ist routingfähig. Es werden zwar nicht alle PLZ angezeigt, aber er routet.
Komischerweise steht halb Deutschland unter Wasser, alles unterhalb von Berlin
Du hast recht sicher einen Multipolygon-See aufgedröselt, klar, dass der dann ausläuft.
Via drop-tags (wenn ich richtig verstehe, dass das tags dropt…) Sollte da aber noch einiges grösser 2MB zu töten sein:
Paar Beispiele:
Horse, TMC:irgendwas, boat, fixme, note usw. usf.
Einfach mal mit josm in nem 20+20km Gebiet alle highway holen, STRG+A und dann schauen, was da für Daten"müll" dran klebt. Grad geschaut, ich bekomme hier auf ne kleine Fläche 254 Tags, wovon beim Groben drüberschauen knapp 50% für bspw nen Autonavi überflüssig sind.
Kann man sich eins Deiner Ergebnisse ma irgendwo runterladen?
Für’s Autofahren braucht man aber mindestens noch die Abbiegebeschränkungen:
type=restriction
Die Adressdaten verstecken sich hinter diesen Tags:
addr:*=
(Kann genau so angegeben werden und meint “addr:street”, “addr:housenumber”, “addr:city” usw.)
Das Taggingschema bei den Adressen setzt allerdings voraus, dass auch die administrativen Grenzen enthalten sind:
type=boundary
und außerdem:
Anhand obiger Filterliste gehe ich davon aus, dass Flächen nicht benötigt werden. Mit “name=” holt man sich aber auch alle benamten Seen, Gebäude etc… und zwar ohne die Relation, zu der sie gegebenenfalls gehören. Dann ist weder inner noch outer definiert. Entweder man bringt alle betreffenden Relationen mit:
type=multipolygon
…oder man löscht alle nicht benötigten, eventuell auftretenden Mehrfachtags:
–drop-tags=“landuse= natural=”
oder man filtert alle gewünschten POI-Kategorien unter der Bedingung, dass ein Name angegeben ist (das war doch die Intention bei “name=”?):
( place= or shop= or amenity= or tourism= ) and name=
Achtung: Die Leerzeichen an den Klammern sind wichtig, damit sie nicht als Bestandteil von Tag bzw. Value interpretiert werden.
Mario: verstehe ich Dich richtig, dass --keep=
highway=motorway*
Mir eine Linie baut, die nur diesen Tag hat? Also sämtliche anderen Tags dieser Linie wegschmeisst?
Nein, die anderen Tags bleiben natürlich erhalten. Deswegen können unerwünschte Tags mittels --drop-tags entfernt werden.
Nur die Linie könnte man vielleicht erhalten mittels: --keep=“highway=motorway” --drop-tags=“highway!=”. (Für den Fall du möchtest sowas anwenden.)
Es ging mir eigentlich drum, ob ich hier Unsinn geschrieben habe und wollte das bestätigt/widerlegt haben. Was hiermit passiert ist.
(Anwenden würde ich sowas schon gern mal, aber is mir zu hoch und meine Hardware auch beschränkt)
Das war kein Unsinn. Ich tippe auf einen nicht geschlossenen Weg, welcher Teil einer Multipolygonrelation ist.
Vielleicht eine kleine Erklärung: Wege sind in Relationen enthalten. Teilweise sind die Tags an den Polygonen an inner und/oder outer oder ein Umriss besteht aus mehreren in der Relation zusammengefassten Wegen, von denen man aufgrund des Tagfilters nicht alle übernimmt. Bei den Straßen dürfte es das nicht geben, bei waterway=river aber schon, z.B. wenn sie Teil einer Grenzrelation sind. Oder eben bei riverbank als Multipolygon, weil Gebüsch-Inseln enthalten sind. Ich weiß nicht, wie sich Osmand bei “kaputten” Polygonen verhält, jedenfalls sollte ein sinnvoller Filter gut durchdacht sein. (Dazu gehört z.B. auch die Erkenntnis, dass Abbiegerelationen nicht mit den Straßen mitkommen können, sondern extra gefiltert werden müssen. Die Kreuzung referenziert ja nicht die Abbiege-Relation, sondern die Relation referenziert die Abschnitte der Kreuzung. Das kann man leider nicht visuell überprüfen.)
warum willst du das Resultat überhaupt über die Rohdaten verringern? Lässt sich OsmAndMapCreate nicht so konfigurieren, dass es nur gewünschte Elemente in die Karte aufnimmt? Dann wäre es am Besten, alles aus den Rohdaten ungefiltert zu übernehmen um keine Informationen (Abbiegerestriktionen, Multipolygonränder…) zu verlieren. Die Kartengröße ergibt sich dann durch die selbstbestimmten Elemente.
Wenn man aber OsmAndMapCreate nicht manipulieren kann oder du es nicht willst, ist eine Reduzierung der Daten, mit denen man OsmAndMapCreate füttert, nicht bis herunter zu den angezeigten Elementen möglich - zusätzliche Informationen müssen mit aufgenommen werden. So kommen mit den highways nicht automatisch die Abbiegerestriktionen mit, jedoch die Tags wie barrier=xxx an referenzierten Nodes, Polygone sind nicht immer geschlossen oder ausgeschnitten, wenn sie Teil einer Multipolygonrelation sind, Adressen an site-Relationen werden nicht übernommen, da diese Tags nicht am Gebäude oder Adress-Node, sondern an der Relation stehen usw…
Mein OsmAnd bietet für jede Region eine Standardkarte und eine reine Straßenkarte an, die man nach Bedarf runterladen kann. Wie die POIs da gefiltert werden, weiß ich nicht. Adressrouting sollte ja auch in der reinen Straßenkarte irnkwie gehen, Tankstellen findet er damit auch
Du hast Recht. Ich hatte schon lange nicht mehr dort geguckt. Die Straßenkarten sind ja wirklich klein.
Ich habe mal mitgesnifft, die Karten liegen hier: http://download.osmand.net/road-indexes/
Alle Bundeslandkarten davon sind gezippt in Summe ca 1,1 GB groß, ausgepackt dann etwa 1,6 GB.
Vielleicht kann man im Netz lesen, wie sie die Karten erzeugt haben.