Převod mezi souřadnicovými referenčními systémy a projekcemi
Převod z jednoho CRS nebo projekce do jiného zajišťují metody spTransform() z balíčku rgdal. spTransform() funguje pro všechny objekty sp, včetně SpatialPolygonsDataFrame, ale nefunguje pro objekty raster. Transformace rastru je totiž o něco složitější – transformovaná obdélníková mřížka totiž po převodu obdélníkový tvar nezachová. Pokud tě transformace rastrů zajímá, podívej se na ?raster::projectRaster.
Samotná transformace je jednoduchá. Prvním argumentem funkce spTransform(), x, je prostorový objekt, který chceš transformovat, a druhým, CRS, je specifikace cílového CRS. CRS lze zadat pomocí PROJ4 řetězce, který bys mohl/a sestavit ručně, ale je mnohem pohodlnější ho převzít z existujícího objektu (například pomocí funkce proj4string()).
Je čas převést oba datové sety polygonů do stejného CRS.
Toto cvičení je součástí kurzu
Vizualizace geoprostorových dat v R
Pokyny k cvičení
- Transformuj
neighborhoodstak, aby měl stejný CRS jakonyc_tracts, pomocí funkcespTransform()s argumentemCRSnastaveným naproj4string(nyc_tracts). - Ověř transformaci tím, že se podíváš na výstup
head()funkcecoordinates(neighborhoods). - Zkontroluj, zda jsou teď datové sety správně zarovnány: vykresli
neighborhoods, paknyc_tractssadd = TRUEacol = "red", a nakonecwatersadd = TRUEacol = "blue".
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
library(sp)
library(raster)
# Use spTransform on neighborhoods: neighborhoods
# head() on coordinates() of neighborhoods
# Plot neighborhoods, nyc_tracts and water