Saltar al contenido

Proyectar objetos sp en R

Deseamos compartir contigo la mejor información que encontramos en todo internet. Esperamos que te sea de utilidad y si quieres aportar alguna mejora siéntete libre de hacerlo..

Solución:

Puedes usar el spTransform() métodos en rgdal: con su ejemplo, puede transformar el objeto a NAD83 para Kansas (26978):

library(rgdal)
library(maptools)

P4S.latlon <- CRS("+proj=longlat +datum=WGS84")
hrr.shp <- readShapePoly("HRR_Bdry", verbose=TRUE, proj4string=P4S.latlon)
plot(hrr.shp)

sin proyectar

hrr.shp.2 <- spTransform(hrr.shp, CRS("+init=epsg:26978"))
plot(hrr.shp.2)

proyectado

Para guardarlo en la nueva proyección:

writePolyShape(hrr.shp.2, "HRR_Bdry_NAD83")

EDITAR: O, según la sugerencia de @ Spacedman (que escribe un archivo .prj con la información de CRS):

writeOGR(hrr.shp.2, dsn = getwd(), layer = "HRR_Bdry_NAD83", driver="ESRI Shapefile")

Si no está seguro de desde qué CRS proyectar, consulte la siguiente publicación:

  • ¿Elegir el valor correcto para proj4string para la lectura de shapefile en R?

Y si uno quiere definir / asignar un CRS cuando los datos no lo tienen, consulte:

  • ¿Asignar CRS a shapefile cuando no tiene uno, en R?

Desde la introducción del paquete sf (eche un vistazo a las viñetas sf1, sf2, sf3, sf4 y una guía de migración aquí) puede usar st_transform() para volver a reproyectar sus datos vectoriales:

require(sf)

hrr_sf = st_read('HRR_Bdry.shp', stringsAsFactors = FALSE,
    crs = 4326) # has +proj=longlat +datum=WGS84
plot(hrr_sf)

hrr_sf2 = st_transform(hrr_sf, "+init=epsg:26978") # 1st option sp::CRS() not working/ needed
hrr_sf2 = st_transform(hrr_sf, 26978) # 2nd option - EPSG code as an integer
plot(hrr_sf2)

# don't think about doing this:
hrr_sf3 = st_read('HRR_Bdry.shp', stringsAsFactors = FALSE,
    crs = 26978)

# Output layer
st_write(hrr_sf2, dsn = getwd(), layer = "HRR_Bdry_NAD83", driver = "ESRI Shapefile")

sf reemplazará a sp en el futuro y, debido a su simplicidad y velocidad, en mi humilde opinión, tiene varias ventajas en comparación con sp.

valoraciones y comentarios

Acuérdate de que puedes optar por la opción de agregar una reseña .

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *