百度经纬度和火星坐标转换

hykeda9年前PHP1806
<?php
    //GCJ-02(火星,高德) 坐标转换成 BD-09(百度) 坐标
      //@param bd_lon 百度经度
    //@param bd_lat 百度纬度
    function bd_encrypt($gg_lon,$gg_lat)
    {
        $x_pi = 3.14159265358979324 * 3000.0 / 180.0;
        $x = $gg_lon;
        $y = $gg_lat;
        $z = sqrt($x * $x + $y * $y) - 0.00002 * sin($y * $x_pi);
        $theta = atan2($y, $x) - 0.000003 * cos($x * $x_pi);
        $data['bd_lon'] = $z * cos($theta) + 0.0065;
        $data['bd_lat'] = $z * sin($theta) + 0.006;
        return $data;
    }
    //BD-09(百度) 坐标转换成  GCJ-02(火星,高德) 坐标
      //@param bd_lon 百度经度
    //@param bd_lat 百度纬度
    function bd_decrypt($bd_lon,$bd_lat)
    {
        $x_pi = 3.14159265358979324 * 3000.0 / 180.0;
        $x = $bd_lon - 0.0065;
        $y = $bd_lat - 0.006;
        $z = sqrt($x * $x + $y * $y) - 0.00002 * sin($y * $x_pi);
        $theta = atan2($y, $x) - 0.000003 * cos($x * $x_pi);
        $data['gg_lon'] = $z * cos($theta);
        $data['gg_lat'] = $z * sin($theta);
        return $data;
    }
    //测试
    $bd = bd_encrypt(108.947903,34.231966);
    //输出:array(2) { ["bd_lon"]=> float(108.954466795) ["bd_lat"]=> float(34.2376965936) }
    $gg = bd_decrypt(108.95434,34.238235);
    //输出:array(2) { ["gg_lon"]=> float(108.947903625) ["gg_lat"]=> float(34.2319662425) }
?> 

API

坐标系

百度地图API

百度坐标

腾讯搜搜地图API

火星坐标

搜狐搜狗地图API

搜狗坐标

阿里云地图API

火星坐标

图吧MapBar地图API       

图吧坐标

高德MapABC地图API

火星坐标

灵图51ditu地图API

火星坐标

坐标解释:

1、GCJ-02,国测局02年发布的坐标体系。又称“火星坐标”。谷歌,腾讯,高德都在用这个坐标体系。

2、BD-09,百度坐标系。

相关文章

composer使用phpstudy的php环境,如果改变php版本如何处理

        首先安装composer后,先在系统的环境变量中添加php路径,比如之前的路径:C:\zhangsan\...

抓取页面出现乱码

在抓取页面的时候出现类似�������这样乱码解决方法如下 1、转换编码 str=mbconvertencoding(str=mbconvertencoding(...

关于PHP处理BOM头的问题

关于php出现无法解析数据,直接var_dump出来为string(3)"",必须警觉,极大可能就是存在bom头的问题,比如接收json数据 $rt = json_decode($r...

phpstudy提示错误:cURL error 60 配置SSL CA证书

phpstudy配置SSL CA证书本地Windows环境, phpstudy 集成 php7 后,出现错误提示:cURL error 60: SSL certificate pr...

PHP限制ip以及IP段是否允许访问,以及对ip子网的理解

php 如何限制ip访问:// 判断ip是否被允许 function isIpBlocked($clientIP,$blockedIPs) {   ...

查找附近geohash算法及实现 (PHP版本)

随着移动终端的普及,很多应用都基于LBS功能,附近的某某(餐馆、银行、妹纸等等)。 基础数据中,一般保存了目标位置的经纬度;利用用户提供的经纬度,进行对比,从而获得是否在附近。 目标:...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。