私はあなたのポイントがこのような配列で利用可能であると仮定します:
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)
最小ポイントを取得するために、コレクションモジュールの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補間を使用できます。不規則な間隔のデータの2D補間専用のレシピがあります:http ://www.scipy.org/Cookbook/Matplotlib/Gridding_irregularly_spaced_data