ThinkGeo.com    |     Blog    |     Wiki    |     Support

What is route.getlength returning?

Hi I'm wondering about what the result of getlength is.


 


So i have a routing result and the .distance is fine.


But route.Route.GetLength returns a small number, so the length of getlength comes from what?


//route is a routingresult               


var x = route.Distance; // returns 295.36862792998767
var xx = route.Route.GetLength(GeographyUnit.Meter, DistanceUnit.Meter); //returns 0.0040755325101505379
 

Hi Neils,  
  
 The RoutingResult can contain different elements depending on what routingEngine.RoutingResultsType you have specified. There are four different RoutingResultTypes that you can specify so the GetLength might be returning you a length of RouteSegments, or RouteFeatures! 
  
 I believe that by default with the 6.0.0.0 version of Routing Edition the RoutingEngine.GetRoute().Route supplies a MultiLineShape, so the GetLength() would seem to be the length of that MultiLineShape but that could include either RouteSegments or RouteFeatures. I agree that the result you received does seem a bit small. 
  
 I believe we have worked together on other Routing questions so you might be aware of the changes we made to supply a SingleLineShape as a Route with some of the later builds of the Routing Edition. While RoutingResult does give you a lot of flexiblity in the type of result set returned, in my opinion you might want to try one of our later builds of the Routing Edition that allow you to get a SingleLineShape as a result. By having this better defined result (of the SingleLineShape) you might find that you can concentrate on moving forward in your development rather than needing to investigate these API intricacies.