Swift开发教程--火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法

Posted wanglixin1999

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift开发教程--火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法相关的知识,希望对你有一定的参考价值。

API

坐标系

百度地图API

百度坐标

腾讯搜搜地图API

火星坐标

搜狐搜狗地图API

搜狗坐标*

阿里云地图API

火星坐标

图吧MapBar地图API

图吧坐标

高德MapABC地图API

火星坐标

灵图51ditu地图API

火星坐标


class func bd_encrypt(gg_lat:Double, gg_lon: Double) -> (bd_lat:Double, bd_lon: Double)

        var x = gg_lon;

        var y = gg_lat;

        var z =sqrt(x * x + y * y) + 0.00002 * sin(y * x_pi);

        var theta =atan2(y, x) + 0.000003 * cos(x * x_pi);

        var bdlon = z *cos(theta) + 0.0065;

        var bdlat = z *sin(theta) + 0.006;

        return (bdlat,bdlon)

   

    

    classfunc bd_decrypt(bd_lat: Double, bd_lon:Double) -> (gg_lat: Double, gg_lon:Double)

        var x = bd_lon - 0.0065;

        var y = bd_lat - 0.006;

        var z =sqrt(x * x + y * y) - 0.00002 * sin(y * x_pi);

        var theta =atan2(y, x) - 0.000003 * cos(x * x_pi);

        var gglon = z *cos(theta);

        var gglat = z *sin(theta);

        return (gglat,gglon)

   

以上是关于Swift开发教程--火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法的主要内容,如果未能解决你的问题,请参考以下文章

WGS84(GPS)火星坐标系(GCJ02)百度地图(BD09)坐标系转换案例教程(附转换工具下载)

WGS84(GPS)火星坐标系(GCJ02)百度地图(BD09)坐标系转换案例教程(附转换工具下载)

QGIS入门实战精品教程010:QGIS地理坐标转火星坐标系(GCJ02)案例教程

QGIS入门实战精品教程5.1:QGIS地理坐标转火星坐标系(GCJ02)案例教程

地图开发 火星坐标(GCJ-02)和百度坐标(BD-09)互相转换

[转]iOS地球坐标、火星坐标和百度坐标之间转换(Swift3.0)