ThinkGeo.com    |     Documentation    |     Premium Support

GetClosestPointTo

Hi



A problem with the function GetClosestPointTo




var myShapeIsAArea = f.GetShape();
var myShapeIspoint = fPT.GetShape();
var a_p = myShapeIsAArea .GetClosestPointTo(myShapeIspoint ,GeographyUnit.Meter);

If mySphapeIsAArea contains myShapeIsPoint the result is null ???

If mySphapeIsAArea not contains myShapeIsPoint the result is ok ???



I have the same problem with GetShortestLineTo, GetDistanceTo



Thanks

Regards

Laurent M


Hi Maumet, 
  
 The response as the following: 
  
 GetClosestPointTo: 
 if the polygon contains the point we will treat as no closest point. 
  
 GetShortestLineTo 
 if p1 = polygon.GetClosestPoint(point, unit) not exists or p2 = point.GetClosetPoint(polygon, unit) not exists it will return null or return the line between the p1 and p2. 
  
 GetDistanceTo 
 if the polygon contains the point it will return 0, or it will return the distance between point to the closest point. 
  
 Hope it’s helpful. 
  
 Regards, 
 Peter

Hi peter 
  
 Ok for your responses 
  
 But, there are problems with AreaShape if the point is within. the result is always 0 
  
 To resolve the problem, I convert the Areashape in LineShape. 
  
 Regards 
 Laurent M

Hi Laurent, 
  
 As I mentioned before, if the AreaShape intersects with the point the areaShape.GetDistanceTo(point, shapeUnit, distanceUnit) method will return 0. 
  
 I see Don is working with you in the other thread thinkgeo.com/forums/MapSuite/tabid/143/aft/13075/Default.aspx about how to convert an AreaBaseShape to LineShape, and I’m very glad to hear it’s helped. 
  
 Regards, 
 Peter

Thanks Peter 
  
 Regards 
  
 Laurent M

My pleasure. 
  
 Regards, 
 Peter