QGIS (原名 Quantum GIS) 是一个免费、开源的桌面地理信息系统 (GIS) 软件。它不仅提供了强大的地图制作、空间分析和数据管理功能,更是一个出色的空间数据库客户端。QGIS 能够连接、查询、编辑和管理多种类型的空间数据库,为用户提供了便捷的图形化操作界面,极大地降低了空间数据库的使用门槛。
1. QGIS连接空间数据库
QGIS 支持连接主流的开源和商业空间数据库。
支持的数据库: QGIS 内置支持连接:
PostGIS: 这是 QGIS 最常用且支持最好的空间数据库连接。
SpatiaLite: 基于 SQLite 的轻量级空间数据库,适用于单文件存储和移动应用。
MySQL (带有空间扩展): 支持其空间数据类型和查询。
Microsoft SQL Server (带有地理数据支持): 可以连接并操作其 geometry 和 geography 数据。
Oracle Spatial: 通过 OGR/GDAL 驱动程序连接。
其他 ODBC / JDBC 连接: 通过通用连接方式可能支持更多数据库。
连接步骤:
在 QGIS 中,点击“图层” -> “添加图层” -> “添加 PostGIS/SpatiaLite/MS SQL Server/Oracle 数据库层…” (根据你的数据库类型选择)。
在弹出的对话框中,点击“新建”按钮。
填写数据库连接参数,包括:名称、主机、端口、数据库名称、用户名、密码。
点击“测试连接”确认设置正确,然后“确定”保存连接。
选择已保存的连接,点击“连接”,QGIS 会列 特殊数据库 出数据库中所有可用的空间表。
选择一个或多个表,点击“添加”,它们就会作为图层加载到 QGIS 中。
2. 在QGIS中操作空间数据库数据
连接成功后,QGIS 提供了直观的界面来操作空间数据库中的数据。
数据可视化与符号化: 加载到 QGIS 的空间表会以图层形式显示在地图画布上。用户可以像操作常规图层一样,对这些图层进行符号化(设置颜色、样式、标签)、分类渲染、透明度设置等,以美化地图并突出数据特征。
属性表查看与编辑: 右键点击图层,选择“打开属性表”,可以查看并编辑与空间数据关联的属性信息。如果数据库用户具有写入权限,可以直接在属性表中修改属性值,这些修改会实时同步到数据库。
空间查询与过滤:
属性查询: 使用“选择要素”工具或“按表达式选择要素”功能,通过 SQL 风格的表达式对属性数据进行过滤和选择。
空间查询: 使用“按位置选择要素”或处理工具箱中的空间选择工具,根据空间关系(如相交、包含、距离)查询图层要素。
数据编辑与数字化: 如果图层可编辑(需要数据库权限),用户可以在 QGIS 中直接对空间数据进行数字化、修改几何形状(如添加点、移动节点、重塑线、拆分/合并多边形)。这些编辑操作会以事务方式提交到空间数据库。
导出数据: 用户可以将数据库图层导出为 Shapefile、GeoJSON、KML 等其他常用 GIS 格式,方便数据共享或进一步处理。
3. QGIS与数据库分析功能的结合
QGIS 不仅是数据管理工具,更是强大的分析平台。
处理工具箱: QGIS 的“处理工具箱”集成了大量的空间分析工具(如缓冲区、叠加、网络分析、空间统计等),其中许多工具可以直接作用于空间数据库中的图层,有些甚至会将空间数据库的函数作为后端引擎。
数据库管理器: QGIS 内置的“数据库管理器”提供了一个 SQL 命令行接口,用户可以直接在 QGIS 内部执行复杂的 SQL 查询和空间 SQL 语句,包括创建视图、执行 PostGIS 函数等。
模型构建器与Python脚本: 用户可以使用 QGIS 的模型构建器或 Python 脚本 (PyQGIS) 自动化复杂的工作流,包括与空间数据库的交互。
QGIS 作为一款开源、免费、功能全面的桌面 GIS 软件,是操作和管理空间数据库的理想工具,尤其在与 PostGIS 结合时,能够发挥出强大的地理空间数据处理能力。