[R-br] Leitura de arquivo .shp e depois obtendo latitude e longitude
izi
salah3.1416 em gmail.com
Quarta Abril 22 02:04:35 BRT 2015
Olá Alex
Segue alguns exemplos, veja se lhe ajuda
library(maptools)
library(rgdal)
library(maps)
library(ggplot2)
##-------------------------------------------
## OBTENDO E DESCOMPACTANDO O SHAPEFILE
##-------------------------------------------
ender = 'endereço/ de /trabalho' ## endereço de trabalho
setwd(ender) ## set o endereço de trabalho que receberá os arquivos
## site do shapefile
url0 =
'http://www.aesa.pb.gov.br/geoprocessamento/geoportal/arquivos/Estados_do_Nordeste.zip'
## faz o download do shapefile
if (!file.exists(basename(url0))) download.file(url0,
dest=basename(url0), mode = "wb")
unzip(basename(url0)) ## extrai os arquivos
##-------------------------------------------
## LENDO O SHAPEFILE
##-------------------------------------------
nordeste <- readOGR(dsn = ender, layer = 'Nordeste', encoding =
"latin1")
##-------------------------------------------
## SEPARANDO ALGUNS ESTADOS
##-------------------------------------------
est = data.frame(
nord = c('Alagoas', 'Bahia', 'Paraíba'),
cor = c('red', 'blue', 'orange'),
Temp = c(23, 34, 40))
## os estados estão na coluna 4
str(nordeste em data)
## separe assim
estados1 = nordeste[nordeste em data[, 4] %in% est$nord, ]
## ou assim
estados2 = subset(nordeste, Estado %in% c('Alagoas', 'Bahia',
'Paraíba'))
##-------------------------------------------
## GRÁFICOS
##-------------------------------------------
## plot
plot(nordeste, axes = TRUE) ## toda região nordeste
plot(estados2, axes = TRUE) ## alguns estados
## rode após o plot, acrescenta a escala
map.scale(-48, -18, ratio = FALSE, metric = TRUE, cex = 0.8)
## ggplot
ggplot(estados2, aes(long, lat, group = group)) +
geom_polygon(fill = "white") +
geom_path(col = "#7f7f7f", size = 0.25)
## spplot
spplot(estados2, zcol = "Estado",
col.regions = rainbow(length(levels(nordeste em data$Estado))),
colorkey = FALSE)## estados selecionados
spplot(nordeste, zcol = "Estado",
col.regions = rainbow(length(levels(nordeste em data$Estado))),
colorkey = TRUE)## todos os estados
--
Salah
Saudações!
Use R! Use Linux! Use Software free
Mais detalhes sobre a lista de discussão R-br