使用DEM生成3D模型(补完)

来源:互联网 发布:澳门打车软件 编辑:程序博客网 时间:2024/05/21 15:48
N月前搞了个项目,用到了DEM随手写了个篇文章留念,一直也没进行补完,这几天由于项目需要,为了出图美观又用到了。顺手做个小小的了结吧。
 
一、关于明码NSDTF与ArcInfo的Grid的格式转换
 
前天有个好朋友,从他客户那里拷了一些DEM数据(文件名后缀为.dem),据说他的用户希望能把这个DEM数据转换为EOO,但是不知道怎么转。
        我拿到这个数据后,先简单地通过SuperMap Deskpro新建数据源,导入数据集(SuperMap中直接支持DEM数据文件的导入),可是导入失败。直觉告诉我,应该是此dem文件中记录的是非 SuperMap支持的那种dem格式信息。我试着用记事本打开这个dem文件,还好,这个文件是明码格式的,而且存储比较规范,大概格式如下
NSDTF-DEM
1.0
M
0.000000
0.000000
39512435.000000
2743120.000000
5.000000
5.000000
985
1328
100

        我以前也没看到过这种数据,不过见过ArcInfo的Grid交换数据文件,经验告诉我39512435.000000,2743120.000000信息为栅格数据的左上角(或者左下角)坐标;5.0为分辨率;985和1328应该为这个DEM数据的行列数,上网搜索了一下NSDTF-DEM,找到了包含NSDTF-DEM的相关介绍,原来这是格网数据交换格式文件,而且是国际标准的,果然跟我上面的判断一样,而且明确了具体的含义,这里我列出来有兴趣的可以详细看一下:

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。

        上面这些都是DEM数据的头文件信息,接下来每行记录的就是相应的DEM栅格单元值了。
比如:
    -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
     ...

        这些数据应该都是按照前面记录的行列数来进行组织的,先不管这些。
        从机器上找了一个SuperMap的示范Grid数据,在Deskpro中打开保存为ArcInfo的Grid交换格式,用记事本打开后,对比看了一下,其实文件后部分栅格单元数据部分差不多,差别就是ArInfo Grid交换格式文件头主要按下面方式记录了相关信息:
ncols         319----------------数据列数
nrows         198----------------数据行数
xllcorner     131985----------------数据左上角的X值
yllcorner     19020----------------数据左上角的Y值
cellsize      5----------------数据分辨率(栅格单元的宽高)
NODATA_value  -99999----------------无值数据标志

        对比出这样的不同,转换起来就方便了,依葫芦画瓢,把原先DEM数据的文件头信息改为了ArcInfo Grid的文件头格式(如下),
ncols         1328
nrows         985
xllcorner     39512435
yllcorner     2743120
cellsize      5
NODATA_value  -99999

并把dem文件另存为grd后缀的文件,再通过Deskpro导入这个另存后的grd文件后,能导入成功了,而且看到了比较好的效果。
        不过出现了新的问题,我在把上面文件临接的文件感觉没拼在一起。后来感觉应该是yllcorner的值没计算好,试着把yllcorner值 2743120减去行数985*分辨率5 后再转换就没有问题(这个过程非常重要,有类似文件需要处理的朋友一定要注意)。

二、TIF文件转DEM

这个很简单拉,将TIF文件用ARCMAP打开,然后使用ARCTOOLBOX>CONVERSION TOOLS>RASTER TO ASCII导出即可


导出后的文件内容:

ncols         6000
nrows         6000
xllcorner     110
yllcorner     35
cellsize      0.00083333333333333
NODATA_value  -9999
1385 1383 1385 1382 1381 1385 1388 1387 1388 1386 1383 1386 1386 1385 1381 1385 1385 1381 1380 1376 1369 1374 1376 1365 1370 1365 1364 1357 1355 1350 1347 1350 1349 1354 1358 1360 1366 1363
。。。。。。


将这个文件导入用的顺手的GIS进行后期处理就可以了。

替朋友的公司做个广告^&^,导入到SUPER MAP后可直接生成3D模型(由于笔记本性能不行,3D演示的图就不贴了),后面的事可参考上回写的。
http://blog.csdn.net/sjzwl/archive/2007/09/04/1772455.aspx

 

三、DEM数据下载(90M)

http://www.3snews.net/batch.viewlink.php?itemid=9457

https://zulu.ssc.nasa.gov/mrsid/mrsid.pl

附带提一句。 用AUTODESM 3D MAP可直接从GOOGLE EARTH提取及DEM(曲面)
原创粉丝点击