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....

December 1, 2024 · Akira Terui

RでGIS:ベクター

RでGIS GIS用のRパッケージ sfによるベクター処理 データを読み込む フィールド編集 レイヤー間の紐づけ まとめ RでGIS GISというとArcGISもしくはQGISを想定しがちだけど、個人的にはこれらGUIに依拠したSoftware(マウスでカチカチする系)は好みではないし、おすすめしない。というのも、何度もマウスでクリックしながら作業を進めるので、以下のリスクがある。 作業行程の再現性を担保しにくい エラーがあった場合、すべての行程を繰り返す必要がある うっかりミスしやすい これらの理由から、私はGISもスクリプトベースで作業行程を記録すべきと思う。スクリプトベースのGISというとPostGISが標準だったと思うが、最近ではこれらの関数群はほぼすべてRで使えるようになっているし、工夫すれば計算速度もArcGISと遜色ない。しかし、スクリプトベースのGISに関する資料は英語によるものがほとんどのため、アクセスしにくいといえばそうかもしれない。そこで、RのGIS処理について、いくつかの記事にわけて紹介したいと思う。なお、このブログで書かれていることの大半はTaro Mienoさん(University of Nebraska Lincoln)のオンライン資料で勉強させていただいた。とても事細かな説明があるので、この記事を読んで興味がわいた方はぜひこちらで勉強するといいと思う。 GIS用のRパッケージ どのようなタイプのレイヤー(ベクター、ラスター)を扱うかによって、必要となるパッケージは変わる。基本的な作業はsf, raster, terraあたりで済むが、多少込み入った作業には他の補助的なパッケージも必要になる。以下の表に簡単にまとめる。 パッケージ名 レイヤタイプ 備考 sf ベクター ベクター処理の場合はsf一択。大体これで足りる(Website)。 rmapshaper ベクター フィーチャーが重いときに頂点を削って計算を高速化する。(Website) raster ラスター ラスター処理のデファクトスタンダードだったが、C++ベースのterraに移行中(Website)。 terra ラスター ラスター処理の新しいデファクトスタンダードになりつつある(Website)。 stars ベクター、ラスター 時空間情報のついたラスター処理に特化。ラスター|ベクター変換の際にも重宝する(Website)。 exactextractr ベクター、ラスター フィーチャーごとにラスターデータを集計するときに使う(Website)。 tmap NA GISレイヤーの描画(Website) sfによるベクター処理 データを読み込む ベクター処理の鉄板であるsfを使ってみる。sfについてくるデータセットを使う。拡張子を見てもらうとわかるが、呼び出されるファイルはシェイプファイル(....

July 30, 2022 · Akira Terui