首页 / OpenLayers / 使用示例
`r`n PMTiles 高程瓦片
高程数据不必整块下载:按当前视野逐像素取值着色,鼠标位置再反算一次海拔即可。
`r`n
源码与运行效果
说明
ol.source.ImageCanvas 的 canvasFunction 拿到当前视野范围与像素尺寸,逐像素把墨卡托坐标反算成经纬度,再代入高程函数取色。pointermove 里用 ol.proj.toLonLat 得到光标经纬度,调同一个函数读出海拔,两处结果一致。官方示例从 PMTiles 归档读取 DEM,本页用页面内的高程函数生成等价数据,接口与渲染流程不变。
| 操作 | 结果 |
|---|---|
| 取消勾选「高程图层」 | 只剩 OSM 底图,便于对照地形与水系 |
| 在地图上移动光标 | 顶部实时显示该点海拔 |
| 缩放到不同层级 | 着色图按视野重算,细节随分辨率变化 |
要点
- 色带用分段线性插值,低处偏绿、高处转褐到白,图例直观。
- 逐像素计算量随画布像素增长,缩小视野比放大更省算力。
把高程函数换成真实 DEM 取样时,注意 extent 用的是投影坐标,取值前必须先转经纬度。