Boa noite Éder,
Tentei seguir seu roteiro usando
maptools::unionSpatialPolygons() e não deu certo a dissolução de
bacias, fiz:
require(shapefiles)
library(maptools)
library(gpclib)
library(rgdal)
library(PBSmapping)
#Shapefile e dados
links <- c(
"https://www.dropbox.com/s/3ph2630xicpexo0/dem.crop.final.tif",
"https://www.dropbox.com/s/3ph2630xicpexo0/dem.crop.final.tif",
"https://www.dropbox.com/s/3ph2630xicpexo0/dem.crop.final.tif",
"https://www.dropbox.com/s/3ph2630xicpexo0/dem.crop.final.tif")
if (sum(sapply(basename(links), file.exists))<4) {
lapply(links, function(a) tryCatch(download.file(a,
dest=basename(a), mode='wb'),
error=function(...)
message("ERRO!")))} else message('OK!')
#
#abrido shapefile
#
bacias <- readOGR(".", "sa_bas_ll_r500m")
CRS.new <- CRS("+proj=longlat +datum=WGS84")
proj4string(bacias) <- CRS.new
plot(bacias)
str(bacias)
## Separando os ID dos atributos do LEVEL2, pois tenho 6 níveis de
bacias
IDlevel2<- cut(bacias@data$LEVEL2, range(bacias@data$LEVEL2),
include.lowest=TRUE)
## Bacias "dissolvidas" para o nível 2
Dissolve_bacia <- unionSpatialPolygons(bacias ,Dissolve_bacia)
Dissolve_bacia_2 <- SpatialPolygons2PolySet(DissolveResult)
## Representação gráfica
plotPolys(Dissolve_bacia_2 , proj =
TRUE,col="wheat1",xlab="longitude",ylab="latitude")
E a figura resultante em plotPolys não são minhas bacias no nível 2.
Poderia me dizer o que estou fazendo de errado,
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@yahoo.com.br
alexandre.santos@cas.ifmt.edu.br
Lattes: http://lattes.cnpq.br/1360403201088680
======================================================================
Em 26/05/2014 15:12, Éder Comunello
escreveu:
Alexandre, boa tarde!
Sugiro que você trabalhe com o mapa de bacias "dissolvidas"
para o nível 2. Para isso você pode fazer uso de
maptools::unionSpatialPolygons(). Para fins de visualização você
pode ainda utilizar outras funções de simplificação.
Feito isso, além de visualizar mais rápido, você poderá obter o
centróide dos polígonos dissolvidos pra locar os gráficos de
torta. Depois de rodar o sp::over() você precisa tabular as
frequências por bacia e adicionar a coordenada de cada uma.
A entrada do add.pie() é individual, então você poderá pensar
num laço ou uma função da família apply pra entradas múltiplas.
Atte.,