Как обнаружить холмы / элементы ландшафта MapBox, которые блокируют линию обзора между двумя точками? - PullRequest
0 голосов
/ 04 ноября 2019

Используя библиотеки MapBox GL JS, может кто-нибудь сказать мне, как я могу получить данные о том, имеют ли точка A и точка B прямую видимость или нет. Например, предположим, что точка 0,0,0 на карте является датчиком, и мне нужно обнаружить беспилотник, летящий в 2 милях - - - но тот беспилотник, который рендерится на карте, летит за большим холмом как частькарта местности в MapBox. Как я могу сказать, что линия визирования заблокирована, и могу ли я, чтобы MapBox сказал мне, какой элемент его блокирует?

Я просматривал формулы, основанные на обнаружении данных высот, поступающих из Mapbox: https://docs.mapbox.com/help/troubleshooting/access-elevation-data/. Так что я могу сказать, какова высота элементов ландшафта. Однако я не знаю, как определить, перекрывает ли местность линию видимости.

Чтобы найти отметку вдоль линии, я могу превратить ее в серию точек. Я могу сделать это, используя turf.js.

var points = turf.explode (line);// где линия - это GeoJSON LineString

Но тогда мне нужно посмотреть, есть ли какие-либо точки на этой линии выше высоты беспилотника. И тогда я должен знать, если дрон ближе, чем холм. Я близок, но я мог бы использовать некоторые рекомендации.

Я хорошо оплачиваю библиотеку расширений, если это необходимо.

...