行政区划边界数据库
数据速览 · 持续更新

WGS84 / GCJ-02 / BD-09 坐标体系说明

中国地图场景存在三种坐标系:WGS84(GPS 原始坐标)、GCJ-02(高德、腾讯底图使用,俗称火星坐标)、BD-09(百度二次加密)。数据与底图坐标系不一致就会整体偏移数百米。记住一条规则:先统一坐标系再叠加,本文说明三种坐标的关系与转换方法。

坐标体系

WGS84、GCJ-02、BD-09 分别是什么

三种坐标的差异源于对真实经纬度的不同加密处理。

坐标系说明典型使用方
WGS84GPS 设备原生坐标(EPSG:4326),未经加密,GeoJSON 标准坐标Leaflet、Mapbox、Google Earth、QGIS/ArcGIS 通用
GCJ-02国测局加密偏移后的坐标(火星坐标),与真实位置偏差数百米高德地图、腾讯地图、部分国内服务
BD-09在 GCJ-02 基础上再做二次加密百度地图
偏移原因

为什么会偏移

加密是测绘法规要求,不是数据错误。

法律要求加密

国内公开地图服务按测绘法规对坐标做非线性偏移处理,因此高德、腾讯、百度的坐标都不是真实经纬度,而是加密后的近似值。

混用即错位

把 WGS84 数据直接叠加到高德底图上会整体偏移约数百米;反之亦然。偏移量随位置不同,不能简单加减常数。

典型表现

边界线与底图道路、地名对不齐,标记点落在错误的位置——这类问题九成是坐标系混用。

判断规则

什么时候需要转换

判断标准只有一条:数据的坐标系是否与底图一致。

  • Leaflet / Mapbox / QGIS / ArcGIS 底图(OSM、天地图、自有瓦片)→ 用 WGS84,无需转换。
  • 高德 / 腾讯 底图 → 数据需先转 GCJ-02
  • 百度 底图 → 数据需先转 BD-09(或 WGS84→GCJ-02→BD-09 分步转换)。
  • 不确定时,先取一个已知地标验证是否对位。
转换方法

怎么转换坐标

JavaScript 用 coordtransform / gcoord,Python 也有对应实现。

// JavaScript:gcoord(支持 WGS84 / GCJ02 / BD09 互转)
import gcoord from 'gcoord';
const result = gcoord.transform(
  [116.404, 39.915],           // 要转换的坐标
  gcoord.WGS84,                // 当前坐标系
  gcoord.GCJ02                 // 目标坐标系
);

// Python:coord_convert / pyproj 方案或坐标转换库
from coord_convert.transform import gcj2wgs, wgs2gcj
lng, lat = wgs2gcj(116.404, 39.915)   # WGS84 → GCJ-02

批量转换整个 GeoJSON 时,遍历每个坐标点调用转换函数即可;注意 GCJ-02 转换仅适用于中国大陆范围,港澳台及海外坐标不做偏移。

数据来源

本站边界数据:统一 WGS84,免转换

省、市、区县、乡镇、村五级边界均采用 GPS 原生 WGS84(EPSG:4326)。

免偏移交付

GeoJSON 标准坐标,Leaflet、Mapbox、QGIS、ArcGIS 直接加载,无需换算;若需叠加高德或百度底图,按上文方法统一转换即可。数据下载见地图分区下载整级打包页村级边界页

常见问题

常见问题

WGS84 和 GCJ-02 有什么区别?
WGS84 是 GPS 设备的原生坐标(EPSG:4326),未经加密,是 GeoJSON 的标准坐标;GCJ-02 是国测局对真实坐标做非线性偏移后的加密坐标(火星坐标),高德、腾讯底图使用。两者相差约数百米,不能直接互换。
为什么高德、百度的地图坐标会偏移?
国内公开地图服务按测绘法规要求对坐标做加密偏移处理,高德、腾讯使用 GCJ-02,百度在 GCJ-02 基础上再做一次 BD-09 加密。因此这些平台显示的坐标并非真实经纬度,与其他来源的 WGS84 数据混用时就会错位。
什么时候需要做坐标转换?
判断标准是数据的坐标系是否与底图一致:Leaflet、Mapbox、QGIS、ArcGIS 底图用 WGS84 无需转换;高德、腾讯底图需转 GCJ-02;百度底图需转 BD-09。不确定时可先取已知地标验证对位。
怎么把 WGS84 转成 GCJ-02?
JavaScript 可用 coordtransform、gcoord 等库,Python 可用 coord_convert 等实现,对每个坐标点调用转换函数即可。批量转换 GeoJSON 时遍历所有坐标点处理;注意 GCJ-02 转换仅适用于中国大陆范围。
本站边界数据是什么坐标系?
省、市、区县、乡镇、村五级边界统一采用 WGS84(EPSG:4326),即 GeoJSON 标准坐标,Leaflet、Mapbox、QGIS、ArcGIS 可直接加载无需转换;若需叠加高德或百度底图,按本文方法转换即可。

需要可直接使用的边界数据?

省、市、区县边界可 地图分区下载省市区县边界;乡镇边界与全国整级打包请在 整级打包页 选购;村界数据请在 村级边界页 按省获取。