【发布时间】:2017-06-15 17:37:17
【问题描述】:
我正在使用 Netlogo 的 gis 扩展,并试图以公里为单位计算代理之间的距离。
使用gis:envelope-of,我可以得到代理的位置(!)纬度和经度,所以我想使用Haversine 公式来计算距离。我的底层 GIS-shapefile 的投影是 WGS 84。
我所写的两个典型点如下:
to haversine
let lata 31.8930795682288
let longa 36.0898369172224
let latb 31.9964498913126
let longb 36.0318329821497
let rad (pi / 180)
let result acos (cos (rad * lata) * cos(rad * (latb )) + sin ( rad * (lata) )* sin(rad * (latb)) * cos(rad * (longa - longb))) * 6371
print result
end
它得出的距离为 11.5 公里,而在 excel 中应用的相同公式(使用 RADIANS 公式而不是“rad”)给我留下了 12.73 公里,这是本网站 http://www.movable-type.co.uk/scripts/latlong.html 确认的数字。
知道我在这里做错了什么吗?提前致谢。
【问题讨论】:
-
这里bluemm.blogspot.de/2007/01/… (和GIS以及原始问题中发布的链接与此excel公式相同)