如何根据两个点的经纬度计算出这两个点的距离(以米为单位)
如何根据两个点的经纬度计算出这两个点的距离(以米为单位) 问题点数:20、回复次数:19Top
1 楼yfrzn(杨子)回复于 2003-11-05 11:55:22 得分 0
upTop
2 楼hant(阿水)回复于 2003-11-05 14:48:15 得分 2
自己编算法很麻烦,需要考虑投影坐标系参数等,要找本地理或测量的书对着公式写函数,
可以使用一些COM组件,如MO,MapX等都提供了两点求距的函数,方便,只需要提供特殊的投影坐标系,以及两点的经纬度就可以了,MO,精度高,MapX精度低Top
3 楼supere(专心学习Dotnet)回复于 2003-11-05 22:30:37 得分 0
有算法嘛?拜托各位大哥了!给个公式也可以Top
4 楼supere(专心学习Dotnet)回复于 2003-11-06 20:49:10 得分 0
tTop
5 楼redstar5(兴味索然)回复于 2003-11-07 14:07:21 得分 0
何必要用投影坐标系, 由地球半径和经纬度就行了,数学公式的大圆点距吗?Top
6 楼supere(专心学习Dotnet)回复于 2003-11-07 21:01:02 得分 0
请 redstar5(兴味索然)兄说具体点Top
7 楼skink(地图)回复于 2003-11-07 22:16:06 得分 0
要怎样计算呢,画在地图中,在将地图投影,两点就是米了Top
8 楼supere(专心学习Dotnet)回复于 2003-11-23 12:09:11 得分 0
tTop
9 楼redstar5(兴味索然)回复于 2003-12-02 13:05:09 得分 2
由经纬度就可以计算两点的大圆夹角了,数学公式吗
Top
10 楼zhaofuhong(SeeSea(看海))回复于 2003-12-03 10:39:25 得分 0
有经纬度LIKE不够啊,LIKE 还要有高程,地球LIKE是个三维空间哦^_^Top
11 楼gisbeibei()回复于 2003-12-06 12:57:57 得分 0
mapbasic 有个函数,但好像不是很精确!自己可以查查!Top
12 楼ZHYPDW(无奈)回复于 2003-12-09 11:18:22 得分 2
两点(经度1,纬度1)、(经度2,纬度2)
108 * Sqr((经度2 - 经度1) ^ 2 + (纬度2-纬度1) ^ 2)
单位:公里Top
13 楼leeky(雅痞·千年虫)回复于 2003-12-10 15:19:49 得分 2
mapX的函数为TMapX.Distance(....);
其实自己与很简单的,我就写了一些这方面的函数,包括把一条曲线缩放并旋转。
立体几何的问题而已。Top
14 楼lss983(随缘)回复于 2003-12-10 16:32:18 得分 2
MapX.Distance(dx,dy,dXpos,dYpos)*1.60934708788644;
单位公里Top
15 楼leeky(雅痞·千年虫)回复于 2003-12-11 22:11:47 得分 5
如果不用MapX,且这两点的距离不远,
我讲一下近似计算的思路(请注意以上前提):
首先我们假设地球比较规则,我们知其赤道直径与极直径,便可算出经线周长L1与赤道周长L2。
便可知道经线上一度(经线上一度即纬度差为一度)表示的长度R1,也知赤道上经度差一度的长度R2。
我们来解直角三角形:已知两点经纬度(X1,Y1)与(X2,Y2),即已知两直角边,
已知两点相差不大(至少在我们允许的范围),则Y1与Y2相差不大,
经度差=X1-X2,由于不在赤道上,换算成赤道上的差就是(X1-X2)*Cos((Y1+Y2)/2)
纬度差=Y1-Y2,
所以:
距离=SQRT( SQR(R1*(Y1-Y2))+ SQR(R2*(X1-X2)* Cos((Y1+Y2)/2)) )
以上SQR为平方,SQRT为平方根函数。请注意经度差要乘Cos()系数的!Top
16 楼leeky(雅痞·千年虫)回复于 2003-12-11 22:14:54 得分 0
lss983(随缘) 讲的不是很对,因为MapX本身可以设置单位的,你说的是在缺省状态下,其实设了单位就可直接得到距离。Top
17 楼leeky(雅痞·千年虫)回复于 2003-12-21 21:06:23 得分 5
楼主逃跑了啊?
放心,以后偶不答你的问题了。
前几天自己做一个地图基本功能的控件,已经完成了,计算距离的公司就是用的以上原理,我用自己的控件与MapX做了一下对比,误差很小,比如10米大约相关2cm,270米误差也是几厘米的样子。Top
18 楼shanmao(山猫)回复于 2003-12-22 11:02:30 得分 0
精确的算法是挺复杂的,读书时做过这个数学建模的作业,算了我好几天才把公式导出来。
你可以看看,老点的关于测量的书,有本苏联的,写的狠清楚
好像时 地球测量什么的Top
19 楼bachelor2001(无中生有)回复于 2003-12-23 17:19:25 得分 0
leeky,不知你的算法当斜率是0、22.5、45、67.5、90度时精度有没有变化,变化大不大,如果好的话,能提供一下你的算法吗?Top




