Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中合并和溶解多边形时出现的问题_R_Gis_Polygons - Fatal编程技术网

在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

有时,在使用sp和rgeos包处理R中的空间多边形时,我在对这些多边形进行子集划分和分解时遇到问题。 这个示例显示了我遇到的问题类型,尽管我也遇到过其他数据集出现的问题

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。。。