`r`n
经纬志
`r`n
`r`n
首页 / OpenLayers / 使用示例
`r`n

PMTiles 高程瓦片

高程数据不必整块下载:按当前视野逐像素取值着色,鼠标位置再反算一次海拔即可。

OpenLayers 10.3.1 · 更新 2026-10-28
`r`n
源码与运行效果
运行效果
`r`n

说明

ol.source.ImageCanvas 的 canvasFunction 拿到当前视野范围与像素尺寸,逐像素把墨卡托坐标反算成经纬度,再代入高程函数取色。pointermove 里用 ol.proj.toLonLat 得到光标经纬度,调同一个函数读出海拔,两处结果一致。官方示例从 PMTiles 归档读取 DEM,本页用页面内的高程函数生成等价数据,接口与渲染流程不变。

操作结果
取消勾选「高程图层」只剩 OSM 底图,便于对照地形与水系
在地图上移动光标顶部实时显示该点海拔
缩放到不同层级着色图按视野重算,细节随分辨率变化

要点

  • 色带用分段线性插值,低处偏绿、高处转褐到白,图例直观。
  • 逐像素计算量随画布像素增长,缩小视野比放大更省算力。

把高程函数换成真实 DEM 取样时,注意 extent 用的是投影坐标,取值前必须先转经纬度。

`r`n
`r`n