ThinkGeo.com    |     Documentation    |     Premium Support

Translate Spherical Point by bearing and distance

My code leverages a very old .Net component that I'd like to replace with MapSuite code.  I have a VB.Net Function that accepts a lat/lon point, a bearing (direction) in degrees, and a distance in meters and returns a lat/lon point that is translated from the input point by the distance specified in the direction specified by the bearing (as shown below).  Are there similar routines available in MapSuite that can accomplish the same thing?


 


 



 



'Calculate lat/lon position from a start position to distance (in meters) away at a specified bearing

 


'Return lat/lon as a ThinkGeo Pointshape

 


Public Function TranslatePoint(ByVal point1LatDMS As Double, ByVal point1LonDMS As Double, ByVal bearing As Single, ByVal distanceMeters As Single) As PointShape

 


'setup position points:

 


 


Dim point1 As New Position(New GeoFramework.Longitude(point1LonDMS), New GeoFramework.Latitude(point1LatDMS))'Finally, make the calculation of intercept point

 


Dim translatedPoint As Position

translatedPoint = point1.TranslateTo(


 


New GeoFramework.Angle(bearing), New GeoFramework.Distance(distanceMeters, GeoFramework.DistanceUnit.Meters))'Convert to ThinkGeo PointShape type and return

 


 


 


Dim newPoint As New PointShape(translatedPoint.Longitude.DecimalDegrees, translatedPoint.Latitude.DecimalDegrees)Return newPointEnd Function

 


 


 


 




Michael,


 Thanks for using the MapSuite, there is an easy way to accomplish your request.
We have a method in PointShape called TranslateByDegree, you can try this, and please look at the code below:
    Public Function TranslatePoint(ByVal point1LatDMS As Double, ByVal point1LonDMS As Double, ByVal bearing As Single, ByVal distanceMeters As Single) As PointShape

        Dim ps As New PointShape(point1LatDMS, point1LonDMS)
        ps.TranslateByDegree(distanceMeters, bearing, GeographyUnit.DecimalDegree, DistanceUnit.Meter)
        Return ps

    End Function

Let me know if you have any questions.
Thanks,
James

Fantastic - works great.  Appreciate the quick reply.



Michael,


  I am glad we found a quick solution for you. Also, I let you know that we have numerous samples related to degrees, lat/long issues etc. Do not hesitate to take advantage of that resource wiki.thinkgeo.com/wiki/Map_Suite_De...ll_Samples



Good stuff…thanks again.

Val, 
  
 Thanks for your sharing.