excel中能够,有2组经纬度数据,能够两两组合进行距离计算么?求各位大
答案:2 悬赏:60 手机版
解决时间 2021-02-09 04:06
- 提问者网友:浪荡绅士
- 2021-02-08 12:45
excel中能够,有2组经纬度数据,能够两两组合进行距离计算么?求各位大神!
最佳答案
- 五星知识达人网友:三千妖杀
- 2021-02-08 14:13
在arcgis中导入数据,转化为arcgis数据来计算
不会请私信加我教你!
不会请私信加我教你!
全部回答
- 1楼网友:有你哪都是故乡
- 2021-02-08 14:30
如果用excel计算的话,公式复杂到你无法想象,具体附后。
但是如果用arcgis来计算的话,应该不至于这么复杂。
可私信加我教你如何计算。
地球是一个近乎标准的椭球体,它的赤道半径为6378.140千米,极半径为 6356.755千米,平均半径6371.004千米。如果我们假设地球是一个完美的球体,那么它的半径就是地球的平均半径,记为r。如果以0度经线为基 准,那么根据地球表面任意两点的经纬度就可以计算出这两点间的地表距离(这里忽略地球表面地形对计算带来的误差,仅仅是理论上的估算值)。设第一点a的经 纬度为(lona, lata),第二点b的经纬度为(lonb, latb),按照0度经线的基准,东经取经度的正值(longitude),西经取经度负值(-longitude),北纬取90-纬度值(90- latitude),南纬取90+纬度值(90+latitude),则经过上述处理过后的两点被计为(mlona, mlata)和(mlonb, mlatb)。那么根据三角推导,可以得到计算两点距离的如下公式:
c = sin(mlata)*sin(mlatb)*cos(mlona-mlonb) + cos(mlata)*cos(mlatb)
distance = r*arccos(c)*pi/180
这里,r和distance单位是相同,如果是采用6371.004千米作为半径,那么distance就是千米为单位,如果要使用其他单位,比如mile,还需要做单位换算,1千米=0.621371192mile
如果仅对经度作正负的处理,而不对纬度作90-latitude(假设都是北半球,南半球只有澳洲具有应用意义)的处理,那么公式将是:
c = sin(lata)*sin(latb) + cos(lata)*cos(latb)*cos(mlona-mlonb)
distance = r*arccos(c)*pi/180
以上通过简单的三角变换就可以推出。
如果三角函数的输入和输出都采用弧度值,那么公式还可以写作:
c = sin(lata*pi/180)*sin(latb*pi/180) + cos(lata*pi/180)*cos(latb*pi/180)*cos((mlona-mlonb)*pi/180)
distance = r*arccos(c)*pi/180
也就是:
c = sin(lata/57.2958)*sin(latb/57.2958) + cos(lata/57.2958)*cos(latb/57.2958)*cos((mlona-mlonb)/57.2958)
distance = r*arccos(c) = 6371.004*arccos(c) kilometer = 0.621371192*6371.004*arccos(c) mile = 3958.758349716768*arccos(c)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯