Slide 1

Slide 1 text

LLMを使って GISデータ解析を 自動化したい! 2024/11/10 株式会社ノーザンシステムサービス 佐々木 優興

Slide 2

Slide 2 text

2 LLMの登場で、猫も杓子も自動化の世の中 この流れに乗って、GIS データの 解析・可視化も自動化したい… ので調べてみたら ※ 画像はフィクションです

Slide 3

Slide 3 text

3 LLM-Geo https://github.com/gladcolor/LLM-Geo arXiv: https://arxiv.org/abs/2305.06453 画像: https://www.tandfonline.com/doi/full/10.1080/17538947.2023.2278895 良さそうなのがあった

Slide 4

Slide 4 text

4 LLM-Geoが動作するしくみ 処理フロー 1) 危険廃棄物施設を含む地域区分を特 定し、それらの地域に住む人口を計算 して表示してください。調査対象地域 はアメリカ合衆国ノースカロライナ州 (NC)です。 2) ノースカロライナ州のすべての地域 区分ごとの人口を色分けで示す地図を 作成し、… 言葉による指示 コード 「処理フローを出力→コードを出力」という2段構成にすることで 複雑なGIS系解析タスクへの処理能力を高めている OpenAI API (GPT-4o) グラフの各点が1つの処理を表す Python で記述 ①してほしいこと ②データの場所と構造 を記載

Slide 5

Slide 5 text

5 LLM-Geoを使ってみよう 公式デモ 有害廃棄物処理施設がある地域の人口マップ(ノースカロライナ州) Task: 1) Find out the total population that lives within a tract that contain hazardous waste facilities. The study area is North Carolina, US. 2) Generate a map to show the spatial distribution of population at the tract level and highlight the borders of tracts that have hazardous waste facilities. ' Data locations: 1. NC hazardous waste facility ESRI shape file location: https://github.com/gladcolor/LLM- Geo/raw/master/overlay_analysis/Hazardous_Waste_Sites.zip 2. NC tract boundary shapefile location: https://github.com/gladcolor/LLM- Geo/raw/master/overlay_analysis/tract_shp_37.zip. The tract id column is 'Tract' 3. NC tract population CSV file location: https://github.com/gladcolor/LLM- Geo/raw/master/overlay_analysis/NC_tract_population.csv. The population is stored in 'TotalPopulation' column. The tract ID column is 'GEOID’… なのだが、いまいちピンとこない… 出典: gladcolor/LLM-Geo (https://github.com/gladcolor/LLM-Geo/blob/master/LLM_Geo_API4.ipynb)

Slide 6

Slide 6 text

6 LLM-Geoを使ってみよう 日本語指示で国内のデータを解析してみた G空間情報センターにてダウンロード可能 (静岡県様、公開ありがとうございます!) https://www.geospatial.jp/ckan/dataset/shizuoka-20240702-hamatome 2024年7月2日 静岡県焼津市県道416号「浜当目トンネル」 付近の斜面崩壊に関するデータ 崩落範囲 出典: 静岡県 “県道静岡焼津線 「浜当目トンネル」対策検討会” [1] [1] https://www.pref.shizuoka.jp/_res/projects/default_project/_page_/001/064/693/kentoukai_siryou01.pdf

Slide 7

Slide 7 text

7 LLM-Geoを使ってみよう 今回は崩壊前後のグリッドデータ(X/Y/Z)をもとに Z方向の変位をプロットしてみる [WSL] user@host:~/gh/LLM-Geo/data/hamatome_grid/after$ head –n5 20240703hamatome_0.5grid.txt -14751.750,-123035.250,145.127 -14751.250,-123035.250,145.340 -14751.750,-123035.750,144.959 -14751.250,-123035.750,145.180 -14750.750,-123035.750,145.433 [WSL] user@host:~/gh/LLM-Geo/data/hamatome_grid/before$ head –n5 08od1602.txt 1,-15199.75,-123000.25,11.80,1 2,-15199.25,-123000.25,11.70,1 3,-15198.75,-123000.25,11.50,1 4,-15198.25,-123000.25,11.30,1 5,-15197.75,-123000.25,11.10,1 崩壊前グリッドデータ 崩壊後グリッドデータ

Slide 8

Slide 8 text

8 LLM-Geoを使ってみよう とりあえずざっくりした指示文を与えてみる 指示文 斜面崩落地で取得した崩落前後のグリッドデータをもとに、崩壊に伴うZ方向の変位を2Dマップとし て画面上にインラインでプロットせよ。プロット範囲は崩壊後のグリッドデータ範囲でクリップするこ と。 データ 1. 崩壊前のグリッドデータ: data/hamatome_grid/before/{08od1602,08od1603,08od1612,08od1613}.txt (CSV形式[カンマ区切り], 2-4 列目が X/Y/Z にそれぞれ対応。マージして使用すること) 2. 崩壊後のグリッドデータ: data/hamatome_grid/after/20240703hamatome_0.5grid.txt (CSV形式[カ ンマ区切り], 1-3 列目が X/Y/Z にそれぞれ対応) データの説明は詳細にする(データ形式、列番号、etc…) ※ 処理フローの制約上「LLMがデータを見てからコードを書く」ことができないため

Slide 9

Slide 9 text

9 LLM-Geoを使ってみよう うまくいった例 (参考: 崩落前空撮 [1] ) [1] 静岡県(https://www.geospatial.jp/ckan/dataset/shizuoka-20240702-hamatome, CC BY 4.0)をもとに発表者作成 (崩壊前グラウンドデータのLASをプロット) うまくいく…こともある 処理途中のエラーが解決できず、スタックしてしまうことも…

Slide 10

Slide 10 text

10 現時点での限界、展望 1. 細かい指示を出さないと期待通りに動いてくれない場合がある (=専門家でないと正確な指示が出せない) 2. コード作成&デバッグが自動化されるのは便利だが、お膳立てが面倒 データを取ってくるところ、データを見てコードを再記述するところも 自動化してほしい データを 探す データ構造の 調査・解析 コード記述 &デバッグ ここは手動 完成! LLM-Geo で 自動化 GISデータの解析・可視化作業のフロー

Slide 11

Slide 11 text

11 Appendix: QGIS プラグインもあったので紹介 同じ開発チーム(?)が自然言語指示によるデータ解析を行う QGISプラグインも公開していた https://github.com/Teakinboyewa/SpatialAnalysisAgent ファイルの種類は、現在 ShapeFile, CSV, GPKG, GeoTIFF, JPEG の5種に対応

Slide 12

Slide 12 text

12 Appendix: QGIS プラグインもあったので紹介 うまくいった例 元画像DEM このDEMファイルから、 5m間隔の等高線を 作成してください。 線の色は黄緑とする。 プロンプト DEMの出典:静岡県(https://www.geospatial.jp/ckan/dataset/shizuoka-20240702-hamatome, CC BY 4.0)

Slide 13

Slide 13 text

13 まとめ 言葉で指示するだけで お手軽にGISデータを解析できれば、 より多くの人がGISデータを活用できる!

Slide 14

Slide 14 text

LLMを使ってGISデータ解析を自動化したい! 2024/11/10 株式会社ノーザンシステムサービス 佐々木 優興