QGIS入门
目标
通过本教程,实习生将学会:
- 安装并配置QGIS。
- 加载和处理矢量数据(CSV、WKT、GeoJSON)。
- 修改图层的符号化(Symbology)和标签(Label)。
- 编辑图形和属性表。
- 使用Processing Toolbox进行简单图层处理。
- 连接和查询PostgreSQL数据库。
准备工作
- 设备要求:Windows、macOS或Linux电脑,建议至少4GB内存。
- 软件:QGIS(免费,开源)。
- 数据:准备示例数据(CSV、WKT表格、GeoJSON文件,可从公开数据集下载,如自然地球数据)。
- 数据库:PostgreSQL数据库(需安装PostGIS扩展)。
教程内容
1. 安装QGIS
目标:下载并安装最新版QGIS。
下载QGIS:
- 访问QGIS官方网站(https://www.qgis.org/)。
- 根据操作系统(Windows/macOS/Linux)选择最新稳定版本(建议长期支持版,LTS)。
- 下载安装包(例如,QGIS 3.34 LTR)。
安装QGIS:
- Windows:双击安装包,按提示安装,保持默认设置即可。
- macOS:拖动QGIS到“应用程序”文件夹。
- Linux:使用包管理器(如
sudo apt install qgis)或下载安装包。
验证安装:
- 打开QGIS,确认主界面加载正常(包含工具栏、图层面板和地图画布)。
- 注意:首次启动可能需要几秒钟加载插件。
注意事项:
- 确保网络连接稳定,避免下载中断。
- Windows用户可能需管理员权限。
2. 加载矢量数据
目标:学会加载CSV、WKT表格和GeoJSON格式的矢量数据。
2.1 加载CSV文件
准备数据:
- 示例CSV文件(
points.csv):id,name,latitude,longitude 1,PointA,40.7128,-74.0060 2,PointB,51.5074,-0.1278 - 确保CSV包含坐标列(经度longitude、纬度latitude)。
- 示例CSV文件(
加载步骤:
- 打开QGIS,点击菜单栏 Layer > Add Layer > Add Delimited Text Layer。
- 在弹窗中:
- 选择CSV文件。
- 设置“X field”为
longitude,"Y field"为latitude。 - 坐标系选择“EPSG:4326”(WGS84)。
- 点击“Add”,确认点图层显示在地图画布上。
检查:
- 放大/缩小地图,确认点位置正确。
- 右键图层 > Open Attribute Table,查看属性表内容。
2.2 加载WKT表格
准备数据:
- 示例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))
- 示例WKT文件(
加载步骤:
- 打开 Layer > Add Layer > Add Delimited Text Layer。
- 选择WKT文件,勾选“Geometry definition”为“Well Known Text (WKT)”。
- 指定WKT列(例如
wkt),坐标系为“EPSG:4326”。 - 点击“Add”,确认多边形图层显示。
检查:
- 确保多边形正确绘制,属性表包含
id和name。
- 确保多边形正确绘制,属性表包含
2.3 加载GeoJSON文件
准备数据:
- 示例GeoJSON文件(
cities.geojson),可从自然地球( https://www.naturalearthdata.com/ )下载城市点数据。
- 示例GeoJSON文件(
加载步骤:
- 拖放GeoJSON文件到QGIS地图画布,或使用 Layer > Add Layer > Add Vector Layer。
- 选择文件,点击“Add”。
- 确认图层加载,检查地图显示。
注意事项:
- GeoJSON通常自带坐标系信息,加载后检查是否为“EPSG:4326”。
- 若坐标系错误,右键图层 > Set CRS,调整为正确坐标系。
3. 修改Symbology和Label
目标:调整图层样式和标签,增强可视化效果。
3.1 修改Symbology
打开符号化面板:
- 右键图层 > Properties > Symbology。
- 点图层选择“Single Symbol”,多边形可选择“Single Symbol”或“Categorized”。
调整样式:
- 点图层:更改符号大小(例如5px),颜色(例如红色)。
- 多边形图层:设置填充颜色(例如蓝色,透明度50%),边框宽度(1px)。
- 分类渲染(Categorized):
- 选择分类字段(例如
name)。 - 点击“Classify”,为每个值分配不同颜色。
- 选择分类字段(例如
应用:
- 点击“Apply”预览,调整后点击“OK”保存。
3.2 添加Label
打开标签面板:
- 右键图层 > Properties > Labels。
- 选择“Single Labels”,字段选择
name。
调整标签样式:
- 设置字体(例如Arial,12pt),颜色(黑色),位置(“Above”或“Center”)。
- 添加缓冲区(白色背景,透明度50%)以提高可读性。
检查:
- 确保标签在地图上清晰可见,缩放地图测试显示效果。
注意事项:
- 保存样式(Properties > Symbology > Style > Save Style)以便复用。
- 避免标签重叠,可调整字体大小或使用“Label Priority”。
4. 图形和属性表编辑
目标:学会编辑矢量图层的图形和属性数据。
4.1 图形编辑
启用编辑模式:
- 右键图层 > Toggle Editing(切换编辑)。
- 工具栏显示编辑工具(如“Add Feature”)。
添加新图形:
- 点:选择“Add Point Feature”,点击地图添加点。
- 多边形:选择“Add Polygon Feature”,点击绘制多边形,右键结束。
- 输入属性值(例如
id和name),保存。
修改图形:
- 使用“Vertex Tool”移动点或调整形状。
- 使用“Delete Feature”删除选定图形。
保存编辑:
- 点击“Save Edits”保存更改,关闭编辑模式。
4.2 属性表编辑
打开属性表:
- 右键图层 > Open Attribute Table。
- 启用编辑模式(Toggle Editing)。
修改属性:
- 点击单元格直接编辑(如更改
name值)。 - 使用“Field Calculator”批量更新:
- 例如,添加新字段
area,计算多边形面积($area函数)。
- 例如,添加新字段
- 点击单元格直接编辑(如更改
保存:
- 保存编辑,关闭属性表。
注意事项:
- 定期保存,避免数据丢失。
- 备份原始数据,防止误操作。
5. 使用Processing Toolbox处理图层
目标:使用QGIS内置工具处理矢量图层。
打开Processing Toolbox:
- 菜单栏 Processing > Toolbox,或快捷键
Ctrl+Alt+T。 - 搜索工具(例如“Buffer”或“Clip”)。
- 菜单栏 Processing > Toolbox,或快捷键
示例1:创建缓冲区:
- 搜索“Buffer”,选择“Buffer”工具。
- 输入:
- 图层:点或多边形图层。
- 距离:例如0.01度(约1km,视坐标系调整)。
- 输出:保存为新图层(例如
buffered_layer.shp)。
- 运行,检查新图层。
示例2:裁剪图层:
- 搜索“Clip”,选择“Clip”工具。
- 输入:
- 输入图层:点图层。
- 裁剪图层:多边形图层。
- 输出:保存为新图层。
- 运行,确认结果仅包含多边形范围内的点。
检查:
- 加载输出图层,验证处理结果。
注意事项:
- 检查输入图层的坐标系一致性。
- 保存处理结果为独立文件,避免覆盖原始数据。
6. 连接PostgreSQL数据库
目标:连接PostgreSQL数据库,加载空间数据。
6.1 准备数据库
安装PostgreSQL和PostGIS:
- 下载并安装PostgreSQL(https://www.postgresql.org/)。
- 安装PostGIS扩展(Windows可使用Stack Builder,Linux用
sudo apt install postgresql-postgis)。 - 创建数据库(例如
gis_db),启用PostGIS:sqlCREATE EXTENSION postgis;
准备示例表:
- 创建空间表(例如
cities):sqlCREATE 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 连接数据库
添加数据库连接:
- QGIS菜单 Layer > Add Layer > Add PostGIS Layers。
- 点击“New”,输入:
- 名称:
gis_db - 主机:
localhost(或服务器IP) - 数据库:
gis_db - 用户名/密码:数据库凭据
- 勾选“Also list tables with no geometry”(可选)。
- 名称:
- 点击“Test Connection”,确认成功。
加载数据:
- 选择数据库,勾选
cities表,点击“Add”。 - 确认点图层显示在地图画布上。
- 选择数据库,勾选
查询数据:
- 使用“DB Manager”插件(菜单 Database > DB Manager)。
- 编写SQL查询:sql
SELECT * FROM cities WHERE name = 'New York'; - 加载查询结果为新图层。
注意事项:
- 确保PostgreSQL服务运行,端口开放(默认5432)。
- 检查PostGIS扩展是否启用(
SELECT postgis_version();)。
7. 实践任务
任务:综合应用教程内容,完成以下任务:
- 加载一个CSV文件(点数据),调整符号为红色圆点,添加名称标签。
- 创建多边形缓冲区(0.01度),保存为新图层。
- 从PostgreSQL数据库加载
cities表,裁剪点图层到缓冲区范围内。 - 编辑属性表,添加字段
type并赋值(例如“City”)。 - 保存项目(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的高级功能。
资源:
- QGIS官方文档:https://docs.qgis.org/
- 自然地球数据:https://www.naturalearthdata.com/
- PostGIS教程:https://postgis.net/docs/
如果有进一步问题,请随时提问!