Bir CRS/projeksiyondan diğerine dönüştürme
Bir CRS’ten veya projeksiyondan diğerine dönüştürme işlemi, rgdal paketindeki spTransform() yöntemleriyle yapılır. spTransform() tüm sp nesneleri için (ör. SpatialPolygonsDataFrame) yöntemlere sahiptir; ancak raster nesnelerinde çalışmaz. Bunun nedeni, raster dönüştürmenin biraz daha karmaşık olmasıdır; dönüştürülen dikdörtgen ızgara artık dikdörtgen olmayacaktır. Rasterleri dönüştürmeyi merak ediyorsan ?raster::projectRaster’a bakabilirsin.
Dönüştürme basittir. spTransform() fonksiyonunun ilk argümanı x, dönüştürülecek uzamsal nesnedir; ikinci argüman olan CRS ise hedef CRS’in belirtimidir. CRS, el ile de oluşturabileceğin bir PROJ4 dizesiyle belirtilebilir; ancak bunu mevcut bir nesneden almak (örneğin proj4string() fonksiyonuyla) çok daha kolaydır.
Şimdi iki poligon veri kümeni aynı CRS’e getirme zamanı.
Bu egzersiz
R ile Coğrafi Verileri Görselleştirme
kursunun bir parçasıdırEgzersiz talimatları
neighborhoodsnesnesini,CRSargümanınıproj4string(nyc_tracts)olarak ayarlayarakspTransform()ilenyc_tractsile aynı CRS’e dönüştür.- Dönüşümü
head()ilecoordinates(neighborhoods)çıktısına bakarak doğrula. - Veri kümelerinin artık hizalandığını kontrol etmek için önce
neighborhoods’u çiz, sonranyc_tracts’ıadd = TRUEvecol = "red"ile çiz, son olarak dawater’ıadd = TRUEvecol = "blue"ile çiz.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
library(sp)
library(raster)
# Use spTransform on neighborhoods: neighborhoods
# head() on coordinates() of neighborhoods
# Plot neighborhoods, nyc_tracts and water