Пользовательская DEM для 3D-ландшафта в Mapbox GL JS V2

#mapbox #mapbox-gl-js

#mapbox #mapbox-gl-js

Вопрос:

Есть ли способ использовать пользовательскую DEM для 3D-просмотра в новой версии mapbox? Я могу использовать пользовательские 2D-растры, выложенные плиткой, используя MapTiler, поэтому мне было интересно, доступна ли такая же опция для «raster-dem», а затем setTerrain. Цель состоит в том, чтобы создать что-то подобное, но с моими собственными данными о высоте:

https://docs.mapbox.com/mapbox-gl-js/example/add-terrain/

Спасибо

Ответ №1:

Хороший вопрос. Теоретически, вы должны иметь возможность создавать свой собственный набор растровых листов в том же формате Terrain RGB, например:

 map.addSource('mapbox-dem', {
'type': 'raster-dem',
'url': 'mapbox://yourusername.yourtilesetid',
'tileSize': 512,
'maxzoom': 14
});
map.setTerrain({ 'source': 'mapbox-dem', 'exaggeration': 1.5 });
 

Однако в документации говорится:

Поддерживается только Mapbox Terrain RGB (mapbox://mapbox.terrain-rgb):

Неясно, означают ли они, что он поддерживает только этот формат (кажется более вероятным), или каким-то образом жестко запрограммирован для поддержки данных только из этого точного источника данных (что кажется очень странным выбором).

Основываясь на моем самом базовом тестировании, Mapbox GL JS пытается извлекать плитки из любого источника, который вы предоставляете, и не выдает никаких странных сообщений об ошибках, но я не зашел так далеко, что фактически создал такой набор листов.

Комментарии:

1. Здесь есть запись о чьем-то опыте настройки пользовательского источника данных о местности: расширение Mapbox Terrain . Они использовали данные в формате Terrarium и QGIS для исправления исходного кода. Это выглядит раздражающе, но выполнимо!