我試圖在R中執行溶解。我之前在QGIS中完成了這項工作,但是我希望在R中實現這一點,以儘可能與我的工作流程的其餘部分進行集成。使用R沒有正確繪製的溶解多邊形
我有一個小地理多邊形的ESRI shapefile(輸出區域,如果您熟悉英國人口普查地理)。我還提供了一個查詢表,列出了所有OA代碼及其相關的彙總地理代碼。
我不能提供我工作的實際文件,但類似的文件和低於最低可再現的例子:
- https://www.dropbox.com/s/4puoof8u5btigxq/oa-soa.csv?dl=1(130KB CSV)
- https://www.dropbox.com/s/xqbi7ub2122q14r/soa.zip?dl=1(〜4MB SHP)
和代碼:
require("rgdal") # for readOGR
require("rgeos") # for gUnion
require("maptools")
unzip("soa.zip")
soa <- readOGR(dsn = "soa", "england_oac_2011")
proj4string(soa) <- CRS("+init=epsg:27700") # British National Grid
lookup <- read.csv("oa-soa.csv")
slsoa <- gUnaryUnion(soa, id = lookup$LSOA11CD)
我已經阿爾斯Ø嘗試:
slsoa <- unionSpatialPolygons(soa, lookup$$LSOA11CD)
,但我的理解是,因爲我有(R)GEOS安裝此使用來自rgeos包gUnion方法反正。
所以,我的問題是溶解似乎工作;我沒有得到一個錯誤信息,()函數表明我現在有更少的多邊形長度:
length([email protected]) # 1,817
length([email protected]) # should be 338
但情節似乎是相同的(即內部溶解都沒有奏效),具體表現爲以下兩個圖:
plot(soa)
plot(slsoa)
我已經在互聯網上左顧右盼和計算器,看看我能解決我的問題,並發現了幾篇文章,但沒有成功。
- problems when unioning and dissolving polygons in R(我不認爲shapefile的質量是問題,因爲我使用查找表來匹配地理區域)。
- https://www.nceas.ucsb.edu/scicomp/usecases/PolygonDissolveOperationsR(使用兩個sp對象,而不是查找表)。
- https://gis.stackexchange.com/questions/93441/problem-with-merging-and-dissolving-a-shapefile-in-r(據我可以告訴我已經按照相關步驟)
有沒有人有任何想法,我做錯了,爲什麼該地塊無法正常工作?
非常感謝。
謝謝您的回答,我知道我失去了一些東西相當明顯。這既適用於可複製的示例,也適用於我正在處理的數據。 soa/lookup的長度很有趣。我沒有注意到,他們直接從國家統計局下載,所以他們應該匹配!謝謝。 – Phil 2014-11-23 10:02:11