[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