Tenho vários shapefiles em diferentes CRSs (principalmente WGS84 lat / lon) que gostaria de transformar em uma projeção comum (provavelmente Albers Equal Area Conic, mas posso pedir ajuda para escolher outra pergunta assim que meu problema melhorar. -definiram).
Passei alguns meses fazendo estatísticas espaciais em R, mas foi há 5 anos. Pela minha vida, não me lembro como transformar um sp
objeto (por exemplo SpatialPolygonsDataFrame
) de uma projeção para outra.
Código de exemplo:
P4S.latlon <- CRS("+proj=longlat +datum=WGS84")
hrr.shp <- readShapePoly("HRR_Bdry"), verbose=TRUE, proj4string=P4S.latlon)
# Shapefile available at
# http://www.dartmouthatlas.org/downloads/geography/hrr_bdry.zip
# but you must rename all the filenames to have the same
# capitalization for it to work in R
Agora tenho uma SpatialPolygonsDataFrame
informação de projeção apropriada, mas gostaria de transformá-la na projeção desejada. Lembro-me de haver uma função com um nome pouco intuitivo para isso, mas não consigo lembrar o que é.
Observe que eu não quero apenas alterar o CRS, mas alterar as coordenadas para corresponder ("reprojetar", "transformar" etc.).
Editar
Excluindo AK / HI, que são irritantemente colocados no México para este shapefile:
library(taRifx.geo)
hrr.shp <-
subset(hrr.shp, !(grepl( "AK-" , hrr.shp@data$HRRCITY ) |
grepl( "HI-" , hrr.shp@data$HRRCITY )) )
proj4string(hrr.shp) <- P4S.latlon
fonte
Respostas:
Você pode usar os
spTransform()
métodos em rgdal - usando seu exemplo, você pode transformar o objeto em NAD83 para Kansas (26978):Para salvá-lo na nova projeção:
EDIT : Ou, conforme a sugestão de @ Spacedman (que grava um arquivo .prj com as informações do CRS):
Se não tiver certeza de qual CRS projetar, consulte a seguinte postagem:
E se alguém quiser definir / atribuir um CRS quando os dados não tiverem um, consulte:
fonte
Desde a introdução do pacote-sf (ter um olhar para o vinhetas sf1 , sf2 , SF3 , SF4 e um guia de migração aqui ) você pode usar
st_transform()
para re-reprojetar seus dados vetoriais:O sf substituirá o sp no futuro e, devido à sua simplicidade e velocidade, apresenta várias vantagens em relação ao sp.
fonte