我试图在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