我有一个坐标和一个标题,如何在 C# 函数中获得第二个坐标,比如距离第一个坐标 50 米?
示例信息:
Lat: 56.33908260
Lon: 17.01194088
Radians: -1.7453292519943295
RadiansToDegrees: 57.295779513082323
GeographicalDegrees: -170.0
MathematicalDegrees: -100.00
我有一个坐标和一个标题,如何在 C# 函数中获得第二个坐标,比如距离第一个坐标 50 米?
示例信息:
Lat: 56.33908260
Lon: 17.01194088
Radians: -1.7453292519943295
RadiansToDegrees: 57.295779513082323
GeographicalDegrees: -170.0
MathematicalDegrees: -100.00
这取决于您正在使用/想要使用的大地测量系统。
使用大地测量系统或大地测量数据 [...] 将其产品上指示的位置转换为它们在地球上的实际位置。
最常用的系统之一是 WGS 84。
一些背景: https ://math.stackexchange.com/questions/720/how-to-calculate-a-heading-on-the-earths-surface
您正在寻找的东西对我来说看起来像是“直接问题”。 http://en.wikipedia.org/wiki/Vincenty 's_formulae#Direct_Problem
在这里你可以找到一个 C++ 实现,它应该很容易移植(尊重许可证):
https://github.com/pkohut/GeoFormulas/blob/master/GeoFormulas/VincentyDestination.cpp
这个实现来源于这个公式: http ://www.movable-type.co.uk/scripts/latlong-vincenty-direct.html