Moritz Kobitzsch
561b7cc58e
Rember Intersection Shapes
...
Changes the processing order in the edge based graph factory.
Instead of iterating over all outgoing edges in order, we compute the edge
expanded graph in the order of intersections.
This allows to remember intersection shapes and re-use them for all possible ingoing edges.
Also: use low accuracry mode for intersections degree 2 intersections
We can use lower accuracy here, since the `bearing`
after the turn is not as relevant for off-route detection.
Getting lost is near impossible here.
2016-12-01 15:24:20 +01:00
Moritz Kobitzsch
827a1fbd7a
separate intersection generation and intersection normalization
2016-11-10 12:56:46 +01:00
Moritz Kobitzsch
cd03877c90
link ConnectedRoad and TurnOperation via class hierarchy
...
and empower intersection by adding basic functionality to pod type
refactor extractor/toolkit into intersection
2016-11-03 13:42:29 +01:00
Moritz Kobitzsch
01a2c66472
rip out unused m_node_info_list
2016-10-27 18:51:59 +02:00
Huyen Chau Nguyen
cf35bbeb50
refactor function names; consolidate readCount() functions;
...
remove templated types as much as possible for type safety;
add more comments;
clean up code, add const if possible;
2016-10-26 13:18:52 -07:00
Moritz Kobitzsch
5e167b8745
Turn Angles in OSRM were computed using a lookahead of 10 meters.
...
This PR adds more advanced coordinate extraction, analysing the road
to detect offsets due to OSM way modelling.
In addition it improves the handling of bearings. Right now OSM reports
bearings simply based on the very first coordinate along a way.
With this PR, we store the bearings for a turn correctly, making the
bearings for turns correct.
2016-10-20 10:47:29 +02:00
karenzshea
72fa35da10
add a toolkit function to find lanes to the left/right of turn lanes
2016-10-13 17:59:25 +02:00
Lauren Budorick
a75e16e26b
Deduplicate foward/reverse geometries
...
Changes the internal representation of compressed geometries to be a
single array shared between forward and reverse geometries that can be
read in either direction. Includes a change on
extractor::OriginalEdgeData to store via_geometry ids that indicate
which direction to read the geometry for that edge based edge.
Closes #2592
2016-10-06 10:09:57 -07:00
Moritz Kobitzsch
a551286a8f
adjust testscases for collapse of use lane
2016-09-07 12:17:36 +02:00
Moritz Kobitzsch
3b81b39998
turn lane handler moved to scenario based handling
2016-09-07 12:16:59 +02:00
Patrick Niklaus
677306eeee
Merge pull request #2707 from oxidase/left_side_driving
...
Left side driving
2016-08-05 18:09:10 +02:00
Gavin Sherry
b09f637d02
Remove unused variable node_info_list
2016-08-02 14:17:57 -07:00
Lauren Budorick
c09b9b4c99
Initial left hand driving implementation
2016-07-28 22:59:22 +02:00
Patrick Niklaus
c7a1576100
Apply clang-format again
2016-07-26 15:00:58 +02:00
Moritz Kobitzsch
1fc63e1e72
move hardcoded road priorities into profiles, change road classification
2016-07-25 13:07:54 +02:00
Konstantin Käfer
1309dd2a0f
Switch profiles from Lua to library interface
...
There's now an abstracted interface and no direct calls to Lua anymore.
fixes #1974
2016-07-22 15:03:57 +02:00
Daniel Patterson
ec02cdc4cc
Use mmap instead of read - it's a lot faster here.
...
Also clean up construction of STRONG_TYPEDEF so that it can be
packed properly in structs (this explains all the () -> {}) changes
here.
2016-06-27 17:24:30 -07:00
Moritz Kobitzsch
5905708111
expose lanes as enums, adjusted for comments
2016-06-27 11:12:02 +02:00
Moritz Kobitzsch
5d91b759d1
Implement Turn Lane Api
2016-06-27 10:07:48 +02:00
Moritz Kobitzsch
efa29edf09
basic turn lane handling
2016-06-27 10:07:41 +02:00
Michael Krasnyk
12d4832037
Fix platform-independent data in data files
2016-06-20 22:45:40 +02:00
Patrick Niklaus
6e16eab6ec
Format with clang-format 3.8
2016-05-27 21:05:04 +02:00
Moritz Kobitzsch
ba074b0116
initial version of intersection classification
2016-05-19 16:43:46 +02:00
Patrick Niklaus
d12a95b4ef
Fix naming convention of Percent
2016-05-02 17:25:58 +02:00
Lauren Budorick
b8f7569e93
Implement arbitrary turn penalty file IO and integration ( #2306 )
...
Closes #1830
2016-04-29 00:48:13 -07:00
Moritz Kobitzsch
a154d71841
enable suppression name suffix changes
2016-04-27 18:10:56 +02:00
Daniel J. Hofmann
5dff83c6e9
Report progress for gennerating edge expanded edges in the edge based graph factory
2016-04-12 12:16:14 +02:00
Daniel Patterson
43725bae89
Fix Radius Calculation for points collinear in latidue
2016-04-12 11:25:59 +02:00
Daniel Patterson
9b52dd8bf7
Remove leftover debug output.
2016-04-05 22:59:14 +02:00
Moritz Kobitzsch
89d56e1cd1
fix duration of direct connection
2016-04-05 22:59:14 +02:00
Patrick Niklaus
fda4656630
Implement re-enabling of PhantomNode directions after bearing filtering
2016-04-05 22:59:14 +02:00
Patrick Niklaus
38db495879
Address PR comments
...
Renamed lua_function_exists and removes unused print function
2016-04-05 22:58:32 +02:00
Patrick Niklaus
71c336d9dd
Adds .properties file to osrm-extract ouput
...
This file contains global properties set by the lua
profile, such as enabling uturns at vias and penalties.
This file will be consumed by the server.
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
0cc23dec6f
restructured to only return valid turns to the outside + cleanup
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
71c0d5253d
less new names, forks consider road classes, api clean-up
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
eb3f550e26
encapsulated into class
2016-04-05 22:58:32 +02:00
Patrick Niklaus
e7ea5f500d
Don't pass shared_ptr down to functions
...
"Don’t pass a smart pointer as a function parameter unless you want to
use or manipulate the smart pointer itself, such as to share or transfer
ownership."
Source:
http://herbsutter.com/2013/06/05/gotw-91-solution-smart-pointer-parameters/
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
58628a4bfc
bugfixing/classification
2016-04-05 22:58:32 +02:00
Patrick Niklaus
b08b360f38
Big Restructuring / Cleanup
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
daf2bbf991
migrated out of edge based graph factory
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
ef1e0e14ec
advanced guidance on 5.0
2016-04-05 22:58:32 +02:00
Patrick Niklaus
d9d4742130
First round of lat,lng -> lng,lat switcheroo
2016-04-05 22:58:32 +02:00
bergwerkgis
d0636a9f6d
make AppVeyor work again
2016-03-31 16:49:30 +02:00
Patrick Niklaus
21245273b4
Also exclude the compressed flag from the data format
2016-03-24 21:24:08 +01:00
Daniel J. Hofmann
c78dff9a15
Write out unsigned with a check for edge counter overflow
2016-03-19 00:27:55 +01:00
Daniel J. Hofmann
25fea558ba
Fixes the edge-based-graph factory's edge counter serialization.
...
The counter for original edges is of type `std::size_t`, but we
serialized `sizeof(unsigned)` number of bytes out to the `.osrm.edges`
file.
We should probably check all writes (analogous for reads) and make the
count parameter dependent on `sizeof(variable)`.
ag '\.write\((.*), sizeof\((.*)\)\);'
2016-03-19 00:27:55 +01:00
Daniel J. Hofmann
ac0279aa83
RAII for auto-closing file streams
...
Small fixes I didn't want to include in unrelated PRs.
There are a few left in `storage.cpp` but since it's a single function
in 600 lines of code, I didn't want to touch the mess. The others are
safe to remove, cucumber and test run on Finland gives 👍 .
2016-03-09 17:46:02 +01:00
Patrick Niklaus
ac6218eef2
Simplify EBGF code
2016-03-04 16:37:25 +01:00
Patrick Niklaus
a98cc51ac2
Fix up some PR comments
2016-03-04 16:13:30 +01:00
Daniel Patterson
e595bdb20a
More cleanup.
2016-03-03 19:28:48 -08:00