我正在使用看似太碎片化以便無法有效查詢的無線電地圖。當我詢問單個點是否在多重多邊形內(我已經測試過「內部」/「包含」/「重疊」)時,響應時間爲20-40秒。我使用PostGIS和GeoDjango來抽象查詢。如何使用PostGIS高效查詢大型多邊形
多面體列有一個GiST索引,我試過了VACUUM ANALYZE。我使用PostgreSQL 8.3.7。和Django 1.2。
這張地圖延伸到大的地理區域。它們最初由地形意識無線電工具生成,並且由the radio cells/polygons are therefore fragmented生成。
我的目標是查詢多面體內的點(即可能包含或不包含信號的房屋)。
所有的無線電地圖都由100.000和300.000個頂點(總數)組成,並且數量變化很大。一些地圖的多邊形少於10個。從那裏跳到10,000到30.000多邊形之間。多邊形與頂點的比例似乎不會影響查詢完成的時間。
我使用投影座標系,並使用相同的系統爲房屋和無線電部門。 Qgis表明無線電部門和地圖正確放置在地形中。
我的測試查詢一次只有一個房子在一個單一的無線電地圖。我已經測試如「內」 /「包含」 /「重疊」的查詢,其結果是相同的:
子第二響應如果房子「遠離」無線電地圖(我想這是因爲它在查詢中自動使用的邊界框之外)。
如果住宅/地點靠近或位於無線電地圖內,則需要20-40秒的響應時間。
我是否有其他方法來優化查詢,還是必須以某種方式更改/簡化源材料?任何建議表示讚賞。
您可以在專門的網站上找到GIS相關的問題更多專家解答http://gis.stackexchange.com/questions – amercader 2010-08-03 22:05:54
請詹姆斯,你會介意分享在這裏,你做了什麼,我是個新手,我面臨同樣的問題,我不知道如何做到這一點非常感謝。 – 2012-02-06 07:09:41