QGIS坐标系转换总出错?投影变换与地理配准实操详解(附:参数对照表)

QGIS
Dr.GIS
wowwwai GIS研习社 · 工具流程与项目排障

如果你在做项目时反复遇到“QGIS坐标系转换总出错?投影变换与地理配准实操详解(附:参数对照表)”这类问题,通常不是 QGIS 本身不可靠,而是坐标参考系统、图层定义、投影变换和地理配准这几个概念被混在了一起。

本文围绕 QGIS坐标系转换 的常见错误展开,重点解决三个实际问题:为什么图层叠不到一起、什么时候需要重新定义坐标系、什么时候才需要真正做投影变换,以及扫描图、影像图如何通过地理配准进入正确位置。

QGIS坐标系转换和QGIS投影变换参数检查流程图
QGIS坐标系转换的基本判断流程:先确认数据原始坐标系,再决定是定义坐标系、投影变换,还是做地理配准。

引言:QGIS坐标系转换为什么总出错

很多新手在 QGIS 中导入 shp、GeoJSON、CAD 转换数据、无人机影像或扫描地图后,第一反应是“图层位置不对”,于是直接右键图层修改坐标系,或者用“另存为”随便选一个 EPSG 编码。结果往往是越改越乱。

真正的关键是:坐标系转换不是一个按钮问题,而是一个判断问题。你必须先判断当前数据的坐标值代表什么,再决定下一步操作。

常见错误包括:

  • 把“图层坐标系定义错误”误当成“需要投影变换”。
  • 把“地图画布坐标系”当成“数据真实坐标系”。
  • 经纬度数据和投影坐标数据混用,导致位置偏移几百米甚至几千公里。
  • 扫描图、截图、老地图没有空间参考,却直接设置 EPSG 编码。
  • CGCS2000、西安80、北京54、WGS84、Web Mercator 等坐标系混淆。

背景:先分清定义坐标系、投影变换和地理配准

在 QGIS 坐标系转换问题中,最容易混淆的是三个操作:定义坐标系投影变换地理配准

操作类型 解决的问题 是否改变坐标值 典型场景
定义坐标系 告诉 QGIS 这组坐标值原本属于哪个 CRS 不改变坐标值 shp 没有 .prj 文件,图层显示未知坐标系
投影变换 把坐标值从一个 CRS 转换到另一个 CRS 改变坐标值 WGS84 经纬度转 CGCS2000 高斯投影
地理配准 给没有空间参考的图像建立地理位置 生成带空间参考的新栅格 扫描纸质地图、历史影像、截图底图

简单判断方法如下:

  • 如果数据坐标值本来正确,只是 QGIS 不知道它是什么坐标系,用定义坐标系
  • 如果数据已经有正确坐标系,但你需要转成另一个坐标系,用投影变换
  • 如果图像本身没有任何真实坐标,只是普通图片,用地理配准

不要用“修改图层 CRS”来代替投影变换。修改图层 CRS 只是改变解释方式,不是把数据真正转换到新坐标系。

原理:QGIS投影变换到底改变了什么

QGIS投影变换 的本质,是把同一个地理位置从一种坐标表达方式换成另一种坐标表达方式。例如,一个点在 WGS84 中可能表示为经纬度:

经度:116.391
纬度:39.907

如果转换到投影坐标系,它可能变成以米为单位的平面坐标:

X:约 450000
Y:约 4418000

这并不是点的位置变了,而是坐标表达方式变了。QGIS 会根据源坐标系、目标坐标系、椭球体、投影方法和必要的基准转换参数,计算新的坐标值。

这里需要特别注意 QGIS坐标系转换 中的两个层级:

  • 项目坐标系:控制地图画布如何显示多个图层。
  • 图层坐标系:描述数据本身坐标值属于哪个 CRS。

QGIS 支持“即时投影”,也就是不同坐标系的图层可以在同一个地图窗口中临时叠加显示。但即时投影只影响显示,不等于已经把数据文件转换成目标坐标系。如果你要交付数据、做空间分析、导入数据库,通常需要生成新的投影后文件。

步骤:QGIS坐标系转换实操流程

步骤一:检查原始数据坐标系

在转换之前,先右键图层,选择“属性”,查看“信息”或“源”中的坐标参考系统。如果显示为 Unknown CRS、未知坐标系,或者 EPSG 与数据来源不一致,就不能直接投影变换。

建议先检查以下内容:

  • 数据来源说明中是否写明 WGS84、CGCS2000、西安80、北京54 等。
  • shp 文件夹中是否有 .prj 文件。
  • 坐标值是经纬度小数,还是以米为单位的平面坐标。
  • 坐标范围是否符合所在地区。
  • 是否存在带号,例如 3 度带或 6 度带高斯投影。

一个快速判断方法是看坐标值范围:

坐标值特征 可能类型 说明
X 在 -180 到 180,Y 在 -90 到 90 地理坐标系 通常是经纬度,单位为度
X、Y 为几十万到几百万 投影坐标系 通常单位为米
X 为 20000000、40000000 开头 带号投影坐标 可能包含高斯投影带号
X、Y 为几千或几万像素范围 图像坐标或局部坐标 不能直接当作真实地理坐标

步骤二:只在必要时定义图层 CRS

如果图层没有坐标系,但你确定它的原始坐标系,例如数据供应方明确说明是 WGS84,那么可以在 QGIS 中定义图层 CRS。

操作路径:

  1. 右键目标图层。
  2. 选择“图层 CRS”。
  3. 选择“设置图层 CRS”。
  4. 搜索对应 EPSG 编码或坐标系名称。
  5. 确认后观察图层是否能与正确底图或参考数据叠加。

注意,这一步是“定义”,不是“转换”。它不会改变数据文件中的坐标值,只是告诉 QGIS 应该怎样解释这些坐标值。

步骤三:使用另存为执行真正的投影变换

当源坐标系已经正确,并且需要把数据转换成另一个坐标系时,使用“导出”或“另存为”生成新文件。

操作路径:

  1. 右键图层,选择“导出”。
  2. 点击“另存为”。
  3. 格式选择 GeoPackage、ESRI Shapefile 或 GeoJSON。
  4. 在 CRS 处选择目标坐标系。
  5. 设置保存路径和文件名。
  6. 点击确定,生成新图层。
  7. 检查新图层属性中的 CRS 和坐标范围。

如果你的目标是工程分析,建议优先使用 GeoPackage。相比 Shapefile,GeoPackage 对中文字段、字段长度、几何类型和多图层管理更友好。

步骤四:通过处理工具批量投影变换

如果有多个图层需要统一坐标系,可以使用 QGIS 处理工具箱。

操作路径:

  1. 打开“处理工具箱”。
  2. 搜索“重投影图层”或“Reproject layer”。
  3. 输入图层选择需要转换的数据。
  4. 目标 CRS 选择统一的工程坐标系。
  5. 设置输出文件。
  6. 运行后检查输出图层。

批量处理时,建议先转换一个样本图层,确认位置和面积计算结果正常,再处理全部数据。

步骤五:扫描图或截图使用QGIS地理配准

如果你拿到的是扫描纸质地图、图片底图、无人机截图或没有坐标信息的影像,不能直接设置坐标系。此时需要 QGIS地理配准

基本流程如下:

  1. 打开 QGIS 的“地理配准器”。
  2. 加载需要配准的图片,例如 PNG、JPG、TIFF。
  3. 在图片上选择明显控制点,例如道路交叉口、河流交汇点、行政边界角点。
  4. 为每个控制点输入真实坐标,或从已配准图层中拾取坐标。
  5. 选择变换类型,例如 Helmert、多项式 1 阶、多项式 2 阶或薄板样条。
  6. 选择重采样方法,例如最近邻、双线性或三次卷积。
  7. 设置目标 SRS 和输出栅格路径。
  8. 运行配准,并检查残差和叠加效果。

控制点数量建议不要只满足最低要求。实际工作中,应让控制点均匀分布在图像四周和中部,避免全部集中在一个角落。

常见坑:QGIS坐标系转换出错的高频原因

坑一:把 WGS84 和 Web Mercator 混为一谈

WGS84 通常指 EPSG:4326,经纬度单位是度。Web Mercator 通常指 EPSG:3857,单位是米,常用于在线地图底图。二者不是同一个坐标系。

如果你的数据是经纬度,却被设置成 EPSG:3857,图层会跑到错误位置。反过来,如果 Web Mercator 数据被设置成 EPSG:4326,也会严重错位。

坑二:项目 CRS 正确,但图层 CRS 错误

很多人看到地图画布右下角显示 EPSG:4490 或 EPSG:4326,就以为所有图层都是这个坐标系。实际上,项目 CRS 只是显示坐标系,不能代表每个图层的真实坐标系。

排查时一定要分别查看每个图层属性,而不是只看项目坐标系。

坑三:高斯投影带号选错

在国内项目中,CGCS2000、西安80、北京54 的高斯投影经常涉及 3 度带和 6 度带。带号选错后,数据可能整体偏移到相邻区域。

如果坐标 X 或 Y 前面带有明显带号,需要确认该坐标是否包含带号,以及目标 CRS 是否匹配。

坑四:地理配准控制点太少或分布不均

QGIS地理配准不是点得越多就一定越准。控制点必须位置可靠、分布均匀,并且要覆盖图像范围。全部控制点集中在道路密集区,图像边缘很可能变形严重。

坑五:用错误的重采样方法处理分类栅格

如果是土地利用、分类影像、栅格分区这类离散值数据,应优先使用最近邻重采样。双线性或三次卷积会生成新的中间值,导致分类编码被破坏。

坑六:转换后没有验证结果

投影变换完成后,不要只看“图层能显示”。还应叠加可靠底图、控制点、行政边界或已有成果数据,检查是否存在系统偏移。

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

问题表现 推荐方法 QGIS常用入口 验证方式
图层显示未知 CRS,但坐标值来源明确 定义坐标系 图层 CRS 设置 叠加参考图层检查位置
图层坐标系正确,但项目要求另一个 CRS 投影变换 导出另存为或重投影图层 检查新文件 CRS 和坐标范围
多个图层坐标系不统一 批量重投影 处理工具箱 统一叠加后检查边界吻合
普通图片没有地理坐标 地理配准 地理配准器 查看控制点残差和叠加效果
图层整体平移但形状正确 检查基准转换或源 CRS 图层属性与转换参数 使用已知控制点验证偏移量

参数对照表:QGIS坐标系转换常用参数怎么理解

参数 含义 常见选择 注意事项
源 CRS 原始数据真实坐标系 EPSG:4326、EPSG:4490、地方投影坐标系 必须先确认,不能凭显示效果猜测
目标 CRS 转换后需要得到的坐标系 项目统一坐标系、数据库坐标系、制图坐标系 由项目标准或分析需求决定
椭球体 描述地球形状的数学模型 WGS84、CGCS2000、Krassovsky 不同基准可能导致位置偏差
投影方法 把曲面坐标转为平面坐标的方法 高斯克吕格、UTM、墨卡托 会影响面积、距离和角度变形
单位 坐标值使用的计量单位 度、米 面积和长度计算前必须确认
重采样方法 栅格转换时像元值计算方式 最近邻、双线性、三次卷积 分类栅格优先最近邻
控制点残差 地理配准控制点误差 越小越好,但要结合分布判断 不能只追求单个点误差最小

检查清单:转换前后必须核对的事项

在执行 QGIS坐标系转换 前,建议按下面清单逐项检查:

  • 是否知道原始数据的真实坐标系。
  • 图层属性中的 CRS 是否与数据来源说明一致。
  • 坐标值范围是否符合经纬度或投影坐标的特征。
  • 项目 CRS 与图层 CRS 是否被混淆。
  • 是否需要真正生成新文件,而不是只改变显示。
  • 目标 CRS 是否符合项目交付要求。
  • 是否涉及 3 度带、6 度带或带号坐标。
  • 矢量数据和栅格数据是否采用了合适的转换方法。
  • 转换后是否与可靠参考数据进行叠加验证。
  • 面积、长度计算是否在合适的投影坐标系中完成。

如果转换结果仍然不对,可以按以下顺序排查:

  1. 先恢复原始数据备份,避免在错误基础上继续修改。
  2. 查看原始坐标值范围,判断是经纬度还是米制坐标。
  3. 检查是否误用了 EPSG:4326、EPSG:3857、EPSG:4490。
  4. 检查是否选错高斯投影分带。
  5. 叠加权威行政边界或控制点,而不是只看在线底图。
  6. 如果是扫描图,重新检查地理配准控制点质量。

FAQ:QGIS坐标系转换常见问题

QGIS修改图层CRS就是投影变换吗?

不是。修改图层 CRS 通常只是重新定义 QGIS 如何解释现有坐标值,不会真正改变数据坐标。真正的 QGIS投影变换 需要通过“另存为”“重投影图层”等方式输出新文件。

为什么我的图层和在线底图差几百米?

可能原因包括源 CRS 设置错误、WGS84 与 CGCS2000 混用、地方坐标转换参数缺失、在线底图偏移、或高斯投影带号错误。应优先使用项目控制点或权威边界验证,不要只依赖在线底图判断。

QGIS地理配准应该选择哪种变换类型?

如果图片整体只是平移、旋转、缩放,可先尝试 Helmert 或一阶多项式。如果老地图存在局部变形,可以尝试二阶多项式或薄板样条。但变换越复杂,越依赖控制点质量,不能用复杂模型掩盖错误控制点。

面积计算不准是不是坐标系转换错了?

不一定,但坐标系很可能是原因之一。如果在经纬度坐标系下直接计算面积,结果通常不适合工程使用。面积和距离计算应尽量在合适的投影坐标系下进行,例如本地区适用的高斯投影、UTM 或项目指定坐标系。

GeoJSON转换坐标系后为什么网页显示不对?

多数 WebGIS 前端库默认更容易处理 WGS84 经纬度或 Web Mercator 显示链路。如果你把 GeoJSON 转成了地方投影坐标系,而前端仍按经纬度读取,就会显示错误。需要确认前端地图框架、底图 CRS 和数据 CRS 是否一致。

没有.prj文件的Shapefile能不能直接用?

可以加载,但不能盲目分析或转换。没有 .prj 文件意味着 QGIS 不知道它的坐标参考系统。你需要先根据数据来源、坐标范围、项目说明判断原始 CRS,再定义图层 CRS,之后才能进行可靠的投影变换。

结论:先判断问题类型,再做QGIS坐标系转换

QGIS坐标系转换 出错,大多数不是软件操作问题,而是没有先判断“数据原本是什么坐标系”。正确流程应当是:先确认源 CRS,再决定是否定义坐标系、是否执行投影变换,最后对没有空间参考的图片使用地理配准。

在实际项目中,最稳妥的做法是保留原始数据备份,先用一个样本图层测试转换参数,再批量处理全部数据。转换完成后,必须用控制点、行政边界、工程红线或可靠底图进行验证。

记住一句话:定义坐标系是说明原始坐标,投影变换是生成新坐标,地理配准是给图片建立空间位置。只要这三件事分清楚,绝大多数 QGIS 坐标系问题都能有序排查并解决。