【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 })
})
相关推荐
大家的林语冰30 分钟前
Node 2026 发布,JS 三大新功能上线,最后一个奇偶版本
前端·javascript·node.js
三*一1 小时前
Mapbox GL JS 自研面要素整形工具开发实录
开发语言·javascript·arcgis·ecmascript
我的世界洛天依1 小时前
胡桃讲编程|续篇!用高数 + JS ES262 硬核解构:求乐正绫的值
javascript
棉猴2 小时前
python海龟绘图之画布与窗口
javascript·python·html·setup·turtle·海龟绘图·screensize
AI_paid_community3 小时前
25k Star 登顶 GitHub:这个专门吃 K 线图长大的 AI,让我意识到之前三年都在裸奔
javascript·claude
gjwjuejin4 小时前
前端埋点第二弹:那些年我们踩过的坑,和填坑的正确姿势
javascript
我叫黑大帅4 小时前
通过白名单解决 pnpm i 报错 Ignored build scripts
前端·javascript·面试
gjwjuejin4 小时前
前端埋点不头秃:从打点代码到数据分析的完整实战
javascript
Schafferyy4 小时前
【vue3】Form表单重置不生效
javascript·vue.js
星恒随风5 小时前
四天学完前端基础三件套(JavaScript篇)
开发语言·前端·javascript·笔记