文章来源:http://www.arceyes.com/bbs/thread-18519-1-1.html
解决矢量地图与卫星地图叠加有偏移的两种方法
1 概述众所周知,谷歌地图除了在从国外服器下载的卫星地图以外,其它地图与实际坐标都是有偏移的。另外,如高德地图、雅虎地图、SOSO地图等同样存在坐标偏移的问题。这样就给我们要将矢量数据和影像数据进行叠加带来了麻烦,因为影像数据的“先天不足”(偏差)会导致与矢量数据叠加产生错位。以下我们提供两种解决叠加产生错位的解决方案。
方案一:对影像数据进行纠偏后与矢量地图数据叠加
该方法的优点是坐标与实际坐标吻合,可以叠加GPS采集的矢量数据;缺点是转换影像地图数据的工作量比较大,耗时比较长,如果影像图上有地名和道路名等文字的话,文字会有一定变形,从而影像地图美观。当要求坐标与真实坐标一定要吻合时,可以采用此种方法。
对影像地图数据进行纠偏的方法请参阅本文第3节《如何对影像地图数据进行纠偏》。
方案二:对矢量数据进行反纠偏后与影像地图数据叠加
该方法的优点是影像地图不会变形,与原图一样美观,对矢量数据的转换工作量十分小;缺点是坐标与实际坐标不吻合。当比较关心叠加效果而可以忽略坐标与实际坐标的偏差时,可以采用此种方法。
对矢量地图数据进行反纠偏的方法请参阅本文第4节《如何对矢量地图数据进行反纠偏》。s
2 如何对影像地图数据进行纠偏
2.1 准备工作
安装水经注万能地图下载器,如果你没有安装该软件,可以到水经注软件的官方网站去下载。
安装ESRI ArcGIS 10.0,我们会用到该产品中的ArcMap软件,如果你没有安装,可以在百度中搜索一下,很多地方都可以下载破解版的,该软件比较大,有4个多G,因此下载之前,您得作好心里准备。
2.2 下载谷歌卫星地图
启动水经注万能地图下载器,软件启动时列出了本软件所能下载的所有地图类型的列表,这里我们只需要勾选“卫星.谷歌”,并点击“确定”按钮就可以了,如下图所示。

由于我们需要准确的坐标,这里我们需要在服务器菜单中选择国外服务器(国内服务器下载的数据是有偏移的),如下图所示。

这里我们以成都二环路以内为例,说明如何将谷歌卫星地图与矢量电子地图数据作叠加,因此我们要在查询区域中输入“成都”并点击“搜索”按钮定位到成都所在位置,如下图所示。

搜索城市名称时,软件会自动显示了行政区域。由于我们并不想按这个行政范围下载,而是只需要下载成都二环路以内,因此我们点击“多边形下载”工具(此时行政区域自动消失),选择整个二环路的范围,如下图所示。

在绘制的范围中双击,会显示“新建任务”对话框,在该对话框中,我们只选择19级就可以了,该级别的分辨率是0.6米,能满足绝大多数的使用需求。由于,我们要与矢量数据叠加,因此这里不需要下载标签(另外,由于是从国外服务器下载,标签只到13级就没有了),在对话框中把标签选项的勾取消掉即可,如下图所示。

对话框中点击确定后,开始下载卫星地图,在下载的过程中还可以分别点击“查看下载状态”标签或“查看下载结果”标签切换视图,以查看卫星地图的下载情况,如下图所示。

下载完成之后,会询问是否导出,点“是”就可以了。导出的图片类型选择“GeoTIF”,然后点击“输出”按钮开始输出地图数据,如下图所示。

2.3 动态投影
由于谷歌地图是默卡托投影,而我们需要叠加的矢量数据坐标系统是WGS84,坐标系不匹配会导致数据无法叠加。这个问题我们可以利用ArcMap的动态投影功能来解决,也就是先为空白工程指定投影,然后再导入数据,该数据会自动以当前所设置的坐标系统来显示数据,即动态投影。
首先启动ArcMap软件,然后在图层列表根节点“Layers”上单击右键。

在显示的右键菜单中选择“Properties…”显示“Data Frame Properties”对话框,然后在该对话框中选择“Coordinate System”标签,如下图所示。

在该对话框的“Select a coordinate system”区域中选择“Predefined > Geographic Coordinate Systems > World > WGS 1984”,然后点击“确定”按钮完成设置,如下图所示。

2.4 加截卫星地图数据
完成坐标系统设置后,点击“Add Data”按钮开始添加卫星地图数据,如下图所示。

在显示的“Add Data”对话框中选择我们下载好的TIF文件,并点击“Add”按钮添加数据,如下图所示。

然后在显示的询问对话框中点击“Yes”按钮建立影像金字塔,以便缩放更流畅,如下图所示。

金字塔建立完成后,将显示所加载图片的缩略图,如下图所示。

为了去掉黑色区域,使地图更美观,我们需要将黑色设置为透明。
在影像图层上单击右键,在菜单中选择“Properties…”显示如下图所示对话框。

在“Layer Properties”对话框中勾选“Display Background Value”,然后点击确定按钮即可过滤黑色,如下图所示。

2.5 叠加矢量数据
再次点击“Add Data”按钮显示“Add Data”对话框,在该对话框中打开成都矢量数据所在文件夹,如下图所示。

选中所有地图文件后,并点击“Add”按钮,会将所有选中的矢量数据加载到ArcMap中,如下图所示。

为道路简单配置图例后,再放大查看地图,从道路的叠加效果来看,还是非常理想的,如下图所示。

到此,你可以作一些卫星地图与矢量电子地图叠加后的一些业务分析等相关应用了。
3 如何对矢量地图数据进行反纠偏
这里以成都为例,说明如何将WGS84坐标系的矢量地图进行反纠偏和进行墨卡托坐标系转换后与高德地图进行叠加的方法。
首先,请到水经注软件官网下载安装水经注矢量地图转换器,然后请按以下步聚进行操作。
4 第一步:导入源数据
在软件中点击“输入”按钮,如下图所示。

在显示的“输入矢量地图文件” 对话框中点击“添加”按钮,选择添加成都的所有矢量图层文件,如下图所示。

在该对话框中点击“确定”按钮完成文件选择。
5 第二步:设置输出路径
点击“输出”按钮,如下图所示。

在显示的“浏览文件夹”中选择保存路径,如下图所示。

这里我们选择“D:\Test”目录,点击“确定”按钮完成设置。
6 第三步:设置转换参数
软件默认只选择“反纠偏”选项,这里我们把“生成墨卡托坐标系”也选择上,如下图所示。

7 第四步:数据转换
点击“转换”按钮,开始对所有文件进行反纠偏和进行墨卡托坐标系转换处理,如下图所示。

8 第五步:叠加矢量数据
用《水经注高德卫星地图下载器》下载成都二环路以内数据第19级数据,如下图所示。

下载完成后,将卫星地图导出为GeoTIFF(*.tif)文件,这里选择不叠加标签数据。
众所周知,高德地图和谷歌的国内服务器的卫星地图一样是有一定偏移的,这里我们没有对该卫星地图进行任何纠偏校正处理,以保证原有的清晰度和坐标系。
启动ArcMap将下载的卫星地图在ArcMap中打开,在右下角可以看到当前卫星地图坐标是墨卡托坐标(也可通过图层属性查看),如下图所示。

将转换后的矢量地图导入进来与卫星地图进行叠加,可以看到匹配效果非常完美,如下图所示。
