gpt4 book ai didi

python - 将 NumPy 数组分割为规则网格

转载 作者:行者123 更新时间:2023-12-01 04:59:32 26 4
gpt4 key购买 nike

将 numpy 导入为 np

我有一个具有以下坐标的矩形:

ulx,uly = (110, 60) ##uppper left lon, upper left lat
urx,ury = (120, 60) ##uppper right lon, upper right lat
lrx, lry = (120, 50) ##lower right lon, lower right lat
llx, lly = (110, 50) ##lower left lon, lower left lat

我想将单个矩形分成 100 个规则网格,并且想要分别计算每个网格的 (ulx, uly)、(urx,ury)、(lrx, lry) 和 (llx, lly):

lats = np.linspace(60, 50, 10)
lons = np.linspace(110, 120, 10)

lats = np.repeat(lats,10).reshape(10,10)
lons = np.tile(lons,10).reshape(10,10)

我无法想象接下来该怎么办?

有人熟悉此类问题吗?

最佳答案

为此,您可以使用np.meshgrid:

import numpy as np

lats = np.linspace(50, 60, 11)
lons = np.linspace(110, 120, 11)

xx, yy = np.meshgrid(lats, lons)

此时xxyy是带有网格图 block 角坐标的2x2矩阵。如果您只想获得坐标列表,可以使用 reshape:

ulx = np.reshape(xx[1:,:-1],(-1,1))
llx = np.reshape(xx[:-1,:-1],(-1,1))

urx = np.reshape(xx[1:,1:],(-1,1))
lrx = np.reshape(xx[:-1,1:],(-1,1))

uly = np.reshape(yy[1:,:-1],(-1,1))
lly = np.reshape(yy[:-1,:-1],(-1,1))

ury = np.reshape(yy[1:,1:],(-1,1))
lry = np.reshape(yy[:-1,1:],(-1,1))

但我建议只使用 xxyy

关于python - 将 NumPy 数组分割为规则网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26571373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com