gdal库是gis开发常用的一个类库,本身是用C/C++进行编写的,同时提供了其他语言的调用接口,nodejs中是以npm的形式进行安装,本地电脑装了个vs2017,导致安装这个包的时候一直在node-gyp报错,安装不上,各种鼓捣,终于把这个gdal包装上了。
公众号之前的文章,分享开源mapbox-gl地形生成代码,这是python语言实现的,现在python不怎么用了,电脑上不想装太多的软件环境,考虑用nodejs实现一下,简单的将dem数据转换成rgb的颜色数据。
环境安装,报node-gyp错误的加油解决:
npm install gdal --save
gdal库能操作影像、高程数据,同时也能够操作矢量数据,这里根据功能,简单说一下影像数据的操作,以tif格式的数据为例:
打开/新建一个影像/高程数据:
let dataset = gdal.open("sample.tif");
一般影像数据有3个band,高程数据一个band,get的索引从1开始
let nband1 = dataset.bands.get(1)
band上的根据像素位置获取值,在高程的操作中,这个是高度值
const topLeft = nband1.pixels.get(0, 0);
band上像素值的设置
nband1.pixels.set(0, 0, 'newvalue')
按照以上的步骤,读取一个高程数据,就能够转换成rgb的颜色值了。
dem原始数据
dem颜色数据
高程叠加影像效果three.js效果,参见公众号文章Three.js开发:高程数据加载:
“原创不易,赞赏是对作者的最好支持!”
引用内容: