1
我正在使用geodjango和postgis(1.x), 聯合(聯合)多元多邊形列表的最佳方法是什麼?問題合併(聯盟)geodjango中的多個多邊形
在我承擔是相當低效的即時循環槽這樣
combined = multipolygon
for item in items:
combined = combined.union(item.geom) #geom is a multipolygon
通常這個工作得很好,但我常常收到錯誤錯誤遇到檢查幾何從GEOS C函數「GEOSUnion_r」返回。
這裏是被扔在了錯誤的項目的地理JSON版本,如果它有助於
{ "type": "MultiPolygon", "coordinates":
[ [ [ [ -80.077576, 26.572225 ],
[ -80.037729, 26.571180 ],
[ -80.080279, 26.273744 ],
[ -80.147464, 26.310066 ],
[ -80.152851, 26.455851 ],
[ -80.138560, 26.538013 ],
[ -80.077576, 26.572225 ]
] ] ]
}
沒有任何人有anyideas?最終目標是找出所有位於n個多邊形列表中的位置(使用coordinate__within = combined_area)
此外,geodjango admin中的多邊形在地圖上顯示正常。
我會稍微嘗試一下,謝謝你的提示。任何想法,爲什麼我會得到那個「錯誤遇到檢查幾何從GEOS C函數返回幾何」GEOSUnion_r「。當這樣做時,它的另一種方式? – kennethj 2013-03-20 23:53:44
我唯一能想到的是,幾何列是空或空 – miki725 2013-03-21 01:10:15
雖然更乾淨,該方法在遇到問題幾何時返回null 幾何不是空的,但試圖直接在postgres中運行查詢我得到 注意:TopologyException:找到LINESTRING之間的非節點交集...也似乎以影響幾何圖形的某些組合,並且在其相關的情況下POSTGIS =「1.5.3」GEOS =「3.3.8-CAPI-1.7.8」PROJ =「Rel。 4.7.1,2009年9月23日「LIBXML =」2.7.6「USE_STATS – kennethj 2013-03-21 01:34:22