‘壹’ GPS坐标转火星坐标有确定算法么
WGS-84 到 GCJ-02 的转换(即 GPS 加偏)算法是一个普通青年轻易无法接触到的“公开”的秘密。这个算法的代码在互联网上是公开的,详情请使用 Google 搜索 "wgtochina_lb" 。 知道了这个算法之后,就可以离线进行 Google 地图偏移校正
‘贰’ 如何解决坐标转换,坐标偏移的问题
一、坐标体系
首先我们要明白,开发者能接触到哪些坐标体系呢?
第一种分类:
1、 GPS,WGS-84,原始坐标体系。一般用国际标准的GPS记录仪记录下来的坐标,都是GPS的坐标。很可惜,在中国,任何一个地图产品都不允许使用GPS坐标,据说是为了保密。GPS坐标形式如图,度分秒形式的经纬度:
2、 GCJ-02,国测局02年发布的坐标体系。又称“火星坐标”。在中国,必须至少使用GCJ-02的坐标体系。比如谷歌,腾讯,高德都在用这个坐标体系。GCJ-02也是国内最广泛使用的坐标体系。
3、 其他坐标体系。一般都是由GCJ-02进过偏移算法得到的。这种体系就根据每个公司的不同,坐标体系都不一样了。比如,网络和搜狗就使用自己的坐标体系,与其他坐标体系不兼容。
第二种分类:
首先明白,所有坐标体系的原点,都是非洲。
1、 经纬度。这个是球面坐标,对于北京来说,就是(116.38817139.935961)这样的坐标。比如腾讯、高德、网络都是这样的经纬度坐标。谷歌是经纬度顺序写反的经纬度坐标。
如果是度分秒坐标,需要进行转换,才能得到这样的经纬度坐标。详见坐标转换。
2、 墨卡托坐标。平面坐标,相当于是直线距离,数字一般都比较大,像这样的。(215362.00021333335 99526.00034912192)
墨卡托坐标,主要用于程序的后台计算。直线距离嘛,加加减减几乎计算方便。
搜狗地图API就是直接使用的墨卡托坐标。
二、坐标转换
在各种web端平台,或者高德、腾讯、网络上取到的坐标,都不是GPS坐标,都是GCJ-02坐标,或者自己的偏移坐标系。
比如,你在谷歌地图API,高德地图API,腾讯地图API上取到的,都是GCJ-02坐标,他们三家都是通用的,也适用于大部分地图API产品,以及他们的地图产品。
例外,网络API上取到的,是BD-09坐标,只适用于网络地图相关产品。
例外,搜狗API上取到的,是搜狗坐标,只适用于搜狗地图相关产品。
例外,谷歌地球,google earth上取到的,是GPS坐标,而且是度分秒形式的经纬度坐标。在国内不允许使用。必须转换为GCJ-02坐标。
1、度分秒坐标转换为经纬度
比如,在GPS记录仪,或者google earth上采集到的是39°31'20.51,那么应该这样换算,31分就是31/60度,20.51秒就是20.51/3600度,结果就是39 + 31/60 + 20.51/3600 度。
2、 GPS转换为GCJ-02坐标
谷歌,高德,腾讯的地图API官网上,都不直接提供这样的坐标转换。如果要得到GCJ-02坐标,最好在他们的地图上直接取点,或者通过地址解析得到。(这个工具我后续会贴出来的。我就爱干这样的事情,哈哈。)
不过,在网上搜到了这样的接口,该接口的type=1就是GPS转到GCJ-02的墨卡托坐标。请大家对接口保密,哈哈。详见:
3、GCJ-02与BD-09之间互转
国测局GCJ-02坐标体系(谷歌、高德、腾讯),与网络坐标BD-09体系的转换,在CSDN上有很详细的讲解:
不过也有更简单的算法,线性算法(lat和lng是经纬度,球面坐标):
To_B是转到网络,To_G是转到GCJ-02。
var TO_BLNG = function(lng){return lng+0.0065;};
var TO_BLAT = function(lat){return lat+0.0060;};
var TO_GLNG = function(lng){return lng-0.0065;};
var TO_GLAT = function(lat){return lat-0.0060;};
4、经纬纬度转成墨卡托
5、各家API公司坐标转换接口的申请
一般需要将您的公司名称、项目名称、项目简介、联系人和联系方式,发邮件至地图API公司的商务部,经过申请,才能使用。
下面是他们的联系方式:
‘叁’ 球面坐标是怎么转化来的
球面坐标系
定义. 设 是 中一点,在球面坐标系中 的三个坐标变量是 ,其定义为[1]
径向距离是从原点到点P的欧几里得距离。
倾角(或极角) θ是天顶方向和线段OP之间的夹角。
方位(或方位角) φ是从方位参考方向到参照平面上线段OP的正交投影的有符号角度。
见右图1。
图1
与极坐标类似,球面坐标系相同的同一点 ,具有无限多个等效坐标,,你可以在不改变角度的情况下, 增加或减去任意数量倍的 ,从而不改变角点。在许多情况下,允许负径向距离也很方便,,该惯例是(−r,θ,φ)等效于(r,θ+ 180 °,φ)为任意r,θ和φ。此外,(r,−θ,φ)等效于(r,θ,φ+ 180 °)。
如果需要为每个点定义一组唯一的球面坐标, 则必须限制它们的范围。一个共同的选择是:
球面坐标变换
球面坐标系是三大常用的坐标系之一,其它二个常用的坐标系是标准的欧氏坐标系、柱面坐标系。球面坐标变换公式描述了空间中一点P在欧氏坐标系下的坐标 与球面坐标系下的坐标 之间的变换关系。该变换关系如下述公式给出[1]:
或者,将表达成的形式:
体积元
在许多应用中,球面坐标系具有其它坐标系不具有的优点。了解在球面坐标系的面积元,体积元是对我们有帮助的。
长度元:
其中
面积元:
体积元:
梯度、散度、旋度以及Laplace算子在球面坐标系下的由下述公式给出[2]:
‘肆’ 木星,金星,水星等行星的坐标如何计算的,方法呢
太阳系的八颗行星从近到远分别是水星,金星,地球,火星,木星,土星,天王星,海王星。
所谓行星就是
(1、具有足够体积
2、具有足够质量能清空其轨道附近的小天体“卫星除外”
3、以近似圆的轨道围绕太阳转)。冥王星不符合前两项而被降为矮行星。矮行星是指围绕太阳转却没有足够质量和足够体积能清空其轨道附近的小天体,但又比小行星大的天体。
‘伍’ 火星坐标系计算距离为什么没有误差
WGS-84 到 GCJ-02 的转换(即 GPS 加偏)算法是一个普通青年轻易无法接触到的“公开”的秘密。这个算法的代码在互联网上是公开的,详情请使用 Google 搜索 "wgtochina_lb" 。 知道了这个算法之后,就可以离线进行 Google 地图偏移校正
/
‘陆’ cgcs2000坐标系是什么
cgcs2000坐标系是我国建立的大地坐标系。类似于WGS84坐标系是原始坐标系,GCJ02坐标系是我国测绘局制定的坐标系,由WGS84坐标系加密而成又叫火星坐标系,WGS84坐标系是美国建立的GSP原始坐标系。
cgcs2000坐标系的特点
火星坐标系是在GSP原始定位数据的基础上经过加密算法加密之后的定位数据所属坐标系,GSP原始定位数据所属坐标系叫WGS84坐标系,WGS84坐标系是美国国防制图局于1984建立的世界大地坐标系WorldGeodeticSystem的简称。
处于安全考虑我国国家测绘局规定国内必须对原始GSP数据进行加密,加密之后的坐标系就是GCJ02坐标系又叫火星坐标系,CGCS2000是2000国家大地坐标系,属于地心大地坐标系统,该系统以ITRF97参考框架为基准,参考框架历元为20000。
‘柒’ 火星坐标系可以用GIS打开吗
不可以。
要用gcj打开。
gcj102,又称火星坐标系,也叫做加密插件或者加偏或者SM模组,是对真实地图或者导航坐标系统进行人为的加偏处理,按照一定的加偏算法,将真实的坐标加密成虚假的坐标。加偏处理不是线性的加偏,所以各地的偏移情况都会有所不同。加密后的坐标也常被人称为火星坐标系统。
‘捌’ gcj-02坐标是什么坐标
gcj-02坐标是地理信息系统的坐标。
GCJ-02是由中国国家测绘局(G表示Guojia国家,C表示Cehui测绘,J表示Ju局)制订的地理信息系统的坐标系统。
中文名:国家测量局02号标准。
外文名:GCJ-02。
它是一种对经纬度数据的加密算法,即加入随机的偏差。
为了响应国家制定的标准,国内所有在线地图服务商(如网络地图、高德地图、搜狗地图和SOSO地图等)和国外部分在线地图服务商(如谷歌地图、必应地图和雅虎地图等)都必须进行GCJ-02加密才对公众进行开放,这就是为什么大家在用地图时总是发现有偏移的原因。
GCJ-02只是一种坐标偏移标准(算法),对投影没有任何限制,如果再以投影为基础作细分,则可以分为GCJ-02经纬度投影和GCJ-02 Web 墨卡托投影。在无论是导入或导出矢量数据时都可以对GCJ-02经纬度投影和GCJ-02墨卡托投影进行很好的支持。
‘玖’ 原始坐标系 火星坐标系 差多少
凡事从电子地图上面查得的坐标都不是真实地坐标,国家处于安全考虑,所有电子地图上市都必须经过审核,审核里面必然涉及坐标算法加密,你在地图上看到的坐标都是经算法加密后的坐标,是经过平移旋转等一系列变化的,各地的算法还都不一样。加密后的坐标也常被人称为火星坐标系统,这是我们的国家又一个伟大的发明,让国外的和等,都看不懂我们的坐标系统。介于你的问题,GPS定位出来的点的绝对位置是准确的,但本身却是个火星地图,所以会产生这样的问题。不知道我这样讲你是否明白?