Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[FOSS4G 2024 Japan LT] LLMを使ってGISデータ解析を自動化したい!

[FOSS4G 2024 Japan LT] LLMを使ってGISデータ解析を自動化したい!

★ このスライドは、FOSS4G 2024 Japan ライトニングトークセッション の発表資料です ★

GIS データの解析・可視化を LLM で自動化する "LLM-Geo" と、LLM でデータ解析を自動化する QGIS プラグイン "SpatialAnalysisAgent" を紹介します。

発表者: 佐々木 優興(株式会社ノーザンシステムサービス 研究開発部)

More Decks by ノーザンシステムサービス | Northern System Services

Other Decks in Technology

Transcript

  1. 4 LLM-Geoが動作するしくみ 処理フロー 1) 危険廃棄物施設を含む地域区分を特 定し、それらの地域に住む人口を計算 して表示してください。調査対象地域 はアメリカ合衆国ノースカロライナ州 (NC)です。 2)

    ノースカロライナ州のすべての地域 区分ごとの人口を色分けで示す地図を 作成し、… 言葉による指示 コード 「処理フローを出力→コードを出力」という2段構成にすることで 複雑なGIS系解析タスクへの処理能力を高めている OpenAI API (GPT-4o) グラフの各点が1つの処理を表す Python で記述 ①してほしいこと ②データの場所と構造 を記載
  2. 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)
  3. 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 崩壊前グリッドデータ 崩壊後グリッドデータ
  4. 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がデータを見てからコードを書く」ことができないため
  5. 9 LLM-Geoを使ってみよう うまくいった例 (参考: 崩落前空撮 [1] ) [1] 静岡県(https://www.geospatial.jp/ckan/dataset/shizuoka-20240702-hamatome, CC

    BY 4.0)をもとに発表者作成 (崩壊前グラウンドデータのLASをプロット) うまくいく…こともある 処理途中のエラーが解決できず、スタックしてしまうことも…