经纬度投影(地理坐标系,如WGS84)和球面墨卡托投影(如Web Mercator,EPSG:3857)是地理信息系统(GIS)和在线地图中最常用的两种坐标系。它们的核心区别在于是否对地球表面进行投影变形处理。以下是两者的详细对比:
1. 定义与本质
经纬度(WGS84) | 球面墨卡托(Web Mercator) |
---|---|
地理坐标系:基于地球椭球体(如WGS84椭球),直接用经纬度(Lat/Lon)表示位置,未经过投影变形。 | 投影坐标系:将地球表面投影到圆柱面上并展开成平面,使用平面坐标(X/Y,单位:米)。 |
示例坐标:[116.4, 39.9] (北京) | 示例坐标:[12958174, 4825943] (北京投影后坐标) |
2. 形状与变形
经纬度 | 球面墨卡托 |
---|---|
无投影变形:直接记录地球表面的实际位置,但无法直接在平面地图上显示(需投影)。 | 保形投影:保持局部形状(角度)不变,但面积和距离在高纬度地区严重变形。 |
适用场景:GPS定位、地理数据存储、空间分析。 | 适用场景:在线地图(如Google Maps、OpenStreetMap)、Web地图可视化。 |
3. 关键区别总结
对比项 | 经纬度(WGS84) | 球面墨卡托(EPSG:3857) |
---|---|---|
坐标系类型 | 地理坐标系 | 投影坐标系 |
单位 | 角度(度) | 米 |
变形特性 | 无投影变形 | 高纬度地区面积膨胀、形状保真 |
地图显示 | 无法直接显示为平面地图 | 可直接显示为平面地图 |
常见用途 | 数据存储、GPS定位、空间分析 | 在线地图、瓦片地图服务 |
典型示例 | GPS设备返回的经纬度坐标 | Google Maps的坐标 |
4. 变形示例
-
球面墨卡托的面积变形:
高纬度地区(如格陵兰)在墨卡托投影下会被放大,实际面积远小于非洲,但投影后两者显示面积接近。
5. 转换关系
经纬度 → 球面墨卡托:
通过数学公式将经纬度转换为平面坐标(X/Y),例如:
function lonLatToMercator(lon, lat) {
const x = lon * 20037508.34 / 180;
const y = Math.log(Math.tan((90 + lat) * Math.PI / 360)) / (Math.PI / 180);
y = y * 20037508.34 / 180;
return [x, y];
}
-
球面墨卡托 → 经纬度:
反向计算将平面坐标转回经纬度。
6. 实际应用中的选择
-
使用经纬度(WGS84)的情况:
-
需要精确测量距离或面积(需考虑地球曲率)。
-
地理数据存储(如Shapefile、GeoJSON)。
-
GPS定位、传感器数据。
-
-
使用球面墨卡托(EPSG:3857)的情况:
-
在线地图显示(如Leaflet、OpenLayers默认使用此投影)。
-
地图瓦片服务(如Google Maps、Mapbox)。
-
需要与其他Web地图叠加显示时。
-
7. 常见误区
-
误区1:经纬度是“投影”的一种。
纠正:经纬度属于地理坐标系,未经过投影,直接基于椭球体模型。 -
误区2:墨卡托投影完全精确。
纠正:墨卡托是妥协方案,牺牲面积精度换取形状保真,适合导航但不适合科学分析。
总结
-
经纬度(WGS84):地理数据的基础,适合存储和分析,但无法直接可视化。
-
球面墨卡托(EPSG:3857):在线地图的通用投影,适合可视化但高纬度变形明显。
根据需求选择合适的坐标系:需要精确计算时用经纬度,需要地图显示时用墨卡托。