变换器#

cuproj.transformer 模块包含 Transformer 类,该类可以在坐标参考系统(CRS)之间执行二维变换。

cuproj.transformer.Transformer(crs_from, crs_to)#

基类: object

用于将坐标从一个CRS变换到另一个CRS的变换器对象。

方法

from_crs(crs_from, crs_to)

创建一个从源CRS到目标CRS的变换器。

transform(x, y[, direction])

将坐标从一个CRS变换到另一个CRS。

注意

目前仅支持 EPSG 权威机构。目前仅支持从 WGS84 到 UTM 的投影(反之亦然)。

示例

>>> from cuproj import Transformer
>>> transformer = Transformer.from_crs("epsg:4326", "epsg:32631")
>>> transformer.transform(2, 49)
(500000.0, 5460836.5)
>>> transformer.transform(500000, 5460836.5, direction="INVERSE")
(2.0, 49.0)
静态方法 from_crs(crs_from, crs_to)#

创建一个从源CRS到目标CRS的变换器。

参数:
crs_fromCRS

源 CRS。

crs_toCRS

目标 CRS。

源和目标 CRS 可以是
- 权威机构字符串 [例如 ‘epsg:4326’]
- EPSG 整数代码 [例如 4326]
- 元组 (“auth_name”: “auth_code”) [例如 (‘epsg’, ‘4326’)]
返回值:
变换器

用于将坐标从一个CRS变换到另一个CRS的变换器对象。

注意

目前仅支持 EPSG 权威机构。

transform(x, y, direction='FORWARD')#

将坐标从一个CRS变换到另一个CRS。

如果输入数据已在设备内存中,且输入实现了 __cuda_array_interface__,则将直接使用数据。如果数据在主机内存中,则将复制到设备。

参数:
xfloat 或 数组类对象

要变换的 x 坐标(一个或多个)。

yfloat 或 数组类对象

要变换的 y 坐标(一个或多个)。

directionstr, 可选

变换方向。可以是“FORWARD”或“INVERSE”。默认为“FORWARD”。

返回值:
tuple

一个包含变换后的 x 和 y 坐标的元组,作为 cupy(设备)数组。