【参考文章】 :http://www.v2sky.com/u/v2sky/archives/2007/36.html http://www.gissky.cn/blog.asp?ID=146#more
NSDTF-DEM是一种国家标准空间数据的交换格式,后缀一般是.dem,使用记事本打开会发现它是明码。 如:
头文件信息:
NSDTF-DEM
1.0
M
0.000000
0.000000
39512435.000000
2743120.000000
5.000000
5.000000
985
1328
100
下面就是具体的栅格数据值:
-99999 20738 19502 18176 16504 14833 13685 12564 11311 11307
11302 11298 11785 12149 12145 12140 12013 11763 11635 11630
11625 11621 11617 11612 11608 11603 11353 11102 11097 11093
头文件每行数据对应的含义为:
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--------行数。基本部分,不可缺省。
Col--------列数。基本部分,不可缺省。
HZoom--------高程放大倍率。基本部分,不可缺省。设置高程的放大倍率,使高程数据可以整数存贮,如高程精度精确到厘米,高程的放大倍率为100。如果不是DEM则HZoom为1。
要使用这种数据就需要转换成目标软件支持的数据格式了,如转换成ArcGIS支持的GRID数据,就可以使用以下方法。
由于栅格单元数据值记录方式基本一样,主要是头文件信息不同。如ArcGIS GRID数据的文件头按如下方式记录相关信息:
ncols 319----------------数据列数
nrows 198----------------数据行数
xllcorner 131985----------------数据左上角的X值
yllcorner 19020----------------数据左上角的Y值
cellsize 5----------------数据分辨率(栅格单元的宽高)
NODATA_value -99999----------------无值数据标志
所以,对于以上的DEM数据,将文件头改成下面的形式并保存为.grd文件就可以在ArcGIS中打开使用了。
ncols 1328
nrows 985
xllcorner 39512435
yllcorner 2743120
cellsize 5
NODATA_value -99999
注意:按原创作者的意思应把yllcorner的值赋为Yo-Row*DY,不然无法拼接相邻图像。 为什么这么做他没说,难道是其中某种数据文件头记录的是左下角的坐标值,而不是左上角??
此外,HZoom值好像没有使用到,可以在ArcMap里面用Raster Calculator计算转换后的GRID(注意不能填整数,不然会丢失很多信息),使它和原始数据保持一致。