优化转换

如果您想优化您的转换,这里有几个技巧可以尝试。

重复变换

如果使用相同的转换,请使用 pyproj.Transformer 可以帮助优化您的转换。

import numpy as np
from pyproj import Transformer, transform

transformer = Transformer.from_proj(2263, 4326)
x_coords = np.random.randint(80000, 120000)
y_coords = np.random.randint(200000, 250000)

实例与 transform()

transform(2263, 4326, x_coords, y_coords)

结果:每个回路160 ms±3.68 ms(平均值±标准偏差7次,每个回路1次)

实例与 Transformer

transformer.transform(x_coords, y_coords)

结果:每个回路6.32μs±49.7 ns(平均值±标准偏差7次,每个回路100000次)

具有相同投影的转换

Pyproj将跳过默认情况下完全相同的转换。然而,如果你有时会抛出大致相同的投影,并且结果足够接近是你想要的,那么 skip_equivalent 选项可以帮助您。

注解

来自项目代码:对象对于坐标操作是等效的。它们可以根据对象的名称、标识符和其他元数据而有所不同。参数可以用不同的单位表示,前提是该值(有一些公差)一旦用一个共同的单位表示,就相同。