【WebGIS实例】(13)MapboxGL 加载地形高程数据

前言

官网示例:Add 3D terrain to a map | Mapbox GL JS | Mapbox

大佬博客:Mapbox GL基础(七):地形数据的处理与加载 (jl1mall.com)

加载Mapbox地形数据

js 复制代码
map.once('style.load', () => {
  map.addSource('mapbox-dem', {
    type: 'raster-dem',
    url: 'mapbox://mapbox.mapbox-terrain-dem-v1',
    tileSize: 512,
    maxzoom: 14
  })
  map.setFog({}) // 可选:添加大气层(雾气)效果
  map.setTerrain({ source: 'mapbox-dem', exaggeration: 1.5 })
})

加载 tif 格式高程影像

数据名称:Rectangle_#5_高程_右3_Level_16.tif

使用工具:GitHub - FreeGIS/dem2terrain: 根据dem数据生成地形切片的工具

NodeJS 版本:v16.20.2

dem2terrain 这个库的教程写得非常详细了,把项目拷下来按着教程配置一遍就行了。下面是我遇到的问题的记录:

  1. NodeJS 版本问题:实测16.20.2是可行的
  2. Windows11 c++编译环境问题
    报错npm ERR! gyp ERR! stack Error: Could not find any Visual Studio installation to use
    解决方案
    参考 GitHub - nodejs/node-gyp: Node.js native addon build tool
    安装包管理工具:Chocolatey,然后在终端执行:choco install python visualstudio2022-workload-vctools -y
js 复制代码
map.once('style.load', () => {
  map.addSource('mapbox-dem', {
    type: 'raster-dem',
    url: '../dem/{z}/{x}/{y}.png', //自己的地址
    tileSize: 512,
    maxzoom: 14
  })
  map.setFog({}) // 可选:添加大气层(雾气)效果
  map.setTerrain({ source: 'mapbox-dem', exaggeration: 1.5 })
})
相关推荐
qq_589666052 小时前
TypeScript 完整入门教程
前端·javascript·typescript
星栈独行3 小时前
翻完 Pi 源码:它和 Codex、Claude Code 有何不同
开发语言·javascript·人工智能·程序人生
落落Plus4 小时前
浏览器缓存机制详解
javascript·缓存·浏览器缓存
浅水壁虎6 小时前
vue基础(第二章 )
前端·javascript·vue.js
界面开发小八哥6 小时前
界面控件DevExtreme v26.1新版亮点——支持Angular 22
前端·javascript·angular.js·devexpress·ui开发·devextreme
mONESY7 小时前
React useState 核心原理与最佳实践:从异步更新到性能优化全解
javascript
腻害兔8 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:CRM 客户关系模块深度解析——从线索到回款,一套完整的 B2B 销售闭环是怎么搭的?
java·前端·javascript·vue.js·产品经理·ai编程
gis开发之家8 小时前
《Vue3 从入门到大神37篇》Vue3 源码详解(七):watch 与 watchEffect 源码对比——副作用是如何被追踪的?
javascript·前端框架·vue3·vue3源码
bloglin9999910 小时前
langchain 和 langgraph 和 react
javascript·react.js·langchain
触底反弹10 小时前
🚀 删了数据刷新又回来?3 组件 × 4 回调 × 3 坑讲透 React 父子通信
前端·javascript·react.js