Konvertera från ett CRS/projektion till ett annat
Processen att konvertera från ett CRS eller en projektion till ett annat hanteras av metoderna spTransform() i paketet rgdal. spTransform() har metoder för alla sp-objekt, inklusive SpatialPolygonsDataFrame, men fungerar inte på raster-objekt. Det beror på att transformering av ett raster är lite mer komplicerat – det transformerade rektangulära rutnätet är inte längre rektangulärt. Du kan titta på ?raster::projectRaster om du är nyfiken på hur raster transformeras.
Själva transformeringen är enkel. Det första argumentet till spTransform(), x, är det rumsliga objekt som ska transformeras, och det andra, CRS, anger önskat CRS. CRS kan specificeras med en PROJ4-sträng, som du kan konstruera för hand, men det är mycket enklare att hämta den från ett befintligt objekt (t.ex. med funktionen proj4string()).
Dags att få dina två polygondataset i samma CRS.
Den här övningen är en del av kursen
Visualisering av geospatial data i R
Övningsinstruktioner
- Transformera
neighborhoodsså att det får samma CRS somnyc_tractsgenom att användaspTransform()med argumentetCRSsatt tillproj4string(nyc_tracts). - Verifiera transformeringen genom att titta på
head()avcoordinates(neighborhoods). - Kontrollera att dataseten nu stämmer överens genom att plotta
neighborhoods, sedan plottanyc_tractsmedadd = TRUEochcol = "red", och slutligen plottawatermedadd = TRUEochcol = "blue".
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
library(sp)
library(raster)
# Use spTransform on neighborhoods: neighborhoods
# head() on coordinates() of neighborhoods
# Plot neighborhoods, nyc_tracts and water