地球の小さな領域を表す何千ものポリゴンがテーブル形式で保存されています (4 つのコーナー座標が与えられます)。さらに、各ポリゴンにはデータ値があります。ファイルは、たとえば次のようになります。
lat1, lat2, lat3, lat4, lon1, lon2, lon3, lon4, data
57.27, 57.72, 57.68, 58.1, 151.58, 152.06, 150.27, 150.72, 13.45
56.96, 57.41, 57.36, 57.79, 151.24, 151.72, 149.95, 150.39, 56.24
57.33, 57.75, 57.69, 58.1, 150.06, 150.51, 148.82, 149.23, 24.52
56.65, 57.09, 57.05, 57.47, 150.91, 151.38, 149.63, 150.06, 38.24
57.01, 57.44, 57.38, 57.78, 149.74, 150.18, 148.5, 148.91, 84.25
...
ポリゴンの多くは交差またはオーバーラップしています。ここで、緯度 -90° から 90° まで、経度 -180° から 180° までの範囲の an*m 行列を、たとえば 0.25°x0.25° のステップで作成して、(面積加重) 平均データを保存したいと考えています。各ピクセル内にあるすべてのポリゴンの値。
したがって、通常のメッシュ内の 1 つのピクセルは、1 つまたは複数のポリゴンの平均値を取得します (または、ポリゴンがピクセルとオーバーラップしない場合はなし)。各ポリゴンは、このピクセル内の面積分率に応じて、この平均値に寄与する必要があります。
基本的に、通常のメッシュとポリゴンは次のようになります。
ピクセル 2 を見ると、2 つのポリゴンがこのピクセル内にあることがわかります。したがって、面積分数を考慮して、両方のポリゴンの平均データ値を取得する必要があります。結果は、通常のメッシュ ピクセルに格納する必要があります。
私はウェブを見回しましたが、これまでのところ満足のいくアプローチは見つかりませんでした。私は日常業務で Python/Numpy を使用しているので、それに固執したいと思います。これは可能ですか?パッケージは有望に見えますが、どこから始めればよいかわかりません...すべてをpostgisデータベースに移植するのは大変な労力であり、私の方法にはかなりの障害があると思います.