铯JS-两点之间的距离
CesiumJS - Distance Between Two Points
我的目标是计算两个铯实体之间的距离,单位为千米。作为奖励,我最终希望能够以像素为单位测量它们的距离。
我有一堆KML格式的占位符,如下所示:
<Placemark>
<name>Place</name>
<Point><coordinates>48.655,-31.175</coordinates></Point>
<styleUrl>#style</styleUrl>
<ExtendedData>
...
</ExtendedData>
</Placemark>
我正在把它们导入铯中,就像这样:
viewer.dataSources.add(Cesium.KmlDataSource.load('./data.kml', options)).then(function(dataSource) {
var entities = dataSource.entities._entities._array;
我试图创建我关心的实体的新Cartesian3对象,但我从实体对象中获得的x、y和z值有几十万。在实体对象中找不到来自我的KML的纬度和经度。
如果我真的创建了Cartesian3对象并像这样计算距离:
var distance = Cesium.Cartesian3.distance(firstPoint, secondPoint);
它返回以百万为单位的数字。我用这种方式评估了多个点之间的距离,当我将返回的值与以公里为单位返回实际值的在线计算器的结果进行比较时,距离的差异不是线性的(铯返回的一些距离是实际距离的900倍,而一些是实际距离的700倍)。
我希望这足以得到帮助。我不知道从哪里开始解决这个问题。如有任何帮助,我们将不胜感激。非常感谢。
这里发生了一些事情。Cesium.Cartesian3
类容纳米,因此除以1000得到公里是正确的,但这并不是全部。笛卡尔3是三维地球仪上的位置,如果你在地球仪相对两侧的两个位置之间计算一个简单的Cartesian.distance
,你就会得到笛卡尔线性距离,比如一条线的长度,它穿过地球仪的中心,从一个位置到达另一个位置,而不是绕地球仪的表面到达另一侧。
要获得你真正想要的距离——沿着地球表面曲率的直线的距离——请在GIS SE上查看Cesium JS line Length的答案。
相关文章:
- PaperJS-两点之间的角度
- 铯JS-两点之间的距离
- 查找图像上两点之间的距离,即使缩放图像也是如此
- 如何使用谷歌地图几何库查找两点之间的距离
- 在 JavaScript 中的两点之间查找和替换
- 谷歌地图中两点之间的多条折线
- 在谷歌地理图中绘制两点之间的曲线
- 只需显示两点之间的距离(KM)
- 删除两点之间的所有HTML
- 寻找一种方法在 Three.js 中的球体上的两点之间画一条线
- 如何使用 javascript 选择视口中两点之间的所有内容
- 更改画布线,或两点之间的调整线
- 如何计算两点之间的小时数;HHmm'在Javascript中
- HTML5画布,如何显示两点之间的动画攻击
- 检查两点之间的坐标点
- 如何在拉斐尔画两点之间的线
- 两点之间的距离谷歌地图a是未定义的api v3
- 获取二维数组JavaScript中两点之间的距离
- 在两点之间找到最短的路
- 在JavaScript中获取两点之间的文本