[R-br] Criar um novo shapefile à partir da seleção de áreas no shapefile original

ASANTOS alexandresantosbr em yahoo.com.br
Domingo Agosto 23 19:38:59 BRT 2015


Obrigado Elias e Walmes,

            Consegui montar um CRM para mostrar o meu problema, que se 
divide nas seguintes partes: 1) Criação de 4 polígonos; 2) Conversão 
para polígonos espaciais; 3) Transforma em shapefile; 4) No shapefile 
criado seleciono 2 polígonos; e 5) Como os polígonos escolhidos tento 
criar um novo shapefile, o que não funciona ... e não sei porque (tentei 
a solução do Elias e não deu certo)


#<START> ------------------------------------------------------------------
require(sp)
require(shapefile)

#-------------------------------------------------------------------------------
#Criação de 4 polígonos
sr1=Polygons(list(Polygon(cbind(c(180114, 180553, 181127, 181477, 
181294, 181007, 180409,
   180162, 180114), c(332349, 332057, 332342, 333250, 333558, 333676,
   332618, 332413, 332349)))),'1')
sr2=Polygons(list(Polygon(cbind(c(180042, 180545, 180553, 180314, 
179955, 179142, 179437,
   179524, 179979, 180042), c(332373, 332026, 331426, 330889, 330683,
   331133, 331623, 332152, 332357, 332373)))),'2')
sr3=Polygons(list(Polygon(cbind(c(179110, 179907, 180433, 180712, 
180752, 180329, 179875,
   179668, 179572, 179269, 178879, 178600, 178544, 179046, 179110),
   c(331086, 330620, 330494, 330265, 330075, 330233, 330336, 330004,
   329783, 329665, 329720, 329933, 330478, 331062, 331086)))),'3')
sr4=Polygons(list(Polygon(cbind(c(180304, 180403,179632,179420,180304),
   c(332791, 333204, 333635, 333058, 332791)))),'4')

#Converte em polígonos espaciais
sr=SpatialPolygons(list(sr1,sr2,sr3,sr4))
srdf=SpatialPolygonsDataFrame(sr, 
data.frame(row.names=c('1','2','3','4'), PIDS=1:4))

#Cria o shapefile
writeOGR(srdf, getwd(), 'POLY', 'ESRI Shapefile')

#Leitura do shapefile
contorno_line_X <- readShapeLines ("POLY.shp")
df.data = as.data.frame(contorno_line_X)

# Seleciono 2 polígono
df.serra15 = contorno_line_X[contorno_line_X$PIDS=='1',]##
df.serra16 = contorno_line_X[contorno_line_X$PIDS=='4',]##

#Junto
df.serra15e16<-c(list(df.serra15),list(df.serra16))

#Converte em polígonos espaciais
p.df2 <- data.frame(ID=1:length(df.serra15e16))
p2 <- SpatialPolygonsDataFrame(df.serra15e16,p.df2)

#Cria o novo shapefile
writeOGR(p2, getwd(), 'POLY2s', 'ESRI Shapefile')

#<END>---------------------------------------------------------------------

Obrigado,

-- 
======================================================================
Alexandre dos Santos
Proteção Florestal
IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
Campus Cáceres
Caixa Postal 244
Avenida dos Ramires, s/n
Bairro: Distrito Industrial
Cáceres - MT                      CEP: 78.200-000
Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO)
e-mails:alexandresantosbr em yahoo.com.br
         alexandre.santos em cas.ifmt.edu.br
Lattes: http://lattes.cnpq.br/1360403201088680
======================================================================







Em 23/08/2015 10:09, Elias Teixeira Krainski escreveu:
> Tente,
>  df.serra15e16 = contorno_line_a[contorno_line_a$Link%in%c('00496015', 
> '00496016'),]
>
> Elias
> _______________________________________________
> 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.
>



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