对互联网中常见地图的坐标系探讨

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/。

1.背景

目前项目中使用百度地图、高德地图、谷歌中国地图、天地图的需求越来越多,这里我跟大家一起对各地图使用的坐标系做一个简单的探讨。

2.百度地图——BD-09

百度地图是在GCJ-02坐标系上,又自己对坐标加密了一次,它官方文档里说叫BD-09,目前从GPS坐标转到百度坐标有接口提供,反过来不提供。

当然,目前反转方法在我们实际项目中已经解决,精确度可以达到0.5M以内。

2.1百度瓦片获取思路

百度地图的投影还是标准的Web横轴墨卡托投影,所以其切图的坐标原点、范围都是可以计算出来的。瓦片大小、基本URL也都可以通过监听百度的URL获取。需要注意的是,百度地图的瓦片行列号和负载地址在不同级别上都会有所不同,其变化规则如下:

瓦片的行列号是每增加一个级别便会进行一个规则的偏移,其偏移算法如下:

                                                 

2.2本地坐标系图层与百度底图叠加的探讨

2.2.1 强行对瓦片数据进行纠偏

在最新的arcBruTile0.7中已经支持对百度地图的添加。可以加载了百度瓦片后,通过寻找百度地图上与本地地图上的控制点对进行强行纠偏。

缺点是栅格图像纠偏形变是很难避免的,而且工作量也大,并且很难自动化。

2.2.2 将矢量数据转换为百度坐标系——以天津90坐标系为例

a.获取WGS84到天津90坐标系上的7参数。

b.通过建立控制点库(已研发),利用工具(已研发)将天津90坐标系数据自动转换为WGS84坐标系数据。

c.再建立WGS84与百度坐标系之间的控制点库(已研发),将WGS84数据再转换为百度坐标系数据。

d.叠加后测试。

2.2.3结果展示

                                            

 

3.高德地图和谷歌中国地图——GCJ-02

3.1地图坐标系的探讨

高德地图和谷歌地图均是使用的GCJ-02坐标系,以下为测试例子:

 

具体来说GCJ-02坐标系与WGS84坐标系偏移一般在100M上下,这种处理技术,是通过一种方法将一张地图修改为另外一张地图,修改完成之后,地图上的点,会发生大到几百米,小到几十米的偏移。如果你用几何上坐标转换的方法想复原原地图,难度很大,因为处理技术的处理映射函数是非线性的。网上有很多两个坐标之间的转换方法,但是精确度一般般,在10M左右。

在国内,GCJ-02带来的偏移最大有700米左右,偏移的绝对值可以参考下图(最红处接近700 m,最蓝处大约 20 米):

 

3.2本地坐标系数据叠加到GCJ-02坐标系上

3.2.1转换流程

由于本地数据并不会是大范围的,所以其局部偏移上可以通过线性方法暂时逼近。

a.本地坐标数据转换为WGS84坐标数据。

b.对本地WGS84坐标数据进行Web横轴墨卡托投影。

c.将投影后的数据叠加到高德或者谷歌中国地图上。

d.进行线性偏移。

3.2.2结果展示

 

4.天地图——CGCS2000

4.1坐标系研究

天地图上不同省份使用的坐标系可能不同,目前来看我经手过的浙江、四川均为标准的国标2000坐标系。但是有些地方为当地坐标系,还需测绘局提供保密插件进行处理。

国标2000坐标系与WGS84坐标系偏差不大,因为CGCS2000坐标系与WGS84坐标系的原点、尺度、定向及定向演变的定义都是相同的,参考椭球的参数略有不同而已。相同的坐标点,在CGCS2000与WGS84下,经度是相同的,只在纬度上存有0.11mm上下的区别,可以忽略掉。

4.2 本地坐标系矢量数据叠加到天地图上

a.将本地数据转换为WGS84或者国标2000坐标系数据。

b.叠加到天地图上。

4.3结果展示

 

                                                                  -----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

                                                                      如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^

                                      

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/458910.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unsigned int + int型结果分析

*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com *************************************************** 代码如下: “//”后为调试中的结果 unsigned int a 6; //a 6 …

MAC OSX在视图port哪个程序占用,杀死进程的方法

sudo lsof -i :9000COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEjava 61342 a 313u IPv6 0x1111111111111 0t0 TCP *:cslistener (LISTEN)在此基础PID杀死进程:sudo kill -9 61342 版权声明:本文博主原创文章&am…

讯飞输入法有没有Linux,Debian testing 安装讯飞输入法 - Linux系统与应用 - LinuxApp - 水木社区...

突然发现Deepin发行版带有讯飞输入法,于是折腾了一会,安装好了这个输入法,现把安装过程分享如下:软件包的依赖:Package: iflyimeVersion: 0.9.962Section: develPriority: optionalArchitecture: amd64Depends: libboo…

几种C#程序读取MAC地址的方法

原文:几种C#程序读取MAC地址的方法以下是收集的几种C#程序读取MAC地址的方法&#xff0c;示例中是读取所有网卡的MAC地址&#xff0c;如果仅需要读取其中一个&#xff0c;稍作修改即可。 1 通过IPConfig命令读取MAC地址 ///<summary>///根据截取ipconfig /all命令的输出流…

写出float x 与“零值”比较的if语句——一道面试题分析

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** 写出float x 与“零值”比较的if语句 请写出 float x 与“零值”比较的 if 语句&…

Conditional project or library reference in Visual Studio

Conditional project or library reference in Visual Studio In case you were wondering why you haven’t heard from me in a while, I’ve been busy, which isn’t really of much importance unless you know me on a personal level. What is relevant is that I recen…

linux 双mipi摄像头,VS-RK3399 在linux系统下面调试Mipi camera接口介绍

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼debian系统目前支持Usb camera是没有问题&#xff0c;走UVC功能接口。那么mipi 接口camera和并口接口的camera&#xff0c;在Debian系统怎么设置呢&#xff0c;其实原理一样&#xff0c;也走uvc接口封装函数.下面深圳视壮给大家简单…

HTTP必知必会

2019独角兽企业重金招聘Python工程师标准>>> HTTP消息HTTP请求消息HTTP响应消息消息首行请求行响应行消息头部请求头请求头消息正文请求正文响应正文Web服务器把接收到的HTTP请求消息封装成request对象&#xff0c;作为service的参数传入service函数&#xff0c;ser…

float数据在计算机内存中的存储方法

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** 浮点型变量在计算机内存中占用4字节&#xff08;Byte&#xff09;,即32-bit。遵循IEEE…

Geometric Shapes - POJ 3449(多边形相交)

题目大意&#xff1a;给一些几何图形的编号&#xff0c;求出来这些图形都和那些相交。分析&#xff1a;输入的正方形对角线上的两个点&#xff0c;所以需要求出来另外两个点&#xff0c;公式是&#xff1a;x2:(x1x3y3-y1)/2; y2:(y1y3x1-x3)/2;x4:(x1x3-y3y1)/2; y4:(y1y3-x1x3…

更新10_linux,时隔十年,QQ更新了Linux版本

昨天1024程序员节&#xff0c;QQ悄悄地更新了QQ for Linux&#xff0c;也许是给各位一个惊喜吧。官网及其的简陋。和一个Word文档似的。十年一更&#xff0c;有网友称&#xff0c;瞬间回到QQ2006&#xff0c;确实界面功能有些落后&#xff0c;相信QQ可以跟上潮流的&#xff0c;…

[渗透测试]扫目录,Sqlmap利用均超时,利用dirb扫描

今天碰到一个网友传来的Webshell地址&#xff0c;问我对方如何取得webshell。 网站为阿里云服务器&#xff0c;存在明显的注入漏洞&#xff0c;但是任何语句都会令网页报错&#xff0c;sqlmap一直超时&#xff0c;御剑扫描目录1个线程也会导致被屏蔽IP。 经一学长提点&#xff…

x = x+1,x+=1,x++那个的执行效率高

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** x x1的效率最低 1&#xff09;读取右边x的地址 2&#xff09;执行x13&#xff09;读…

修正线性单元(Rectified linear unit,ReLU)

修正线性单元&#xff08;Rectified linear unit&#xff0c;ReLU&#xff09; Rectified linear unit 在神经网络中&#xff0c;常用到的激活函数有sigmoid函数f(x)11exp(−x)、双曲正切函数f(x)tanh(x)&#xff0c;今天要说的是另外一种activation function&#xff0c;recti…

C语言综合期末作业,内蒙古农业大学2010年期末c语言综合作业.doc

内蒙古农业大学2010年期末c语言综合作业综合练习作业#includeint main(void){int choice,i;void shuai();void ge();void wang();void bing();for(i1;i<5;i){printf("[1]统计字符个数\n");printf("[2]判断素数\n");printf("[3]求斐波那契数列\n&qu…

链表创建、逆置、删除详解

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** 对链表的理解&#xff1a;http://www.nowamagic.net/librarys/veda/detail/2220 #inc…

python与shell的3种交互方式介绍

【目录】 1.os.system(cmd) 2.os.popen(cmd) 3.利用subprocess模块 4.subprocessor模块进阶 【概述】 考虑这样一个问题&#xff0c;有hello.py脚本&#xff0c;输出”hello, world!”&#xff1b;有testinput.py脚本&#xff0c;等待用户输入&#xff0c;然后打印用户输入的数…

C语言里if语句变量作为判断条件,C语言教学(九-上)if else判断语句

原标题&#xff1a;C语言教学(九-上)if else判断语句今天讲if else判断语句&#xff0c;简单理解就是进行条件判断&#xff0c;如果条件达到则执行if 里或else里的语句。先来看if。if的写法和for差不多,就是不用括号里的两个分号&#xff0c;if (条件) { }&#xff0c;if加括号…

const修饰指针和引用的用法【转贴】

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** const修饰的指针会额外的占内存吗&#xff1f; 仍然是4&#xff0c;不会占额外的…

调整linux系统时区

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 好吧&#xff0c;使用tzselect又靠谱些&#xff0c;使用前把/etc/localtime删除了。 执行上前那个告诉我文件重新了&#xff0c;所以就没有搞了转载于:https://www.cnblogs.com/hark0623/p/4807426.html