Conversion d’un SCR/projection à un autre
La conversion d’un SCR ou d’une projection à un autre est gérée par les méthodes spTransform() du package rgdal. spTransform() propose des méthodes pour tous les objets sp, y compris SpatialPolygonsDataFrame, mais ne fonctionne pas sur les objets raster. En effet, transformer un raster est un peu plus complexe : la grille rectangulaire transformée ne sera plus rectangulaire. Vous pouvez consulter ?raster::projectRaster si vous êtes curieux au sujet de la transformation des rasters.
La transformation est simple. Le premier argument de spTransform(), x, est l’objet spatial à transformer, et le second, CRS, est la définition du SCR souhaité. Le CRS peut être indiqué par une chaîne PROJ4, que vous pourriez construire à la main, mais il est bien plus facile de la récupérer depuis un objet existant (par exemple avec la fonction proj4string()).
Il est temps de mettre vos deux jeux de polygones dans le même SCR.
Cet exercice fait partie du cours
Visualiser des données géospatiales avec R
Instructions
- Transformez
neighborhoodspour qu’il ait le même SCR quenyc_tractsen utilisantspTransform()avec l’argumentCRSdéfini àproj4string(nyc_tracts). - Vérifiez la transformation en regardant le
head()decoordinates(neighborhoods). - Vérifiez que les jeux de données s’alignent maintenant en traçant
neighborhoods, puis en traçantnyc_tractsavecadd = TRUEetcol = "red", et enfin en traçantwateravecadd = TRUEetcol = "blue".
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
library(sp)
library(raster)
# Use spTransform on neighborhoods: neighborhoods
# head() on coordinates() of neighborhoods
# Plot neighborhoods, nyc_tracts and water