WGS84坐标系图层转火星坐标系(是整个图层转哟,不是转单点坐标)
开篇唠叨(着急的略过)
大天朝“火星坐标系”小科普:是一种国家保密插件,对真实坐标系统进行人为的加偏处理,将真实的坐标加密成虚假的坐标,加密后的坐标被称为火星坐标系统。所有的电子地图所有的导航设备,都需要加入国家保密插件。
- 地图公司测绘地图,测绘完成后,送到国家测绘局,将真实坐标的电子地图,加密成“火星坐标”,这样的地图才是可以出版和发布的,然后才可以让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坐标系图层转火星坐标系(是整个图层转哟,不是转单点坐标)的更多相关文章
- GCJ-02火星坐标系和WGS-84坐标系转换关系
GCJ-02火星坐标系和WGS-84坐标系转换关系 WGS-84:GPS坐标系 GCJ-02:火星坐标系,国测局02年发布的坐标体系,高德,腾讯等使用. BD-09:百度坐标系,百度自研,百度地图使用 ...
- (数据科学学习手札60)用Python实现WGS84、火星坐标系、百度坐标系、web墨卡托四种坐标相互转换
一.简介 主流被使用的地理坐标系并不统一,常用的有WGS84.GCJ02(火星坐标系).BD09(百度坐标系)以及百度地图中保存矢量信息的web墨卡托,本文利用Python编写相关类以实现4种坐标系统 ...
- JAVA火星坐标系、百度坐标系、84坐标系相互转换工具类
/** * 坐标系转换工具类 */ public class PositionUtil { public static double pi = 3.1415926535897932384626; pu ...
- 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法
$x_pi = 3.14159265358979324 * 3000.0 / 180.0; //火星坐标系 (GCJ-02)转百度坐标系 (BD-09)算法 function bd_encrypt($ ...
- python、js实现WGS84、高德(火星)、百度坐标转换
在日常工作学习中常会涉及到WGS84.高德(火星/谷歌).百度三种空间坐标系的坐标转换,本文将通过python.js两种语言实现坐标系的转换. 坐标系说明: wgs84:为一种大地坐标系,也是目前广泛 ...
- 地球坐标系(WGS-84)转火星坐标系(GCJ)
/** * 单点坐标纠偏 */ var pi = 3.14159265358979324; var a = 6378245.0; var ee = 0.00669342162296594323; va ...
- [转]iOS开发中的火星坐标系及各种坐标系转换算法
iOS开发中的火星坐标系及各种坐标系转换算法 源:https://my.oschina.net/u/2607703/blog/619183 其原理是这样的:保密局开发了一个系统,能将实际的坐标转 ...
- iOS开发中的火星坐标系及各种坐标系转换算法
原文地址:http://m.oschina.net/blog/619183?ref=myread 其原理是这样的:保密局开发了一个系统,能将实际的坐标转换成虚拟的坐标.所有在中国销售的数字地图必须使用 ...
- [转]地理投影,常用坐标系详解、WGS84、WGS84 Web墨卡托、WGS84 UTM、北京54坐标系、西安80坐标系、CGCS2000坐标系
转自:http://www.rivermap.cn/docs/show-1829.html 常用坐标系详解 (一)WGS84坐标系 WGS-84坐标系(World Geodetic System一19 ...
随机推荐
- [App Store Connect帮助]三、管理 App 和版本(2.4)输入 App 信息:提供加密出口合规证明文稿
上传至 App Store Connect 的 App 被上传至位于美国的 Apple 服务器.如果您提交 App 的目的是为了在 App Store 上分发您的 App 或通过美国或加拿大的境外 T ...
- $P2935 [USACO09JAN]最好的地方Best Spot$
P2935 [USACO09JAN]最好的地方Best Spot Floyd的水题(黄题) 海星. 这可能是我第一道发的Floyd的博客 inline void Floyd(){ ;k<=n;k ...
- [转]linux 下 join命令总结
转自:http://blog.chinaunix.net/uid-20754793-id-177777.html 有两个文件需要合并,开始写了脚本实现,忽然发现join命令能够完全替代,总结了一下jo ...
- C#学习-程序集和反射
准备项目 1.新建一个空的解决方案MyProj.sln 2.在该解决方案下,建一个控制台项目P01.csproj 3.在该项目下,自己新建一个类MyFirstClass.cs 查看解决方案MyProj ...
- GitLab Runner and CICD
# Linux x86-64 sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaw ...
- python--11、数据库及SQL基础
常用命令记录 查看库中所有表的引擎 SHOW TABLE STATUS FROM `center_main_db`; 还有一个更简洁,查询cmol_system_db库所有表的存储引擎\ SELECT ...
- 一篇文章告诉你如何使用EF CodeFirst做增删改查
一.修改数据 其实修改涉及的内容挺多的,是相对于其他操作来说比较繁琐.也是本文的重头戏. 虽然都是基础内容,但是也是值得细细品味的. 1.最简单直接的修改数据就是从数据库里检索出数据修改相应的字段即可 ...
- React Native应用实现步骤
React Native应用实现步骤 在整个应用设计中,始终按照自下而上的原则进行.在大型的项目中,自下而上的设计方式简单,可以并行工作,并且可以在构建的同时写测试用例. React Native设计 ...
- C#入门经典 Chapter4 流程控制
4.1布尔逻辑 布尔比较运算符 == != < > <= >= 处理布尔值的布尔值运算符 ! & | ^(异或) 条件布尔运算符 &&am ...
- 移动web——touch事件应用
基本概况 1.touch事件在移动端被用来代替click事件,因为click事件的触发会延迟影响了用户体验 2.touch事件还可以与translate构成吸附效果 3.现行有一种排版方式是左边宽度是 ...