利用SRTM数据,在Google Earth上显示等高线(转载)

来源:百度文库 编辑:神马文学网 时间:2024/04/29 20:50:57
利用SRTM数据,在Google Earth上显示等高线(需要大量工作)
利用SRTM数据,在Google Earth上显示等高线

关键字:SRTM Goolge Earth KML 等高线 GlobalMapper脚本
0.文件说明
KML2ContourMDB.exe,生成Global Mapper脚本,把KML转为MDB数据库
DB/,文件夹,存放数据库模板和ASP文件
Contour.mdb ,数据库文件
Contour.asp,ASP文件
inc_Color.asp,等高线颜色配置。(-50米-8500米)
1.原料
先从http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp网站上下载SRTM数据。在世界地图上,先选取你要下载的区域,然后下载GeoTIF数据,下载来的文件是ZIP压缩文件,请先解压,解压来的文件名如Z_58_8.TIF,请不要修改文件名。
2.工具
1.如果电脑上还没有安装Global Mapper v9,请先安装,可以在下面的网址下载:
http://down1.3ddown.com/5z1gKhPK/Down/2007/09B/Global.Mapper.v9.00.zip
http://down1.3ddown.com/5z1gKhPK/Crack/2007/09B/Global.Mapper.v9.00-Crack.zip
(破解文件,安装完第一个文件后,把这个压缩文件中的global_mapper9.exe复制到安装文件夹中即可)
2.下载我制作的工具。
3.安装IIS5/6。
3.开始转换
1.把TIF转为KML.
运行KML2ContourMDB.exe,点击[GeoTIFF转KML]按钮,然后在弹出的新窗口中,分别执行以下操作:[添加文件]->选择 解压后的tif文件->[转换]->在下面的文本框中生成Global Mapper脚本->[运行]
点击运行之后,CPU开始100%,过一会后,内存也开始上升,最好先设置虚拟内存在1000M以上。
生成的Global Mapper脚本的功能为生成等高线,精度为50米,然后再保存为KML文件。如果整块转换,需要的时间太长(有多长?P41.8A超2.83,内存 512M,虚拟内存1G,硬盘灯红了2个多小时后,提示转换失败,抓狂),所以把每块再分成5个小块转换,原来一块有5x5度,现在变成5x(1度 x5)。虽然这样处理,但每块处理起来,还是需要30分钟左右(要有耐心,或者电脑平时不用时再处理)。转换后每个TIF转出来的KML大概在100M- 300M左右,所以如果处理的文件较多,注意硬盘的剩余空间。
经过漫长的等待之后,CPU的终于降到2-3%,进程管理器中的global_mapper9.exe进程也消失了,说明转换已经完成,在刚才存放TIF的文件夹中,已经生成多个KML文件(每个TIF生成5个KML)。


2.KML转为MDB,这样才方便我们搜索。
运行KML2ContourMDB.exe,执行如下操作:
[添加文件]->选择KML文件->[开始导入]->等待完成...如图3
图3状态:(4)已处理过的文件,(5)进度条,当前文件进度;标题栏数字,当前线条数/总线条数。
导入也需要10多分钟(每个TIF),导入到数据库后,按每个KML各导入到一个表中,每个TIF生成一个MDB文件。分文件是为了方便管理,一个TIF 导入后,生成的MDB文件就有100-300M左右,导入10个就得几G,文件太大,难管理。分表是为了优化,根据请求的经纬度自动计算MDB文件名和表 名。

4.发布
1.把DB文件夹下所有的文件复制到你的网站文件夹或IIS虚拟文件夹中。
2.在GE中,添加一个Netlink,网址指向你的刚发布的网址,如http://localhost/Contour/Contour.asp
5.完成
6.存在问题
1.等高线颜色,从-50-8500米,蓝色到红色渐变,在局部看起来不明显,所以最好能取得最高的等高线和最低的等高线,然后重新计算等高线的颜色。等有空再处理,如果其他的朋友完成这个功能,记得发份Email给我。
2.导入KML时,占用大量的资源,因为使用的是MSXML控制,而KML的节点太多,所以显得很慢和占用内存很大。考虑使用SAX。
3.再一次提醒,处理这个要有耐心。数据量这么多,我也没有办法。