Skip to content

QGIS入门

目标

通过本教程,实习生将学会:

  1. 安装并配置QGIS。
  2. 加载和处理矢量数据(CSV、WKT、GeoJSON)。
  3. 修改图层的符号化(Symbology)和标签(Label)。
  4. 编辑图形和属性表。
  5. 使用Processing Toolbox进行简单图层处理。
  6. 连接和查询PostgreSQL数据库。

准备工作

  • 设备要求:Windows、macOS或Linux电脑,建议至少4GB内存。
  • 软件:QGIS(免费,开源)。
  • 数据:准备示例数据(CSV、WKT表格、GeoJSON文件,可从公开数据集下载,如自然地球数据)。
  • 数据库:PostgreSQL数据库(需安装PostGIS扩展)。

教程内容

1. 安装QGIS

目标:下载并安装最新版QGIS。

  1. 下载QGIS

    • 访问QGIS官方网站(https://www.qgis.org/)。
    • 根据操作系统(Windows/macOS/Linux)选择最新稳定版本(建议长期支持版,LTS)。
    • 下载安装包(例如,QGIS 3.34 LTR)。
  2. 安装QGIS

    • Windows:双击安装包,按提示安装,保持默认设置即可。
    • macOS:拖动QGIS到“应用程序”文件夹。
    • Linux:使用包管理器(如sudo apt install qgis)或下载安装包。
  3. 验证安装

    • 打开QGIS,确认主界面加载正常(包含工具栏、图层面板和地图画布)。
    • 注意:首次启动可能需要几秒钟加载插件。

注意事项

  • 确保网络连接稳定,避免下载中断。
  • Windows用户可能需管理员权限。

2. 加载矢量数据

目标:学会加载CSV、WKT表格和GeoJSON格式的矢量数据。

2.1 加载CSV文件

  1. 准备数据

    • 示例CSV文件(points.csv):
      id,name,latitude,longitude
      1,PointA,40.7128,-74.0060
      2,PointB,51.5074,-0.1278
    • 确保CSV包含坐标列(经度longitude、纬度latitude)。
  2. 加载步骤

    • 打开QGIS,点击菜单栏 Layer > Add Layer > Add Delimited Text Layer
    • 在弹窗中:
      • 选择CSV文件。
      • 设置“X field”为longitude,"Y field"为latitude
      • 坐标系选择“EPSG:4326”(WGS84)。
      • 点击“Add”,确认点图层显示在地图画布上。
  3. 检查

    • 放大/缩小地图,确认点位置正确。
    • 右键图层 > Open Attribute Table,查看属性表内容。

2.2 加载WKT表格

  1. 准备数据

    • 示例WKT文件(polygons.csv):
      id,name,wkt
      1,Area1,POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))
      2,Area2,POLYGON((2 2, 3 2, 3 3, 2 3, 2 2))
  2. 加载步骤

    • 打开 Layer > Add Layer > Add Delimited Text Layer
    • 选择WKT文件,勾选“Geometry definition”为“Well Known Text (WKT)”。
    • 指定WKT列(例如wkt),坐标系为“EPSG:4326”。
    • 点击“Add”,确认多边形图层显示。
  3. 检查

    • 确保多边形正确绘制,属性表包含idname

2.3 加载GeoJSON文件

  1. 准备数据

  2. 加载步骤

    • 拖放GeoJSON文件到QGIS地图画布,或使用 Layer > Add Layer > Add Vector Layer
    • 选择文件,点击“Add”。
    • 确认图层加载,检查地图显示。
  3. 注意事项

    • GeoJSON通常自带坐标系信息,加载后检查是否为“EPSG:4326”。
    • 若坐标系错误,右键图层 > Set CRS,调整为正确坐标系。

3. 修改Symbology和Label

目标:调整图层样式和标签,增强可视化效果。

3.1 修改Symbology

  1. 打开符号化面板

    • 右键图层 > Properties > Symbology。
    • 点图层选择“Single Symbol”,多边形可选择“Single Symbol”或“Categorized”。
  2. 调整样式

    • 点图层:更改符号大小(例如5px),颜色(例如红色)。
    • 多边形图层:设置填充颜色(例如蓝色,透明度50%),边框宽度(1px)。
    • 分类渲染(Categorized):
      • 选择分类字段(例如name)。
      • 点击“Classify”,为每个值分配不同颜色。
  3. 应用

    • 点击“Apply”预览,调整后点击“OK”保存。

3.2 添加Label

  1. 打开标签面板

    • 右键图层 > Properties > Labels。
    • 选择“Single Labels”,字段选择name
  2. 调整标签样式

    • 设置字体(例如Arial,12pt),颜色(黑色),位置(“Above”或“Center”)。
    • 添加缓冲区(白色背景,透明度50%)以提高可读性。
  3. 检查

    • 确保标签在地图上清晰可见,缩放地图测试显示效果。

注意事项

  • 保存样式(Properties > Symbology > Style > Save Style)以便复用。
  • 避免标签重叠,可调整字体大小或使用“Label Priority”。

4. 图形和属性表编辑

目标:学会编辑矢量图层的图形和属性数据。

4.1 图形编辑

  1. 启用编辑模式

    • 右键图层 > Toggle Editing(切换编辑)。
    • 工具栏显示编辑工具(如“Add Feature”)。
  2. 添加新图形

    • :选择“Add Point Feature”,点击地图添加点。
    • 多边形:选择“Add Polygon Feature”,点击绘制多边形,右键结束。
    • 输入属性值(例如idname),保存。
  3. 修改图形

    • 使用“Vertex Tool”移动点或调整形状。
    • 使用“Delete Feature”删除选定图形。
  4. 保存编辑

    • 点击“Save Edits”保存更改,关闭编辑模式。

4.2 属性表编辑

  1. 打开属性表

    • 右键图层 > Open Attribute Table。
    • 启用编辑模式(Toggle Editing)。
  2. 修改属性

    • 点击单元格直接编辑(如更改name值)。
    • 使用“Field Calculator”批量更新:
      • 例如,添加新字段area,计算多边形面积($area函数)。
  3. 保存

    • 保存编辑,关闭属性表。

注意事项

  • 定期保存,避免数据丢失。
  • 备份原始数据,防止误操作。

5. 使用Processing Toolbox处理图层

目标:使用QGIS内置工具处理矢量图层。

  1. 打开Processing Toolbox

    • 菜单栏 Processing > Toolbox,或快捷键Ctrl+Alt+T
    • 搜索工具(例如“Buffer”或“Clip”)。
  2. 示例1:创建缓冲区

    • 搜索“Buffer”,选择“Buffer”工具。
    • 输入:
      • 图层:点或多边形图层。
      • 距离:例如0.01度(约1km,视坐标系调整)。
      • 输出:保存为新图层(例如buffered_layer.shp)。
    • 运行,检查新图层。
  3. 示例2:裁剪图层

    • 搜索“Clip”,选择“Clip”工具。
    • 输入:
      • 输入图层:点图层。
      • 裁剪图层:多边形图层。
      • 输出:保存为新图层。
    • 运行,确认结果仅包含多边形范围内的点。
  4. 检查

    • 加载输出图层,验证处理结果。

注意事项

  • 检查输入图层的坐标系一致性。
  • 保存处理结果为独立文件,避免覆盖原始数据。

6. 连接PostgreSQL数据库

目标:连接PostgreSQL数据库,加载空间数据。

6.1 准备数据库

  1. 安装PostgreSQL和PostGIS

    • 下载并安装PostgreSQL(https://www.postgresql.org/)。
    • 安装PostGIS扩展(Windows可使用Stack Builder,Linux用sudo apt install postgresql-postgis)。
    • 创建数据库(例如gis_db),启用PostGIS:
      sql
      CREATE EXTENSION postgis;
  2. 准备示例表

    • 创建空间表(例如cities):
      sql
      CREATE TABLE cities (
          id SERIAL PRIMARY KEY,
          name VARCHAR(100),
          geom GEOMETRY(Point, 4326)
      );
      INSERT INTO cities (name, geom) VALUES
          ('New York', ST_GeomFromText('POINT(-74.0060 40.7128)', 4326)),
          ('London', ST_GeomFromText('POINT(-0.1278 51.5074)', 4326));

6.2 连接数据库

  1. 添加数据库连接

    • QGIS菜单 Layer > Add Layer > Add PostGIS Layers
    • 点击“New”,输入:
      • 名称:gis_db
      • 主机:localhost(或服务器IP)
      • 数据库:gis_db
      • 用户名/密码:数据库凭据
      • 勾选“Also list tables with no geometry”(可选)。
    • 点击“Test Connection”,确认成功。
  2. 加载数据

    • 选择数据库,勾选cities表,点击“Add”。
    • 确认点图层显示在地图画布上。
  3. 查询数据

    • 使用“DB Manager”插件(菜单 Database > DB Manager)。
    • 编写SQL查询:
      sql
      SELECT * FROM cities WHERE name = 'New York';
    • 加载查询结果为新图层。

注意事项

  • 确保PostgreSQL服务运行,端口开放(默认5432)。
  • 检查PostGIS扩展是否启用(SELECT postgis_version();)。

7. 实践任务

任务:综合应用教程内容,完成以下任务:

  1. 加载一个CSV文件(点数据),调整符号为红色圆点,添加名称标签。
  2. 创建多边形缓冲区(0.01度),保存为新图层。
  3. 从PostgreSQL数据库加载cities表,裁剪点图层到缓冲区范围内。
  4. 编辑属性表,添加字段type并赋值(例如“City”)。
  5. 保存项目(File > Save As,格式为.qgz)。

提交:将QGIS项目文件(.qgz)和处理结果(Shapefile或GeoJSON)提交给导师。


8. 常见问题与解决

  • 数据未显示:检查坐标系(右键图层 > Set CRS),确保与项目坐标系一致(默认EPSG:4326)。
  • 工具运行失败:确认输入图层有效,检查工具参数(如缓冲距离单位)。
  • 数据库连接失败:验证主机、端口、用户名、密码,检查防火墙设置。

9. 扩展学习

  • 插件:安装“QuickOSM”插件,下载OpenStreetMap数据。
  • 进阶工具:学习“Dissolve”或“Union”工具处理复杂图层。
  • 地图输出:使用 Print Layout 制作地图(菜单 Project > New Print Layout)。

总结

本教程涵盖了QGIS的基础操作,适合实习生快速上手。通过实践,实习生能够加载和处理矢量数据、调整地图样式、编辑数据、使用工具箱进行分析,并连接数据库。建议反复练习,熟悉界面和工具,逐步探索QGIS的高级功能。

资源

如果有进一步问题,请随时提问!

Credit @Wayne19980