欢迎访问宙启技术站
智能推送

Python中QgsCoordinateTransform()函数的返回值解析

发布时间:2024-01-20 09:55:31

QgsCoordinateTransform()函数是QGIS中用于地理坐标转换的函数。它可以将一个坐标从一个坐标参考系统(CRS)转换到另一个CRS。

该函数的语法如下:

QgsCoordinateTransform(src_crs: QgsCoordinateReferenceSystem, dest_crs: QgsCoordinateReferenceSystem, transformContext: QgsCoordinateTransform.Context = QgsCoordinateTransform.Context()): QgsCoordinateTransform

参数说明:

- src_crs:原始坐标的CRS

- dest_crs:目标坐标的CRS

- transformContext:转换上下文,可选参数,默认为QgsCoordinateTransform.Context()

返回值为QgsCoordinateTransform对象,用于执行坐标转换操作。

使用例子如下:

from qgis.core import QgsCoordinateReferenceSystem, QgsCoordinateTransform, QgsPointXY

# 创建原始坐标参考系统
src_crs = QgsCoordinateReferenceSystem('EPSG:4326')  # WGS 84 经纬度坐标系

# 创建目标坐标参考系统
dest_crs = QgsCoordinateReferenceSystem('EPSG:3857')  # Web Mercator 坐标系

# 创建坐标转换对象
transform = QgsCoordinateTransform(src_crs, dest_crs)

# 创建要转换的坐标点
point = QgsPointXY(116.3972, 39.9097)

# 执行坐标转换
transformed_point = transform.transform(point)

# 输出转换后的坐标
print(transformed_point.x(), transformed_point.y())

在上述例子中,我们首先创建了原始的坐标参考系统,这里使用了WGS 84经纬度坐标系,其中EPSG:4326是EPSG规范中WGS 84经纬度坐标系的标识符。

然后,我们创建了目标的坐标参考系统,这里使用了Web Mercator坐标系,其中EPSG:3857是EPSG规范中Web Mercator坐标系的标识符。

接下来,我们创建了QgsCoordinateTransform对象transform,并将原始和目标坐标参考系统作为参数传递给它。

然后,我们创建了一个要转换的坐标点point,这里的坐标是北京市的经纬度坐标。

最后,我们使用transform.transform()函数执行坐标转换,并将转换后的坐标打印出来。

在这个例子中,我们将WGS 84经纬度坐标系转换为了Web Mercator坐标系,这是因为Web地图通常使用Web Mercator坐标系作为底图坐标系。