[R-br] Como Salvar Shapefile

Elias T. Krainski eliaskrainski em yahoo.com.br
Qua Jan 16 11:24:01 -02 2019


se você for usar apenas em ambiente R, a melhor opção é usar save(...). Frequentemente uso com compress='xz'.

Elias T. Krainski 

    Em terça-feira, 15 de janeiro de 2019 11:30:21 BRST, Yury Duarte por (R-br) <r-br em listas.c3sl.ufpr.br> escreveu:  
 
 Bom dia colegas listeiros!
Ultimamente venho tentando manusear arquivos espaciais utilizando o R.Em alguns casos, objetos do tipo 'large SpatialPolygons' são gerados dentro do código. Quando isso ocorre (acredito que seja algo que acontece por padrão, devido a grande quantidade de informações armazenadas no objeto), a função writeOGR, que utilizo para salvar os shapefiles, quebra, por só tratar de objetos do tipo 'Spatial' e não os 'large Spatial'.
Sendo assim, gostaria de saber se existe a possibilidade de salvar um shapefile a partir de um objeto do tipo 'large Spatial' ou ainda se existe a possibilidade de transformar esse num objeto do tipo SpatialPolygonsDataFrame, para que a função writeOGR possa funcionar normalmente.
Segue código desenvolvido seguido do erro gerado. 
Desde já, agradeço pela ajuda de todos!
rodar_bibliotecas = function(necessarias_para_o_projeto){    if(necessarias_para_o_projeto){    library(rgrass7)    library(spatstat)     library(maptools)     library(shapefiles)    library(foreign)    library(magrittr)    library(formattable)    library(e1071)    library(rlang)    library(rgdal)    library(rgeos)    library(raster)    library(sp)    library(sf)    library(RcppCNPy)    library(deldir)    library(dismo)    library(dplyr)    library(ggplot2)    library(gstat)    library(tidyverse)    library(smoothr)    library(viridisLite)  }  return('Ok')}
rodar_bibliotecas(TRUE)
raiz = '/home/yury/pesquisa/arquivos/areas/'clientes = dir(raiz)
for (cliente in 1:length(clientes)) {    analises = dir(paste0(raiz, clientes[cliente]))  q = list()    for (analise in 1:length(analises)) {        shapefile_contorno = readOGR(paste0(raiz, clientes[cliente], '/', analises[analise], '/', 'vetores.shp'))    shapefile_contorno$id = 1    dissolvido = unionSpatialPolygons(shapefile_contorno, IDs = shapefile_contorno$id)    #plot(dissolvido)        q[analise] = dissolvido      }    fim = q[[1]]  for (x in 2:length(q)){        fim = bind(fim, q[[x]])      }plot(fim)
path_to_save = paste0(raiz, clientes[cliente])writeOGR(fim,         dsn = path_to_save,         layer = paste0('contorno_', clientes[cliente]),         driver = 'ESRI Shapefile',         overwrite_layer = TRUE)
}
Error in writeOGR(fim, dsn = path_to_save, layer = paste0("contorno_", : obj must be a SpatialPointsDataFrame, SpatialLinesDataFrame or SpatialPolygonsDataFrame

Yury Duarte
Engenheiro Agrônomo - ESALQ/USP
_______________________________________________
R-br mailing list
R-br em listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.  
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20190116/f916c0b4/attachment.html>


Mais detalhes sobre a lista de discussão R-br