index - Data Stores

The index submodule provides efficient storage containers for preprocessed OSM data.

Node Location Storage

Node location can be cached in a LocationTable. There are different implementations available which should be choosen according to the size of data and whether or not the cache should be permanent. See the Osmium manual for a detailed explaination. The compiled in types can be listed with the map_types function, new stores can be created with create_map.

osmium.index.map_types() → object :

Return a list of strings with valid types for the location table.

osmium.index.create_map((str)map_type) → LocationTable :

Create a new location store. The string parameter takes the type and, where required, additional arguments separated by comma. For example, to create an array cache backed by a file foo.store, the map_type should be dense_file_array,foo.store.

class osmium.index.LocationTable

A map from a node ID to a location object. This implementation works only with positive node IDs.

clear((LocationTable)self) → None :

Remove all entries from the location table.

get((LocationTable)self, (int)id) → Location :

Return the location for a given id.

set((LocationTable)self, (int)id, (Location)loc) → None :

Set the location for a given node id.

used_memory((LocationTable)self) → int :

Return the size (in bytes) currently allocated by this location table.