You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
High performance routing engine written in C++ designed to run on OpenStreetMap data.
7
6
8
7
The following services are available via HTTP API, C++ library interface and NodeJs wrapper:
8
+
9
9
- Nearest - Snaps coordinates to the street network and returns the nearest matches
10
10
- Route - Finds the fastest route between coordinates
11
11
- Table - Computes the duration or distances of the fastest route between all pairs of supplied coordinates
@@ -18,6 +18,7 @@ To quickly try OSRM use our [demo server](http://map.project-osrm.org) which com
18
18
For a quick introduction about how the road network is represented in OpenStreetMap and how to map specific road network features have a look at [the OSM wiki on routing](https://wiki.openstreetmap.org/wiki/Routing) or [this guide about mapping for navigation](https://web.archive.org/web/20221206013651/https://labs.mapbox.com/mapping/mapping-for-navigation/).
19
19
20
20
Related [Project-OSRM](https://github.com/Project-OSRM) repositories:
21
+
21
22
-[osrm-frontend](https://github.com/Project-OSRM/osrm-frontend) - User-facing frontend with map. The demo server runs this on top of the backend
22
23
-[osrm-text-instructions](https://github.com/Project-OSRM/osrm-text-instructions) - Text instructions from OSRM route response
23
24
-[osrm-backend-docker](https://github.com/project-osrm/osrm-backend/pkgs/container/osrm-backend) - Ready to use Docker images
@@ -41,10 +42,11 @@ Related [Project-OSRM](https://github.com/Project-OSRM) repositories:
41
42
The easiest and quickest way to setup your own routing engine is to use Docker images we provide.
42
43
43
44
There are two pre-processing pipelines available:
45
+
44
46
- Contraction Hierarchies (CH)
45
47
- Multi-Level Dijkstra (MLD)
46
48
47
-
we recommend using MLD by default except for special use-cases such as very large distance matrices where CH is still a better fit for the time being.
49
+
We recommend using MLD by default except for special usecases such as very large distance matrices where CH is still a better fit for the time being.
48
50
In the following we explain the MLD pipeline.
49
51
If you want to use the CH pipeline instead replace `osrm-partition` and `osrm-customize` with a single `osrm-contract` and change the algorithm option for `osrm-routed` to `--algorithm ch`.
50
52
@@ -65,7 +67,7 @@ The flag `-v "${PWD}:/data"` creates the directory `/data` inside the docker con
Note there is no `berlin-latest.osrm` file, but multiple `berlin-latest.osrm.*` files, i.e. `berlin-latest.osrm` is not file path, but "base" path referring to set of files and there is an option to omit this `.osrm` suffix completely(e.g. `osrm-partition /data/berlin-latest`).
70
+
Note there is no `berlin-latest.osrm` file, but multiple `berlin-latest.osrm.*` files, i.e. `berlin-latest.osrm` is not a file path, but a "base" path referring to a set of files and there is an option to omit this `.osrm` suffix completely(e.g. `osrm-partition /data/berlin-latest`).
Copy file name to clipboardExpand all lines: docs/developing.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,7 @@ For outputting data into our file (debug.geojson), we simply need to call the ma
30
30
(or `guard.Write(list_of_node_ids)` if you created an instance).
31
31
32
32
### Possible Scopeguard Location
33
-
Think of the scopeguard as you would do of any reference. If you wan't to access to logging during a call, the guard object must be alive and valid.
33
+
Think of the scopeguard as you would do of any reference. If you want to access logging during a call, the guard object must be alive and valid.
34
34
35
35
As an example: a good location to create a scopeguard to log decisions in the edge-based-graph-factory would be right before we run it ([here](https://github.com/Project-OSRM/osrm-backend/blob/a933b5d94943bf3edaf42c84a614a99650d23cba/src/extractor/extractor.cpp#L497)). If you put `util::ScopedGeojsonLoggerGuard<util::NodeIdVectorToLineString> geojson_guard( "debug.geojson", node_coordinate_vector);` at that location, you can then print `util::ScopedGeojsonLoggerGuard<util::NodeIdVectorToLineString>::Write(list_of_node_ids);` anywhere within the `edge-based-graph-factory`.
36
36
@@ -47,7 +47,7 @@ For each set of template parameters, only the most recent guard will actually pr
47
47
48
48
Will not provide a way to write into two files, but only `debug-2` will actually contain features.
49
49
50
-
We cannot nest-these calls.
50
+
We cannot nestthese calls.
51
51
52
52
If we want to use the same policy for multiple files, we need to use different template parameters both for the logger and the guard.
|number |`integer >= 1` (default `1`) |Number of nearest segments that should be returned. |
132
132
133
-
As `waypoints` is a single thing, returned by that service, using it with the option `skip_waypoints` set to `true` is quite useless, but still
133
+
As `waypoints` is a single thing returned by that service, using it with the option `skip_waypoints` set to `true` is quite useless, but still
134
134
possible. In that case, only the `code` field will be returned.
135
135
136
136
**Response**
@@ -211,7 +211,7 @@ In addition to the [general options](#general-options) the following options are
211
211
|steps |`true`, `false` (default) |Returned route steps for each route leg |
212
212
|annotations |`true`, `false` (default), `nodes`, `distance`, `duration`, `datasources`, `weight`, `speed`|Returns additional metadata for each coordinate along the route geometry. |
213
213
|geometries |`polyline` (default), `polyline6`, `geojson`|Returned route geometry format (influences overview and per step) |
214
-
|overview |`simplified` (default), `full`, `false`|Add overview geometry either full, simplified according to highest zoom level it could be display on, or not at all.|
214
+
|overview |`simplified` (default), `full`, `false`|Add overview geometry either full, simplified according to highest zoom level it could be displayed on, or not at all.|
215
215
|continue\_straight |`default` (default), `true`, `false`|Forces the route to keep going straight at waypoints constraining uturns there even if it would be faster. Default value depends on the profile. |
216
216
|waypoints |`{index};{index};{index}...`|Treats input coordinates indicated by given indices as waypoints in returned Match object. Default is to treat all input coordinates as waypoints. |
217
217
@@ -432,7 +432,7 @@ In addition to the [general options](#general-options) the following options are
432
432
|steps |`true`, `false` (default) |Returned route steps for each route |
433
433
|geometries |`polyline` (default), `polyline6`, `geojson`|Returned route geometry format (influences overview and per step) |
434
434
|annotations |`true`, `false` (default), `nodes`, `distance`, `duration`, `datasources`, `weight`, `speed`|Returns additional metadata for each coordinate along the route geometry. |
435
-
|overview |`simplified` (default), `full`, `false`|Add overview geometry either full, simplified according to highest zoom level it could be display on, or not at all.|
435
+
|overview |`simplified` (default), `full`, `false`|Add overview geometry either full, simplified according to highest zoom level it could be displayed on, or not at all.|
436
436
|timestamps |`{timestamp};{timestamp}[;{timestamp} ...]`|Timestamps for the input locations in seconds since UNIX epoch. Timestamps need to be monotonically increasing. |
437
437
|radiuses |`{radius};{radius}[;{radius} ...]`|Standard deviation of GPS precision used for map matching. If applicable use GPS accuracy.|
438
438
|gaps |`split` (default), `ignore`|Allows the input track splitting based on huge timestamp gaps between points. |
@@ -489,7 +489,7 @@ In addition to the [general options](#general-options) the following options are
489
489
|steps |`true`, `false` (default) |Returned route instructions for each trip |
490
490
|annotations |`true`, `false` (default), `nodes`, `distance`, `duration`, `datasources`, `weight`, `speed`|Returns additional metadata for each coordinate along the route geometry. |
491
491
|geometries |`polyline` (default), `polyline6`, `geojson`|Returned route geometry format (influences overview and per step) |
492
-
|overview |`simplified` (default), `full`, `false`|Add overview geometry either full, simplified according to highest zoom level it could be display on, or not at all.|
492
+
|overview |`simplified` (default), `full`, `false`|Add overview geometry either full, simplified according to highest zoom level it could be displayed on, or not at all.|
493
493
494
494
**Fixing Start and End Points**
495
495
@@ -1036,7 +1036,7 @@ Almost the same as `json` Step object. The following properties differ:
1036
1036
|`ExitRoundabout`| Describes a maneuver exiting a roundabout (usually preceded by a `roundabout` instruction) |
1037
1037
|`ExitRotary`| Describes the maneuver exiting a rotary (large named roundabout) |
1038
1038
1039
-
-`driving_side`: `bool`Ttrue stands for the left side driving.
1039
+
-`driving_side`: `bool`True stands for left side driving.
1040
1040
-`intersections`: `[Intersection]` Same as `json` intersections field, but different format.
1041
1041
1042
1042
### Intersection object
@@ -1102,7 +1102,7 @@ Exactly the same as `json` annotation object.
0 commit comments