地球是圆的,地图是平的。这一矛盾就是制图学的全部难题,而地图投影就是它的数学解。任何一种投影都是一次有意识的取舍:挑出对你最不痛的失真类型,接受其余的部分。
本文讲清楚什么是地图投影、主要的投影族谱、为什么所有网页地图都使用 Web Mercator,以及当精度真正重要时应该选哪一种投影。
为什么需要投影
地球仪是地球唯一诚实的呈现。一旦把球面摊到二维平面上,就必须在某处拉伸、撕裂或压缩。数学上有一个著名结论,即 Gauss 的 Theorema Egregium,它证明了不可能在不扭曲距离的前提下把球面摊平。因此与其追问「最完美的投影是什么」,制图师真正要问的是「我能承受哪一种失真」。
每一种投影都在以下四种属性之间权衡:
- 形状(保角性,conformality):保留角度和局部形状
- 面积(等积性,equivalence):区域以真实的相对大小呈现
- 距离(等距性,equidistance):从一个或两个点出发的距离准确
- 方向(方位性,azimuthality):从某一点出发的方向准确
没有任何一种投影能同时保留这四者。大多数投影只保留其中一种,并以可控的方式扭曲其余三种。
Mercator 投影
Gerardus Mercator 在 1569 年发布了这种投影。它属于圆柱投影,把地球放进与赤道相切的圆柱体中再展开。它的核心特性是保角性:地图上任意一点的角度都被保留,因此恒定罗盘方向(即恒向线,rhumb line)在地图上是一条直线。这让 Mercator 成为海上导航的完美工具。船长可以画一条直线,读出方位角,然后照着航行。
代价是面积失真极为严重。离赤道越远,要素被拉伸得越厉害。格陵兰看起来和非洲一样大(实际非洲是它的 14 倍),南极洲变成贴在地图底边的庞然大物,俄罗斯和加拿大相比赤道国家显得格外巨大。
这也是 Mercator 在教育和新闻领域被批评的原因:它扭曲了人们对国家真实大小的心智模型。Gall-Peters、Equal Earth 等替代投影正是为大众世界地图修正这一问题而设计的。
Web Mercator 与它胜出的原因
2005 年,Google 推出 Google Maps 时使用了一种略微改造过的 Mercator 投影,现在称为 Web Mercator(EPSG:3857)。Web Mercator 与经典 Mercator 在工程上的关键区别只有一点:它把地球当作完美球体,而不是更精确的椭球体(WGS84)。这让数学计算更快,也让瓦片服务器能把世界切成整齐的方形瓦片金字塔。
Web Mercator 之所以统治网页世界,原因只有一个:所有网页地图可以共用同一套全球瓦片网格。缩放级别 0 是覆盖全球的一张瓦片,级别 1 是 4 张,级别 n 是 4^n 张。平移和缩放就被简化为去拉取一组不同的小图片或矢量瓦片。Google Maps、Apple Maps、OpenStreetMap、MapAtlas 以及你用过的所有内嵌网页地图,那种顺滑的拖动体验都建立在这一前提之上。
Web Mercator 的代价是真实存在的,但对大多数产品场景而言可以接受:
- 与 Mercator 同样的面积失真(格陵兰依旧巨大)
- 在约 85.05 度纬度处截断两极(极点处数学上趋于无穷)
- 相对真实椭球模型存在轻微误差
对导航地图、房产地图或配送范围地图来说,这些都无关紧要。但对极地分析、按国家面积的等值区图比较、或任何面积重要的工作而言,Web Mercator 是错的工具。
其他主要投影族谱
等积投影
等积(equivalent)投影保留区域之间的相对面积,代价是形状被扭曲。任何需要读者比较面积的专题地图,例如人口密度、土地利用、按国家划分的选举结果,都应使用等积投影。
常见的等积投影:
- Mollweide:椭圆形世界地图,适合全球性专题可视化
- Equal Earth:2018 年推出,兼顾观感自然与面积守恒
- Albers Conic:美国本土及类似中纬度地区的标准投影
- Gall-Peters:因在教育语境中明确反对 Mercator 而广为人知
保角投影
保角投影保留角度和局部形状。Mercator 是其中最有名的,但还有许多针对特定区域调优的版本:
- Lambert Conformal Conic:航空图和美国州平面坐标系的标准
- Stereographic:保留圆形,常用于极地区域和小范围地图
等距投影
等距投影沿特定的线保留距离。Azimuthal Equidistant 投影以某一点为中心时,从该点出发的所有距离和方向都是准确的。联合国旗帜(以北极为中心)使用的就是这种投影。
折衷投影
折衷投影不严格保留任何单一属性,而是在各种失真之间取得平衡,使整体观感自然。它们在通用参考地图中很受欢迎。
- Robinson:1963 年推出,National Geographic 沿用了数十年
- Winkel Tripel:National Geographic 目前的标准
- Natural Earth:现代、简洁的折衷方案,专为屏幕显示设计
如何选择投影
从问题本身出发。
- 用于产品或导航的网页地图:Web Mercator,无需犹豫
- 全球专题地图(人口、气候、选举):Equal Earth 或 Mollweide
- 单一国家专题地图:选择针对该国纬度和形状优化的投影(美国用 Albers,欧洲用 Lambert,等等)
- 极地区域:Stereographic 或 Azimuthal Equidistant
- 导航海图:Mercator 或 Lambert Conformal Conic
- 通用世界参考地图:Winkel Tripel 或 Robinson
有一条好用的捷径:如果你做的是面积重要的分析,就用等积投影;如果你只是要在网页上放一张交互地图,就用 Web Mercator,不必再纠结。
坐标系与 EPSG 编码
每一种投影都有对应的 EPSG 编码。实际工作中最常见的几种:
- EPSG:4326:WGS84 经纬度,GPS 和大多数数据交换的默认值(其实并不是投影,只是椭球面上的经纬度)
- EPSG:3857:Web Mercator,几乎所有网页地图都在用
- EPSG:3035:ETRS89 / LAEA Europe,欧洲专题地图的等积投影
- EPSG:5070:NAD83 / Conus Albers,美国本土的等积投影
当数据以 EPSG:4326(经纬度)的形式落到你手上,而你又要把它显示在网页地图上,瓦片服务器会即时把它重投影到 EPSG:3857。当你需要做面积计算时,应先重投影到本地的等积投影。
在 MapAtlas 中处理投影
MapAtlas Maps API 与其他网页地图服务一样,以 Web Mercator(EPSG:3857)提供矢量与栅格瓦片。当你加载一份底图样式并叠加 EPSG:4326 的 GeoJSON 图层时,渲染器会负责显示时的重投影。涉及坐标的工作,坐标查询工具 返回标准 WGS84 经纬度(EPSG:4326)。
如果分析需要等积投影(真实面积计算、精确质心、每平方公里密度等),请在数据进入地图之前,在数据流水线里完成重投影。PostGIS、GDAL、Turf.js 等工具都能在 EPSG 编码之间完成转换。
地图投影是一种思考工具,而不是现实的属性。挑那一种贴合你问题的投影,并接受它要求你交出的东西。
常见问题
什么是地图投影?
地图投影是一种数学变换,把球形地球(一个三维椭球体)表面上的点映射到屏幕或纸张这样的二维平面上。由于无法在不拉伸、撕裂或压缩的前提下把球面摊平,任何投影都会扭曲某种属性:形状、面积、距离或方向。选择投影的关键,就是判断哪一类失真在你的场景里可以接受。
Mercator 投影是什么?为什么备受争议?
Mercator 投影由 Gerardus Mercator 于 1569 年设计,能在局部保留角度和形状,因此非常适合海上导航。代价是远离赤道时面积失真极为严重:格陵兰看起来与非洲大小相当,而非洲实际上是格陵兰的 14 倍。这也是 Mercator 在教育领域饱受批评的原因,它扭曲了人们对各国相对面积的直觉认知。
Web Mercator 是什么?为什么所有网页地图都在用它?
Web Mercator(EPSG:3857)是 Google 在 2005 年为 Google Maps 标准化的 Mercator 变体。它把地球当作完美球体而不是椭球体,这样能加快计算,但会引入小幅误差。Web Mercator 之所以成为事实上的网页地图标准,是因为瓦片服务器可以共用同一套全球方形瓦片金字塔,让平移和缩放都极快。代价是它继承了经典 Mercator 同样的面积失真。

