gpt4 book ai didi

javascript - 为什么 esri.geometry.getLength 工作错误?

转载 作者:行者123 更新时间:2023-11-30 05:51:25 28 4
gpt4 key购买 nike

函数http://help.arcgis.com/en/webapi/javascript/arcgis/jsapi/#namespace_geometry/esri.geometry.getLength应该计算点之间的距离。

当我试图计算相距 100 米的点之间的距离时

p1=new esri.geometry.Point(3997030.6690969253, 7444299.320646087, new esri.SpatialReference({ wkid: 102113 }));
Object
p2=new esri.geometry.Point(3996951.455397143, 7444142.154020177, new esri.SpatialReference({ wkid: 102113 }));
Object
esri.geometry.getLength(p1, p2)
176.00045037719127

我得到 176,这是错误的。投影是 Web Mercator (WKID 102113)。

最佳答案

看起来它只是在计算两点 (3997030,7444299) 和 (3996951, 7444142) 之间的简单欧氏 map 距离。

a^2 + b^2 = c^2 
where a = (3997031 - 3996951) and b = (7444299 - 7444142)
c = 176

所以 176 是 map 距离,你想要的是真实世界的地面距离。您可能必须使用 GeometryService 来完成此操作,我认为 Javascript 无法自行完成。这是 ESRI 的示例:https://developers.arcgis.com/javascript/jssamples/util_distance.html

关于javascript - 为什么 esri.geometry.getLength 工作错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14625600/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com