Module primitive

Module primitive 

Source
Expand description

Primitive Block defines the contents of a node, way or relation

Structs§

ChangeSet
This is kept for backwards compatibility but not used anywhere.
OSMMetadata
The expected metadata in the VectorFeature for all types (node, way, relation)
OSMMetadataRelation
A metadata struct for relations
PrimitiveBlock
NOTE: currently relations are stored, but we don’t wait for the Block to store all relations before we start testing primtiveHandle against the data. This is a problem because relations reference eachother at times, and we need to be able to resolve those references before we can run relationHandle against the data. This isn’t an important issue since in practice, all relations that reference eachother often produce garbage or unusable data. But it would be nice to fix this. Morbidly enough, the “BEST” solution is to treat relations like we do nodes and ways since relations could possibly reference eachother outside their own block. From a practical standpoint, I can’t see this being worth the effort or memory/time cost.
PrimitiveGroup
Group of OSMPrimitives. All primitives in a group must be the same type.
StringTable
String table, contains the common strings in each block. Note that we reserve index ‘0’ as a delimiter, so the entry at that index in the table is ALWAYS blank and unused. NOTE: OSM isn’t safe and allows “ inside of strings, so we have to replace them with ’ NOTE: OSM isn’t safe and allows \ at the end of strings, so we have to remove them so it can be properly parsed.