DE:OMA
Jump to navigation
Jump to search
Das OMA-Dateiformat ist eine Alternative zu den gängigen Dateiformaten. Es richtet sich primär an End-Nutzer, weshalb es vor allem auf schnellen Zugriff bei geringem Speicherverbrauch optimiert wurde. Die Dateien sind relativ klein und können dadurch gut an andere Nutzer weitergegeben werden. Zudem wurden Heuristiken benutzt, um fehlende Eigenschaften im OSM-Datenmodell auszugleichen.
Eigenschaften
- Eine OMA-Datei enthält Nodes, Ways, Areas und Collections. Areas werden dabei aus OSM-Ways, sowie aus OSM-Relations vom Typ multipolygon und boundary erzeugt. Ein Teil der verbleibenden OSM-Relations (zum Beispiel Abbiegebeschränkungen) werden als Ways gespeichert. Die restlichen OSM-Relations (beispielsweise Routen) werden in Collections umgewandelt.
- Die Geometrie von Nodes, Ways und Areas wird direkt im Element gespeichert, was den Zugriff auf die Elemente vereinfacht und beschleunigt.
- Elemente, die geographisch nah beieinander liegen, werden in der Regel auch in der Datei nahe beieinander gespeichert. Zudem wird für jedes Element der Typ (main key) identifiziert und dazu genutzt, Element mit dem selben Typ zusammen zu speichern. Das ermöglicht schnelle Abfragen mit geringem Speicheraufwand.
- Der Life-Cycle-Präfix wird als separater Tag gespeichert.
- Das Format ist ein Binärformat. Das ist unerlässlich, um die Datei klein zu halten, und es vereinfacht auch den schnellen Zugriff auf die Daten. Große Teile der Datei können komprimiert gespeichert werden. Derzeit (Sommer 2025) wird nur der Deflate-Algorithmus aus der Zlib-Bibliothek zum Komprimieren unterstützt. Das Format erlaubt aber die Einbindung weiterer Komprimieralgorithmen und es gibt bereits Vorbereitungen für die Unterstützung des moderneren Zstandard-Algorithmus.
- Die Geographische Zerlegung der Daten, wie auch die benutzten Heuristiken, können vom Benutzer angepasst werden. Die verwendeten Heuristiken können in der Datei gespeichert werden, was es einfacher macht, diese bei der Benutzung zu berücksichtigen.
Tools
Derzeit (Sommer 2025) gibt es nur einige wenige, prototypische Tools, mit denen OMA-Dateien erzeugt und bearbeitet werden können. Diese Tools werden allerdings, obwohl Prototypen, vom Autor der Tools seit Anfang 2025 bereits in professionellem Umfeld eingesetzt.
- Oma, ein Konverter, der XML-, PBF- und O5M-Dateien in OMA-Dateien umwandelt.
- Opa, ein Konverter, der OMA-Dateien in lesbare Text-Dateien (OPA-Dateien genannt) umwandelt. Dies dient hauptsächlich zum Debuggen von Tools.
- OmaLibJava, eine Beispiel-Bibliothek für Java, mit der man Dateien im OMA-Format nutzen kann.
Externe Links
- Description of the OMA File Format (Formelle Bescheibung des Formats und ein Beispiel.)
- Description of the OPA File Format (Eine textbasierte Variante des OMA-Formats.)
- A New File Format for OSM Data (Der erste Eintrag einer Serie an Blog-Artikeln, mit denen der Benutzer Kumakyoo das OMA-Format eingeführt hat.)