IniziaInizia gratis

Conversione da un CRS/proiezione a un altro

La conversione da un CRS o una proiezione a un’altra è gestita dai metodi spTransform() del pacchetto rgdal. spTransform() ha metodi per tutti gli oggetti sp, inclusi i SpatialPolygonsDataFrame, ma non funziona sugli oggetti raster. Questo perché trasformare un raster è un po’ più complicato: la griglia rettangolare trasformata non sarà più rettangolare. Se ti incuriosisce la trasformazione dei raster, dai un’occhiata a ?raster::projectRaster.

La trasformazione è semplice. Il primo argomento di spTransform(), x, è l’oggetto spaziale da trasformare e il secondo, CRS, è la specifica del CRS desiderato. Il CRS può essere indicato tramite una stringa PROJ4, che potresti costruire a mano, ma è molto più semplice prenderla da un oggetto esistente (ad esempio con la funzione proj4string()).

È il momento di portare i due dataset di poligoni nello stesso CRS.

Questo esercizio fa parte del corso

Visualizzare dati geospaziali in R

Visualizza il corso

Istruzioni dell'esercizio

  • Trasforma neighborhoods in modo che abbia lo stesso CRS di nyc_tracts usando spTransform() con l’argomento CRS impostato a proj4string(nyc_tracts).
  • Verifica la trasformazione guardando la head() di coordinates(neighborhoods).
  • Controlla che ora i dataset siano allineati tracciando neighborhoods, poi tracciando nyc_tracts con add = TRUE e col = "red", e infine tracciando water con add = TRUE e col = "blue".

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

library(sp)
library(raster)

# Use spTransform on neighborhoods: neighborhoods



# head() on coordinates() of neighborhoods


# Plot neighborhoods, nyc_tracts and water


Modifica ed esegui il codice