开篇唠叨(着急的略过)

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

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

    1:预格式化标签:<pre></pre>2:overflow属性="visible/hidden(隐藏)"/scroll/auto(自动)/inherit; ...

  2. BZOJ 4828 DP+BFS

    被一道简单BFS坑了这么长时间我也是hhh了 //By SiriusRen #include <bits/stdc++.h> using namespace std; ,,):d(D),x ...

  3. ACM_统计字符串

    统计字符串 Time Limit: 2000/1000ms (Java/Others) Problem Description: 给定n个字符串,统计字符串的个数. 如给定 5 sss ab sss ...

  4. Android从Camera中获取图片的两种方法

    方法一: 此方法会由Camera直接产生照片回传给应用程序,但是返回的是压缩图片,显示不清晰 ? 1 2 3 4 5 6 try {      Intent cameraIntent = new In ...

  5. Java学习笔记_网络(2)

    单向的客户端发送服务器端接收并显示,没有使用多线程 import javax.swing.*; import java.awt.*; import java.io.*; import java.net ...

  6. css3 绘制书本

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  7. Android开发笔记(5)——方法调用(基础)

    转载请注明——博客园igoslly:http://www.cnblogs.com/igoslly/p/6833544.html   在实际方法调用中,程序按顺序逐句执行,直到“}”结束. 为避免程序大 ...

  8. C#——接口的意义以及与抽象类的区别

    接口的意义是什么呢?接口与抽象类又有什么区别?什么情况选择用接口?什么情况选择用抽象类? 接口的意义: 1.实际开发中的约束作用,继承接口的类必须实现接口规定的方法,方便多人开发中的协同,避免随意性. ...

  9. 第一个真正意义的jsp程序,连接msql数据库

    1. mysql数据库 :在百度上下一个安装包mysql-5.7.17.msi,只装服务即可,选择开发使用 2.建库,建表 mysql> create table  testdb; 导入相关建表 ...

  10. 如何知道自己的CPU支持SLAT

    因为WP8 SDK发布,很多WP8的开发者们也开始陆续安装WP8的SDK的,然而安装WP8的SDK有很多软件和硬件的要求,其中有一个就是——要求CPU支持二级地址转换(SLAT),如果CPU不支持二级 ...