It doesn't look like PhantomNode's forward_node_id and reverse_node_id are
indexes into InternalDataFacade's m_coordinate_list (and hence the
m_osmnodeid_list I created). When I look up forward_node_id/reverse_node_id
I get OSM nodes that are far away from the query point.
(PhantomNode.name_id and PhantomNode.location *are* set correctly however).

So I should probably follow Patrick's suggestion and have a separate loop
that reads the .nodes file? Does the .nodes file contain
ExternalMemoryNodes or QueryNodes? (graph_loader.hpp reads one and
internal_datafacade.hpp reads the other, although it won't matter if the
two structs have the same size due to padding).

On Mon, Feb 1, 2016 at 9:25 AM, Daniel Patterson <[email protected]> wrote:

> Hi Kerrick,
>
>   Yup, the node ids are renumbered to pack them more densely and ensure
> that values fit inside an unsigned int (32 bits).
>
>   The mapping *is* written to the `.nodes` file though, here:
>
>
> https://github.com/Project-OSRM/osrm-backend/blob/d189339495e223a6ceea21a73bb7e434775172fa/src/extractor/extractor.cpp#L550-L561
>
>   when this file is later read, we only load the coordinates from it, so
> the OSM values are there, but not used:
>
>
> https://github.com/Project-OSRM/osrm-backend/blob/d189339495e223a6ceea21a73bb7e434775172fa/include/engine/datafacade/internal_datafacade.hpp#L116-L129
>
>   here, you could add the OSM node values to a new array, then you'd have
> the lookup table you need to map the NodeIDs you have to the original OSM
> values.
>
>   This will require extra RAM, which may or may not be a problem for you.
>
> daniel
>
>
> On Feb 1, 2016, at 9:03 AM, Kerrick Staley <[email protected]> wrote:
>
> I want to create a binary that will take an input lat/long and give the
> two OSMNodeIDs representing the nearest road segment. I was able to hack
> something together using NearestPhantomNodes in the OSRM codebase, but I
> can't figure out how to go from the NodeIDs in the PhantomNode to
> OSMNodeIDs.
>
> It looks like the NodeID -> OSMNodeID mapping is dropped in
> osrm-extract/osrm-prepare. Is this the case? Can I use the .osrm or
> .osrm.nodes file to re-build the mapping?
>
> Thanks,
> Kerrick
> _______________________________________________
> OSRM-talk mailing list
> [email protected]
> https://lists.openstreetmap.org/listinfo/osrm-talk
>
>
>
> _______________________________________________
> OSRM-talk mailing list
> [email protected]
> https://lists.openstreetmap.org/listinfo/osrm-talk
>
>


-- 
- Kerrick
_______________________________________________
OSRM-talk mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/osrm-talk

Reply via email to