2

X、Y、Zの値を持つ不規則なポイントのセットがあります。解像度が0.5x0.5で、拡張子がデータセットの境界ボックスに等しい通常の正方形グリッド(TIFFフォーマットまたはフォーマットでエクスポートするため)を作成したいASCII[X_Min,Y_Min],[X_Max,Y_Min],[X_Max,Y_Max],[X_Min,Y_Max],[X_Min,Y_Min]

ポイントが存在する各ピクセルの値は、ピクセル内のポイントの低い値である必要があります。

Pythonコードを投稿できない場合は申し訳ありません。

この問題を解決するためのすべてのヘルプ、提案、およびリンクを事前に感謝します

4

1 に答える 1

1

私はあなたのポイントがこのような配列で利用可能であると仮定します:

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

于 2012-09-30T18:34:31.623 に答える