首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rgeos::createPolygonsComment(oobj)中出错:在R中使用geojsonio的孤立孔

rgeos::createPolygonsComment(oobj)中出错:在R中使用geojsonio的孤立孔
EN

Stack Overflow用户
提问于 2020-08-16 02:26:32
回答 1查看 160关注 0票数 0

我正尝试在我的本地存储库中为this output创建一个.geojson文件。我正在本地下载该文件,进行调整并编写input21.geojson,但是,我收到了以下消息:

代码语言:javascript
复制
Error in rgeos::createPolygonsComment(oobj) : 
rgeos_PolyCreateComment: orphaned hole, cannot find containing polygon for hole at index 51

到目前为止我的代码如下:

代码语言:javascript
复制
library(jsonlite)
library(rgdal)
library(downloader)
library(geojsonio)
library(maptools)


u <- paste0('https://servicodados.ibge.gov.br/api/v2/malhas/21?formato=application/vnd.geo+json')

downloader::download(url = u, destfile = "/tmp/gas.GeoJSON")
gas <- readOGR(dsn = "/tmp/gas.GeoJSON")

gas$var0031 <- 21
gas$var0517 <- 0 
gas$var0514  <- as.numeric(substr(as.character(gas$var0031),1,1))
gas$var0512 <- "MA"
gas$var0513 <- "Maranhão"
gas <- gas[which(names(gas) %in% c("var0517", "var0031", "var0514", "var0512", "var0513"))]

geojsonio::geojson_write(gas, file = paste0("./data/in/sidra_malhas/input21.geojson"))
EN

回答 1

Stack Overflow用户

发布于 2020-08-17 21:57:28

我已经想出了一个名为cleangeo的包,它可以纠正一些与地理结构相关的问题,添加几行代码解决了这个问题:

代码语言:javascript
复制
gas <- cleangeo::clgeo_Clean(gas)
slot(gas, "polygons") <- lapply(slot(gas, "polygons"), checkPolygonsHoles)

在该行之前:

代码语言:javascript
复制
geojsonio::geojson_write(gas, file = paste0("./data/in/sidra_malhas/input21.geojson"))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63429503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档