始める無料で始める

CRS/投影法の変換

あるCRSや投影法から別のものへ変換する処理は、rgdal パッケージの spTransform() メソッドで行います。spTransform() には SpatialPolygonsDataFrame を含むすべての sp オブジェクト向けのメソッドがありますが、raster オブジェクトでは動作しません。これは、ラスターの変換は少し複雑で、変換後は長方形グリッドが長方形でなくなるためです。ラスターの変換に興味があれば、?raster::projectRaster を参照してください。

変換自体は簡単です。spTransform() の最初の引数 x は変換したい空間オブジェクト、2番目の引数 CRS は目的のCRSの指定です。CRS は手作業で作成した PROJ4 文字列で指定することもできますが、既存のオブジェクトから取得する(たとえば proj4string() 関数を使う)ほうがはるかに簡単です。

それでは、2つのポリゴンデータセットを同じCRSに揃えましょう。

この演習はコースの一部です

R で地理空間データを可視化する

コースを見る

演習の手順

  • spTransform() を使い、CRS 引数に proj4string(nyc_tracts) を指定して、neighborhoodsnyc_tracts と同じCRSに変換します。
  • 変換を確認するために、coordinates(neighborhoods)head() を確認します。
  • データセットが正しく重なるかを確認するため、まず neighborhoods を描画し、次に nyc_tractsadd = TRUEcol = "red" として描画し、最後に wateradd = TRUEcol = "blue" として描画します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

library(sp)
library(raster)

# Use spTransform on neighborhoods: neighborhoods



# head() on coordinates() of neighborhoods


# Plot neighborhoods, nyc_tracts and water


コードを編集して実行