Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
tidyterraを使ってみる
Search
t_akaike
April 24, 2025
790
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
tidyterraを使ってみる
t_akaike
April 24, 2025
More Decks by t_akaike
See All by t_akaike
エシェロン解析による空間の分割とホットスポットの抽出
t_akaike
0
400
20250508_空間データと回帰分析
t_akaike
0
610
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Building Applications with DynamoDB
mza
96
7.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
My Coaching Mixtape
mlcsv
0
310
Google's AI Overviews - The New Search
badams
0
1.6k
GitHub's CSS Performance
jonrohan
1033
470k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
310
4 Signs Your Business is Dying
shpigford
187
23k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
30 Presentation Tips
portentint
PRO
1
390
Building the Perfect Custom Keyboard
takai
2
860
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
290
Transcript
© GO Inc. tidyterraを使ってみる 2025.04.26 AI技術開発部 分析グループ / ⾚池 嵩⽂
GO株式会社
© GO Inc. 2 ⾃⼰紹介 GO株式会社 AI技術開発部 分析グループ / ⾚池
嵩⽂ 【経歴】 - ERPパッケージのベンダー - 企業の信⽤調査会社 - AIベンダー - HR系ベンチャー - 薬局系スタートアップ - 現在 【R歴】2年とちょっと(主に学⽣時代。GO⼊社後、リハビリ中。) 【地理空間データ歴】 1年程度 @takaike12
© GO Inc. 【扱うこと】 - 「tidyterra」によるラスタデータの操作⽅法‧例 - ベクタデータ、ラスタデータの説明 【扱わないこと】 -
「terra」パッケージの操作⽅法 - 「tidyterra」によるベクタデータの操作⽅法 3 0. この資料で扱うこと ∕ 扱わないこと
© GO Inc. 「terra」パッケージで作成されたオブジェクトを tidyverseの共通メソッドで扱えるようにするパッケージ 4 1. 「tidyterra」って何? 「terra」パッケージでラスタデータやベクタデータを読み込むことで 作成された「SpatRaster」型や「SpatVector」型のオブジェクトを
dplyrやggplot2などのメソッドで処理できるようにするパッケージ! え、どういうこと‧‧‧?
© GO Inc. 5 2. 「ラスタデータ」って何? - ラスタデータは「格⼦状に並んだピクセルで構成されているデータ」で「位置情報を持っ た画像ファイル」(※1) -
GISで可視化できるデータには他に「ベクタデータ」があり、そちらは点や線、線で囲ま れたポリゴンを地図上に表⽰できる ※1 「GISデータについて知ろう!ベクタデータとラスタデータの違いを解説」より引⽤ ※2 「⼟地利⽤細分メッシュ(ラスタ版)データ 2014年度(平成26年度)版」の東京周辺のデータを筆者が可視化したもの データ 形状 ベクタデータ 点, 線, ポリゴン 拡張⼦の例 shp, shx, dbf, prj, cpg ラスタデータ 画像 tif, png, jpg raster, terra, stars 利⽤できる パッケージ例 sf GIS(地理情報システム)で地図上に表⽰できるデータ(※1) ラスタデータの可視化例(※2)
© GO Inc. まずはterraパッケージでラスタデータを読み込んでみる - 「⼟地利⽤細分メッシュ(ラスタ版)データ 2014年度(平成26年度)版」(※) で試す 6 3. 「tidyterra」を使ってみる
(⼀部抜粋) - class : データ型 - dimensions : ピクセルの縦横 & レイヤー - extent : データの緯度経度の範囲 - coord. ref. : CRS - source : ファイル名 - name : レイヤーの名称 ※ https://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-L03-b_r.html 読み込んだオブジェクトを実⾏すると、 データの説明が表⽰される (データの中⾝は⾒られない)
© GO Inc. 7 3. 「tidyterra」を使ってみる データの中⾝を⾒てみる - データのオブジェクトを実⾏するとデータの説明が表⽰されることと連動するためか、 head()ではデータの中⾝が⾒られない(説明が表⽰される)
- glimpse()を使うと⾒られる
© GO Inc. 8 3. 「tidyterra」を使ってみる ラスタデータから緯度経度を取得してみる 緯度経度が取れそうなas_coordinates() を 使ってみる
→ 画像ピクセルのindexが取れる (緯度経度じゃないんかい‧‧‧) as_tibble()の引数xyをTRUEにすると緯度経 度が取れる
© GO Inc. 9 3. 「tidyterra」を使ってみる terraパッケージで可視化してみる plot()で可視化できる(処理が簡潔) 可視化したい値や範囲をfilter()で絞り込んで可視化できる!
© GO Inc. 10 3. 「tidyterra」を使ってみる ggplot2で可視化してみる - geom_spatraster()で可視化できる
© GO Inc. 11 3. 「tidyterra」を使ってみる ggplot2でレイヤーごとに可視化してみる 【前処理】 レイヤーの名前を変更し、区分値を別レ イヤーとして切り出す
(左の例では「⽥」「森林」「建物⽤地」を切 り出した) 「mutate()でカラムを追加する」 = 「画像に対してレイヤーを追加する」 ggplotのfacetでは、このレイヤー ごとに可視化を分割して描画できる
© GO Inc. 12 3. 「tidyterra」を使ってみる ggplot2でレイヤーごとに可視化してみる
© GO Inc. - tidyterraを使うと、terraで読み込まれたラスタデータやベクタデータに対して dplyrやggplot2などの関数で処理できるようになる - ラスタデータは「位置情報を持った画像ファイル(※) 」 -
tidyterraで、ラスタデータに対してこんなことができる - データ説明表⽰: (オブジェクトを実⾏) - データ表⽰: glimpse() - ピクセルのインデックス取得: as_coordinates() - tibbleで出⼒: as_tibble() - 緯度経度も出⼒: as_tibble(xy = TRUE) - 可視化: geom_spatraster() - レイヤーを分割して可視化: geom_spatraster()とfacet_wrap(~lyr)を組み合わせる 13 4. まとめ ※ 「GISデータについて知ろう!ベクタデータとラスタデータの違いを解説」より引用
© GO Inc. - tidyterraのgithubページ - https://dieghernan.github.io/tidyterra/ - 「GISデータについて知ろう!ベクタデータとラスタデータの違いを解説」 -
https://qgis.mierune.co.jp/posts/howto_1_about_data-type - 国⼟数値情報ダウンロードサイト「⼟地利⽤細分メッシュ(ラスタ版)データ」 - https://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-L03-b_r.html 14 5. Reference
文章・画像等の内容の無断転載及び複製等の行為はご遠慮ください。 © GO Inc.