`

GPS纠偏算法,适用于google,高德体系的地图

    博客分类:
  • GPS
阅读更多

/**
* 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

 

分享到:
评论

相关推荐

    纠偏算法适用于谷歌腾讯微软高德

    标题"纠偏算法适用于谷歌腾讯微软高德"表明,这个算法是专门针对四大主流地图服务提供商——谷歌地图、腾讯地图、微软必应地图和高德地图设计的。这四家公司的地图服务都采用了不同的坐标系,因此,纠偏算法能够将...

    谷歌地图坐标纠偏算法javascript版.docx

    从文件的标题、描述、标签和部分内容可以看出,这是一个关于GPS坐标纠偏算法的javascript实现,特别是用于Google Map和高德地图的坐标转换。 坐标纠偏算法的必要性 在GPS定位技术中,坐标纠偏是一个非常重要的问题...

    python3 GPS数据纠偏类(适用谷歌、高德、百度地图纠偏)

    本主题主要探讨的是如何在Python3环境下利用自定义类来实现GPS数据的纠偏功能,适用于谷歌、高德和百度地图。 首先,我们来看`GpsConvert.py`这个文件。这个文件中应该包含了Python3的类,用于实现GPS数据的纠偏...

    gps纠偏算法

    GPS纠偏算法是用于纠正GPS定位数据偏差的一种技术,主要针对的是在中国区域内的地图服务,如Google地图、高德地图等。由于地理坐标系统的差异以及政策原因,中国的地图数据需要进行一定的偏移处理,以符合国家测绘局...

    最新全国百度、高德、谷歌等各类地图经纬度偏移,经纬度纠偏,gps偏移,gps纠偏数据库。

    本主题聚焦于“最新全国百度、高德、谷歌等各类地图经纬度偏移,经纬度纠偏,GPS偏移,GPS纠偏数据库”,这些概念涉及到地图数据处理的核心技术,对确保精确地理位置信息至关重要。 首先,我们要理解经纬度偏移的...

    纠偏数据库、经纬度纠偏、gps纠偏(百度纠偏数据库、谷歌纠偏数据库)

    GPS纠偏是通过各种算法和技术来改善GPS接收器提供的原始坐标数据。这可能包括差分校正、星基增强系统(如WAAS、EGNOS等)、地基增强系统、网络辅助GPS(A-GPS)等。这些方法能减少定位漂移,提高定位速度和精度。 ...

    Android中GPS坐标转换为高德地图坐标详解

    本文主要聚焦于Android系统中如何将GPS获取的坐标转换为适用于高德地图的坐标。 首先,我们需要理解不同坐标系统的概念。GPS坐标通常基于WGS84(World Geodetic System 1984)标准,这是一种全球通用的地理坐标系统...

    地图纠偏算法

    例如,从GPS坐标系转换到像谷歌地图或高德地图这样的商业地图服务所使用的坐标系。这种转换对于确保位置数据的准确性和跨平台的兼容性至关重要。 #### 二、地图纠偏算法的基本原理 地图纠偏算法主要涉及将一种坐标...

    gps2google和gps2baidu经纬度转换纠偏

    此为 WGS-84 坐标系 转 GCJ-02坐标系 纠偏算法,即GPS真实经纬度转为Google地图经纬度。 由于Google、高德、soso等地图在国内均采用GCJ-02坐标系,此算法使用于这些地图。 2、BaiduGPSCorrect.java 此为 GCJ-02...

    js版地图纠偏

    "js版地图纠偏"指的是使用JavaScript实现的地图坐标矫正功能,适用于谷歌、百度、高德等主流在线地图平台。JavaScript作为一种广泛使用的前端编程语言,使得这种纠偏技术能够在网页端直接运行,提供实时的坐标转换...

    0.1的gps地图纠偏偏移数据库

    在IT行业中,GPS(全球定位系统)地图纠偏是一个重要的技术领域,特别是在地理信息系统(GIS)和导航软件中。本文将深入探讨标题“0.1的GPS地图纠偏偏移数据库”所涉及的知识点,以及如何利用这样的数据进行地图纠偏...

    百度、高德、谷歌、火星、wgs84(2000)地图坐标相互转换纠偏的JS实现

    首先,我们来看标题提到的"百度、高德、谷歌、火星、wgs84(2000)地图坐标相互转换纠偏的JS实现"。这通常涉及到以下几个关键知识点: 1. **坐标系**:每个地图服务都有自己的一套坐标系统。例如,百度地图使用的是...

    gps开发和互联网项目开发中,gps偏移的权威技术解决(gps偏移,经纬度偏移,gps纠偏,经纬度纠偏)权威方案

    这种技术解决方案已经被广泛应用于中国的互联网公司和GPS公司,例如百度地图、高德地图、谷歌地图等。这些公司都需要使用国家保密插件来保证国家安全,同时也需要使用纠偏数据库来解决经纬度偏移问题。 在实际应用...

    Gps坐标转高德工具类

    GPS转高德,谷歌系地图, 此为 WGS-84 坐标系 转 GCJ-02坐标系 纠偏算法,即GPS真实经纬度转为Google地图经纬度。 由于Google、高德、soso等地图在国内均采用GCJ-02坐标系,此算法使用于这些地图。

    c# GPS坐标与火星坐标互转

    火星坐标,通常指的是GCJ-02坐标系统,是由中国国家测绘局采用的一种加密方式,主要应用于中国的电子地图服务,如高德地图。Google坐标,即Web Mercator坐标系统,是谷歌地图采用的标准,它是一种投影坐标系,便于...

    地图偏移改正

    地图偏移改正涉及到的不仅仅是地图的显示,还包括地图API服务,例如高德地图提供的服务,它为众多互联网平台如谷歌、腾讯、新浪等提供了基础地图服务支持。 对于开发者来说,如果需要在地图上准确显示GPS数据,就...

    LBS研究与分享

    目前市场上很多LBS应用软件都会采用第三方的地图API来提供服务,例如百度地图API、高德地图API等。 - **第三方地图API**:大多数情况下,这类API能够提供较为准确的位置信息,但也会存在一定的偏差。这主要是由于...

Global site tag (gtag.js) - Google Analytics