LoslegenKostenlos loslegen

Von einem CRS/einer Projektion in ein anderes umwandeln

Die Umwandlung von einem CRS oder einer Projektion in ein anderes wird von den spTransform()-Methoden im Paket rgdal erledigt. spTransform() hat Methoden für alle sp-Objekte, einschließlich SpatialPolygonsDataFrame, funktioniert jedoch nicht für raster-Objekte. Das liegt daran, dass die Transformation eines Rasters etwas komplizierter ist; das transformierte rechteckige Gitter ist anschließend nicht mehr rechteckig. Wenn du neugierig bist, wie Raster transformiert werden, sieh dir ?raster::projectRaster an.

Die Transformation ist einfach. Das erste Argument von spTransform(), x, ist das zu transformierende räumliche Objekt, und das zweite, CRS, ist die Spezifikation des gewünschten CRS. Das CRS kann durch einen PROJ4-String angegeben werden, den du theoretisch selbst konstruieren könntest, aber es ist viel einfacher, ihn aus einem vorhandenen Objekt zu übernehmen (z. B. mit der Funktion proj4string()).

Zeit, deine beiden Polygon-Datensätze in dasselbe CRS zu bringen.

Diese Übung ist Teil des Kurses

Geodaten in R visualisieren

Kurs anzeigen

Anleitung zur Übung

  • Transformiere neighborhoods so, dass es dasselbe CRS wie nyc_tracts hat, indem du spTransform() mit dem Argument CRS = proj4string(nyc_tracts) verwendest.
  • Überprüfe die Transformation, indem du dir das head() von coordinates(neighborhoods) ansiehst.
  • Prüfe, ob die Datensätze jetzt übereinanderliegen, indem du zuerst neighborhoods plottest, dann nyc_tracts mit add = TRUE und col = "red" und schließlich water mit add = TRUE und col = "blue".

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

library(sp)
library(raster)

# Use spTransform on neighborhoods: neighborhoods



# head() on coordinates() of neighborhoods


# Plot neighborhoods, nyc_tracts and water


Code bearbeiten und ausführen