5.2K Views
April 22, 24
スライド概要
イベント発表資料の公開
FOSS4Gのおかげで点群データ と仲良くなれた話 塩飽 洋平 2024/04/22@MapLibre Meetup Japan #02
自己紹介 塩飽 洋平(しわく ようへい) 株式会社Geolonia 地図と位置情報の会社でエンジニア(見習い)をしています GitHub:https://github.com/shi-works X(旧Twitter):https://twitter.com/shi__works
FOSS4G(フォスフォージー) (Free Open Source Software for GeoSpatialの略) ● オープンソースの地理情報ソフトウェア(GIS)群 GISソフトウェア:QGIS、GRASS GISなど Web地図ライブラリ:MapLibre GL JS、Leaflet、OpenLayers、Cesiumなど 変換用ライブラリ:GDAL/OGR、PDALなど 地図データ配信:MARTIN、GeoServer、MapServerなど
QGIS ● ● 出典)QGIS公式サイト(https://www.qgis.org/ja/site/) QGISは、オープンソースのGISソフト ウェアで誰でも自由に無料で使える マルチプラットフォーム対応 (Windows、MacOS、Linux等)・多言 語対応と、有償のソフトウェアと同等以 上の機能と操作性を備えている
MapLibre GL JS ● 出典)MapLibre公式サイト(https://maplibre.org/) MapLibre GL JSは、WebGLとベクトル タイルを技術基盤とするオープンソー スの地図ライブラリ
GDAL/OGR ● ● ● ● 出典)GDAL/OGR公式サイト(https://gdal.org/index.html) ラスタ/ベクトルの地理空間データを変 換するライブラリ データ形式の変換、再投影、タイル化 などの処理ができる コマンドラインツールのため直感的に 操作が可能 現場のデータ変換では、QGISよりも GDAL/OGRが多く使われている
PDAL ● ● 出典)PDAL公式サイト(https://pdal.io/en/2.7-maintenance/) 点群データを変換・操作するためのラ イブラリ 点群データのマージ、座標参照系の付 与、パイプラインによる自動化などがで きる
現在、公開されている点群データ(一部) 3次元点群データ ● ● 点群データは、航空レーザ測量等で得 られた緯度、経度、標高値を含むデー タ(テキスト形式、LAS形式等) 自治体発の点群データがオープンデー タとして続々と公開 都道府県 公開データの種類 対象範囲 静岡県(2019年) オリジナルデータ、グラウ ンドデータ、グリッドデータ 概ね県全域 東京都(2023年) オリジナルデータ、グラウ ンドデータ、グリッドデータ 多摩地域 島しょ地域 和歌山県(2023年) オリジナルデータ、グラウ ンドデータ 県域約65% 広島県(2023年) グリッドデータ 概ね県全域 長崎県(2023年) オリジナルデータ 概ね県全域 石川県(2024年) グラウンドデータ 能登地域 大阪府(2024年) グラウンドデータ 山間部
第1位:3D点群データがさまざまな都道府県で公開 第2位:コロナ禍明けにより人流データ活用が促進、新サービス続々登場 第3位:登記所備付地図に関連したサービスが続々公開 第4位:地理空間情報の分野で生成AIを活用したサービスが登場 第5位:位置情報ゲームが続々公開、有名タイトルがリリース 第6位:みちびきの“11機体制”検討を開始 第7位:昔の日本を現代のデザインで再現した「れきちず」が話題に 第8位:住所正規化サービスが続々とリリース 第9位:国土地理院、1mメッシュの高解像度な地形データを11月30日に提供開始 第10位:自動配送ロボットが実用化 都道府県が3次元点群データを整備・公開するこ とにより、都市のデジタルツインや防災、工事完 成データの管理、インフラ施設の点検・管理、ま ちづくりなどさまざまな用途への活用が期待され ている✍ 出典)ジオ業界の動向をまとめてチェック!ジオ専業ライター片岡氏が選ぶ「ジオ界 10大ニュース 2024」を発表 https://graphia.jp/article/2024/04/19/1688/
とりあえず、3次元点群データを表示してみた ● ● ● PDALでLAS形式の点群データを Cloud Optimized Point Cloud (COPC)形式に変換 COPCはLASに比べてファイルサイ ズが1/4程度と軽い COPCをCOPC Viewerで表示 デモサイト https://viewer.copc.io/?copc=https://xs489work s.xsrv.jp/copc-data/tokyo-digitaltwin/ogochi-da m-translated.copc.laz ※東京都奥多摩町 小河内(おごうち)ダム周辺をCOPC viewer にて表示 出典)東京都デジタルツイン実現プロジェクト多摩地域点群データ
【補足】3次元点群データのファイル形式 LAS ● ● 広く普及した標準的な三次元点群フォーマット バイナリー形式であり位置情報以外の様々な情報を保持できる COPC ● ● ● LASを圧縮したLAZ 1.4ベースの三次元点群専用フォーマット 2021年にver.1.0の仕様が公開 内部に8分木構造を保有しており、効率的なデータ取得が可能 Potree形式 ● ● Potree(三次元点群データのブラウザ上ビューアー )が使用するフォー マット(仕様は公開されていない) 三次元ポイントデータ専用であり、圧縮機能は持たない 3D Tiles ● ● 地図上の3Dコンテンツを表現するための国際標準規格( OGC) ポイント以外の 3Dオブジェクトデータを含み、圧縮機能は持たない 点群PNG ● ● ● 圧縮画像ファイル形式(データ PNG) 軽量のため転送時間が短い ユーザーPCのGPUを利用した高速並列処理と親和性が良い 出典)第15回地理院地図パートナーネットワーク会議資料(令和 5年11月7日) 「点群データを高速配信するためのファイルフォーマット、点群 PNGのご紹介(西岡芳晴(産業技術総合研究所))」 https://maps.gsi.go.jp/pn/meeting_partners/data/20231102/05.pdf
3次元点群データで面白いことできないかしら?🤔 標高データ(DEM)からCS立体図が作 成できるツール!?🤩 もしかして、点群データからDEMを作 成できたら、CS立体図が作成でき る!?🤔 https://x.com/kanahiro_iguchi/status/1734927981 842403417
CS立体図 ● ● ● 「CS」とは、凹凸(曲率)( Curvature)と傾斜 (Slope)の頭文字から命名されており、 2012 年に長野県林業総合センターで開発 CS立体図は、地形図から判読できる 3つの地 形量「標高」「傾斜」「凹凸(曲率)」を異なる色 調で彩色し、複数枚を重ねて透過処理するこ とで立体表現した図法 CS立体図の作成には、標高データ( DEM)を 使用 出典)CS立体図を使った地形判読マニュアル(令和5(2023)年3月、林野庁)
3次元点群データからCS立体図を作成してみた 使用データ:和歌山県3次元点群データ(グラウンドデータ) 作成フロー 【step1】グラウンドデータからDEMを作成 【step2】DEMのマージ 【step3】CS立体図の作成 【step4】CS立体図をWebメルカトル(EPSG:3857)へ再投影 【step5】CS立体図をラスタータイル化
DEMの作成にあたり、 山と地図 (@Yama_Chizu)様からご指導い ただきました 【step1】グラウンドデータからDEMを作成 ● OSSであるGMT (Generic Mapping Tools)の triangulateを用いて、グラウンドデータから内挿補間 (TIN:不定三角形網)によりDEM(グリッドデータ)を作 成 # 内挿補間によりDEM(グリッドデータ)を作成 gmt triangulate 06QC261_grd.txt 06QC263_grd.txt 06QC262_grd.txt 06QC264_grd.txt -i1,2,3 -GQC261-trn.grd -I1 -R-55900/-53900/-187600/-186100 -E-9999 -V # DEM(グリッドデータ)から仮想ラスターを作成 gdal_translate -of VRT -a_srs EPSG:6674 QC261-trn.grd QC261.vrt ※DEM(1m)をQGISにて表示 出典)和歌山県3次元点群データ(グラウンドデータ)
【step2】DEMのマージ ● GDALのgdal_merge.pyを用いて、複数のDEM(仮想ラスター)をマージし て、DEM(GeoTIFF)を作成 # 仮想ラスター( DEM)をマージ gdal_merge.py -o %OUTPUT_FILE% -co "BIGTIFF=YES" -co "COMPRESS=DEFLATE" -co "PREDICTOR=2" -co "ZLEVEL=9" -co "TILED=YES" --optfile %TEMP_FILE%
【step3】CS立体図の作成 ● CS立体図作成ツール(csmap-py)を用いて、DEM(GeoTIFF)からCS立体 図を作成 # DEM(GeoTIFF)からCS立体図を作成 poetry run python -m csmap wakayamapc-dem.tif wakayamapc-dem-csmap.tif --chunk_size 1024 --gf_size 12 --gf_sigma 3 --curvature_size 1 --height_scale 0 1000 --slope_scale 0.0 1.5 --curvature_scale -0.1 0.1 --max_workers 8 ※CS立体図(1mDEM)をQGISにて表示 出典)和歌山県3次元点群データ(グラウンドデータ)
【step4】CS立体図をWebメルカトルへ再投影 ● GDALのgdalwarpを用いて、CS立体図をWebメルカトル(EPSG:3857)へ 再投影 # CS立体図をWebメルカトル(EPSG:3857)へ再投影 gdalwarp -r bilinear -t_srs EPSG:3857 -co "BIGTIFF=YES" -co "COMPRESS=DEFLATE" -co "PREDICTOR=2" -co "ZLEVEL=9" -co "TILED=YES" wakayamapc-dem-csmap.tif wakayamapc-dem-csmap-3857.tif
【step5】CS立体図をラスタータイル化 ● GDALのgdal2tiles.pyを用いて、CS立体図(EPSG:3857)をラスタータイ ル化 # ラスタータイルの作成 gdal2tiles.py wakayamapc-dem-csmap-3857.tif wakayamapc-cs-tiles -z4-17 --xyz --processes=8
CS立体図をMapLibre GL JSで表示してみた デモサイト https://shi-works.github.io/aist-dem-with-cs-on-maplibre-gl-js/#15.86/34.224233/135.225666 GitHub(CS立体図タイル URL) https://github.com/shi-works/aist-dem-with-cs-on-maplibre-gl-js
CS立体図をQGISで表示してみた 和歌山県CS立体図タイル URL https://xs489works.xsrv.jp/raster-tiles/pref-wakayama/wakayamapc-cs-tiles/{z}/{x}/{y}.png GitHub(CS立体図タイル URL) https://github.com/shi-works/aist-dem-with-cs-on-maplibre-gl-js
X(旧Twitter)での交流 山と地図(@Yama_Chizu)様 kenzkenz(@kenzkenz)様 城郭放浪記(@jokaku_horoki)様 (全国Q地図開発者) (open-hinata開発者) (城郭放浪記管理人) https://x.com/kenzkenz/status/1771953271852175671 https://x.com/jokaku_horoki/status/1772571619271 074266 https://x.com/Yama_Chizu/status/17718857743022244 24
まとめと今後の展望(点群データの活用) まとめ ● FOSS4Gのおかげで点群データと仲良くなれた ● FOSS4G、とくにGDAL/OGRやPDALを活用すると、点群データの活用 の幅が広がる 今後の展望 ● 高精度DEMの作成⇒標高タイルの作成(3D地形の表示) ● 点群データ×基盤地図情報(地理院)を組み合わせた3D建物の生成
ご清聴ありがとうございました。