使用pyproj投影NumPy坐标数组

时间:2017-02-25 17:12:46

标签: python numpy coordinates map-projections pyproj

我有一个像这样的NumPy纬度/经度(WGS84)坐标数组:

def project_array(coordinates, srcp='latlong', dstp='wintri'):
    """
    Project a numpy (n,2) array in projection srcp to projection dstp
    Returns a numpy (n,2) array.
    """
    p1 = pyproj.Proj(proj=srcp, datum='WGS84')
    p2 = pyproj.Proj(proj=dstp, datum='WGS84')
    fx, fy = pyproj.transform(p1, p2, coordinates[:,0], coordinates[:,1])
    # Re-create (n,2) coordinates
    return np.dstack([fx, fy])[0]

我想使用pyproj库来使用Winkel-Tripel(仍然是WGS84)投影这些纬度/经度坐标而不单独处理每个点?

如何将pyproj(单独的X / Y数组)的结果加入到单个numpy数组中,就像上面的坐标数组一样?

1 个答案:

答案 0 :(得分:1)

pyproj文档显示了如何投影单点和

对于WGS84中的投影,您可以使用以下功能:

dstack

请注意使用>>> project_array(coords) array([[ 497789.36471653, -5965577.60559519], [ 498357.98167095, -5964919.091806 ], [ 498918.88707764, -5963861.91844427], [ 498243.057953 , -5964202.54601671], [ 497245.19767552, -5965221.87480737]]) 加入x / y数组

坐标数组的用法示例。

--binary