在图片框中计算地图上的距离

时间:2012-03-20 21:47:21

标签: c#

我有来自图片框中导入的谷歌地图的地图(比例为200米= 1.5厘米)。起点位于(46.46705,15.7411),终点位于(46.4590,15.75150)。这是我计算距离的方式:

enter code here 
double lat1 = 46.46705 * (Math.PI/180);
double lon1 = 15.74111 * (Math.PI/180);
double lat2 = 46.45900 * (Math.PI/180);
double lon2 = 15.75150 * (Math.PI/180);
int R = 6371;
double d;
...............................................
var x = (lon2 - lon1) * Math.Cos((lat1 + lat2) / 2);
var y = (lat2 - lat1);
d = Math.Sqrt(x * x + y * y) * R;
d *= 1000; // get km
d = Math.Round(d, 2); // decimals
......................................

我问如何计算开始和随机“结束”点之间的距离,它小于终点(距离结束)?起点位于坐标(49,49)上,终点位于坐标(291,328)上。我没有任何其他信息。谢谢你的hlep。

1 个答案:

答案 0 :(得分:0)

在执行功能之前,您需要将图像坐标转换为纬度/经度。

这可以通过linear interpolation来完成,从水平坐标到经度,垂直坐标到纬度。

相关问题