SuperAPI AI 工具集

qgis-core-coordinate-systems

数据与分析

查看项目

更新于 10-15 22:18

技能介绍

用途:本技能面向 QGIS/PyQGIS 中的坐标参考系(CRS)操作,帮助在接收 GPS 数据、网页地图显示、精确测量距离面积、使用国家坐标系或交换数据时选择并正确使用 CRS,避免因坐标系错误造成数据静默损坏。

主要能力:

  1. CRS 创建与校验:QgsCoordinateReferenceSystem 支持 EPSG、POSTGIS、INTERNAL、PROJ、WKT 等前缀构造,如 QgsCoordinateReferenceSystem("EPSG:4326");提供 isValid()、authid()、description()、isGeographic()、mapUnits()、toProj()、toWkt()、postgisSrid()、srsid()、projectionAcronym()、ellipsoidAcronym() 等属性方法。
  2. 坐标变换:QgsCoordinateTransform 支持单点 transform(QgsPointXY)、包围盒 transformBoundingBox(QgsRectangle) 及几何体 transform(),可做正向与反向变换。
  3. 距离与面积测量:QgsDistanceArea 提供 measureLine()、measureArea()、setEllipsoid(),并可通过 convertLengthMeasurement()、convertAreaMeasurement() 转换单位。
  4. 图层与工程:可读取图层 CRS,设置工程 CRS 实现动态投影渲染,或用 processing: native:reprojectlayer 重投影整层数据。

必要用法与注意:创建 QgsCoordinateTransform 时应传入 QgsProject.instance().transformContext(),而非裸构造,否则忽略基准面转换偏好;layer.setCrs() 只改变坐标解释,不做重投影;QgsPointXY 始终按 (x, y)=(经度, 纬度) 取值,不遵循 EPSG 轴序;不要使用已废弃的 createFromSrid()/createFromEpsg();创建后必须做 isValid() 检查;独立 PyQGIS 脚本需正确设置 QgsApplication.setPrefixPath(),否则找不到 srs.db 导致 CRS 操作静默失败;跨基准面变换前应检查网格文件可用性,缺失网格会造成精度静默损失。常用 EPSG 代码包括 4326、3857、32631-32660、32701-32760、28992、27700、2154。

适用场景:GPS/WGS84 数据处理、Web 地图、UTM 局部测量、国家网格数据、数据交换等。限制:具体功能的收费、价格、平台与效果资料暂未提供。