Share
Embed
PythonでPLATEAUのデータを扱ってみる
2025年2月8日(土)に静岡県静岡市で開催されたPyCon mini Shizuoka 2024 continueにて発表した資料です。
ぴっかりん
February 08, 2025
Transcript
65 slides
-
PythonでPLATEAUの データを扱ってみる 青木亮祐 / ぴっかりん (@ra0kley) PyCon mini Shizuoka 2024
continue 2025.02.08 -
PyCon mini Shizuoka 2024 continue はじめに • 本発表は、所属会社で行っていることではなく、個人で 使ってみたライブラリの発表になります •
本発表では、以下のPLATEAUのデータを使用しています 3D都市モデル(Project PLATEAU)静岡市(2022年度) CityGML(v2) 2 -
PyCon mini Shizuoka 2024 continue 発表内容 1. トークの概要 2. 自己紹介
3. Project PLATEAUについて 4. PlateauKitのご紹介 5. PLATEAUのデータを可視化してみよう 6. PLATEAUのデータを分析に使用してみよう 7. まとめ 3 -
PyCon mini Shizuoka 2024 continue 1. トークの概要 3. Project PLATEAUについて
4. Pythonが使われているこれまでの取り組み事例 4. PlateauKitのご紹介 6. PLATEAUのデータを可視化してみよう 7. PLATEAUのデータを分析に使用してみよう 5 レベル: All (エンジニア以外も対象) ここが7割 -
PyCon mini Shizuoka 2024 continue 2. トークの概要 3. Project PLATEAUについて
4. Pythonが使われているこれまでの取り組み事例 4. PlateauKitのご紹介 6. PLATEAUのデータを可視化してみよう 7. PLATEAUのデータを分析に使用してみよう 6 レベル: Basic (初学者向け) -
PyCon mini Shizuoka 2024 continue 2. トークの概要 3. Project PLATEAUについて
4. Pythonが使われているこれまでの取り組み事例 5. PlateauKitのご紹介 6. PLATEAUのデータを可視化してみよう 7. PLATEAUのデータを分析に使用してみよう 7 レベル: Advanced (経験者向け) -
PyCon mini Shizuoka 2024 continue 2. 自己紹介 • 出身: 静岡県駿東郡長泉町
• 趣味: 地理空間情報と戯れる、ラジオを聴く、散歩、旅行... • 推し: 鬼頭明里さん(声優)、すそのん(静岡県裾野市ゆるキャラ) • 社外: PLATEAU ADVOCATE 2024、 地理空間情報課ラボ スペシャルサポーター、 OSGeo日本支部 個人会員、SatAI.Challenge サーベイメンバ ←個人では「ぴっかりん」という名前で SNS等に生息してます 9 -
PyCon mini Shizuoka 2024 continue 2. 自己紹介 今年度、PLATEAU ADVOCATEに就任さていただいています! 10
出典: https://www.mlit.go.jp/plateau/journal/j062/ -
PyCon mini Shizuoka 2024 continue 2. 自己紹介 地理空間情報課ラボ スペシャルサポーターにも 就任さていただいています!
11 出典: https://www.mlit-gis-lab.jp/ -
PyCon mini Shizuoka 2024 continue 2. 自己紹介? 実は右の静岡県の図、 県名や市町村名のほかに 位置の情報も含まれている
データから作成しています 14 「国土数値情報(行政区域データ)」(国土交通省)を加工して作成 -
PyCon mini Shizuoka 2024 continue 2. 自己紹介? このように「位置情報」をもつデータ(位置情報+αでも当然OK) → 地理空間情報
世の中には、様々な地理空間情報が溢れています! 17 -
PyCon mini Shizuoka 2024 continue 2. 自己紹介? 世の中には、様々な地理空間情報が溢れています! 18 位置情報!
静岡市「静岡市公共施設一覧」を加工して作成 -
PyCon mini Shizuoka 2024 continue 2. 自己紹介? 3Dの地理空間情報もあります! 19 静岡県「VIRTUAL
SHIZUOKA 静岡県 中・西部 点群データ」を東京都デジタルツイン3Dビューアで表示 -
PyCon mini Shizuoka 2024 continue 2. 自己紹介? 3Dの地理空間情報もあります! 20 静岡県「VIRTUAL
SHIZUOKA 静岡県 中・西部 点群データ」を東京都デジタルツイン3Dビューアで表示 1つ1つの点がX, Y, Zの 位置情報と色の情報などを持つ -
PyCon mini Shizuoka 2024 continue 2. 自己紹介? 今回お話するPLATEAUは、3Dの地理空間情報の1つです 21 出典:
https://plateauview.mlit.go.jp/ -
PyCon mini Shizuoka 2024 continue 3. Project PLATEAUについて 国土交通省主導の「日本全国の都市の3Dモデル化プロジェクト」 23
出典: Project PLATEAU公式サイト -
PyCon mini Shizuoka 2024 continue 3. Project PLATEAUについて 建築物などの形状が3Dで整備されており、 名称や用途、建築年などの属性情報が含まれている
24 出典: Project PLATEAU公式サイト -
PyCon mini Shizuoka 2024 continue 3. Project PLATEAUについて • Google
Earthと何が違う? → セマンティクスとジオメトリを統合したソリッドモデル 25 出典: 令和4年度 Project PLATEAU 第6回 3D都市モデルの整備・活用促進に関する検討分科会 -
PyCon mini Shizuoka 2024 continue 3. Project PLATEAUについて 26 出典:
令和4年度 Project PLATEAU 第6回 3D都市モデルの整備・活用促進に関する検討分科会 • Google Earthと何が違う? → オブジェクトが独立して整備され、意味や属性情報が付与されている -
PyCon mini Shizuoka 2024 continue 3. Project PLATEAUについて • オープンデータ
→ 商用利用も含め、だれでも無償で自由に利用可能 27 出典: 国土交通省「Project PLATEAU Site Policy」 -
PyCon mini Shizuoka 2024 continue 3. Project PLATEAUについて ⚫ PLATEAUのデータを使うとどんなことができる?
28 出典: Project PLATEAU公式サイト -
PyCon mini Shizuoka 2024 continue 3. Project PLATEAUについて ⚫ さまざまな(100以上)ユースケースが開発されている
29 出典: Project PLATEAU公式サイト -
PyCon mini Shizuoka 2024 continue 3. Project PLATEAUについて ⚫ エンタメ分野での活用も
30 出典: https://www.youtube.com/watch?v=Xim2_tARjhU -
PyCon mini Shizuoka 2024 continue 3. Project PLATEAUについて • どんなデータか手軽に確認するには?
✓ 国土交通省が公式に提供しているPLATEAU VIEWより確認可能 31 出典: PLATEAU VIEW -
PyCon mini Shizuoka 2024 continue 3. Project PLATEAUについて • データのダウンロード方法(手動)
✓ G空間情報センターというサイトからダウンロード可能 32 出典: 3D都市モデル(Project PLATEAU)ポータルサイト -
PyCon mini Shizuoka 2024 continue 4. Pythonが使われているこれまでの取り組み事例 • Project PLATEAUのユースケースにおいて、
Pythonが使われている事例はたくさん! 34 都市構造のシミュレーション 損害保険支払い作業の迅速化 衛星データを用いた浸水被害把握 出典: https://www.mlit.go.jp/plateau/use-case/ -
PyCon mini Shizuoka 2024 continue 5. PlateauKitのご紹介 • PythonでPLATEAUのデータを扱うためのライブラリ →
JupyterLab(Notebook)上でデータを扱うための PlateauLabライブラリも同胞 36 出典: https://ozekik.github.io/plateaukit/ -
PyCon mini Shizuoka 2024 continue 5. PlateauKitのご紹介 • PLATEAU AWARD
2023で発表されて、 継続して開発中 37 出典: https://www.mlit.go.jp/plateau/journal/j059/ -
PyCon mini Shizuoka 2024 continue 5. PlateauKitのご紹介 • 機能 ✓
PLATEAUのデータセットのダウンロード、管理 ✓ GeoDataFrame形式への変換 ✓ GeoJSONやCityJSONといった地理空間情報を表現できる JSON形式への変換 ✓ JupyterLab/Jupyter Notebook上でデータの表示 (Google Colabでも使えます) 38 -
PyCon mini Shizuoka 2024 continue 5. PlateauKitのご紹介 • インストール方法 pipコマンドを用いて、簡単にインストールできます
※ poetryやcondaなどで環境構築している方は 仮想環境を新しく作ることをオススメします → 地理空間情報周りのライブラリは、依存関係が複雑なため 39 $ pip install 'plateaukit[all]' -
PyCon mini Shizuoka 2024 continue 6. PLATEAUのデータを可視化してみよう • PLATEAUのデータをダウンロード 1.
ダウンロードしたい都市のデータセットIDを調べる → plateaukit list コマンドを使用 41 $ plateaukit list -
PyCon mini Shizuoka 2024 continue 6. PLATEAUのデータを可視化してみよう • PLATEAUのデータをダウンロード 1.
ダウンロードしたい都市のデータセットIDを調べる → plateaukit list コマンドの実行結果(加工しています) 42 +---------------------------------+-----+---------+---------+--------+----------------------------------------------------------- ---------------+ | id | name | version | spec | homepage | +---------------------------------+-----+---------+---------+--------+----------------------------------------------------------- ---------------+ | plateau-22215-gotenba-shi-2023 | 静岡県御殿場市 | 2023 | v3 | https://w//.geospatial.jp/ckan/dataset/plateau-22215- gotenba-shi-2023 | | plateau-22100-shizuoka-shi-2022 | 静岡県静岡市 | 2022 | v2 | https://w//.geospatial.jp/ckan/dataset/plateau-22100- shizuoka-shi-2022 | | plateau-22209-shimada-shi-2023 | 静岡県島田市 | 2023 | v3 | https://w//.geospatial.jp/ckan/dataset/plateau-22209- shimada-shi-2023 | | plateau-22341-shimizu-cho-2023 | 静岡県清水町 | 2023 | v3 | https://w//.geospatial.jp/ckan/dataset/plateau-22341- shimizu-cho-2023 | 会場がある静岡市のデータセットIDはこれ -
PyCon mini Shizuoka 2024 continue 6. PLATEAUのデータを可視化してみよう • PLATEAUのデータをダウンロード 2.
1.で調べたデータセットIDを用いてダウンロード plateaukit install コマンドで可能 ここでは、静岡市のデータをダウンロードしてみます 43 $ plateaukit install plateau-22100-shizuoka-shi-2022 先ほど調べたデータセットID -
PyCon mini Shizuoka 2024 continue 6. PLATEAUのデータを可視化してみよう • PLATEAUのデータを削除 plateaukit
uninstall コマンドで可能 下の例、静岡市のデータを削除する場合 44 $ plateaukit uninstall plateau-22100-shizuoka-shi-2022 先ほど調べたデータセットID -
PyCon mini Shizuoka 2024 continue 6. PLATEAUのデータを可視化してみよう • PLATEAUのデータを読み込む →
plateaukitの中にあるload_dataset関数を 用いて読み込む 46 from plateaukit import load_dataset # 静岡市のデータの読み込み # `plateau-22100-shizuoka-shi-2022`は静岡市のデータセットID shizuoka = load_dataset("plateau-22100-shizuoka-shi-2022") -
PyCon mini Shizuoka 2024 continue 6. PLATEAUのデータを可視化してみよう • 表示・分析に使用する範囲を選択する →
範囲選択する方法は6つ 47 範囲選択の方法 メソッド 全範囲 get_area() バウンディングボックス area_from_bbox(ul_x, ul_y, lr_x, lr_y) 一つ以上の地点の座標と範囲の サイズ area_from_points(point, size=[width, height]) 郵便番号 area_from_postcode(“postcode”) 住所 area_from_address(“address”) ランドマーク名 area_from_landmark(“landmark”) -
PyCon mini Shizuoka 2024 continue 6. PLATEAUのデータを可視化してみよう • 表示・分析に使用する範囲を選択する ✓
全範囲選択 → get_area()メソッドを使用 → PLATEAUのデータは重いので、全範囲は選択しない方が 無難 48 # 静岡市のデータの読み込み shizuoka = load_dataset("plateau-22100-shizuoka-shi-2022") # 全範囲を選択 area = shizuoka.get_area() -
PyCon mini Shizuoka 2024 continue 6. PLATEAUのデータを可視化してみよう • 表示・分析に使用する範囲を選択する 例)
建物等のランドマークの名前から範囲を選択 49 # 静岡市のデータの読み込み shizuoka = load_dataset("plateau-22100-shizuoka-shi-2022") # ランドマークから範囲を選択 area = shizuoka.area_from_landmark("新静岡駅") -
PyCon mini Shizuoka 2024 continue 6. PLATEAUのデータを可視化してみよう • PLATEAUのデータを可視化 50
# ランドマークから範囲を選択 around_landmark = shizuoka.area_from_landmark("新静岡駅") # 選択した範囲を表示 around_landmark.show() -
PyCon mini Shizuoka 2024 continue 7. PLATEAUのデータを分析に使用してみよう • GeoDataFrameへの変換 ➢
Pythonでデータ分析などをする際に使用するDataFrameの 位置情報対応版 ➢ pandasでデータの処理を行うように、PLATEAUのデータも 扱える! 52 # ランドマークから範囲を選択 around_landmark = shizuoka.area_from_landmark("新静岡駅") # 選択した範囲のデータをGeoDataFrameに変換 around_landmark_gdf = around_landmark.gdf around_landmark_gdf.head() -
PyCon mini Shizuoka 2024 continue 7. PLATEAUのデータを分析に使用してみよう • GeoDataFrameへの変換 ➢
pandasでデータの処理を行うように、PLATEAUのデータも 扱える! 53 -
PyCon mini Shizuoka 2024 continue 8. 宣伝 • 今回お話したPLATEAUのデータを用いた作品コンテストである 「PLATEAU
AWARD 2024」の最終審査会が2/15(土)に 東京で開催されます! 60 出典: https://asciistartup.connpass.com/event/338852/ -
PyCon mini Shizuoka 2024 continue 8. 宣伝 • 今回お話したPLATEAUのデータを用いた作品コンテストである 「PLATEAU
AWARD 2024」の最終審査会が2/15(土)に 開催されます! → オンライン(YouTube)でも視聴できます 61 出典: https://asciistartup.connpass.com/event/338852/ -
PyCon mini Shizuoka 2024 continue 8. 宣伝 • その他にも様々な地理空間情報関連のイベントが2/15に開催されます 62
地理空間情報やオープンな地図に関するイベント @北海道札幌市 3Dスキャンアプリに関するイベント @静岡県掛川市 嬉しいことに?、既に満席! https://peatix.com/event/4273999?lang=ja-jp https://peatix.com/event/4205624/ -
PyCon mini Shizuoka 2024 continue 8. まとめ • PLATEAUは都市に関する形状と意味を持った データで誰でも無償で自由に使用可能
• Pythonで扱うためのツールが開発されて 便利になりつつある • PLATEAUのデータをPlateauKitで扱うとデータの管理が できるほか、範囲選択やDataFrameに変換できて扱いやすい 63