
坐标体系多种多样,开发者们通常会遇到几种主要的坐标体系:
首先是GPS坐标,即WGS-84,这是国际标准的坐标体系。尽管GPS记录的坐标多为这种形式,但在我国,地图产品不允许使用GPS坐标,以防泄密。
其次是GCJ-02,即国测局在2002年发布的坐标体系,被称为“火星坐标”,在国内应用广泛,包括谷歌、腾讯和高德等公司。
还有其他由GCJ-02经过偏移算法得到的坐标体系,如百度和搜狗各自使用的坐标体系,彼此之间不兼容。
坐标体系的原点都是非洲,这决定了其分类。
经纬度坐标是球面坐标,北京的坐标为(116.388171,39.935961)。如果是度分秒坐标,需要转换为经纬度坐标,具体转换方法为:31分即31/60度,20.51秒即20.51/3600度,加起来得到最终的经纬度坐标。
墨卡托坐标是平面坐标,主要用于程序后台计算,数字通常较大,如(215362.00021333335,99526.00034912192)。搜狗地图API使用的就是这种坐标。
在各种Web端平台,如谷歌地图API、高德地图API、腾讯地图API等获取的坐标,都是GCJ-02坐标,适用于大部分地图API产品及地图。
百度API上的坐标是BD-09坐标,仅适用于百度地图相关产品。搜狗API上的坐标为搜狗坐标,仅适用于搜狗地图相关产品。谷歌地球上的坐标为GPS坐标,且为度分秒形式,不允许在我国使用,需转换为GCJ-02坐标。
度分秒坐标转换为经纬度的计算方法为:将分转换为度,将秒转换为度,然后相加。
GPS坐标转换为GCJ-02坐标,需在地图上直接取点或通过地址解析得到,或者使用特定接口,例如type=1的接口。
GCJ-02坐标与BD-09坐标之间的转换,有详细讲解,包括线性算法,如To_B和To_G函数。
经纬度转墨卡托坐标也有具体的转换方法。
申请各家API公司的坐标转换接口,通常需要提供公司名称、项目名称、项目简介、联系人和联系方式等信息,发邮件至地图API公司的商务部。