QGIS学习遇到坐标转换难题?连环追问数据投影与地理配准(附:参数对照表)

GIS基础理论
Dr.GIS
wowwwai GIS研习社 · 工具流程与项目排障

QGIS学习遇到坐标转换难题?连环追问数据投影与地理配准(附:参数对照表),这个问题通常不是“点一下重投影”就能解决。很多同学在 QGIS 中遇到图层偏移、底图对不上、影像配准后仍然错位,根本原因往往混在三个概念里:坐标系定义、坐标转换、地理配准。

本文按实际排错思路来讲:先判断数据有没有坐标系,再判断是不是需要转换投影,最后再判断是否必须做地理配准。你可以把它当作一套 QGIS 坐标转换难题的检查流程。

引言:先别急着转换,先问三个问题

在 QGIS 学习过程中,最常见的错误操作是:看到图层不重合,就立刻使用“另存为”或“重投影图层”。但如果原始数据本身没有正确的 CRS(Coordinate Reference System,坐标参考系统),直接转换只会把错误继续放大。

遇到图层错位时,建议先连续追问这三个问题:

  1. 这个数据有没有坐标系定义?例如 Shapefile 是否有 .prj 文件,GeoTIFF 是否带投影信息。
  2. 这个数据的坐标值像经纬度还是平面坐标?经纬度通常类似 116.39、39.90;投影坐标通常是几万、几十万、几百万。
  3. 它是坐标系不一致,还是图像本身没有空间位置?前者做坐标转换,后者做地理配准。
QGIS坐标转换难题与QGIS数据投影排查流程
QGIS 中排查坐标转换、数据投影与地理配准问题的基本判断流程。

背景:QGIS数据投影为什么经常对不上

QGIS 默认支持“即时重投影”,也就是项目 CRS 与图层 CRS 不一致时,软件会在显示时临时转换,让多个图层看起来能叠加。但这并不代表数据本身已经被真正转换。

因此,很多初学者会产生两个误解:

  • 在地图画布上看起来叠加了,就以为数据已经统一坐标系。
  • 图层显示错位,就以为一定是投影转换失败。

实际上,QGIS 坐标问题通常来自以下几类情况:

  • 数据没有坐标系定义:例如 Shapefile 缺少 .prj 文件,QGIS 只能猜测或显示为未知 CRS。
  • 坐标系定义错了:数据本来是 CGCS2000 高斯投影,却被错误指定为 WGS 84 经纬度。
  • 只定义了坐标系,没有转换坐标值:这会导致图层位置严重错误。
  • 需要基准面转换参数:例如不同大地基准之间转换时可能涉及七参数、三参数或网格改正。
  • 影像没有空间参考:扫描地图、截图、无人机拼接图如果没有坐标信息,需要地理配准。

记住一句话:定义坐标系是告诉 QGIS 这些坐标值原本属于哪个系统;坐标转换是把坐标值计算到另一个系统;地理配准是给没有空间位置的图像建立空间位置。

原理:坐标系定义、坐标转换、地理配准不是一回事

1. 定义坐标系:只改“说明书”,不改坐标值

定义坐标系的作用是给数据补上 CRS 信息。它不会改变要素坐标值。

例如一个点的坐标是:

X = 500000
Y = 4420000

如果这个点本来属于 UTM 或高斯投影,定义正确 CRS 后,QGIS 才知道它应该出现在地球上的哪个位置。如果你把它错误定义为 WGS 84 经纬度,QGIS 会把 500000 当成经度,结果当然会飞到异常位置。

2. 坐标转换:改变坐标值,生成新数据

坐标转换也常被称为重投影。它会根据源 CRS 与目标 CRS,把坐标值计算成另一个坐标系下的新坐标。

例如把 WGS 84 经纬度转换为 Web Mercator,坐标值会从:

经度 = 116.391
纬度 = 39.907

变成类似:

X = 12956500
Y = 4852500

在 QGIS 中,常用操作是右键图层,选择“导出”,再选择“另存为”,在 CRS 中设置目标坐标系。这个过程会生成一个真正的新图层。

3. 地理配准:给图片找控制点

地理配准主要用于没有空间参考的栅格图像,例如扫描地形图、历史地图、CAD 导出的图片、截图式规划图等。

它不是简单投影转换,而是通过控制点建立图像像素位置与真实地图坐标之间的关系。QGIS 的“地理配准器”可以完成这项工作。

步骤:QGIS坐标转换难题的实操排查流程

步骤一:查看图层 CRS 与项目 CRS

  1. 打开 QGIS,加载你的矢量或栅格数据。
  2. 右键图层,选择“属性”。
  3. 进入“信息”或“源”页面,查看图层 CRS。
  4. 查看 QGIS 右下角的项目 CRS。
  5. 确认图层 CRS 与项目 CRS 是否一致。

如果图层 CRS 显示为“未知 CRS”,不要直接转换。你需要先判断它原本应该属于哪个坐标系。

步骤二:根据坐标值判断数据类型

打开属性表或使用“识别要素”工具,查看坐标范围。可以参考下面的经验判断:

坐标值特征 可能的数据投影 处理建议
经度约 -180 到 180,纬度约 -90 到 90 地理坐标系,如 WGS 84、CGCS2000 经纬度 检查是否需要转换为投影坐标系
X、Y 为几十万或几百万 投影坐标系,如 UTM、高斯克吕格、Web Mercator 先确认中央经线、分带和单位
X、Y 很小,例如几百或几千 可能是 CAD 局部坐标或工程坐标 通常不能直接套用标准 CRS,需找转换关系
影像像素坐标,没有真实地理坐标 未配准图片 使用地理配准器建立控制点

步骤三:如果只是缺少 CRS,先设置图层 CRS

如果你确认数据本来就是某个 CRS,只是文件没有写入投影信息,可以在 QGIS 中设置图层 CRS。

  1. 右键图层。
  2. 选择“图层 CRS”。
  3. 选择“设置图层 CRS”。
  4. 搜索正确的 CRS,例如 EPSG:4326、EPSG:3857、CGCS2000 或对应高斯投影。
  5. 确认后查看图层是否回到合理位置。

注意,这一步只是给数据补充坐标系定义,不是坐标转换。如果定义错了,后续所有转换都会错。

步骤四:如果 CRS 已正确,再执行坐标转换

当源 CRS 已确认无误,而你需要把数据转换到项目统一坐标系时,再做重投影。

  1. 右键图层,选择“导出”。
  2. 点击“另存为”。
  3. 格式选择 GeoPackage、ESRI Shapefile 或 GeoJSON。
  4. 在 CRS 中选择目标坐标系。
  5. 设置输出路径。
  6. 点击“确定”,生成新图层。

推荐优先使用 GeoPackage 保存中间结果,因为它比 Shapefile 更适合中文字段、长字段名和多图层管理。

步骤五:如果是扫描图或无坐标图片,使用地理配准

如果你的数据是 JPG、PNG、TIFF 图片,而且没有正确地理位置,就需要地理配准。

  1. 打开 QGIS 的“栅格”菜单。
  2. 进入“地理配准器”。
  3. 加载待配准图片。
  4. 选择至少 4 个清晰控制点,例如道路交叉口、桥梁、地块角点。
  5. 为每个控制点输入真实坐标,或从已配准底图中拾取。
  6. 选择变换类型,例如线性、多项式一阶或薄板样条。
  7. 设置目标 CRS 和输出 GeoTIFF。
  8. 运行配准并加载结果检查偏差。

控制点越多不一定越好,关键是分布均匀、位置可靠。所有控制点集中在图像一角时,远端区域很容易出现拉伸变形。

参数对照表:QGIS坐标转换常见参数怎么选

参数或选项 适用场景 错误选择的后果 建议
源 CRS 描述原始数据当前坐标系 源 CRS 错误会导致转换结果整体错位 先从数据来源、坐标值范围、元数据判断
目标 CRS 希望输出到的坐标系 单位、距离、面积计算不符合预期 制图可选项目 CRS,量算应选合适投影坐标系
EPSG 代码 快速识别标准坐标系 选到相似但不同的 CRS,例如分带错误 不要只看名称,要核对区域、单位和中央经线
中央经线 高斯克吕格、横轴墨卡托等投影 东西方向偏移明显 根据所在经度和分带规则确认
单位 米、度、英尺等 面积、距离计算异常 工程分析尽量使用米制投影坐标系
基准面转换 不同大地基准之间转换 可能出现米级到百米级偏差 有精度要求时使用权威转换参数
重采样方法 栅格重投影或地理配准 影像模糊、分类值被改变 连续影像用双线性或三次卷积,分类栅格用最近邻

常见坑:QGIS学习坐标转换时最容易踩的错误

坑一:把“设置图层 CRS”当成“重投影”

这是最常见的问题。设置图层 CRS 只是告诉 QGIS 原始坐标值属于哪个系统,不会计算新坐标。真正的坐标转换需要通过“导出另存为”或处理工具箱中的“重投影图层”生成新数据。

坑二:在线底图对不上就认为自己的数据错了

Web 在线底图通常使用 Web Mercator,也就是 EPSG:3857。你的数据如果是本地投影坐标系,QGIS 会即时重投影显示。若仍然偏移,要检查:

  • 数据源 CRS 是否正确;
  • 项目 CRS 是否合理;
  • 是否存在火星坐标、百度坐标等互联网地图偏移问题;
  • 是否使用了错误的基准面转换。

坑三:经纬度图层直接计算面积

如果图层 CRS 是 WGS 84 经纬度,坐标单位是“度”,直接计算面积很容易得到不符合实际的结果。应先转换到适合研究区的投影坐标系,再计算面积和长度。

坑四:高斯投影分带选错

国内数据常见高斯克吕格投影。分带、带号、中央经线、是否带带号,都可能影响结果。如果选错分带,图层可能整体偏移几十公里甚至更多。

坑五:地理配准控制点只选在一小块区域

控制点应尽量覆盖图像四周和中部。如果只选在左上角,右下角可能严重变形。配准后要检查残差,并用独立检查点验证。

方法比较:定义坐标系、重投影、地理配准该怎么选

方法 解决的问题 是否改变坐标值 典型工具 适用数据
设置图层 CRS 数据缺少或未识别坐标系定义 QGIS 图层 CRS 设置 矢量、栅格
重投影图层 把数据从一个 CRS 转换到另一个 CRS 导出另存为、处理工具箱重投影 矢量数据为主
栅格重投影 转换栅格影像坐标系 Warp、GDAL 重投影 GeoTIFF、栅格数据
地理配准 无空间参考图片建立真实地理位置 建立像素到地图坐标的关系 QGIS 地理配准器 扫描图、截图、历史地图
坐标偏移纠正 处理非标准偏移或地方坐标 通常是 仿射变换、控制点转换、自定义脚本 工程坐标、地方坐标数据

如果你不确定该选哪一种,可以按这个顺序判断:先确认原始 CRS,再决定是否重投影,最后才考虑地理配准或坐标偏移纠正。

检查清单:发布或分析前必须核对这些项

  • 数据来源是否可靠:是否有元数据、坐标系说明、测绘说明或数据字典。
  • 图层 CRS 是否明确:不要让关键数据长期处于未知 CRS 状态。
  • 项目 CRS 是否符合用途:展示、分析、制图可能需要不同 CRS。
  • 坐标单位是否正确:度、米、英尺混用会影响长度和面积。
  • 是否需要基准面转换:高精度工程项目不能忽略转换参数。
  • 重投影后是否生成新文件:不要误以为即时重投影等于永久转换。
  • 是否用独立参考图层验证:可以用道路、行政区、控制点或影像底图检查。
  • 地理配准残差是否合理:不要只看图片加载成功,还要检查关键位置偏差。
  • 输出格式是否合适:中间成果建议用 GeoPackage,栅格成果建议用 GeoTIFF。

FAQ:QGIS坐标转换与地理配准常见问题

1. QGIS 中图层错位一定是坐标系错了吗?

不一定。图层错位可能来自 CRS 定义错误、投影转换错误、分带错误、基准面转换缺失、在线地图偏移,也可能是原始数据采集精度不足。应先看图层 CRS 和坐标值范围,再判断原因。

2. QGIS 设置图层 CRS 后为什么位置更错了?

通常是因为你设置了错误的 CRS。设置图层 CRS 不会改变坐标值,只是解释坐标值。如果原始数据是投影坐标,却被设置成经纬度,位置会明显异常。

3. QGIS 坐标转换后面积还是不对怎么办?

先确认目标 CRS 是否为适合研究区的投影坐标系,并且单位是米。不要在 WGS 84 经纬度图层上直接做面积统计。转换后还要检查字段计算器使用的面积函数是否基于图层几何。

4. EPSG:4326 和 EPSG:3857 有什么区别?

EPSG:4326 通常表示 WGS 84 经纬度坐标系,单位是度。EPSG:3857 是 Web Mercator 投影坐标系,常用于 WebGIS 在线底图,单位是米。前者适合记录全球位置,后者适合互联网地图显示,但不适合高精度面积量算。

5. 扫描地图能不能直接做坐标转换?

不能。扫描地图如果只是普通图片,没有空间参考,就没有可转换的真实坐标。你需要先使用 QGIS 地理配准器,通过控制点把图片配准到真实坐标系统中。

6. Shapefile 没有 .prj 文件怎么办?

没有 .prj 文件说明坐标系信息缺失。你需要从数据来源、坐标值、同批数据说明中找出原始 CRS,然后在 QGIS 中设置图层 CRS。确认位置正确后,再按需要进行坐标转换。

7. 为什么同样是 CGCS2000,数据还是对不上?

CGCS2000 既可以是地理坐标系,也可以有不同投影分带。即使名称相似,中央经线、带号、单位、投影方法不同,结果也会不同。需要核对完整 CRS 参数,而不是只看坐标系名称。

结论:解决QGIS坐标转换难题的核心是先判断问题类型

QGIS 坐标转换难题的关键,不在于记住某个按钮,而在于先判断:数据是缺少坐标系定义、需要重投影,还是需要地理配准。三类问题对应三套方法,混用就会越改越乱。

实际工作中建议采用固定流程:先看坐标值和图层 CRS,再核对项目 CRS,然后选择设置 CRS、重投影或地理配准。对于涉及高精度测绘、工程放样、国土调查的数据,还要特别关注基准面转换参数、分带规则和成果验证。

只要把“定义坐标系、坐标转换、地理配准”这三个概念分清,QGIS 数据投影问题就会从玄学变成可检查、可复现、可修正的标准流程。