在日常的工作和学习中,我们经常会使用到DEM数据。DEM的获取方式有很多,比如:可以通过地形图、地面实测或立体像对提取等手段来获取。当然,如果我们有等高(值)线矢量数据,也可以利用ENVI提供的Convert Contours to DEM工具方便的生成DEM数据。

下面我们以某地等高(值)线矢量数据为例,来介绍在ENVI5.2下的操作过程。

(1)启动ENVI5.2,打开等高(值)线矢量数据,右键选择View/Edit Attributes可以看到数据包含一个高程字段(图1红框所示);

python 等高线图例 利用等高线数据生成dem_DEM

图1 打开的原始等高(值)线数据

(2)在Toolbox中,选择Terrain > Convert Contours to DEM,打开Select Input EVF File文件选择对话框,选择.evf格式的等高(值)线矢量文件,点击Open(图2);

:要求输入等(值)高线矢量必须为ENVI矢量格式(.evf),且具有一个包含每条等高(值)线高程信息的字段;如果输入的等(值)高线矢量是其他格式(如.shp格式),可使用ENVI将其转换为.evf格式。

python 等高线图例 利用等高线数据生成dem_矢量数据_02

图2 选择等高(值)线矢量文件

(3)在弹出的Convert Vector Elevation Contours to Raster DEM对话框中设置相关参数及投影信息,点击OK(图3);

Elevation Attribute Column:选择高程值所在字段;

Valid Elevation Range:设置高程范围,如设置此项,ENVI在生成DEM的时候将忽略设置范围之外的等高(值)线;

Output Pixel Size:输出DEM像元大小;

Output Data Type:输出DEM数据类型;

Gridding Interpolation Method:选择插值方法,有Linear(线性)和Quintic(五次多项式)两种方法可选;

Extrapolate Edge of Image:是否对图像边缘进行外推;

Spatially Subset Output DEM:空间裁剪选项;

Select Output Projection:根据需要设置投影坐标信息。

提示:注意投影坐标信息和DEM像元大小(Output Pixel Size)单位的关系,如果投影坐标信息选择Geographic Lat/Lon,那么Output Pixel Size单位为度。如出现以下错误提示,可能就是Output Pixel Size设置的不对。

python 等高线图例 利用等高线数据生成dem_数据_03

python 等高线图例 利用等高线数据生成dem_python 等高线图例_04

图3 参数及投影设置对话框

(4)在弹出的DEM Output Parameters对话框中设置输出路径及文件名;如果上一步参数设置错误或需要修改,可单击Change Output Parameters按钮进行,设置完毕后单击OK;(图4);

python 等高线图例 利用等高线数据生成dem_矢量数据_05

图4 输出参数设置对话框

(5)生成的DEM如图5所示;

python 等高线图例 利用等高线数据生成dem_数据_06

图5 生成的DEM数据

如出现部分地区插值不平滑或异常值现象,可以使用ENVI提供的DEM编辑工具(Terrain > DEM Extraction > Edit DEM Result)对生成的DEM进行后处理,具体操作方法可参见博文http://blog.sina.com.cn/s/blog_764b1e9d0102v5cq.html