Conversion d'un SCR/projection à un autre
La conversion d'un système de coordonnées de référence (SCR) ou d'une projection à un autre est prise en charge par les méthodes spTransform() du paquet rgdal. spTransform() propose des méthodes pour tous les objets sp, dont SpatialPolygonsDataFrame, mais ne fonctionne pas avec les objets raster. C'est parce que la transformation d'un raster est un peu plus complexe : la grille rectangulaire transformée ne sera plus rectangulaire. Si cela vous intéresse, consultez ?raster::projectRaster pour en savoir plus sur 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 rédiger à la main, mais il est beaucoup plus simple de la récupérer d'un objet existant (par exemple avec la fonction proj4string()).
Il est temps de mettre vos deux jeux de polygones dans le même SCR.
Cette activité fait partie du cours
Visualiser des données géospatiales avec R
Instructions de l’exercice
- Transformez
neighborhoodspour qu'il utilise le même SCR quenyc_tractsen appelantspTransform()avec l'argumentCRSdéfini àproj4string(nyc_tracts). - Vérifiez la transformation en examinant le
head()decoordinates(neighborhoods). - Vérifiez que les jeux de données s'alignent maintenant en traçant
neighborhoods, puisnyc_tractsavecadd = TRUEetcol = "red", et enfinwateravecadd = TRUEetcol = "blue".
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
library(sp)
library(raster)
# Use spTransform on neighborhoods: neighborhoods
# head() on coordinates() of neighborhoods
# Plot neighborhoods, nyc_tracts and water