我有成千上萬個以表格格式存儲的多邊形(給定它們的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
...
許多多邊形的交叉或重疊。現在,我想創建一個* m矩陣,範圍從-90°到90°緯度和-180°到180°經度,例如,以0.25°x0.25°的步長存儲(面積加權)平均數據落在每個像素內的所有多邊形的值。
因此,在常規網格一個像素應獲得一個或多個多邊形的平均值(或根本沒有,如果沒有多邊形像素重疊)。每個多邊形應根據其在此像素內的面積分數貢獻此平均值。
基本上常規的網格和多邊形是這樣的:
如果你看看像素2,你會看到兩個多邊形此像素內部。因此,我必須考慮它們的面積分數的兩個多邊形的平均數據值。結果應該存儲在常規網格像素中。
我看着網頁四周,發現這個沒有令人滿意的方法爲止。由於我在日常工作中使用Python/Numpy,我想堅持下去。這可能嗎?該軟件包shapely看起來很有希望,但我不知道在哪裏有... 一切移植到PostGIS的數據庫的努力一個可怕的量開始,我想還會有我的方式相當多的障礙。
我不知道很多關於多邊形裁剪,但你有Google嗎?例如http://pypi.python.org/pypi/Polygon/2.0.4 – katrielalex
其實,這可能是矯枉過正。你的多邊形看起來是凸的,所以它們的交點更容易計算。見例如http://content.gpwiki.org/index.php/Polygon_Collision – katrielalex
這並不是很清楚你想要在每個像素中取平均值......你有一個與每個多邊形相關的值嗎?多邊形是基於它們的總面積或它們覆蓋的像素面積的平均重量?在我看來,你的問題很簡單,足以在沒有額外包的情況下有效地處理numpy。請提供缺少的細節。 – Jaime