C# 如何获得“;x”;米从参考纬度和经度?
我有一个以米为单位的距离,参考纬度和经度。现在我想要从给定的参考点x米的四个方向(南、北、东、西)的纬度和经度 我怎样才能得到这个值 我需要用C#来写这个,但是任何伪代码或逻辑指导都是受欢迎的 更新: 我有一个坐标作为参考点,我想计算北面5米的距离,保持经度不变。所以我想计算距离参考点5米处的纬度。在东西方向的所有三个方向上,我都必须这样做,我保持经度不变C# 如何获得“;x”;米从参考纬度和经度?,c#,latitude-longitude,C#,Latitude Longitude,我有一个以米为单位的距离,参考纬度和经度。现在我想要从给定的参考点x米的四个方向(南、北、东、西)的纬度和经度 我怎样才能得到这个值 我需要用C#来写这个,但是任何伪代码或逻辑指导都是受欢迎的 更新: 我有一个坐标作为参考点,我想计算北面5米的距离,保持经度不变。所以我想计算距离参考点5米处的纬度。在东西方向的所有三个方向上,我都必须这样做,我保持经度不变 请让我知道我们是否可以使用任何公式。它必须精确到什么程度?你通常可以假设地球是一个半径为6360公里的球体。在这种情况下,北纬或南纬一度等于
请让我知道我们是否可以使用任何公式。它必须精确到什么程度?你通常可以假设地球是一个半径为6360公里的球体。在这种情况下,北纬或南纬一度等于10000/90公里(这就是米的定义)。东/西只是稍微难一点,东经一度是10000/90公里*cos(纬度)。这项来自《军械测量》的内容包含了vb脚本宏中可以转换的完整转换 它应该能够根据学位和时间为您提供新的位置 重新设置纬度和经度的格式 坐标:度,分 &秒;十进制度数;和 度和十进制分钟格式
另一种计算方法是将度转换为弧度:Pi弧度等于180度。关于弧度的简单点是圆(地球表面)的长度是半径*弧度。因此,1度*pi/180*6360Km=110.947Km,其中pi=3.14 纬度值和经度值分别南北移动和东西移动,因此如果移动方向与纬度值和经度值一致,则可以将上述计算映射到纬度值和经度值,否则必须使用sinus和cosinus函数进行映射。
function translateCoordinates(distance, Lat,Lng, angle) {
distanceNorth = Math.sin(angle) * distance;
distanceEast = Math.cos(angle) * distance;
earthRadius = 6371000;
newLat = Lat + (distanceNorth / earthRadius) * 180 / Math.PI;
newLon = Lng + (distanceEast / (earthRadius * Math.cos(newLat * 180 / Math.PI))) * 180 / Math.PI;
return [newLat, newLon];
}
所以你可以把它转换成c#
- 算法:
- Java示例-
10/平方米(2)
10/平方米(2)10/平方米(2)10/平方米(2)2公里。哦,对了,愚蠢的问题。。。至于西面位移,它和东面一样,只是用“-”号,对吗?意思是-10000/90公里*cos(纬度)