/**
* gps纠偏算法,适用于google,高德体系的地图
* @author Administrator
*/
public class GpsCorrect {
final static double pi = 3.14159265358979324;
final static double a = 6378245.0;
final static double ee = 0.00669342162296594323;
public static void transform(double wgLat, double wgLon, double[] latlng) {
if (outOfChina(wgLat, wgLon)) {
latlng[0] = wgLat;
latlng[1] = wgLon;
return;
}
double dLat = transformLat(wgLon - 105.0, wgLat - 35.0);
double dLon = transformLon(wgLon - 105.0, wgLat - 35.0);
double radLat = wgLat / 180.0 * pi;
double magic = Math.sin(radLat);
magic = 1 - ee * magic * magic;
double sqrtMagic = Math.sqrt(magic);
dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * pi);
dLon = (dLon * 180.0) / (a / sqrtMagic * Math.cos(radLat) * pi);
latlng[0] = wgLat + dLat;
latlng[1] = wgLon + dLon;
}
private static boolean outOfChina(double lat, double lon) {
if (lon 137.8347)
return true;
if (lat 55.8271)
return true;
return false;
}
private static double transformLat(double x, double y) {
double ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.sqrt(Math.abs(x));
ret += (20.0 * Math.sin(6.0 * x * pi) + 20.0 * Math.sin(2.0 * x * pi)) * 2.0 / 3.0;
ret += (20.0 * Math.sin(y * pi) + 40.0 * Math.sin(y / 3.0 * pi)) * 2.0 / 3.0;
ret += (160.0 * Math.sin(y / 12.0 * pi) + 320 * Math.sin(y * pi / 30.0)) * 2.0 / 3.0;
return ret;
}
private static double transformLon(double x, double y) {
double ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.sqrt(Math.abs(x));
ret += (20.0 * Math.sin(6.0 * x * pi) + 20.0 * Math.sin(2.0 * x * pi)) * 2.0 / 3.0;
ret += (20.0 * Math.sin(x * pi) + 40.0 * Math.sin(x / 3.0 * pi)) * 2.0 / 3.0;
ret += (150.0 * Math.sin(x / 12.0 * pi) + 300.0 * Math.sin(x / 30.0 * pi)) * 2.0 / 3.0;
return ret;
}
}
源码下载地址:http://download.csdn.net/detail/junfeng120125/5945349
转自:http://blog.csdn.net/junfeng120125/article/details/9966857
相关推荐
gps纠偏算法适用于google,高德体系的地图
GPS纠偏算法,能将真实的坐标转换成谷歌、高德、微软、腾讯地图坐标。GPS到地图能转换,反的你们还不会吗? 里面是C#写的demo,其他开发语言自己翻译吧!
谷歌地图坐标纠偏算法javascript版.docx
TraceByAmap - 自定义算法纠偏高德地图定位
对GSP经纬度数据进行纠偏计算,过滤掉偏移无效的数据。画出规整的轨迹。
高德系网络地图纠偏access数据库,可以导入其他数据库中使用,字段前面2个是经纬度范围,中间2个是偏移像素每级缩放除以2,最后2个是偏移经纬度,提供的格式是度,需要度分的自己转,适用于googlemap,mapabc,腾讯...
gps坐标转地图坐标算法,纠偏算法。GPS坐标就是传说中大地坐标系统(WGS-84),国内的互联网公司,都不会使用GPS坐标,因为这不符合国家政策。所以大家都会使用GCJ-02坐标系,如腾讯搜搜地图、搜狐搜狗地图、阿里云...
学习python加载百度、高德地图过程中,通过百度提供的纠偏接口速度缓慢,制作轨迹回放时速度缓慢,百度过很多资源,只有C#版本的纠偏类,随改为python3类,以供使用,已测试百度地图效果标点重合!
java编写的轨迹纠偏算法,包含异常点检测、滤波平滑,以及代码使用示例和结果分析
google地图的纠偏数据库,完全解决gps偏移问题!
Cesium 常用地图纠偏 百度、高德、Arcgis、腾讯地图纠偏 资源预览:http://dongnan185.com:8083/videos/jiupian.mp4 启动:npm i npm run serve
googlemap谷歌地图gps纠偏数据库免费下载 纠偏数据库(google地图) 精度为0.01:经纬度每变化0.01,取一次偏移值,共980万条,access文件约600mb,误差5~10米。 精度为0.001:经纬度每变化0.001,取一次偏移值,共9...
此技术针对百度地图,完全解决百度地图gps偏移问题,是最方便的gps纠偏资源
gps2google和gps2baidu经纬度转换纠偏 为了国家安全,国内的各种在线地图都根据天朝测绘局标准统一对经纬度作了纠偏处理。...上面已说到,百度地图是在GCJ-02坐标系基础上进行二次加密的,所以此算法适用于百度地图。
2014+最新版 1、谷歌地图离线API3.16.2 2、简单纠偏算法 3、画扇形 4、画轨迹
最新全国百度、高德、谷歌等各类地图经纬度偏移,经纬度纠偏,gps偏移,gps纠偏数据库。
纠正高德地图定位位置偏差案例,只需要自己在高德开发中心申请的key替换到我的key,一运行就会弹出alert(经纬度)
精确度为0.1的纠偏数据,适用于google地图偏移、gps纠偏,内附使用说明及适用程序
baidu地图gps纠偏数据库(百度纠偏数据库),地图偏移,经纬度偏移的权威官方解决方案
GoogleMap 谷歌地图 GPS纠偏数据下载器 0.1精度 所谓0.1精度,就是每隔0.1度提供一个修正值,详情请参见我的博客: http://blog.csdn.net/hushoubo/article/details/7708804