[R-br] Como Salvar Shapefile

Yury Duarte yurynepomuceno em gmail.com
Qua Jan 16 16:22:05 -02 2019


Testei o efeito da função gSimplify(), mas acho que não vou poder
utiliza-la.
Mesmo passando um valor baixo no parâmetro 'tol', a quantidade de detalhes
perdida nos contornos dos meus polígonos é grande.
Acredito que eliminar polígonos concêntricos possa ajudar a diminuir o
tamanho do objeto gerado pelo script (ainda não sei como fazer essa
verificação e eliminação), mas o número de casos em que isso ocorre não
está sendo tão grande assim.

Yury Duarte
Engenheiro Agrônomo - ESALQ/USP


Em qua, 16 de jan de 2019 às 13:22, Elias T. Krainski <
eliaskrainski em yahoo.com.br> escreveu:

> Não seria o caso de reduzir a resolução do shapefile? Já teve situaçoes
> que usei gSimplify() e escolhi parametros que se mostraram adequados ao meu
> objetivo.
>
> Elias T. Krainski
>
>
> Em quarta-feira, 16 de janeiro de 2019 12:08:04 BRST, Yury Duarte <
> yurynepomuceno em gmail.com> escreveu:
>
>
> Bom dia Elias, como vai?
>
> Interessante sua solução!
> Não estou acostumado a salvar minhas saídas no formato .RData. Irei testar
> esse formato nos casos onde irei trabalhar os dados/analises apenas em
> ambiente R.
> Aparentemente, esse formato economiza bastante espaço em disco.
> Entretanto, para essa situação em especial, eu realmente tenho a
> necessidade de salvar as saídas em formato .shp, pois tenho que aplicar o
> resultado do script em outros ambientes (nos SIGs em geral e no Google
> Earth).
>
> Caso tenha(m) mais alguma sugestão, ficarei feliz em testar.
>
> Mais uma vez, agradeço pela disponibilidade e apoio!
>
> Att
>
> Yury Duarte
> Engenheiro Agrônomo - ESALQ/USP
>
>
> Em qua, 16 de jan de 2019 às 11:24, Elias T. Krainski <
> eliaskrainski em yahoo.com.br> escreveu:
>
> 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/4d6e288f/attachment.html>


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