ThinkGeo.com    |     Documentation    |     Premium Support

How to get a point from a point with distance of 5kms

hi 


1) how to get a point from a point with distance of 5 kms.


2)i am trying to get a point on a line using the following method.


PointShape pntTop = lnsTop4.GetPointOnALine(StartingPoint.LastPoint, 50, GeographyUnit.DecimalDegree, DistanceUnit.Kilometer);


where lnsTop4 is a line


here pntTop getting only Y value not getting X value.


pntTop (Nan,19.12413) like i am getting .


how to get full point with X and Y values 


please help me.


Regards,


Ravi Bokkala



Ravi,


1)


You need to use the functions TranslateByDegree or TranslateByOffset. See the code sample below. Be aware that you need to set the map unit of your map correctely:



wpfMap1.MapUnit = GeographyUnit.DecimalDegree;

PointShape pointShape1 = new PointShape(-96, 33);
PointShape pointShape2 = new PointShape(pointShape1.X, pointShape1.Y);

//Moves point by distance and angle. 0° North, 90° East, 180° South, 270° West etc
pointShape2.TranslateByDegree(5, 45, wpfMap1.MapUnit, DistanceUnit.Kilometer);

//Moves point by offset in X and Y:
PointShape pointShape3 = new PointShape(pointShape1.X, pointShape1.Y);
pointShape3.TranslateByOffset(5, 5, wpfMap1.MapUnit, DistanceUnit.Kilometer);
 

 


2)


 If you want to get the point on the line that is 50 kilometers from the last vertex of the line, the code that you are showing with function GetPointOnALine seems to be correct. I would recommend getting the latest Bug build of Wpf. I know that a fix was done to GetPointOnALine recently.