RでGIS:ラスター
RでGIS terraによるラスター処理 データの読み込み ベクターレイヤと組み合わせる crop() :必要な部分のみ切り抜く exact_extract() :ポリゴンごとに値を集計 最後に RでGIS 先日、RでのGIS作業にむけた簡単なポスト(RでGIS:ベクター)を書いた(最近だと思っていたが実に二年以上たっている事実に驚愕)。今回はそのフォローアップとして、ラスターデータの取り扱いについても簡単に紹介してみたい。今回はsf、terra、exactextractr、tmapの4つを使うので、先にこれらを読み込んでおく。 pacman::p_load(sf, terra, exactextractr, tmap, tidyverse) terraによるラスター処理 Rによるラスターデータの解析は長らくrasterパッケージが使われてきたようだが(私も初期はこちらを利用)、最近ではterraが主流になっており、ほかのGIS系パッケージとも互換性が確保されてきた様子(いくつか対応していないものもあるようだが、細かく把握していない)。terraのほうが圧倒的に計算速度が速いので、こちらの例を挙げる。 データの読み込み データの読み込みにはterra::rast()を使う。今回、ここで使うラスターファイルはCHELSAの気候データ(赤道付近で1km程度のメッシュ)。CHELSA_bio1_1981-2010_V.2.1.tif(1981-2010年の平均気温データ)のアメリカ、ノースカロライナ(NC)周辺を切り出し、.../static/gis/airtemp_nc.tifとして保存しておいた(Linkからダウンロード可能)。私はこのファイルパスを指定して読み込むが1、使用者は各自の保存先のパスを指定すれば読み込める。 # read data # here::here() is a function that returns an absolute path rs_air <- rast(here::here("static/gis/airtemp_nc.tif")) print(rs_air) ## class : SpatRaster ## dimensions : 325, 1064, 1 (nrow, ncol, nlyr) ## resolution : 0.008333333, 0.008333333 (x, y) ## extent : -84.32514, -75....