开篇唠叨(着急的略过)

大天朝“火星坐标系”小科普:是一种国家保密插件,对真实坐标系统进行人为的加偏处理,将真实的坐标加密成虚假的坐标,加密后的坐标被称为火星坐标系统。所有的电子地图所有的导航设备,都需要加入国家保密插件。

  • 地图公司测绘地图,测绘完成后,送到国家测绘局,将真实坐标的电子地图,加密成“火星坐标”,这样的地图才是可以出版和发布的,然后才可以让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

WGS84坐标系图层转火星坐标系(是整个图层转哟,不是转单点坐标)的更多相关文章

  1. GCJ-02火星坐标系和WGS-84坐标系转换关系

    GCJ-02火星坐标系和WGS-84坐标系转换关系 WGS-84:GPS坐标系 GCJ-02:火星坐标系,国测局02年发布的坐标体系,高德,腾讯等使用. BD-09:百度坐标系,百度自研,百度地图使用 ...

  2. (数据科学学习手札60)用Python实现WGS84、火星坐标系、百度坐标系、web墨卡托四种坐标相互转换

    一.简介 主流被使用的地理坐标系并不统一,常用的有WGS84.GCJ02(火星坐标系).BD09(百度坐标系)以及百度地图中保存矢量信息的web墨卡托,本文利用Python编写相关类以实现4种坐标系统 ...

  3. JAVA火星坐标系、百度坐标系、84坐标系相互转换工具类

    /** * 坐标系转换工具类 */ public class PositionUtil { public static double pi = 3.1415926535897932384626; pu ...

  4. 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法

    $x_pi = 3.14159265358979324 * 3000.0 / 180.0; //火星坐标系 (GCJ-02)转百度坐标系 (BD-09)算法 function bd_encrypt($ ...

  5. python、js实现WGS84、高德(火星)、百度坐标转换

    在日常工作学习中常会涉及到WGS84.高德(火星/谷歌).百度三种空间坐标系的坐标转换,本文将通过python.js两种语言实现坐标系的转换. 坐标系说明: wgs84:为一种大地坐标系,也是目前广泛 ...

  6. 地球坐标系(WGS-84)转火星坐标系(GCJ)

    /** * 单点坐标纠偏 */ var pi = 3.14159265358979324; var a = 6378245.0; var ee = 0.00669342162296594323; va ...

  7. [转]iOS开发中的火星坐标系及各种坐标系转换算法

     iOS开发中的火星坐标系及各种坐标系转换算法 源:https://my.oschina.net/u/2607703/blog/619183   其原理是这样的:保密局开发了一个系统,能将实际的坐标转 ...

  8. iOS开发中的火星坐标系及各种坐标系转换算法

    原文地址:http://m.oschina.net/blog/619183?ref=myread 其原理是这样的:保密局开发了一个系统,能将实际的坐标转换成虚拟的坐标.所有在中国销售的数字地图必须使用 ...

  9. [转]地理投影,常用坐标系详解、WGS84、WGS84 Web墨卡托、WGS84 UTM、北京54坐标系、西安80坐标系、CGCS2000坐标系

    转自:http://www.rivermap.cn/docs/show-1829.html 常用坐标系详解 (一)WGS84坐标系 WGS-84坐标系(World Geodetic System一19 ...

随机推荐

  1. 如何自学编程,零基础适合学习Java或者Web前端吗,非科班的能学java吗?

    很多人都会选择自学Java或者前端,相信有在校的大学生,有正在上班想转行的,也有已经在自学的.下面通过几个问题我来给大家分析学习编程的难易程度. 编程是什么? 通俗的理解,编程就是编写程序,哪什么是程 ...

  2. docker容器如何安装vim

    mv /etc/apt/sources.list /etc/apt/sources.list.bak && \     echo "deb http://mirrors.16 ...

  3. azkaban-executor启动时出现conf/global.properties (No such file or directory)的问题解决(图文详解)

     问题详情 // :: INFO [FlowRunnerManager] [Azkaban] Cleaning recently finished // :: INFO [FlowRunnerMana ...

  4. S2深入.NET编程总结

    不知从几何时,我也开始变得懒了,以往为了学习的那股子斗劲也早已不在,是时候反思反思了.失败的检测成绩希望可以把我唤醒. 经过总结,在本书中大概学到了这些知识: 1.如果一个类可序列化,则它的子类和包含 ...

  5. 转:java中static、final、static final的区别

    http://blog.csdn.net/qq1623267754/article/details/36190715 final可以修饰:属性,方法,类,局部变量(方法中的变量) final修饰的属性 ...

  6. JSP学习笔记 - 内置对象 Request

    1.主要掌握以下5个内置对象及其所属类,必须学会在java docs里根据类名查找相应的方法 request     javax.servlet.http.HttpServletRequest res ...

  7. 03--QT教程(转自:豆子)

    http://blog.51cto.com/zt/20

  8. mvc EF 出现异常, 能提示出那个字段出现问题

    } catch (DbEntityValidationException ex) { message = "添加异常"; desc = " {" + ex.Me ...

  9. mvc 类中对应数据库属性

    [StringLength()] //可空 对应数据库可空 [DefaultValue("")] [DisplayName("添加人用户名")] public ...

  10. 扩增子图表解读3热图:差异菌、OTU及功能

    热图是使用颜色来展示数值矩阵的图形.通常还会结合行.列的聚类分析,以表达实验数据多方面的结果.  热图在生物学领域应用广泛,尤其在高通量测序的结果展示中很流行,如样品-基因表达,样品-OTU相对丰度矩 ...