根据经纬度,如何获取地址(经纬度解析中文地址)

发布时间:2013-01-06 15:14:51

根据经纬度,如何获取地址(经纬度解析中文地址)

移动开发中和poi数据开发中,需要通过经纬度,获取省、市、区(县)等中文地址,这个一直没有标准的技术解决方案,LBS数据中心经过努力,完全解决了这一问题。

具体的实现方式如下:

国内唯一权威、标准的经纬度解析数据库,根据精度和纬度每变化0.01,就解析一次标准的地址,完全覆盖全国,数据量980万条。

数据样式:

其他技术文章:

对于未知点LNGx,LATx,对于进行0.1精度取整,得坐标点LNG0, LAT0,并以此为基点得到包络未知点LNGx, LATx的其他三个坐标点数值(例如:111.111,44.4440.1精度取整后得到111.1, 44.4,其他三个包络点为111.1, 44.5, 111.2,44.4, 111.2, 44.5, 具体示意见下图)

从已知偏移表中查出四个坐标点的偏移量,分别记为 OSLNG0, OSLAT0 OSLNG3, OSLAT3(见图示)

根据LNG1,LAT1LNG0, LAT1的偏移量进行线性插值,计算出LNGx, LAT1的偏移量OSLNG5,OSLAT5, 方法出下(VB代码):

r = Abs(LNGx - LNG0)

r1 = Abs(LNG1 - LNGx) 

If (r0 < 0.00000000001) Then

OSLNG5 = OSLNG3

OSLAT5=OSLAT3

ElseIf (r1 < 0.00000000001) Then

OSLNG5 = OSLNG2

OSLAT5=OSLAT2

Else

    OSLNG5 = (OSLNG3 / r0 + OSLNG2 / r1) / (1 / r0 + 1 / r1)

    OSLAT5 = (OSLAT3 / r0 + OSLAT2 / r1) / (1 / r0 + 1 / r1)

End If

同法可计算得到OSLNG4, OSLAT4,之后,根据LNGx, LAT0LNGx, LAT1的位置,同法可计算出OSLNGxOSLATx

原理:在小尺度内加偏的曲线函数可以近似地用直线代替进行估算

根据经纬度,如何获取地址(经纬度解析中文地址)

相关推荐