[R-br] como dividir um mapa em áreas retangulares?
Gustavo Henrique de Carvalho
gustavo.bio em gmail.com
Terça Maio 24 17:23:54 BRT 2011
A forma abaixo é o suficiente para mim.
llCRS <- CRS("+proj=longlat +ellps=WGS84")
brazil <- map("world", "brazil", fill = T, plot = F)
brazil <- map2SpatialPolygons(brazil, IDs = 1:23, proj4string = llCRS)
pontos <- spsample(brazil em polygons[[1]], bb = bbox(brazil), n = 10,
type="regular", proj4string=llCRS)
pixels <- as(pontos, "SpatialPixels")
plot(brazil)
plot(pixels, add = T)
Obrigado,
Gustavo.
2011/5/24 Gustavo Henrique de Carvalho <gustavo.bio em gmail.com>:
> Olá pessoal,
>
> Por favor, como eu faço para dividir um mapa em uma grade? Eu preciso
> que o tamanho da grade seja ajustável e que todos os retângulos tenham
> pela menos uma porção da sua área no continente:
>
> require('maps')
> require('spatial')
> require('maptools')
> brazil <- map("world", "brazil", fill = TRUE, plot = FALSE)
> ids <- sapply(strsplit(brazil$names, ":"), function(x) x[1])
> llCRS <- CRS("+proj=longlat +ellps=WGS84")
> brazil.poly <- map2SpatialPolygons(brazil, IDs = ids, proj4string = llCRS)
>
> A representação gráfica aqui não é importante. Eu preciso apenas das
> coordenadas dos quatro cantos de cada retângulo passar para um
> webservice. Como há um limite de requisições que eu posso fazer,
> preciso dar um jeito de não requisitar dados para áreas no meio do
> oceano. Farei isso para todo o continente americano. Eu nunca
> trabalhei com mapas mas imaginei que, como eu não tenho um objeto da
> classe SpatialGrid, eu poderia criar um mapa de classe SpatialPolygon,
> usar a função spsample para conseguir pontos no continente e depois
> transformar esses pontos em uma grade. De qualquer forma, não
> funcionou:
>
> spsample(brazil.poly, 100, type = "regular")
> # Error in .local(x, n, type, ...) : cannot sample in zero-area polygons
>
> Realmente há polígonos com área 0 nesse mapa e eu não sei como resolver isso.
>
> Obrigado,
>
> Gustavo.
>
>> sessionInfo()
> R version 2.13.0 (2011-04-13)
> Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
>
> locale:
> [1] C/en_US.UTF-8/C/C/C/C
>
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
>
> other attached packages:
> [1] maptools_0.8-7 sp_0.9-81 spatial_7.3-3
> maps_2.1-6 foreign_0.8-43 sos_1.3-0
> [7] brew_1.0-6 igraph_0.5.5-2 Matrix_0.999375-50 lattice_0.19-23
>
> loaded via a namespace (and not attached):
> [1] grid_2.13.0 raster_1.8-22 tools_2.13.0
>
Mais detalhes sobre a lista de discussão R-br