#data-visualization #webgl #mapbox #geospatial #kepler.gl
#визуализация данных #webgl #mapbox #геопространственные #kepler.gl
Вопрос:
Мне нужен инструмент, который выполняет визуализацию геопространственных данных, но который также позволит мне импортировать или создавать пользовательские 3D-модели (например, импортировать файлы .gltf).
Kepler.gl кажется отличным выбором для визуализации геопространственных данных, но я не смог найти способ импортировать определенный файл .gltf, и я не уверен, что это вообще возможно в kepler.gl .
Какие-либо рекомендации?
Ответ №1:
Вы изучили последнюю версию threebox?? Это позволяет добавлять столько моделей и 3D-слоев, сколько вы хотите, поверх Mapbox, используя их поддержку 3D-объектов, CustomLayerInterface
всего несколькими строками кода
map.on('style.load', function () {
map.addLayer({
id: 'custom_layer',
type: 'custom',
renderingMode: '3d',
onAdd: function (map, mbxContext) {
window.tb = new Threebox(
map,
mbxContext,
{ defaultLights: true }
);
var options = {
obj: '/3D/soldier/soldier.glb',
type: 'gltf',
scale: 1,
units: 'meters',
rotation: { x: 90, y: 0, z: 0 } //default rotation
}
tb.loadObj(options, function (model) {
soldier = model.setCoords(origin);
tb.add(soldier);
})
},
render: function (gl, matrix) {
tb.update();
}
});
})
И вы можете сделать гораздо больше…
— Встроенные 3D-модели и пользовательские анимации
— Полная поддержка raycast Наведение / выведение курсора мыши, Выбор, перетаскивание, перетаскивание и поворот, каркас
— Всплывающие подсказки и метки CSS2D, учитывающие высоту
— Three.js и камеры Mapbox синхронизируются с регулировкой глубины
— Включить геолокационные модели памятников с встроенной поддержкой солнечного света и теней
— Оптимизирован для загрузки тысяч 3D-объектов
Комментарии:
1. Клянусь, это выглядит действительно интересно! Это может быть ответ, поэтому я готов попробовать. Так это бесплатно (лицензия MIT, как я вижу)?
2. MIT да, вы должны сохранить лицензию. Если это решило ваш вопрос, когда у вас будет время его протестировать, пожалуйста, отметьте его как принятый ответ
3. Конечно, я это сделаю, как только протестирую его и посмотрю, соответствует ли он моим потребностям. Большое спасибо!
4. Если у вас есть какие-либо проблемы, особенно ошибки, не стесняйтесь открывать проблему в репозитории github