Thanks! I was wondering if some of these might be islands. I haven’t had time 
to check out the details of ones with extra large jump distances yet, but I’ll 
try to do that in the next few days.

Bryan Sayer
(301) 628-1576

From: Daniel Patterson [mailto:dan...@mapbox.com]
Sent: Thursday, January 18, 2018 12:25 PM
To: Sayer, Bryan <bsa...@s-3.com>
Cc: Mailing list to discuss Project OSRM <osrm-talk@openstreetmap.org>
Subject: Re: [OSRM-talk] calculation of jump distances

Hi Bryan,

  OSRM uses an R-Tree (https://en.wikipedia.org/wiki/R-tree) to do a nearest 
neighbour search (https://en.wikipedia.org/wiki/Nearest_neighbor_search).  
Every segment (line between two OSM nodes) is indexed in the R-Tree, and we 
snap to the closest straight line, measured with the Haversine distance method.

  One thing that might be coming into play is OSRM's "small component" snapping 
behaviour - how OSRM behaves when your start and end point are not actually 
connected (e.g. one point on an island, one on the mainland).

  There's an older blog post here:

    
https://blog.mapbox.com/robust-navigation-with-smart-nearest-neighbor-search-dbc1f6218be8

  that describes this behaviour.  It's possible this is coming into play for 
some locations, but you'd need to look very closely at your data and the 
failing requests to really understand what's going on.

daniel

On Wed, Jan 17, 2018 at 7:10 AM, Sayer, Bryan 
<bsa...@s-3.com<mailto:bsa...@s-3.com>> wrote:
Hi Daniel,

Thanks for the advice. We use the Stata implementation on a secure network so I 
can’t try any of the usual options that are available over the internet. I will 
double check that I have the order (longitude, latitude) but I have over 450 
million routes all over the USA (every populated tract to every hospital, with 
certain restrictions in Hawaii and Alaska), so I imagine if I had them reversed 
I would have really strange results.

I can check the area size of the tracts. I suppose some tracts might not have 
any roads, but generally tracts are defined by roads or natural elements like 
rivers. I only use tracts with non-zero population, so it seems like every 
tract I use should have a road in it. It seems to me that it should never be 
the case that the jump distance from the tract centroid to the starting point 
should exceed the largest dimension of the tract, or really one-half of that 
distance.

It is not a large number of routes with these large jump distances, just a few.

When you say “the first thing that happens is that the nearest point on the 
road network is found” how is the nearest road network found? That is, what is 
the algorithm? Does it spiral out from the point until a road is hit?


Bryan Sayer
Statistician
Social & Scientific Systems, Inc.
Monday-Friday 9:30 to 5:30
(301) 628-1576<tel:(301)%20628-1576>
https://www.s-3.com/


From: Daniel Patterson [mailto:dan...@mapbox.com<mailto:dan...@mapbox.com>]
Sent: Tuesday, January 16, 2018 5:24 PM
To: Mailing list to discuss Project OSRM 
<osrm-talk@openstreetmap.org<mailto:osrm-talk@openstreetmap.org>>
Subject: Re: [OSRM-talk] calculation of jump distances

Hi Bryan,

  OSRM stores the road network in memory.  When you supply a coordinate to 
start/finish a route, the first thing that happens is that the nearest point on 
the road network is found.  Routing then happens from those "snapped" points.

  If you've got big rural areas, and you're using large regional centroids, 
then I suspect the snapping is starting or finishing your routes on roads you 
don't expect.

  Several hundred KM is pretty weird though, unless your road network is 
*really* sparse.  Do you have your coordinate the correct way around in your 
requests?  The order should be <longitude>,<latitude> for every pair - getting 
this wrong is often the source of really weird results.

  Try making a single request with `overview=full&geometries=geojson`, then 
plot the full route geometry on http://geojson.io/ or something to see if it 
even looks reasonable.

daniel

On Tue, Jan 16, 2018 at 1:43 PM, Sayer, Bryan 
<bsa...@s-3.com<mailto:bsa...@s-3.com>> wrote:

Hi,



We are calculating distances between an U.S. census tract centroid and 
hospitals. A tract averages about 4,000 people, but can vary in area. 
Obviously, the centroid is likely to not be on a street, and thus a jump 
distance has to be calculated to get to a street.



Our question is what is the general algorithm for getting to the starting 
point? We definitely end up with some very large numbers (several hundred 
kilometers) on some jump distances, which seems incorrect.



Bryan Sayer

****WARNING**** This information may be confidential. It is intended only for 
the addressee(s) identified above. If you are not the addressee(s), or an 
employee or agent of the addressee(s), please note that any dissemination, 
distribution, or copying of this communication is strictly prohibited. If you 
have received this information in error, please destroy the information and 
notify the sender of the error. Thank you.

_______________________________________________
OSRM-talk mailing list
OSRM-talk@openstreetmap.org<mailto:OSRM-talk@openstreetmap.org>
https://lists.openstreetmap.org/listinfo/osrm-talk


****WARNING**** This information may be confidential. It is intended only for 
the addressee(s) identified above. If you are not the addressee(s), or an 
employee or agent of the addressee(s), please note that any dissemination, 
distribution, or copying of this communication is strictly prohibited. If you 
have received this information in error, please destroy the information and 
notify the sender of the error. Thank you.


****WARNING**** This information may be confidential. It is intended only for 
the addressee(s) identified above. If you are not the addressee(s), or an 
employee or agent of the addressee(s), please note that any dissemination, 
distribution, or copying of this communication is strictly prohibited. If you 
have received this information in error, please destroy the information and 
notify the sender of the error. Thank you.
_______________________________________________
OSRM-talk mailing list
OSRM-talk@openstreetmap.org
https://lists.openstreetmap.org/listinfo/osrm-talk

Reply via email to