# CoordinateTransform **Repository Path**: gee1k/CoordinateTransform ## Basic Information - **Project Name**: CoordinateTransform - **Description**: 提供了百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: http://stool.svend.cc/#/coordtransform - **GVP Project**: No ## Statistics - **Stars**: 117 - **Forks**: 36 - **Created**: 2016-07-27 - **Last Updated**: 2025-05-27 ## Categories & Tags **Categories**: utils **Tags**: None ## README #CoordinateTransform 坐标转换 **** 提供百度坐标(BD09)、WGS84坐标、国测局坐标(火星坐标,GCJ02)系之间的转换的工具模块 会有偏移,但是还能接受 ### WGS84 - 国际标准,从 GPS 设备中取出的数据的坐标系 - 国际地图提供商使用的坐标系 ### 火星坐标 (GCJ-02) - 中国标准,从国行移动设备中定位获取的坐标数据使用这个坐标系 - 国家规定: 国内出版的各种地图系统(包括电子形式),必须至少采用GCJ-02对地理位置进行首次加密。 ### 百度坐标 (BD-09) - 百度标准,百度 SDK,百度地图 ### 用法(Using) 1 JavaScript 引用disk下面的 CoordinateTransform.js ``` 坐标转换JS使用例子

提供了百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换,会有偏差,但是偏差在可接受范围之内

结果请在控制台查看(Results please view the console)

``` 2 Java 将disk下的CoordinateTransform.java放入项目 ``` public static void main(String[] args) { //百度地图 BD09 坐标 转 WGS84 double[] lngLat_wgs84 = CoordinateTransform.transformBD09ToWGS84(120.644049, 31.285887); System.out.println("lng :" + lngLat_wgs84[0] + ",lat :" + lngLat_wgs84[1]); //WGS84 坐标 转 百度地图 BD09 double[] lngLat_bd09 = CoordinateTransform.transformWGS84ToBD09(lngLat_wgs84[0], lngLat_wgs84[1]); System.out.println("lng :" + lngLat_bd09[0] + ",lat :" + lngLat_bd09[1]); //火星坐标(GCJ02) 坐标 转 WGS84 lngLat_wgs84 = CoordinateTransform.transformGCJ02ToWGS84(120.644049, 31.285887); System.out.println("lng :" + lngLat_wgs84[0] + ",lat :" + lngLat_wgs84[1]); //WGS84 转 火星坐标(GCJ02) double[] lngLat_gcj02 = CoordinateTransform.transformWGS84ToGCJ02(lngLat_wgs84[0], lngLat_wgs84[1]); System.out.println("lng :" + lngLat_gcj02[0] + ",lat :" + lngLat_gcj02[1]); //百度地图 BD09 坐标 转 火星坐标(GCJ02) lngLat_gcj02 = CoordinateTransform.transformBD09ToGCJ02(120.644049, 31.285887); System.out.println("lng :" + lngLat_gcj02[0] + ",lat :" + lngLat_gcj02[1]); //火星坐标(GCJ02) 坐标 转 百度地图 BD09 lngLat_bd09 = CoordinateTransform.transformGCJ02ToBD09(lngLat_gcj02[0], lngLat_gcj02[1]); System.out.println("lng :" + lngLat_bd09[0] + ",lat :" + lngLat_bd09[1]); } ``` 3.Python import CoordinateTransform.py ``` import CoordinateTransform # 百度地图 BD09 坐标 转 WGS84 lngLat_wgs84 = CoordinateTransform.transformBD09ToWGS84(120.644049, 31.285887) print(lngLat_wgs84) # WGS84 坐标 转 百度地图 BD09 lngLat_bd09 = CoordinateTransform.transformWGS84ToBD09(lngLat_wgs84[0], lngLat_wgs84[1]) print(lngLat_bd09) # 火星坐标(GCJ02) 坐标 转 WGS84 lngLat_wgs84 = CoordinateTransform.transformGCJ02ToWGS84(120.644049, 31.285887) print(lngLat_wgs84) # WGS84 转 火星坐标(GCJ02) lngLat_gcj02 = CoordinateTransform.transformWGS84ToGCJ02(lngLat_wgs84[0], lngLat_wgs84[1]) print(lngLat_gcj02) # 百度地图 BD09 坐标 转 火星坐标(GCJ02) lngLat_gcj02 = CoordinateTransform.transformBD09ToGCJ02(120.644049, 31.285887) print(lngLat_gcj02) # 火星坐标(GCJ02) 坐标 转 百度地图 BD09 lngLat_bd09 = CoordinateTransform.transformGCJ02ToBD09(lngLat_gcj02[0], lngLat_gcj02[1]) print(lngLat_bd09) ```