夺情危机 番外:自制等高线地图 - 驴友驿站 - 云之南社区 云南本土,旅游人文,娱乐休闲,论坛,云南信息...

来源:百度文库 编辑:偶看新闻 时间:2022/09/29 05:39:11

自制等高线地图

在户外,每次看到燕姐拿着普通的地图一看就知道方向无比羡慕。在书店买了本最详细的地图,连好多地方都没有标注。等高线地图一般也只有测绘局有。还好在网上发现了http://bbs.godeyes.cn,以下内容是在上帝之眼中混了一段时间根据自己需要总结的,更多的是别人的成果。

网上地图众多,无外乎有卫星地图(如Google Earth),电子地图(如Baidu Maps),等高线地图(公开的很少),地标地图(离散点),在实际中,一般需要多种地图结合。以下把GE 地图 等高线三者两两结合分别讨论:
一.GE+等高线
(1)自动生成
1. 下载ContouringGE1.1.rar
2. 解压ContouringGE1.1.rar,得到下面4个文件:
ContourGE.exe  GGEFramework.dll  comdlg32.ocx  MSCOMCTL.OCX
3. 按Windows XP"开始"或Start,再按"执行"或Run,然后输入
  RegSvr32 c:\...\comdlg32.ocx
  RegSvr32 c:\...\MSCOMCTL.OCX
4. 保证ContourGE.exe和GGEFramework.dll处于同一文件夹内,双击ContourGE.exe,在你的GE主菜单的右侧便出现"GGE"菜单项,这时候按按下Ctrl F9,等高线工具条(就两个按钮)就出现在菜单的同一行右侧。左边按钮是生成,右边按钮是设置。
PS:利用ContouringGE动态加载简单,不需要单独下载等高线文件;但由于是根据GE显示计算,精确度不高。可以提高或降低Eye高度,设置密度减低误差。

(2)叠加SRTM数据生成等高线地图
SRTM是由美国航空航天局(NASA)、美国国家图像测绘局(NIMA)以及德国与意大利航天机构共同合作完成,2000年2月11日至22日,通过装载于“奋进号”航天飞机的干涉成像雷达近11天的 全球性作业,得到了全球表面从北纬60°至南纬56°间陆地地表80%面积和95%以上的人类居住区、数据量高达12Tbit的三维雷达数据,然后对雷达数据进行相应的处理,生成精度较高的数字 高程模型[1,2]。
这种方法生成的等高线很精确,网上有制作方法, GE叠加等高线,强烈推荐此方法:
http://hi.baidu.com/yuaixincn/blog/item/27d47c03637e548ed43f7c08.html
小结:方法一简单快捷,但精度很差;方法二精度高,但文件量很大,制作麻烦。

二GE+地图
(1)GE叠加一般地图(非电子地图)
方法很简单,下载你想要叠加的地图,在GE中用Ctrl+Shift+O新建一个Image Overlay,出现一个绿线框子,把地图读入,用透明度观察,调节大小至到主要地标重合,比如河流、城市重合,这样地图叠加的工作就做好了,说起来简单,但调节大小的工作需要非常的耐心。
这种地图一般是扫描到计算机上,误差大,分辨率低。

(2)GE叠加电子地图
电子地图作为矢量图,能很好的和GE融合在一起。对于中国电子地图(2008)和Baidu Maps
大体也需要截图,然后像GE加载一般地图一样加载。(下图为截取昆明西站电子地图然后叠加在GE上)



(3)GE自动叠加电子地图
另外电子地图还有Google Maps ,因为和GE是一家,所以提供了统一接口,若能实现应该是最精确的叠加,有《Google API开发详解:Google Maps与Google Earth双剑合璧》一书,不过我还没研究过。网上有人利用API开发出了一些软件,比如 JoinMaps,下面是该软件实现的成都地图,我用了多次,只有一次加载成功。据说是Google经常更改服务器地址(郁闷)。

小结:若JoinMaps能保证加载图片的成功率,那么它是最好用的。

三 地图+等高线
其实原理和以上一样,就是把两个图层恰当的叠加在一起,主要使用Global Mapper,也就是上面一(2)用到的SRTM数据生成等高线地图的软件
不过在使用前要下载《OZI全国地图》(后缀名为.map)和软件OziExplorer
为什么要专门用这个地图?因为该地图是纬度经度都恰好间隔2度,而且是4000*4000像素比例。以下是制作昆明(包括郊县)的地图加等高线过程:
首先用OziExplorer分别打开昆明地图china0314.map、china0414.map,并保存为china0314.bmp和china0414.bmp,同时发现china0314的左上坐标(26N、102E)、右下坐标(24N、104E),同理china0414的左上坐标(28N、102E)、右下坐标(26N、104E)。至于为什么要这两张,在GE中查看昆明最东西南北坐标得出昆明就在这个范围内。
第二,用Global Mapper加载SRTM两张数据图片(见上面一(2)),昆明在srtm_57_07.ZIP和srtm_57_08.ZIP范围内。
第三添加上面保存的bmp格式地图,File->Open data File。在加载中需要定位,下图以china0314.bmp为例

填写:0 0 102 26  添加Point1。其实就是左上角点
填写:4000 4000 104 24  添加Point2。其实就是右下角点
china0414.bmp类似
第四生成等高线:File->Generate Contours。需要设置参数,一般为默认。在这里因为两个strm数据很大,只生成昆明范围的地图,等高线差距设为50可以接受。
在Contour Bounds标签中设置生成范围:查看地图找到昆明最东西南北点,再在GE中查看这四个点经纬度,其中最北纬度在东川的蒙姑(26度34分23.921)、最东经度在石林的召夸镇(103度41分10.10)、最南纬度在玉溪的双龙以上(24度22分44.58)、最西经度在玉溪的易门左边(102度91分43.34)。
在Contour Options标签Contour Interval中设置为50。
设置好后确定生成,这个时间等待很长,存在大量计算。以上2个设置保证计算时间在20分钟内。
以上四步就算叠加完成,可以通过Tools->Control Center 修改这5个图层(两个bmp,两个strm,1个等高线)的重叠关系,还可以设置颜色和透明度。甚至可以打开地形、3D按钮查看。
以下是昆明以北长虫山







最后保存,可以输出成GeoTIFF文件(也可以直接输出成JPG文件,个人感觉效果不如TIF文件好,请注意在输出前,将画面显示放大到你需要的效果,不能太小,也不宜太大,输出时将依此屏幕分辨率成图)。

四 GE+地图+等高线
做到这一步应该很简单,可以在GE+地图的基础上叠加等高线或者GE+等高线的基础上叠加地图。尝试了下,感觉很乱不是很好。
总结:其实说了这么多,组合过来组合过去,无外乎就是各种图层的叠加,只是要强调精度而已。个人觉得若在城市导航:GE叠加一电子地图最好,特别是使用JoinMaps,可以说是一目了然;而在户外:地图叠加等高线比较适用,用Global Mapper制作后保存为TIF文件,再截图打印这种方法不错