區域統計工具(ArcGIS Spatial Analyst)有任何開源替代方法嗎? 什麼是最好的工具(我可以在腳本中使用)光柵文件的宿計數統計?區域統計QGIS
區域統計QGIS
回答
你可以使用光柵包中的R
library(raster)
v <- raster('raster filename')
z <- raster('zones raster filename')
zv <- zonal(v, z, fun=mean)
糾正我,如果我錯了,RobertH,但我相信緯向()需要將區域已經「光柵化」在一定意義上,而許多次數會需要落入多邊形內的柵格單元的統計數據。 sp包中的R中的各種覆蓋方法(請參閱:?「覆蓋方法」)對此很有必要,但如果我錯了,我很樂意聽到它。我比較喜歡使用SpatialGridsDataFrames的柵格包,但我認爲必須依靠sp類來混合多邊形和網格數據。這是可以的,除了變得有問題,因爲它缺乏對光柵包的大量內存管理,這使得在大型柵格上R中的點式多邊形風格的操作真的很難做到。
我也被引導認爲,但沒有嘗試過,這可以在GRASS和/或通過QGIS完成,下一版本的QGIS(1.7)具有某種內置的區域統計功能。
你可以用GRASS使用各種方法來做到這一點。哪一個最合適取決於您的數據和所需的輸出。請注意,您也可以使用GRASS工具箱或Sextante工具箱在QGIS中使用GRASS。
讓我們假設你有:
- 矢量地圖,例如,
vector_zones
在屬性表中的列 定義myzones
的區域。 - 您要計算你的分區統計
要使用r.statistics光柵層「價值」,你首先需要將矢量地圖轉換爲柵格層,您可以使用v.to.rast來完成。接下來,使用r.statistics來計算區域統計。
v.to.rast input=vector_zones output=zones column=myzones
r.statistics base=zones cover=values out=outputmap method=average
這會給你所選擇的分區統計,這可能是平均值,模式,中位數,方差等(見上手冊頁鏈接)一個新層。
的r.univar功能也適用於柵格圖層。
v.to.rast input=vector_zones output=zones column=myzones
r.univar map=values zones=zones output=output.file fs=;
輸出是一個帶有區域統計的表格。
這並不需要你矢量圖層轉換爲柵格層(這是內部完成的)。該函數根據柵格圖計算每矢量類別(cat)的基本單變量統計。
v.rast.stats vector=vector_zones layer=1 raster=values column_prefix=val
結果上傳到矢量地圖屬性表。
的Rasterstats包是一個很好的開源工具,爲我工作得好: http://blog.perrygeo.net/2013/09/24/python-raster-stats/
我開始使用它作爲一個變通,因爲ArcPy中的ZonalStatistics方法生產問題光柵導致一個奇怪的錯誤時試圖將光柵轉換爲數組(https://gis.stackexchange.com/questions/110274/save-fails-on-raster-object-created-from-numpyarraytoraster)。 Rasterstats運作良好,爲我的問題提供了一個有效的解決方案。
- 1. Chrome分析器統計灰色區域
- 2. 如何在Qgis中擴展OSM或光柵區域(進入「無數據」區域)?
- 3. 計算GMSPolygon區域
- 4. 獲取系統區域
- 5. 獲取文本區域的統計信息(單詞,行,字符)
- 6. 風景中多邊形區域的統計平均值
- 7. LocationManager和iBeacon:如何統計當前監控區域的數量
- 8. 在IDL或C中合併統計區域
- 9. 我們如何統計圖表區域中多少個選擇?
- 10. 從邊界計算區域
- 11. 排序計算區域
- 12. 計算多邊形區域
- 13. 計算Voronoi細胞區域
- 14. 如何計算trapizoid區域?
- 15. 多邊形區域計算
- 16. 計算區域中的R
- 17. 在QGIS我想不是每個國家顯示每個區域一個餅圖
- 18. 創建設計區域設計襯衫
- 19. 將地圖劃分爲統一區域
- 20. 基於系統區域設置在C++
- 21. Playframework 2.0.1DateFormatter接收系統區域
- 22. 如何計算像素區域的Windows區域(HRGN)?
- 23. 將世界城市數據庫映射到大都市統計區域(和非美國MSA等值區域)
- 24. 如何統計MySQL中的URL域?
- 25. Excel VBA:從任何操作系統區域/區域解析英文日期
- 26. 系統語言和系統區域設置的mac?
- 27. 必須將Windows系統區域設置爲系統範圍?
- 28. 連接區域的區域
- 29. 區域內的區域
- 30. QGIS Windows錯誤
請參閱R中的幫助(帶區)瞭解帶有示例數據的可運行示例 – Spacedman 2011-05-16 11:48:40