免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 11386|回复: 27
收起左侧

[技术交流] 在Google Earth上显示等高线

  [复制链接]

478

主题

2万

铜板

146

好友

版主

地信是我家,发展靠大家!

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
12010
发表于 2010-5-8 15:16 | 显示全部楼层 |阅读模式
元旦闲来无事,随便的翻了翻硬盘,发现一个很久以前的东西,就是这个在Google Earth上显示等高线的工具,就按照步骤操作了一遍。由于不想在笔记本上处理,所以直接远程到服务器上处理的,按部就班全部完成,但效果没有怎么看到,可能是网络速度慢远程桌面的刷新实在无法忍受,上班后去公司看看吧。
OK,废话说多了,其实就是一个很早的一支鱼刺网友制作的工具和发的文章:利用SRTM数据,在Google Earth上显示等高线,(最终效果图请点击这里),不过说明的操作过程有点问题,Google找到这篇原始文章看完才得以整个过程走通。不过在找KML format的过程中发现也有类似的文章:使用 PHP 和 MySQL 创建 KML,不过我还没有实验,但有了点想法,并且处理了些数据,近600万条记录的数据,不管是SQL SERVER还是ACCESS都是500M左右,我的天,我怎么把它放到网上去啊。后来准备放MYSQL,因为国外的DH主机的MYSQL好像是不限制大小,所以。不过,MSSQL到MYSQL的转换是痛苦的,这个会在后一篇讲到。下面我们就按照一支鱼刺的原文,附加上我的备注,开始这一过程吧。还希望大家多多交流。
原文如下,个人备注在括号中出现,最终重新整理的工具压缩包请点击此链接:http://files.cnblogs.com/Tangf/GoogleEarthViewSTRMline.rar
================================
利用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,请不要修改文件名。
(备注:下载的时候选择TIF格式而不是选择ASC格式,我原来就下载了STRM数据,但结果打开后发现是ASC数据,只好重新下载TIF数据,我下载了59_5这个格子来做的实验,下载完的数据是ZIP的,需要解压缩。如果下载中国覆盖范围附近STRM大概就在4GB样子。)
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脚本->[运行]
(备注:添加TIF文件的时候,你先要把TIF文件strm_59_5.tif文件名中的strm改成Z,即文件名为Z_59_5.tif,否则会提示”tm”错误什么的)
          点击运行之后,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文件名和表名。
(转换完成后,在最终的发布后不能显示,提示数据库没有链接,结果发现是数据库命名不同导致的链接错误,最终的Contour_59_05.mdb文件名需要改成Contour_59_5.mdb,因为ASP文件在读的时候就是如此。另外在转换过程中,进度条最终定格在99%即表示完成,而非在100%。)
4.发布
      1.把DB文件夹下所有的文件复制到你的网站文件夹或IIS虚拟文件夹中。
      2.在GE中,添加一个Netlink,网址指向你的刚发布的网址,如http://localhost/Contour/Contour.asp
(通过帖子的浏览,据说添加netlink的时候的网址最后要加一个问号,即添加的网址应该为http://localhost/Contour/Contour.asp ,而不是上面的网址,另外我也修改了asp文件中的一个文件名错误,这一点也是帖子的作者告知的。发布的时候请务必保证路径和Contour.asp文件中的ASP路径完全一致)
5.完成
6.存在问题
  1.等高线颜色,从-50-8500米,蓝色到红色渐变,在局部看起来不明显,所以最好能取得最高的等高线和最低的等高线,然后重新计算等高线的颜色。等有空再处理,如果其他的朋友完成这个功能,记得发份Email给我。
  2.导入KML时,占用大量的资源,因为使用的是MSXML控制,而KML的节点太多,所以显得很慢和占用内存很大。考虑使用SAX。
  3.再一次提醒,处理这个要有耐心。数据量这么多,我也没有办法。
7.版权
   自由使用,自由传播,自由修改代码(记得保留原作者,嘿嘿)。
更新:我的效果图
锄禾日当午,签到好辛苦!...

86

主题

1万

铜板

219

好友

版主

翱翔天空

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
5865

斑竹勋章地信元老灌水勋章宣传勋章贡献勋章

发表于 2010-5-9 12:30 | 显示全部楼层
这个文章好,技巧性强!
该会员没有填写今日想说内容.

13

主题

4861

铜板

10

好友

高级工程师

yh

Rank: 9Rank: 9Rank: 9

积分
861
QQ
发表于 2010-5-14 11:58 | 显示全部楼层
顶楼主!
轻轻的我来签到了,想带走一堆铜板...

0

主题

2353

铜板

1

好友

助理工程师

Rank: 5Rank: 5

积分
303
QQ
发表于 2010-10-12 00:26 | 显示全部楼层
很好,有很强的技术性。

0

主题

4976

铜板

16

好友

工程师

Rank: 7Rank: 7Rank: 7

积分
540
发表于 2010-10-21 16:55 | 显示全部楼层
好东西……谢了
该会员没有填写今日想说内容.

0

主题

32

铜板

0

好友

技术员

Rank: 3Rank: 3

积分
70
发表于 2010-10-21 22:48 | 显示全部楼层
好东西,谢谢分享

6

主题

1万

铜板

25

好友

地信院士

3

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2128
发表于 2010-12-30 20:57 | 显示全部楼层
好东西……谢了
革命尚未成功,我们还须签到! ...

58

主题

5万

铜板

32

好友

黄金会员

Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23

积分
5341
发表于 2011-1-2 19:59 | 显示全部楼层
好资料,谢谢
锄禾日当午,签到好辛苦!...

2

主题

1955

铜板

40

好友

工程师

0.0

Rank: 7Rank: 7Rank: 7

积分
434
发表于 2011-3-4 23:17 | 显示全部楼层
好东西啊好东西

1

主题

4127

铜板

14

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
687
发表于 2011-3-4 23:44 | 显示全部楼层
很不错的啊,只是这个好像只是大概的,不是很准确,等高距也很大,只能参考,做设计还是很困难的。
该会员没有填写今日想说内容.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表