omm is a special file format for OSM data, with '>'s and '<'s and '='s as the delimiters. This is kind of like csv file format.
It follows the following schema:
[type]>[id]>[visible]>[version]>[changeset]>[user]>[uid]>
Where:
type: type of object represented in integer value.
0 for node
1 for way
2 for relation
visibility: whether the object is deleted or not.
0 for false
1 for true
For nodes:
[Lat]<[Lon]>
For ways:
[nd ref]<[nd ref]<[nd ref]...<[nd ref]>
For relations:
[member type]=[member id]=[member role]<[member type]=[member id]=[member role]<[member type]=[member id]=[member role]<...<[member type]=[member id]=[member role]>
[tag key]=[tag value]<[tag key]=[tag value]<...<[tag key]=[tag value]
omc is a changeset version of omm. It is derived from omm, with minor modifications.
To denote modification acrion, a number with a colon is used.
For example, denoting would be 3:
<modify> would be 4:
<delete> would be 5:
It strikes a balance between compressed form and xml form.
- Compact ( around ⅓ of the size )
-
Human readable
-
High compression ratio through different methods
Prerequisites: python 3 interpreter with standard library
No building is required. Just move the python scripts to your destination folder and ypu can run!
It is released under the GNU LGPLv3 license.