一句话
CRS(坐标参考系)决定「一个数字对」在地球上的含义:用什么基准、什么单位、轴朝哪边。
1. 两类坐标
| 类型 | 例子 | 单位 | 特点 |
|---|---|---|---|
| 地理坐标系(GCS) | EPSG:4326 | 度 | 直接用经纬度描述球面位置 |
| 投影坐标系(PCS) | EPSG:3857、EPSG:32650 | 米 | 平面直角坐标,可量长度/面积 |
← 左右滑动查看完整表格 →
投影坐标系 = 地理坐标系(基准面)+ 一个投影方法 + 参数(中央经线、原点、假东/假北)。所以「3857 的米」和「32650 的米」不是同一套米。
2. EPSG 是什么
EPSG 是一套公开的坐标参考系参数数据集,每个 CRS 有一个整数代码:
EPSG:4326— WGS84 经纬度(度)EPSG:3857— Web 墨卡托(米)EPSG:4490— CGCS2000 经纬度EPSG:32650— WGS84 / UTM 50N(米)EPSG:4547— CGCS2000 / 3° 高斯-克吕格 中央经线 114°E(米)
查代码与参数:epsg.io、spatialreference.org。
3. 三个高频陷阱
陷阱一:轴序
EPSG:4326 的官方轴序是 纬度在前(lat, lon),但 GeoJSON / 大多数前端库用 经度在前(lon, lat)。OGC 为此单独定义了 CRS:84(lon, lat)。写代码时不要靠猜,明确转换。
陷阱二:单位
在 4326 上算距离得到的是「度」,不是米。1° 纬度约 111 km,但 1° 经度在赤道约 111 km、在 60°N 只有约 55.8 km。距离/面积必须投影到合适的 PCS,或用球面/椭球计算(PostGIS geography、Turf 的 geodesic 选项)。
陷阱三:随便换 EPSG
不同基准面之间的坐标不能直接套用。Beijing 1954 → CGCS2000 需要基准面转换(七参数/格网),只改 SRID 会把位置平移几十到上百米。
4. 分带与 UTM / 高斯-克吕格
投影离中央经线越远,变形越大。工程上把地球按经度切带:
- UTM:6° 一带,北半球
EPSG:326xx(xx = 带号),南半球327xx。 - 高斯-克吕格:中国常用 3° 带(也可 6° 带),带号写在 EPSG 名称里(如 4547 = 中央经线 114°E)。
5. 工程约定
- 存储用 4326(GeoJSON 默认、交换格式通用)。
- 算距离/面积:投影到局部 PCS,或直接用
geography/ geodesic 计算。 - 显示用 3857(瓦片地图的标准平面)。
- 每次读写都显式带上 CRS,不要依赖「默认是 4326」。
延伸阅读
- EPSG 代码与参数:epsg.io
- PROJ 坐标转换文档:proj.org/usage/transformation
- OGC 关于轴序的说明:OGC Axis Order Policy