• gcj_02和wgs84地理坐标系的相互转换原理


    百度Place API 的一点解释

    百度的Place API 返回值的坐标系统是百度经纬度坐标系统

    请求参数中的coord_type控制的是请求参数中的bounds或者location的坐标系统

    gcj_02 转换为wgs84的原理

    地理坐标的加密存在局限性。

    因为:

    1. 地理坐标是连续的(空间的本质)

    2. 加密后的地理坐标是连续的(地图的本质)

    3. 加密函数是连续的(地图的本质)

    4. 如果假设加密函数是$f(x)$
      我们还可以直观地知道,
      对于邻近的两个地理坐标x1,x2

    f(x1) - f(x2) approx x1 - x2
    
    f(x) - x = delta
    

    $delta$的值应该是无规律的,小的。
    道理很简单,因为加密后的地图,仍然要是可用的地图。

    1. 地理坐标是不精确地,允许误差(测量误差,数字计算机的精度)
    2. GPS的精度大概是百万分之一度[1]

    基于此,假设加密函数$f(x)$已知,我们可以用数值的方法来解密。

    对于给定的加密值$x^{'}$, 我们设$x$为真实地理坐标

    $x_1 = x^{'}$ 为真实地理坐标的一个邻近点。(δ很小)

    根据上面的假设:

    
    x - x_1 = f(x) - f(x_1)
    
    x = x_1 + f(x) - f(x_1)
    
      = x^{'} + x^{'} - f(x^{'})
    
    

    以上的式子给出了x的一个估计值。

    我们可以重复上面的过程。

    $x_2 = 2x^{'} - f(x^{'})$ 重复上面的过程

    
    x - x_2 = f(x) - f(x_2)
    
    x = x_2 + f(x) - f(x_2)
    
      = x_2 + x^{'} - f(x_2)
     
      = 3x^{'} - f(x^{'}) - f(2x^{'} - f(x^{'}))
    
    

    重复这个过程当$f(x)$$x^{'}$的差值小于要求的误差时,即认为解密成功。

    参考文献:

    1. 关于gcj02与dbII09的反向算法即地理坐标的不可加密性
  • 相关阅读:
    用windows脚本实现文件下载
    pku1325 Machine Schedule
    中位数
    pku1468 Rectangles
    最小密度路径
    合并序列
    PowerDesigner(5)转载
    责任链模式
    PowerDesigner(3)转载
    解释器模式
  • 原文地址:https://www.cnblogs.com/hao-ming/p/6702442.html
Copyright © 2020-2023  润新知