-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rewrites the osrm-components tool to dump GeoJSON, resolves #2176 #1738 #1602 #3570
Conversation
The previous behavior (and what I replicated so far) is to highlight all ways inside small components. What I want to do in addition is to highlight segments where
and one of the components being a small one. This can be used to more easily find the edges going into or out of the small components (if such edges exist at all). |
Now adds |
1ad775e
to
5075ab4
Compare
@daniel-j-h Looking at the Monaco Dump of small-components, the id stored is Is there a way we can keep the |
We don't store way ids in any form, all we have at that point are osm node ids. At the moment, the "from": 1,
"to": 2,
"type": "border"
We can talk about the properties here or how to represent the way segments in GeoJSON. I see no way to add osm way ids though. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of running another components search, we could also just read the .osrm.file_index
file from the StaticRTree and use the small component information from it. That would side-step the need to hard-code the thresholds.
That said the general approach here is fine and I see no problem merging this.
@geohacker @oini @srividyacb - could you check if these modifications to the cc @woodpeck for context on ticket |
For OSMI integration, if you can create and transmit the GeoJSON, I'd probably simply convert to shape on my end and dump into OSMI as before. If creating and uploading the file is an extra burden for you then I could probably also run that somewhere on OSMI. |
@woodpeck not sure if you are aware of it but we are trying out the following for a more realistic small components layer: use a custom profile and enable routing over tags such as The small components layer then shows data issues not influenced by the absence of features in the routing engine. Here is this experimental connectivity profile: #3551 The demo server will still continue to run the regular car profile since we don't want the connectivity profile for routing. I'm not sure yet how we should handle this split: we would need to keep the connectivity profile in sync and run it regularly for small components. If you think you can run this on your servers that would be great (osrm-extract + osrm-components is all you need). I just fear this might accidentally go out of sync. What's your take here? |
Hm, I'm not too deep into OSRM development but are there many things that actually need to be kept in sync? I'd guess that tuning on the standard profiles will mostly be changing a speed here, changing the handling of gates there, and so on; if the connectivity profile just looks at the bare road layout then I can't see many things that actually would need syncing? |
With syncing I mostly mean you running the latest OSRM release and us keeping the profile changes here #3551 in sync with master. The profile changes shouldn't be too hard to keep in sync with master. I don't know how often you want and can update your OSRM instance. We provide Docker images and pre-built binaries via npm, so installation does not require compiling from source. What I really want to avoid is having 1/ a stale OSRM installation creating this layer and 2/ a stale components layer which we then show to the OpenStreetMap community. |
Updating the software frequently should be the easier bit; as for updating the data, I'd aim at daily but we'd have to see how it turns out, performance-wise... |
@daniel-j-h from my side this is ready to merge, anything else left? |
api-osrm-routed needs to be adapted, otherwise we break the next cycling phase - will take a look now. |
5075ab4
to
42692a3
Compare
Demo server integration adapted, updated and cycled anew. |
Quick follow up for #3570: there is no reason not to build the `osrm-components` tool by defualt. Backwards compatible. Users still specifying the option will see: > Manually-specified variables were not used by the project: > BUILD_COMPONENTS
Quick follow up for #3570: there is no reason not to build the `osrm-components` tool by defualt. Backwards compatible. Users still specifying the option will see: > Manually-specified variables were not used by the project: > BUILD_COMPONENTS
Resolves #2176 #1738 #1602.
Unblocks
node-osrm
from bundlingosrm-components
Project-OSRM/node-osrm#283.On Monaco, unstyled raw dump: http://bl.ocks.org/d/9d6265b064c0f29a71503e0f6527769d
Would love some input here: at the moment I expose OSM ids as properties for the
LineString
's from and to node. Is this helpful and are these use-cases where osm node ids help here? Otherwise I would remove it, since it bloats the file quite a bit.cc @MoKob @geohacker @planemad @srividyacb @oini
Tasklist