php百度坐标转高德坐标

php处理表里存储的坐标进行转换

基于thinkphp3.2框架写的方法

public function gaoDe() {

set_time_limit(0); //防止超时

$VillageDb=D("Village");

$field="lat,lng,villageId";

$map[‘ajkId‘]=array(‘gt‘,1);

$map[‘lat‘]=array(‘gt‘,0);

$map[‘lng‘]=array(‘gt‘,0);

$data=$VillageDb->where($map)->select();//先把坐标和对应的id取出来

foreach ($data as $key=>$val){

$url="http://restapi.amap.com/v3/assistant/coordinate/convert?key=1030d03e5fa1aa9337ed6b92e43b7feb&locations=".$val[‘lat‘].",".$val[‘lng‘]."&coordsys=baidu"; //高德的key和接口转换地址

$data1=  json_decode(file_get_contents($url)); //开始转换

$location=explode(‘,‘,$data1->locations);  //取到坐标

$data=array();

$where[‘villageId‘]=$val[‘villageId‘];

$data[lat]=$location[0];

$data[lng]=$location[1];

//$result=$VillageDb->execute("update br_esf_village set lat = ".$data[$key][‘lat‘]." ,lng = ".$data[$key][‘lng‘]." where villageId=".$data[$key][‘villageId‘]."");

//if(!$result){$this->gaode();}

$result=$VillageDb->where($where)->save($data); // 保存数据

if(!$result){$this->gaode();} //失败的再次处理

}

}

时间: 2024-10-10 23:45:13

php百度坐标转高德坐标的相关文章

百度地图,高德地图,HTML5经纬度比较

对于一个地点的经纬度,是确定的?这个问题,我想很多人都会回答,肯定了,可实际上呢?我只能呵呵了. 在使用百度地图的过程中,发现一个很奇怪的现象,有时候调用百度地图js API时,后得到一个错的离谱的地方.然后我自己也就研究了一下jsAPI获取地理位置的相关信息,jsAPI其实都是利用了HTML5中的方法获取地理信息的.但很奇怪,使用HTML5获取到的经纬度和百度获取的竟然相差很大. HTML5获取到的经纬度 function getLocation() { if (navigator.geolo

百度地图墨卡托坐标转高德经纬度坐标(偏移小)

基本上是网上常见的方法进行坐标系的转换,但是误差很大.发现之所以误差大是在于百度的墨卡托坐标转百度的经纬度时误差太大,后面找到一个方法,误差较小,基本吻合. 参考:http://www.site-digger.com/tools/mct2latlng.html 这里的转换是直接调用百度地图SDK中的API,通过对其中JavaScript源代码的执行跟踪,提取出其中的墨卡托坐标转百度经纬度坐标的代码如下: Java版本: @Data public static class Point { priv

[转]百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换

注:项目中面对不同的坐标体系,在地图上显示会有不小的偏差,下面是JavaScript的转换方法. //定义一些常量 var x_PI = 3.14159265358979324 * 3000.0 / 180.0; var PI = 3.1415926535897932384626; var a = 6378245.0; var ee = 0.00669342162296594323; /** * 百度坐标系 (BD-09) 与 火星坐标系 (GCJ-02)的转换 * 即 百度 转 谷歌.高德 *

百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换(JS版代码)

/** * Created by Wandergis on 2015/7/8. * 提供了百度坐标(BD09).国测局坐标(火星坐标,GCJ02).和WGS84坐标系之间的转换 */ //定义一些常量 var x_PI = 3.14159265358979324 * 3000.0 / 180.0; var PI = 3.1415926535897932384626; var a = 6378245.0; var ee = 0.00669342162296594323; /** * 百度坐标系 (

火星坐标、百度坐标、WGS-84坐标相互转换及墨卡托投影坐标转经纬度JavaScript版

火星坐标 火星坐标是国家测绘局为了国家安全在原始坐标的基础上进行偏移得到的坐标,基本国内的电子地图.导航设备都是采用的这一坐标系或在这一坐标的基础上进行二次加密得到的.火星坐标的真实名称应该是GCJ-02坐标.最近在知乎上看到关于火星坐标的话题都是充满争议的(点我跳转到知乎),感兴趣的同学可以去详细了解一下. 基本上所有的国内的电子地图采用的都是火星坐标系甚至Google地图中国部分都特意为中国政府做了偏移.百度坐标 火星坐标是在国际标准坐标WGS-84上进行的一次加密,由于国内的电子地图都要至

百度坐标(BD-09)、国测局坐标(火星坐标,GCJ-02)和WGS-84坐标互转

// 坐标转换 var coordTransform = (function () { // 一些常量 var PI = 3.1415926535897932384626; var X_PI = 3.14159265358979324 * 3000.0 / 180.0; var a = 6378245.0; var ee = 0.00669342162296594323; // 检测是否在国内 var isOutofChina = function (lng, lat) { return (ln

地图坐标转换 -- 火星坐标与GPS坐标

第一次处理地理位置的数据的人,没什么经验,往往掉入很多坑浪费不少时间.我也是刚刚从坑里爬出来.这篇博文主要是把入门GPS轨迹分析的经验总结一下,以方便大家少走些弯路. (1)可视化 GPS 路径 刚拿到一堆GPS轨迹数据,想看看它长什么样?于是先想办法把它们可视化出来.有很多地图的API可以用,如果不是想搞演示,只是为了快速随便看一眼的话,推荐用百度的在线示例API  http://developer.baidu.com/map/jsdemo.htm#c1_3  里面有比较详细的例子,很丰富的操

ios 一步一步学会自定义地图吹出框(CalloutView)-->(百度地图,高德地图,google地图)

前言 在 ios上边使用地图库的同学肯定遇到过这样的问题:吹出框只能设置title和subtitle和左右的view,不管是百度地图还是高德地图还是自带的 google地图,只提供了这四个属性,如果想添加更多的view,只能自定义.可是,类库只能看到.h文件,.m都看不到,这让新手比较蛋疼,庞大的地 图类库一时半会摸不着头脑,从头再学还需要时间,本文就教大家快速制作一个属于自己的 CalloutView!等你一步一步调通后,再回过头来使用系统自带的方法设置callout,就会领悟这个过程. 正文

Android笔记:百度地图与高德地图坐标转换问题

Android笔记:百度地图与高德地图坐标转换问题 安卓项目使用了百度地图的定位SDK,web端使用的也是百度地图, 后来发现界面显示百度地图不如高德效果好,web改用高德地图,原本的百度地图坐标是可以直接使用的,由于高德和百度地图的坐标系不一致 要如何转换呢. 补充了下坐标系知识后发现高德使用的坐标系是“gcj02”也就是大家所说的“火星坐标”, 百度使用的是“BD09”因为是百度所用大家习惯称之为“百度坐标”  ,如何将bd09转为gcj02呢,突然想到在百度的定位sdk里有这样一段说明(来