在R中合并和溶解多边形时出现的问题
有时,在使用sp和rgeos包处理R中的空间多边形时,我在对这些多边形进行子集划分和分解时遇到问题。 这个示例显示了我遇到的问题类型,尽管我也遇到过其他数据集出现的问题在R中合并和溶解多边形时出现的问题,r,gis,polygons,R,Gis,Polygons,有时,在使用sp和rgeos包处理R中的空间多边形时,我在对这些多边形进行子集划分和分解时遇到问题。 这个示例显示了我遇到的问题类型,尽管我也遇到过其他数据集出现的问题 require(maptools) require(rgeos) data(wrld_simpl) countries <- c("Argentina","Bolivia","Brazil","Chile","Colombia","Ecuador","Guyana","Paraguay","Peru","Surinam
require(maptools)
require(rgeos)
data(wrld_simpl)
countries <- c("Argentina","Bolivia","Brazil","Chile","Colombia","Ecuador","Guyana","Paraguay","Peru","Suriname","Uruguay","Venezuela")
SAmerica <- subset(wrld_simpl,wrld_simpl@data$NAME == countries[1])
for (i in 2:length(countries)) {
x <- subset(wrld_simpl, wrld_simpl@data$NAME == countries[i])
SAmerica <- gUnion(SAmerica, x)
}
plot(SAmerica)
gIsValid(SAmerica)
shoreline <- gUnaryUnion(SAmerica)
plot(shoreline)
require(映射工具)
需要(rgeos)
数据(wrld_siml)
国家问题在于wrld_simpl是一个糟糕的数据集。它应该被更好的数据替换,没有拓扑错误
wrld_Siml数据集中检测到的错误的多种GIS视图
你可以用更好的数据尝试你的方法,结果会更好
countries <- c("Bolivia","Brazil","Chile","Colombia","Ecuador","Guyana",
"Paraguay","Peru","Suriname","Uruguay","Venezuela")
writeOGR(wrld_simpl, dsn = 'd:', layer = 'wrld_simpl', driver = 'ESRI Shapefile' )
# Correct topology (normalize topology with Manifol GIS
# reducing precision to 0.00001
countries问题在于wrld_siml是一个糟糕的数据集。它应该被更好的数据替换,没有拓扑错误
wrld_Siml数据集中检测到的错误的多种GIS视图
你可以用更好的数据尝试你的方法,结果会更好
countries <- c("Bolivia","Brazil","Chile","Colombia","Ecuador","Guyana",
"Paraguay","Peru","Suriname","Uruguay","Venezuela")
writeOGR(wrld_simpl, dsn = 'd:', layer = 'wrld_simpl', driver = 'ESRI Shapefile' )
# Correct topology (normalize topology with Manifol GIS
# reducing precision to 0.00001
countries这里有一个简单的方法,使用graster
包中的getData(…)
。这样就避免了对
循环和外部软件使用
library(rgeos)
library(raster)
world <- getData("countries")
countries <- c("Argentina","Bolivia","Brazil","Chile","Colombia","Ecuador","Guyana","Paraguay","Peru","Suriname","Uruguay","Venezuela")
SAmerica <- gUnaryUnion(world[world$ENGLISH %in% countries,])
plot(SAmerica)
gIsValid(SAmerica)
# [1] TRUE
下面是一种使用graster
包中的getData(…)
完成此操作的简单方法。这样就避免了对
循环和外部软件使用
library(rgeos)
library(raster)
world <- getData("countries")
countries <- c("Argentina","Bolivia","Brazil","Chile","Colombia","Ecuador","Guyana","Paraguay","Peru","Suriname","Uruguay","Venezuela")
SAmerica <- gUnaryUnion(world[world$ENGLISH %in% countries,])
plot(SAmerica)
gIsValid(SAmerica)
# [1] TRUE
这是一个糟糕的数据,遭受拓扑错误,大量的不匹配,导致数据质量。您可以使用拓扑工具在GIS中进行检查。这是一个糟糕的数据,由于数据质量问题,会出现拓扑错误、大量不匹配。您可以使用拓扑工具strue在GIS中检查它!这是一个更好的数据集。这是一个很好的观点,我已经忘记了那个数据集。我想R中没有方便的几何体修复工具?我这里的问题也是如何处理R中的坏多边形数据…真的!这是一个更好的数据集。这是一个很好的观点,我已经忘记了那个数据集。我想R中没有方便的几何体修复工具?我在这里的问题也是如何处理坏多边形数据在R。。。