使用MapBox GL JS库,有人可以告诉我如何检索关于点A和点B是否具有直接视线的数据。例如,假设地图上的点0,0是一个传感器,我需要检测2英里以外飞行的无人驾驶飞机---但是地图上渲染的那架无人驾驶飞机正在大山丘后面飞行,这是MapBox中的地形图。我怎样才能确定视线是否被遮挡,我是否可以让MapBox告诉我是哪个元素在挡住视线?
我查看了基于检测到来自Mapbox的高程数据的公式:https://docs.mapbox.com/help/troubleshooting/access-elevation-data/。所以我可以告诉您地形元素的高度是多少。但是,我不知道如何判断地形是否挡住了视线。
要查找沿线的高程,我可以将线变成一系列点。我可以使用turf.js来做到这一点。
var points = turf.explode(line); //其中line是GeoJSON Linestring
但是我需要查看那条线上的任何点是否高于无人机的高度。然后我必须知道无人机是否比小山更近。我已经接近了,但是我可以使用一些指导。
如果需要,我可以为扩展库付费。