利用SRTM数据,在Google Earth上显示等高线(需要大量工作)
2007-11-22 15:34
555 查看
利用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.再一次提醒,处理这个要有耐心。数据量这么多,我也没有办法。 7.版权 自由使用,自由传播,自由修改代码(记得保留原作者,嘿嘿)。 一支鱼刺 http://515800.cn yztink@163.com QQ:好友已满 07.11.22 转换的工具 004343.rar |
相关文章推荐
- 最近工作需要写了一个JS类 页面统一调用API接口数据并计算显示
- 利用perl从大量数据中筛选我们我们需要的数据,核心思想就是根据格式的一致性,将每一行利用split转换成数组,然后输出对应的数组
- 利用GNUplot图形化显示cyclictest的数据
- 关于对孟子E章《利用Repeater控件显示主-从关系数据表》的一点补充(转)
- 窗口和线程漫谈之工作线程如何将数据的处理结果显示到窗口
- 采用Json字符串,往服务器回传大量富文本数据时,需要注意的地方,最近开发时遇到的问题。
- Windows Phone 7 学习志(探索问题二:请注意用好你的ListBox和ItemsControl,当页面需要载入大量数据时)
- 【Mysql之自我练习<一>】利用存储过程,造大量测试数据(注:私用的,为了不遗失)
- 利用Repeater控件显示主-从关系数据表
- 如何在iOS地图上高效的显示大量数据
- 利用Repeater控件显示主-从关系数据表
- 利用GridView显示主细表并一次编辑明细表所有数据的例子【回网友帖子】
- 利用GridView显示主细表并一次编辑明细表所有数据的例子【回网友帖子】
- 带省市区信息修改功能,需要先把省市区原数据select下拉显示,JQuery实现
- 利用ASP.NET DataGrid显示主次关系的数据
- 利用Ext grid显示前台数据,然后把前台数据进行Excel表导出
- Laravel导出大量数据到表格csv及长数字显示不全问题
- 矢量切片技术的应用-大量点数据显示性能问题
- 当没有数据时,girdview不显示任何东西,但是需要显示列名.
- Xml文件的读取以及通过GridView控件利用视图过滤器查询显示数据