gpt4 book ai didi

python - 将 Python 与一组不规则点 X、Y、Z 一起使用,以创建一个规则网格,其中每个像素都是该点的最小值

转载 作者:太空宇宙 更新时间:2023-11-04 06:20:38 25 4
gpt4 key购买 nike

我有一组具有 X、Y 和 Z 值的非常规点。我希望创建一个分辨率为 0.5 x 0.5 且扩展等于我的数据边界框的常规正方形网格(以 TIFF 格式或 ASCII 格式导出)-设置[X_Min,Y_Min],[X_Max,Y_Min],[X_Max,Y_Max],[X_Min,Y_Max],[X_Min,Y_Min]

存在点的每个像素的值需要是像素中点的低值。

抱歉,如果我不能发布任何 Python 代码。

提前感谢所有帮助、建议和解决此问题的链接

最佳答案

我假设您的积分在这样的数组中可用:

points = [(x1,y1,z1), (x2,y2,z2), ...]  

要提取 x 和 y 值,您可以使用 zip 技巧:

points_zipped = zip(*points)  
xvals = points_zipped[0]
yvals = points_zipped[1]

然后获取边界框就很简单了:

xmin, ymin = min(xvals), min(yvals)
xmax, ymax = max(xvals), max(yvals)

为了获得最低分,我想不出比使用 collections 模块中的 defaultdicts 更鼓舞人心的方法了:

from collections import defaultdict
minpoints = defaultdict(lambda: defaultdict(lambda : 0.)) # 0. or another suitable min value
for p in points:
minpoints[p[0]][p[1]] = min(p[2], minpoints[p[0]][p[1]])

从那里你可以使用 scipy 插值。有一个专门用于不规则间隔数据的二维插值的方法:http://www.scipy.org/Cookbook/Matplotlib/Gridding_irregularly_spaced_data

关于python - 将 Python 与一组不规则点 X、Y、Z 一起使用,以创建一个规则网格,其中每个像素都是该点的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12572040/

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