-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Toolchain file overview
All the files generated by OSRM are standard tar
format, so it's possible to extermine/extract the contents of the files using tar tvf <filename>.osrm.*
or tar xvf <filename>.osrm.*
.
E.g.
tar -tvf nevada-latest.osrm.nbg_nodes
-rw-rw-r-- 0 0 0 8 Jan 1 1970 osrm_fingerprint.meta
-rw-rw-r-- 0 0 0 8 Jan 1 1970 /common/nbn_data/coordinates.meta
-rw-rw-r-- 0 0 0 9137888 Jan 1 1970 /common/nbn_data/coordinates
-rw-rw-r-- 0 0 0 8 Jan 1 1970 /common/nbn_data/osm_node_ids/number_of_elements.meta
-rw-rw-r-- 0 0 0 8 Jan 1 1970 /common/nbn_data/osm_node_ids/packed.meta
-rw-rw-r-- 0 0 0 8995392 Jan 1 1970 /common/nbn_data/osm_node_ids/packed
File type | Consumer | Description |
---|---|---|
.ebg_nodes |
osrm-contract ,osrm-customize ,osrm-partition , osrm-routed
|
Uncontracted edge-based graph used as input for contractor (EdgeBasedNodeDataContainer indexed by EBG NodeID) |
.edge_penalties |
osrm-contract ,osrm-customize
|
Gone in OSRM >5.6 Lookup file contains static edge penalties. Only created when --generate-edge-lookup is passed. |
.turn_weight_penalties |
osrm-contract ,osrm-customize , osrm-routed
|
Contains turn weight. |
.turn_duration_penalties |
osrm-contract ,osrm-customize , osrm-routed
|
Contains turn duration. |
.edge_segment_lookup |
osrm-contract ,osrm-customize
|
Gone in OSRM >5.7 . Lookup file that translates between OSM ids and internal segment ids. Only created when --generate-edge-lookup is passed. |
.enw |
osrm-contract ,osrm-customize
|
Contains the edge weights of the compressed EdgeBasedNodes |
.geometry |
osrm-contract ,osrm-customize , osrm-routed
|
Geometry that was removed from the original graph. Used for returned API response. |
.nbg_nodes |
osrm-contract ,osrm-customize , osrm-routed
|
Original graph nodes (coordinates and OSM node IDs indexed by NBG NodeID) |
.edges |
osrm-routed ,osrm-customize
|
Original graph edges (compressed geometry) |
.fileIndex |
osrm-routed |
Leaves of the R-Tree that are loaded on-demand to memory |
.icd |
osrm-routed |
Data used to generate representations of all intersections for routing steps. |
.names |
osrm-routed |
Street names and index |
.properties |
osrm-routed |
Lua profile properties that affect run time queries |
.ramIndex |
osrm-routed |
Index of the R-Tree to to segment lookups |
.timestamp |
osrm-routed |
Contains the timestamps of the OSM extract if the header is set. |
.tld |
osrm-routed |
Contains a map of turn lane tuples and ids |
.tls |
osrm-routed |
Holds turn lane descriptions which are stored as a vector of masks |
.osrm |
Temporary | Original filtered graph data (nodes and edges) |
.restrictions |
osrm-contract ,osrm-customize
|
Conditional restrictions are saved to disk, later to be parsed by osrm-contract or osrm-customize for validity and application to a given processing time. |
.cnbg_to_ebg |
osrm-partition |
Maps node based graph to edge based graph |
.cnbg |
Contains compressed node based graph edges | |
.ebg |
Contains Edge-expanded Graph Edges. | |
.turn_penalties_index |
osrm-customize |
Contains turns, each turn represents by FromNodeID,ViaNodeID,ToNodeID . |
.maneuver_overrides |
File type | Consumer | Description |
---|---|---|
.core |
osrm-routed |
Indicates which nodes of the graph have been contracted |
.datasource_indexes |
osrm-routed |
Gone in OSRM >5.7 . Contains index corresponding to datasource_names file indicating from where a segment's data was derived |
.datasource_names |
osrm-routed |
List of datasources input to generate the final graph |
.hsgr |
osrm-routed |
Contracted edge-expanded graph (nodes and edges) |
.level |
osrm-contract |
Cache of the contraction level, speeds up subsequent osrm-contract runs |
File type | Consumer | Description |
---|---|---|
.cells |
.osrm-customize , osrm-routed
|
Cell data structure for MLD |
.partition |
.osrm-customize , osrm-routed
|
Partition information for MLD |
File type | Consumer | Description |
---|---|---|
.mldgr |
osrm-routed |
Search graph for MLD |
.cell_metrics |
osrm-routed |
Metrics for MLD |
osrm-toolchain-files provides more details and insights of these files.
I think this page is obsolete. I add few commet since I tried to compile OSMR recently using Codeblocks 20.03 on Windows 10. What I found was that
Several extra libraries ave to be installed like BZip2, lua. I was using MSYS2 so I did, pacman -S mingw-w64-x86_64-bzip2 pacman -S mingw-w64-x86_64-lua pacman -S mingw-w64-x86_64-zlib
instal Intell tbb https://github.com/oneapi-src/oneTBB/releases Extract it to a folder (e.g., C:\tbb).
Ensure to add TBB Path to CMake Command and that the bin folder of MinGW or MSYS2 (e.g., C:\msys64\mingw64\bin) is added to your system PATH environment variable.
Then in osrm-backend\build run
cmake -G "CodeBlocks - MinGW Makefiles" .. -DCMAKE_BUILD_TYPE=Release -DTBB_INCLUDE_DIR="C:/tbb/include" -DTBB_LIBRARY="C:/tbb/lib/intel64/gcc4.8/libtbb.so"
cmake -G "CodeBlocks - MinGW Makefiles" .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-fno-lto -mconsole" -DCMAKE_EXE_LINKER_FLAGS="-Wl,-e,mainCRTStartup"
It may be enough to compile.
However for some compilation problems I add to do
- remove "-Werror # Treat all warnings like error" in a CMakeLists.txt file
- add in shared_memory.hcp in line 208: (void)lock_file; // This explicitly marks lock_file as used to avoid warning of unused variable
- to avoid an Link Time Optimization (LTO) error run cmake -G "CodeBlocks - MinGW Makefiles" .. -DCMAKE_BUILD_TYPE=Release -DIPO=OFF
- put OFF in option(ENABLE_LTO "Use Link Time Optimisation" OFF) and I add set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF) in Cmake
I finally gave up because of Windows console incompatibility (Winmain not found) without knowing the reason even after having, In codebleocks Project properties, Built target, type put Console application