开篇唠叨(着急的略过)
大天朝“火星坐标系”小科普:是一种国家保密插件,对真实坐标系统进行人为的加偏处理,将真实的坐标加密成虚假的坐标,加密后的坐标被称为火星坐标系统。所有的电子地图所有的导航设备,都需要加入国家保密插件。
- 地图公司测绘地图,测绘完成后,送到国家测绘局,将真实坐标的电子地图,加密成“火星坐标”,这样的地图才是可以出版和发布的,然后才可以让GPS公司处理。
- 所有的GPS公司,需要用到导航电子地图的,统统需要在软件中加入国家保密算法,将COM口读出来的真实的坐标信号,加密转换成国家要求的保密的坐标,这样,GPS导航仪和导航电子地图就可以完全匹配,GPS也就可以正常工作。
本帖概述:当前网上关于“百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换“的技术贴基本都是限于单点经纬度坐标的转换,还未延伸到地图图层转换的层面,这让需要图层转坐标的盆友看完依然意犹未尽、不知所措,下面依据本人WGS84坐标系图层转火星坐标系的经验,为现有的技术贴写个续。时间原因,当前只提供一个半自动的转换思路,有时间的宝宝自己完善下代码实现全自动化吧······
————————————— 我是分割—————————————
转换思路
转换的基本思路是在控制点坐标值转换的基础上,通过Arcgis的配准功能实现图层坐标转换;转换过程大致分为控制点选取、控制点坐标值转换、配准Links File构建及配准执行四个步骤。
转换过程
1.控制点选取
控制点选取采用Arcgis的Create Fishnet功能,在图层范围内均匀采点。(具体使用方法可参考http://blog.sina.com.cn/s/blog_764bc78a0100qbsh.html)
我的待转换图层(WGS84坐标)与生成的渔网和控制点,控制点疏密小伙伴们根据需要自己调整吧。
对控制点图层增加经纬度属性字段,并进行Calculate Geometry计算获得控制点的经纬度,并导出生成控制点文件(.txt)。
2.控制点坐标值转换
控制点坐标值转换请参考之前的技术贴https://github.com/wandergis/coordtransform,把上面获取到的WGS84坐标系控制点的经纬度坐标值转换为火星坐标系的经纬度坐标值。
3.配准Links File构建
构建如下图所示的配准控制点关联文件(.txt),每一行依次为一个控制点转换前(WGS84)的经度、纬度和转换后(火星系)的经度、纬度。
PS福利来袭:控制点比较多的时候一个一个转坐标值并构建关联文件太麻烦,本人对之前技术贴中的坐标值转换程序进行了拓展优化,可自动读取控制点文件,批量处理并生成关联文件。(拿走不谢:http://pan.baidu.com/s/1boMeIPh)
双击运行test中的index.html,输入控制点文件路径名称及关联文件保存路径名称,创建即可。
4. 配准执行
Arcgis中打开待校正图层,并使处于编辑状态,右键工具栏勾选打开spatial adjustment,设置配准数据全选。
打开关联文件links---open links file,选择上一步生成的link.txt,可看到关联控制点被加载到地图中。
运行adjust,执行配准,完成图层坐标转换。(注意:配准会直接修改原数据,最好备份原数据)。
5.最后,看看转换效果
底图是高德(火星坐标系)的道路图,蓝色为转换前的WGS84坐标路网图层,红色为转换后的火星坐标系路网图层。红色和底图基本重叠,蓝色偏差较远。
说明:由于国测局的加偏并不是线性的加偏,所以各地的偏移情况都会有所不同,但是我们无法得到国测局的加密参数,只能各地都使用公布的相同转换参数,故准换后会存在一定的偏差,但偏差不大,精度要求不高不影响使用。
最后的最后,别问我Arcgis中怎样加载高德地图,问他······
http://www.cnblogs.com/pengchen/p/4771288.html