ThinkGeo.com    |     Documentation    |     Premium Support

Finding features with shortest route around point

Hi, 



another question came to my mind. I have a GPS position and, as an example, want to show the user the ten nearest restaurants around this GPS position. As a first approach, I tried restaurantLayer.FeatureSource.GetFeaturesNearestTo(gpsPoint…), and while this function does exactly what it is expected to do (namely return the features with the shortest air-line distance), it is not what I need in a routing application, where I want to suggest the user features with the shortest routing distance around the current GPS position.

As this is a common function in routing applications, I assume there is some built-in possibility in the routing Extension for doing this I have missed, but up to now I have  not found what I am looking for.




Hi Hanna, 
  
 Sorry we don’t have a built-in function for that requirement for now. 
  
 After we discuss it with our developer, we get two maybe solutiosns: 
  
 Idea a: 
 1. You can find a GeneratingServiceArea event for RoutingEngine, you should want to create something like a hashtable to save the POI location and its corresponding street id. 
  
 2. In routingEngine_GeneratingServiceArea function, e.AccessibleFeatureIds will save the accessed feature, they are line id (street id). So you can find nearest streets which contains POI point. 
  
 3. Handle the points and find the nearest ten by other logic. 
  
 Idea b: 
 1. Use GetFeaturesNearestTo function to find more than 10 points. 
 2. Loop them and use routingEngine.GetRoute to calculate the distance. 
 3. Get nearest ten points. 
  
 Wish they are helpful. 
  
 Regards, 
  
 Don

Thanks for the answer, Don. I’ll give writing it on my own a try then.

Hi Hanna, 
  
 Any question please let us know, your requirement is interesting, we are glad to help you find a solution. 
  
 Regards, 
  
 Don

Finally I got that working. Feels like re-inventing the wheel though :) If I find the time to clean and tidy my testcode, I’m gonna upload it so that others can benefit from it.

Hi Hanna, 
  
 I am glad to hear you find a solution for that. 
  
 You said you will share your solution, I think that’s awesome and it would be helpful for the guys who have same requirement. 
  
 Regards, 
  
 Don