首页 GIS基础理论 QGIS坐标系转换:坐标投影定义和设置坐标系

QGIS坐标系转换:坐标投影定义和设置坐标系

作者: GIS研习社 更新时间:2026-05-15 21:58:55 分类:GIS基础理论

在 QGIS 项目里,图层偏移、底图对不上、面积计算不准,很多时候都不是数据坏了,而是QGIS坐标系没有被正确理解。尤其是初学者经常把项目显示坐标系、图层真实坐标系、导出时的目标坐标系混在一起,结果越调越乱。本文围绕坐标系转换、坐标投影定义和设置坐标系,给出一套可以重复使用的检查和处理流程。

QGIS坐标系问题通常从哪里出现

真实项目中,坐标系问题常出现在数据汇总阶段。比如一个项目同时拿到了 GPS 采集点、规划红线 Shapefile、无人机正射影像、在线底图和 Excel 点表。它们可能分别来自 WGS84 经纬度、CGCS2000 投影坐标、地方独立坐标或 Web Mercator。如果这些信息没有写清楚,QGIS 只能根据图层元数据和项目设置来显示,不能自动猜出数据真正的来源。

一个典型现象是:图层单独打开看起来正常,和其他图层叠加后却整体偏移;或者底图能显示,矢量数据却跑到海上、国外,甚至完全看不见。此时不要急着反复尝试不同 EPSG 编号,而要先判断数据的原始坐标值属于哪一类。

QGIS坐标系与QGIS坐标系转换工作流示意图
处理 QGIS 图层偏移时,应先确认源坐标系,再决定是定义投影、设置项目显示,还是执行真正的坐标系转换。

核心原理:QGIS坐标投影定义不等于转换

QGIS坐标投影定义的作用,是告诉 QGIS 这份数据“原本属于哪个坐标系”。它通常只修改空间参考信息,不会重新计算几何坐标。比如一份点数据的坐标值是经度 116、纬度 40,但图层没有坐标系定义,你把它定义为 WGS84,QGIS 只是知道这些数字应该按经纬度解释,点的数值不会变化。

坐标系转换则不同。转换会把要素的坐标重新计算到目标坐标系中。例如 WGS84 经纬度转到 CGCS2000 高斯克吕格投影后,坐标单位会从度变成米,坐标数值也会完全改变。这一步才是严格意义上的重投影或转换。

判断口诀:如果只是补上“它原来是什么”,这是定义;如果要生成“新的目标坐标值”,这是转换。

理解这个区别,是学习QGIS坐标系的关键。错误地把源数据定义成目标坐标系,再去转换,会把错误写入新的成果文件,后续叠加、分析和制图都会受影响。

QGIS设置坐标系的三个入口

QGIS设置坐标系至少涉及三个入口,它们解决的问题不同,不能互相替代。

  • 项目坐标系。控制当前地图画布怎样显示所有图层。它影响视觉叠加和临时重投影,但不一定改变源数据文件。
  • 图层坐标系。描述单个图层的真实空间参考。它应该与数据原始坐标值一致,不能为了让图层“看起来对齐”随便修改。
  • 导出或处理工具中的目标坐标系。用于生成新的数据文件,这一步会产生真实的坐标值变化。

例如,你在 QGIS 右下角把项目坐标系切换为 EPSG:3857,只是让画布按 Web Mercator 显示;如果右键图层另存为 GeoPackage,并在导出时选择 EPSG:4490 或某个投影坐标系,才会输出新的空间参考数据。

因此,做设置坐标系操作时,先问自己:我是在调整显示环境,还是在修正图层缺失的空间参考,还是要生成一个转换后的成果文件?这个问题能避免大多数误操作。

QGIS坐标系转换的标准步骤

下面是一套适合 Shapefile、GeoPackage、GeoJSON、CSV 点表和常见栅格数据的处理流程。实际菜单名称可能因界面语言略有差异,但判断顺序不变。

  1. 检查源数据坐标值。经纬度通常在经度 -180 到 180、纬度 -90 到 90 范围内;投影坐标一般是米制大数值;国内高斯克吕格数据常带有带号或中央经线特征。
  2. 查看图层属性。在图层属性中检查 CRS、EPSG 编号、单位和数据提供方说明。Shapefile 还要留意 .prj 是否存在,CSV 点表则要确认 X 字段和 Y 字段是否填反。
  3. 只在源信息缺失时做投影定义。如果图层显示 Unknown CRS,但你能从元数据、坐标范围或交付说明确认它本来就是 WGS84、CGCS2000 或某个本地投影,才使用设置图层坐标系或分配投影。
  4. 选择目标坐标系。目标坐标系应服务于任务。Web 展示常用 Web Mercator 或经纬度;面积、长度、缓冲区和工程制图应选择合适的投影坐标系。
  5. 执行重新投影。可以使用处理工具箱中的重新投影图层,也可以右键图层选择导出或另存为,在 CRS 参数中指定目标坐标系。
  6. 复核输出结果。把新图层与可信底图、控制点、行政边界或已有成果叠加检查,并查看输出图层的 CRS 和单位是否符合预期。
  7. 记录转换链路。在项目说明中写清楚源坐标系、目标坐标系、工具、时间和判断依据,方便复现和交付。

这套QGIS坐标系转换流程的重点不是记住某个按钮,而是每一步都能回答“源是什么、目标是什么、是否改变了坐标值”。只要这三个问题清楚,工具选择就会简单很多。

案例:WGS84 经纬度转为项目投影坐标系

假设你有一份外业调查点 CSV,字段包括 lonlatname。采集设备说明这些点是 WGS84 经纬度,而项目要求所有成果统一到 CGCS2000 下的某个投影坐标系。推荐按下面流程处理。

  1. 在 QGIS 中添加分隔文本图层,X 字段选择 lon,Y 字段选择 lat
  2. 源 CRS 选择 WGS84,常见 EPSG 编号为 EPSG:4326。这一步属于源坐标定义,不是成果转换。
  3. 加载项目边界或可信底图,确认点位大致落在正确位置。如果点跑到异常区域,先检查经纬度顺序和坐标来源。
  4. 根据项目所在区域、业主要求或测绘说明选择目标投影坐标系。不要只因为某个 EPSG 搜索结果靠前就直接使用。
  5. 运行重新投影图层,输出为 GeoPackage 或 Shapefile,并把目标 CRS 设为项目要求的投影坐标系。
  6. 打开输出图层属性,确认单位变为米制,并用少量已知点做位置复核。

如果项目要求后续计算面积、长度或缓冲区,不建议直接在 WGS84 经纬度图层上完成分析。经纬度单位是度,不适合直接作为米制距离和面积的计算基础。

常见坑点:偏移、单位错误和投影带号

  • 把项目坐标系当成数据坐标系。项目 CRS 只控制画布显示,不能证明源文件已经完成转换。
  • 把投影定义当成转换。如果数据本来是 WGS84,却被错误定义为某个投影坐标系,图层会出现严重错位。
  • 忽略在线底图坐标。很多在线底图使用 Web Mercator 显示,国内互联网地图还可能涉及加偏坐标,不能简单作为测量级验证依据。
  • 经纬度字段填反。导入 CSV 时,X 通常是经度,Y 通常是纬度。填反后点位会跑到完全错误的位置。
  • 混淆 CGCS2000 地理坐标系和投影坐标系。EPSG:4490 是 CGCS2000 经纬度,工程分析往往还需要选到对应的投影带。
  • 没有检查单位。如果目标是投影坐标系,距离和面积计算通常应基于米制单位;如果仍是度,就要回头检查转换是否真正完成。

做投影定义时,最危险的操作是“为了让图层对齐而随便换 CRS”。正确做法是先用数据来源、坐标范围和控制点判断真实源坐标系,再决定是否需要定义或转换。

方法对比:定义、设置和转换怎么选

操作 适合场景 是否改变坐标值 主要风险
设置项目坐标系 统一画布显示、临时叠加多个图层 误以为源文件已经被转换
设置图层坐标系 图层 CRS 缺失,但源坐标系已确认 把错误源坐标系写进图层
重新投影图层 生成目标坐标系下的新成果文件 源坐标系错误会导致输出继续错误
导出另存为并指定 CRS 同时转换格式和坐标系,例如 CSV 点转 GeoPackage 导出参数和目标 CRS 未记录
数据库或脚本批处理 大量图层统一入库、自动化清洗 通常是 批量处理前缺少抽样复核

从工作流角度看,设置坐标系更像是配置和修正空间参考信息,而重新投影图层才是面向成果生产的转换动作。正式交付时,应优先输出一个明确目标 CRS 的新文件,而不是只保存一个项目工程。

实践检查清单

每次处理QGIS坐标系问题前,可以按下面清单检查。它能减少反复试错,也方便团队协作。

  • 数据来源是否明确:GPS、测绘成果、在线地图接口、CAD、数据库、无人机影像或第三方表格。
  • 源坐标系是否有证据:元数据、.prj、接口文档、项目说明、字段备注或采集设备设置。
  • 坐标值是否合理:经纬度范围、米制坐标范围、投影带号、小数位和 X/Y 顺序。
  • 目标坐标系是否由任务决定:展示、制图、空间分析、面积统计、入库或 Web 发布。
  • 是否区分了项目 CRS、图层 CRS 和导出 CRS。
  • 输出结果是否用控制点、已知边界、影像或实测样点复核。
  • 处理过程是否记录源 CRS、目标 CRS、工具名称和关键参数。

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

QGIS坐标系转换后为什么还是偏移?

最常见原因是源坐标系判断错了。比如数据本来是 GCJ02 或地方独立坐标,却被当成 WGS84 或 CGCS2000 处理;或者图层缺失 CRS 时,直接分配了目标坐标系。先回到原始数据来源和坐标值范围,再重新判断源 CRS。

QGIS坐标投影定义什么时候使用?

QGIS坐标投影定义只适合源坐标系缺失但你已经确认真实来源的情况。它不是修复偏移的万能工具,也不能把经纬度自动变成米制坐标。需要输出新坐标值时,应使用重新投影或导出转换。

QGIS设置坐标系能解决所有叠加问题吗?

不能。QGIS设置坐标系可能只是改变项目显示或图层空间参考标签。如果源数据本身来自错误坐标系、字段顺序填反、缺少投影带信息,单纯设置 CRS 无法得到正确成果。

为什么 QGIS 中底图正常,自己的图层却看不见?

通常是图层 CRS 缺失、坐标范围异常或 X/Y 字段错误。可以先缩放到图层范围,查看状态栏坐标值,再检查图层属性中的 CRS。如果坐标值像经纬度,却被定义成米制投影,图层就可能跑到错误位置。

经纬度图层可以直接计算面积吗?

不建议。经纬度单位是度,直接计算面积和距离容易产生误差。应先根据项目区域选择合适的投影坐标系,再进行面积、长度、缓冲区和叠加分析。

总结

QGIS坐标系处理的核心,是把“显示、定义、转换”三件事分开。项目坐标系负责画布显示,图层坐标系描述源数据,重新投影或导出转换才会生成目标坐标值。遇到偏移时,先查数据来源和坐标范围,再做必要的坐标转换,最后用控制点和单位检查结果。这样处理,比盲目切换 EPSG 编号更稳定,也更适合正式 GIS 项目交付。

相关文章