Commit Graph

452 Commits

Author SHA1 Message Date
Moritz Kobitzsch
4629a20fe4
improve handling of obvious for end-of-road situations 2016-06-24 12:05:42 +02:00
Daniel J. Hofmann
df877aca1b Hard-abort on assertion and show detailed information, solves #2579
From

> [warn} oops

to

> [assert] /tmp/osrm-backend/src/extractor/extractor.cpp:79
> in: int osrm::extractor::Extractor::run(): false
> terminate called without an active exception
2016-06-23 18:57:35 +02:00
Daniel Patterson
6dedd9cb72 Fix segfault when route includes very short segments. 2016-06-22 14:48:57 -07:00
Patrick Niklaus
fddc19e98d
Fix regressed formating 2016-06-21 22:25:48 +02:00
Patrick Niklaus
93b6438cea
Fix fromTop and fromLeft calculation 2016-06-21 19:31:46 +02:00
Daniel J. Hofmann
f6746d88b7
Removes unused -s from osrm-datastore, use osrm-springclean tool, closes #2561 2016-06-21 18:09:11 +02:00
Moritz Kobitzsch
2868f702a5
fix issues with roundabouts and intersections and sliproads 2016-06-21 16:56:57 +02:00
Michael Krasnyk
8c378191df
Fix omitting the last point's coordinates in the geometry field 2016-06-21 07:06:43 +02:00
Moritz Kobitzsch
3c8781855e
handle steep off-ramps 2016-06-21 00:47:43 +02:00
Michael Krasnyk
04e334e3e2
Make storage blocks aligned to 4 bytes for ARM NEON/VFP instructions
Aligned blocks prevent bus errors in NEON/VFP instructions.

Block pointers are aligned to 4 bytes, that is guaranteed
by aligned mmaped-pointers, the 4 bytes size of the CANARY block and
aligned sizes of blocks.
2016-06-20 22:45:40 +02:00
Michael Krasnyk
12d4832037
Fix platform-independent data in data files 2016-06-20 22:45:40 +02:00
Michael Krasnyk
3881ead8e5
Fix rounding issue due to non-associative floating arithmetic
Failing test
features/car/traffic_turn_penalties.feature:33

Tables were not identical:
    from |     to |     route |     speed |     time
|     a |     h |     ad,dhk,dhk |     63 km/h |     11.5s +-1 |
|     i |     g |     fim,fg,fg |     59 km/h |     12s  +-1 |
| (-) a | (-) e | (-) ad,de,de | (-) 57 km/h | (-) 12.5s +-1 |
| (+) a | (+) e | (+) ad,de,de | (+) 58 km/h | (+) 12.5s +-1 |
|     c |     g |     cd,de,ef,fg,fg |     63 km/h |     23s +-1 |
|     p |     g |     mp,fim,fg,fg |     61 km/h |     23.5s +-1 |
|     a |     l |     ad,dhk,kl,kl |     60 km/h |     24s +-1 |
|     l |     e |     kl,dhk,de,de |     59 km/h |     24.5s +-1 |
|     g |     n |     fg,fim,mn,mn |     57 km/h |     25s +-1 |
2016-06-20 22:45:40 +02:00
Moritz Kobitzsch
306744e5cb fix roundabout-handling when name changes 2016-06-17 11:02:14 +02:00
Moritz Kobitzsch
3ca32898a1
move guidance decision into debug header 2016-06-15 11:30:30 +02:00
Daniel Patterson
494845b160 Copy data to beginning of buffer, not end. (#2542)
Copy data to beginning of buffer, not end.
2016-06-13 12:59:42 -07:00
Patrick Niklaus
0fc823041e
Removed debug code 2016-06-13 17:57:33 +02:00
Moritz Kobitzsch
47b19f209b prefer obvious turn assignment over forks 2016-06-13 15:00:18 +02:00
Moritz Kobitzsch
2b5355edca
improve slipway handling to allow multiple styles of turn lanes / turn roads 2016-06-13 11:56:50 +02:00
Patrick Niklaus
e9a0beb4e8
Fix shared memory encoding for node-ids 2016-06-12 20:50:57 +02:00
Vladimir Kurchatkin
6bdfe68897 Add feature name to vector tiles (#2488) 2016-06-10 11:15:14 -07:00
Daniel J. Hofmann
033dc0a72d Pre-allocate up-front whenever possible 2016-06-09 16:06:27 +02:00
Patrick Niklaus
1c140a112a
Make sure we also reserve space for destination and pronunciation 2016-06-08 10:58:11 +02:00
Moritz Kobitzsch
312e86eb58 handle merge on collapsed instructions 2016-06-06 11:55:14 +02:00
Moritz Kobitzsch
1dfdb38d4a improve collapse-handling 2016-06-06 10:05:18 +02:00
Daniel J. Hofmann
6f322d2140 Silence multiline comment warning 2016-06-03 14:47:45 +02:00
Daniel J. Hofmann
801cc72691 Sync with Clang38 Format 2016-06-02 14:43:27 +02:00
Lauren Budorick
058b8c3b31 Template vector 2016-06-02 14:27:25 +02:00
Lauren Budorick
ae3ccb009e Formatting [ci skip] 2016-06-02 14:27:25 +02:00
Lauren Budorick
44fdf86702 IT WORKS 2016-06-02 14:27:25 +02:00
Lauren Budorick
a4ac07866a Recreate feature/expose_node_ids 2016-06-02 14:27:25 +02:00
Daniel J. Hofmann
448f8377fb Sync with Clang38 Format 2016-06-02 13:14:33 +02:00
Daniel J. Hofmann
6edc565c01 Add destinations API feature 2016-06-02 12:00:23 +02:00
Moritz Kobitzsch
bdc66049a5
fix INVALID_NAME_ID vs INVALID_NAMEID -> EMPTY_NAMEID 2016-06-01 23:19:26 +02:00
Patrick Niklaus
0a53775fb3
Expose pronunciation in RouteStep
Uses name:pronunciation by default for cars.
2016-06-01 23:17:57 +02:00
Daniel J. Hofmann
503137221d Let osrm-routed log status code, fixes #512.
Disclaimer: osrm-routed is not recommended for production usage.
Use node-osrm instead: https://github.com/Project-OSRM/node-osrm
2016-05-31 14:44:50 +02:00
Patrick Niklaus
cd30f370b8
Remove the use of atomics and use thread-local accumulation instead 2016-05-29 00:06:18 +02:00
Dane Springmeyer
4ae8abe6a3
run clang-format [skip ci] 2016-05-27 22:35:17 +02:00
Dane Springmeyer
82bfd4ee40
fix compile with clang-3.5 2016-05-27 22:35:17 +02:00
Patrick Niklaus
6e16eab6ec
Format with clang-format 3.8 2016-05-27 21:05:04 +02:00
Patrick Niklaus
d6de2ca71c
Really place annotations in RouteLeg and not Route 2016-05-27 16:46:28 +02:00
Daniel J. Hofmann
498370330d
String bulk insertion 2016-05-26 22:50:17 +02:00
Daniel J. Hofmann
1418c0dbbc
Move ExtractionWays and ExtractionNodes into container to avoid copying 2016-05-26 22:50:17 +02:00
Daniel J. Hofmann
bbc79dd49f
ExtractionContainers already owns its data 2016-05-26 22:50:17 +02:00
Daniel J. Hofmann
8036320d94
Do not bind primitives per ref 2016-05-26 22:50:17 +02:00
Daniel Patterson
3d03797e53
Distinguish between offramps and sliproads. 2016-05-26 21:31:04 +02:00
Patrick Niklaus
baf8e4784b
Transfer match benchmark to own binary 2016-05-26 20:25:33 +02:00
Moritz Kobitzsch
d53350b263
be more verbose on broken configs 2016-05-26 20:04:24 +02:00
Moritz Kobitzsch
797f2a196b
handle intersection-access for roundabout correctly 2016-05-26 16:25:26 +02:00
Freenerd
a21fd2ea18 Contractor: log stats for loaded speed files 2016-05-24 14:35:16 -04:00
Daniel Patterson
0587c5f5c4
Trim datasource names before writing to datafile. 2016-05-24 15:20:14 +02:00
Michael Krasnyk
b5225f07cb
Fix #2413 by converting enums to unsigned char constants 2016-05-23 18:33:24 +02:00
Moritz Kobitzsch
abed7690d0
fix continue on obvious 2016-05-23 17:55:30 +02:00
Mathias Gug
e5b713841a Fix style. 2016-05-20 12:47:47 -07:00
Mathias Gug
1635f7351d Support environment variable to disable http requests logging. 2016-05-20 12:47:47 -07:00
Daniel J. Hofmann
ce5ae411c1
Resurrect Flat Map + Binary Search commit from PR 2412 2016-05-20 20:43:45 +02:00
Patrick Niklaus
d1bc32fb31
Add comments and debug code 2016-05-20 18:52:29 +02:00
Patrick Niklaus
f9f87f25d4
Use elogate() to fixup geometry when merging steps, fixes #2424 2016-05-20 18:52:29 +02:00
Dane Springmeyer
7649187095
workaround boostorg/numeric_conversion#4 2016-05-20 16:03:19 +02:00
Patrick Niklaus
57321979ae
Remove leftover debugging code 2016-05-19 16:44:31 +02:00
Patrick Niklaus
95af72c70c
Make intersection backwards compatible
For `depart` and `arrive` `step.intersections[0].{bearings|entry}` will have
only one entry.
2016-05-19 16:44:31 +02:00
Moritz Kobitzsch
98fe0badbe
fix loading in storage 2016-05-19 16:44:31 +02:00
Moritz Kobitzsch
44b841a25d
fix storage 2016-05-19 16:44:31 +02:00
Moritz Kobitzsch
9c8bf820de
adjusted to in/out. only emit one of them for depart/arrive 2016-05-19 16:44:31 +02:00
Moritz Kobitzsch
4d9aa65e78
intersection classes with variable degree of discretization 2016-05-19 16:44:31 +02:00
Moritz Kobitzsch
0f3942558f
version using discrete values stored directly at intersection 2016-05-19 16:43:46 +02:00
Moritz Kobitzsch
ba074b0116
initial version of intersection classification 2016-05-19 16:43:46 +02:00
Daniel J. Hofmann
6aa97048df
Rip out custom CSV parser code and its third_party dependency 2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
d9a5c79ea6
Map leaf nodes to RAM and iterate over them potentially in parallel 2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
9d7714c714
Make looping through all leaf nodes less confusing 2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
8291be375a
Expose concurrency in saving files 2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
0a73737f69
Fold parsing and data loading in concurrently executing action 2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
2fd1b6c913
Expose concurrency between intern/external node map and geometries 2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
ea38a1d880
Parse multiple files concurrently 2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
f576e13c51
Concurrent lookup hashtables 2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
ee7bb8731a
Expose concurrency between segment speeds and turn penalties 2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
da0c3ff394
Refactor edge weight parsing code 2016-05-19 00:01:54 +02:00
Daniel J. Hofmann
6ae559b42b
Throw error if edge based graph file could not be loaded 2016-05-19 00:01:54 +02:00
Mathias Gug
b5ffb51e18
Signal the parent process when we're ready to serve requests.
This can be used for a hot reload of the process binary. The supervising
process can be told when the new process is ready to serve requests.
2016-05-18 23:59:52 +02:00
Moritz Kobitzsch
a9f674497a
emit turn-straight for obvious turns where the main road continues 2016-05-18 19:54:53 +02:00
Daniel Patterson
fa525ad610
Return an array with meta-data for each coordinate.
Currently supports duration and distance for each coordinate.

This is particularly useful in map-matching, comparing how
a trip progresses compared to a real GPS trace that is
map-matched.
2016-05-12 01:11:09 +02:00
Patrick Niklaus
c520c7a24a
Fix rtree benchmark 2016-05-07 23:52:11 +02:00
Patrick Niklaus
ddd128ce0e
Only use const-ref for coordinate vector 2016-05-07 23:52:11 +02:00
Michael Krasnyk
2acde49f0f
Make LeafNode aligned to memory pages.
Changes:
* LeafNode is aligned to LEAF_PAGE_SIZE.
  Alignment brings 24 bytes memory overhead for 4096, but reduces
  cache misses rate.
* Unused m_element_count from leaf nodes file.
  The size is computed as m_leaves_region.size() / LEAF_PAGE_SIZE.
* Added try/catch for mmap exceptions messages.
2016-05-07 23:52:11 +02:00
Daniel J. Hofmann
363d2145bd
Register a way's .nodes() function for use in the profile's way_function.
Can be used as in:

    function way_function(way, result)
      for node in way:get_nodes() do
        local id = node:id()
        io.write(">>> " .. id .. "\n")
      end

      -- ...
    end

Warning: we do not use libosmium's location cache, therefore .location()
on the nodes will crash at runtime. Once we switch to using libosmium's
cache this should work. Until then, you can use the node id now.
2016-05-04 15:28:34 +02:00
Moritz Kobitzsch
6018fcf490
Introduce on_ramp and off_ramp, deprecate ramp 2016-05-04 12:09:54 +02:00
Moritz Kobitzsch
1e6888c0d3 fix new-name on empty strings 2016-05-04 10:52:55 +02:00
Lauren Budorick
d8acf76f2d
Fix wrong assertion size in CompressedEdgeContainer::GetLastEdgeSourceID 2016-05-03 21:50:27 +02:00
Moritz Kobitzsch
08248e3853
fix 2349 2016-05-03 21:14:31 +02:00
Patrick Niklaus
a4f1dc536d
Trip plugin does not have a continue_straight parameter, use false 2016-05-03 21:13:22 +02:00
Daniel J. Hofmann
5517ee334f Remove typename prefix from non-dependent type alias
I think VS is predantic but actually right here.

References:
- http://eel.is/c++draft/namespace.udecl#19
2016-05-03 12:00:40 +02:00
Patrick Niklaus
206bdff9e7
Inline and vectorize haversine for GetPathDistance 2016-05-02 19:53:42 +02:00
Patrick Niklaus
c32270b2b8
Make projectOnLine inline-able 2016-05-02 19:53:05 +02:00
Patrick Niklaus
cc03402570
Use pass-by-copy for Coordinate 2016-05-02 19:51:32 +02:00
Patrick Niklaus
21a76f1867
Move coordinate constructors to header to enable inlining 2016-05-02 19:50:52 +02:00
Patrick Niklaus
212ad94c90
x2 speedup in Douglas Peucker by projecting all coordinates first 2016-05-02 19:50:33 +02:00
Patrick Niklaus
378d9f4112
Remove debug ouput from post-processing 2016-05-02 19:47:59 +02:00
Moritz Kobitzsch
59168e21b4
remove unnecessary warnings, initialize correctly 2016-05-02 17:29:37 +02:00
Patrick Niklaus
d12a95b4ef
Fix naming convention of Percent 2016-05-02 17:25:58 +02:00
Patrick Niklaus
83482afa02
Fix naming conventions of TrajanSCC 2016-05-02 17:25:58 +02:00
Patrick Niklaus
e470d1ae1c
Fix naming convention in RasterSource 2016-05-02 17:25:58 +02:00