【DEM格式转换】转换国标DEM数据格式为通用格式

使用ArcGIS工具转换国标.dem文件为通用.tif格式

*.dem是一种比较常见的DEM数据格式,其有两种文件组织方式,即NSDTF-DEM和USGS-DEM 1。

  • NSDTF-DEM
    NSDTF-DEM是一种明码的中国国家标准空间数据的交换格式,遵从国家标准GB/T 17798-2007《地理空间数据交换格式》中的格网数据组织规范。

  • USGS-DEM
    USGS-DEM是一种由美国地质调查局所定义的公开的DEM数据格式标准,使用范围较广。这种格式的DEM可以通过ArcGIS可以直接读取,并在ArcGIS中的ArcToolBox中的“转换工具” “转到栅格” ”DEM转到栅格”工具直接将USGS格式的DEM转为栅格DEM。

NSDTF-DEM和USGS-DEM都是明码的数据交换格式,理论上,二者间的对应转换只需要将NSDTF中的头文件数据按USGS的格式重新组织后再通过ArcGIS中的”DEM转到栅格”工具即可转换为其他软件能够支持的通用栅格格式DEM数据;但实际操作时发现这两个文件之间的区别不仅仅在于头文件中,故而绕了点路执行下面的操作。


Step 1 将NSDTF-DEM头文件修改为USGS-DEM头文件

NSDTF-DEM的头文件信息如下(图转自超图对接NSDTF-DEM数据):

【DEM格式转换】转换国标DEM数据格式为通用格式_第1张图片

头文件每行数据对应的含义为:

DataMark:中国地球空间数据交换格式-格网数据交换格式(CNSDTF-RAS或CNSDTF-DEM)的标志。基本部分,不可缺省。
Version:该空间数据交换格式的版本号,如1.0。基本部分,不可缺省。
Unit:坐标单位,K表示公里,M表示米,D表示以度为单位的经纬度,S表示以度分秒表示的经纬度(此时坐标格式为DDDMMSS.SSSS, DDD为度, MM为分, SS.SSSS为秒)。基本部分,不可缺省。
Alpha:方向角。基本部分,不可缺省。
Compress:压缩方法。0表示不压缩,1表示游程编码。基本部分,不可缺省。
Xo:左上角原点X坐标。基本部分,不可缺省。
Yo:左上角原点Y坐标。基本部分,不可缺省。
DX:X方向的间距。基本部分,不可缺省。
DY:Y方向的间距。基本部分,不可缺省。
Row:行数。基本部分,不可缺省。
Co:列数。基本部分,不可缺省。
HZoom:高程放大倍率。基本部分,不可缺省。设置高程的放大倍率,使高程数据可以整数存贮,如高程精度精确到厘米,高程的放大倍率为100。如果不是DEM则HZoom为1。

USGS-DEM的头文件信息如下(图转自超图对接NSDTF-DEM数据):

【DEM格式转换】转换国标DEM数据格式为通用格式_第2张图片

其头文件每行数据对应的含义及参考转换方式2为:

ncols:数据列数,对应Co
nrows:数据行数,对应Row
xllcorner: 左上角x坐标值,对应Xo
yllcorner: 左上角y坐标值,对应Yo
cellsize: 数据分辨率(栅格单元的宽高),对应DXDY
NODATA_value: 无值数据标识。

注意:该作者也是转载的博客,但并没有粘贴地址;他的博客下边写了一个备注,具体内容可自行查看,经过实际测试发现,的确应把yllcorner的值赋为Yo-Row*DY,否则坐标有偏差。

Step 2 将USGS-DEM转换为栅格数据

直接修改后的文件是可以直接用ArcMap打开的,但是并不能在OSG中进行读取和显示,提示缺少对应的空间参考,因此应该在ArcMap中进行相关的操作并把它转换为栅格数据,方便各种平台的数据接入。
在ArcGISz中导出相应的栅格数据的方法为:在打开的*.dem文件上右键 “数据” “导出数据”,选择导出路径后,在格式处选择TIFF。
这里需要注意,国标文件中的HZoom值无法体现在USGS-DEM中,因此需要借助ArcToolBox里 “Spatial Analyst 工具箱” “地图代数” “栅格计算器”计算转换后的GRID(注意不能填整数,不然会丢失很多信息),使它和原始数据保持一致。
当然也可以自己手动修正*.dem文件中的数据,编程实现或.csv用Excel处理都是可以的,但无论怎样,都要保证栅格中存储的高程数据与原始数据保持一致。

Step 3 为导出的栅格数据赋空间参考信息

我们这样导出的栅格数据实际上是没有空间参考信息的,为了能够在osgEarth或其他平台中正常使用该数据,应该利用ArcGIS的栅格投影工具对其进行正确的投影,这样才能够正确使用转换后的数据。
为栅格数据赋投影的操作步骤如下:
1)打开ArcToolBox里 “数据管理工具” “投影和变换” “栅格” “投影栅格”。
2)在“输入坐标系”处选择地理坐标系,如“Asia”»“China Geodetic Coordinate System 2000”;在处选择投影坐标,如“Gauss Kruger”»“CGCS200”»“CGCS200 3 Degree GK CM 105E”,该空间参考应与使用它的场景的空间参考相一致,如正射影像地图的空间参考。
3)执行转换,完成操作。

这样,就可以将国标格式的DEM数据转换为通用的栅格格式DEM进行各种使用了。


  1. 我也是个傻瓜.ArcGIS读取DEM格式数据.Link ↩
  2. 流云飞飞.NSDTF-DEM格式数据.Link ↩

你可能感兴趣的:(理论及先验知识)