mcpField
P
point-cloud-lidar

point-cloud-lidar

github.com/muendデータ・データベース3764 回インストール2 週間前に更新
リポジトリ

point-cloud-lidar について

LiDARや点群データから、検証済みの地形・構造プロダクトを作成するスキルです。点密度に応じた解像度、センサー別の手法、垂直基準変換のメタデータ記録を重視します。

主な機能

  1. 01点数、密度、CRS、分類、リターンの確認
  2. 02ノイズ除去と地面点分類
  3. 03DTM、DSM、CHM、構造指標の生成
  4. 04バッファ付きタイル処理
  5. 05標高検証と垂直基準の記録

活用シーン

  1. 01LiDARから地面点のみのDTMを作成
  2. 02樹冠高と林業指標を算出
  3. 03タイル境界と標高精度を確認
  4. 04来歴付きの地理参照標高プロダクトを作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/muend/geoai-skills --skill point-cloud-lidar

インストール後、Claude Code で/point-cloud-lidarを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yamlreferences/authoritative-sources.md

詳細

点群と LiDAR

目的: 生のリターンから、説明責任を果たせる標高・構造プロダクトまで。 繰り返し発生する失敗パターン: ベンダーの分類を盲信すること、 サーフェスでリターンタイプを混在させること(ラストリターンからの DSM、植生下の地盤を含む DTM)、そして出力解像度を選ぶ際に 点密度を無視すること。

あらゆる点群との最初の接触

pdal info input.laz --summary        # counts, bounds, CRS, classes, returns

何かに触れる前に報告すべき項目: 点数、密度(pts/m² — 達成可能なラスター 解像度を左右します)、CRS(水平方向 AND 垂直方向の測地基準 — 楕円体高と ジオイド高はジオイドの起伏分だけ異なり、場所によっては数十メートルに なります)、分類は存在するか?、リターン番号は存在するか?、 フライトラインのオーバーラップによるアーティファクト。CRS メタデータの ない点群: 提供元から特定してください。決して仮定してはいけません。

フォーマットと規模

フォーマット用途
LAZ圧縮された交換用/アーカイブ用 — デフォルト
COPC(クラウド最適化 LAZ)ストリーミング/HTTP レンジアクセス、Web ビューア
LASツールが LAZ を読めない場合のみ
Entwine/EPT大規模なマルチタイルコレクション、インデックス付き

大規模なコレクションはタイル分割し、バッファ付きエッジ(検索半径の 約 2 倍)でタイルごとに処理して、フィルターやサーフェスにおける継ぎ目 アーティファクトを避けます。書き出し時にバッファは削除します。

PDAL パイプラインのパターン

{
  "pipeline": [
    "input.laz",
    {"type": "filters.reprojection", "out_srs": "EPSG:32636"},
    {"type": "filters.outlier", "method": "statistical",
     "mean_k": 8, "multiplier": 2.5},
    {"type": "filters.smrf", "slope": 0.15, "window": 18.0,
     "threshold": 0.5, "scalar": 1.2},
    {"type": "writers.las", "filename": "classified.laz",
     "extra_dims": "all"}
  ]
}

実行: pdal pipeline pipeline.json。ノイズ除去は地盤分類の BEFORE に 行います(地盤より下の低い外れ値は SMRF/CSF を破壊します)。急峻な地形 では slope を大きめに調整し、window は最大の非地盤オブジェクトに 合わせます(大きな建物にはより大きなウィンドウが必要です)。

地盤分類と DTM

  • ベンダーのクラス 2(地盤)が存在する場合: 信頼する前に 2〜3 本の 断面(橋、密な樹冠、急斜面)で監査してください。失敗している 箇所は再分類します。
  • アルゴリズム: SMRF(PDAL のデフォルト、堅牢)、CSF(クロス シミュレーション、急峻な森林で良好)。パラメータは地形依存です — パラメータ一覧だけでなく、証拠として断面プロットを示してください。
  • DTM は地盤のみの点から作成します。補間: TIN → ラスター(DTM の 標準)または密な点群には IDW。出力解像度は約 1/√密度以上。1 pt/m² のデータからの 0.5 m DTM は捏造されたディテールです。
  • DSM はファーストリターン / 最高点のビニングから作成します。 CHM = DSM − DTM。負の値は 0 にクランプし、林業用途ではピット フリーアルゴリズムを使用します(単純な CHM は樹冠内のピットで 穴だらけになります)。

構造メトリクス

  • 林業: 高さパーセンタイル(p95 ≈ 樹冠高)、樹冠被覆率 (2 m 超のファーストリターン / 全ファーストリターン)、グリッド セルまたはプロットごとの密度メトリクス。まず DTM に対して高さを 正規化します(filters.hag_dem または filters.hag_nn)。単木 検出: ピットフリー CHM 上の局所最大値 + watershed セグメンテーション — フィールドプロットまたは手動写真判読サンプルに対してカウントを 検証してください。
  • 建物: クラス 6 または平面パッチ抽出。建物高 = p90(屋根点の HAG)。フットプリントは地籍/OSM ポリゴンと HAG 上のゾーン統計で 融合します。
  • 下流の地形解析(傾斜、流域)→ terrain-hydrology; 点群または 派生ラスターに対する DL → geo-deep-learning。

SfM/写真測量点群 — LiDAR ではありません

ドローン写真測量の点群にはリターンがなく、樹冠への貫通もなく (植生下の地盤は推測されます)、相関ノイズがあり、カメラキャリブ レーションの不良によるドーミングが発生する可能性があります。森林上 の SfM からの「DTM」は樹冠モデルです。すべての成果物でセンサータイプ を明記してください。LiDAR 固有の主張(貫通、リターンメトリクス)は LiDAR にのみ使用してください。

垂直基準: 解決・変換・記録

すべての標高プロダクトには 3 つの義務があり、3 番目が省略されがちです。回答内で基準を述べることは、それを記録することではありません。 垂直基準がチャットの返信の中にしか存在しない高さプロダクトは、ファイルが他の誰かに渡された瞬間に、基準がまったくないものと区別がつきません。

  1. 解決する。 ヘッダー/VLR から垂直 CRS を読み取ります。それが欠落している、または矛盾している場合は、取得メタデータ(ベンダーのフライトレポート、プロジェクト仕様)に対して解決するか、診断します。タイル全体にわたる一定のオフセットが現地のジオイドの起伏と一致する場合、それが楕円体高対正標高の指紋です。標高の大きさだけから基準を推測してはいけません。

  2. 変換する。 明示的で名前の付いた変換を適用します — filters.reprojection を通した複合 CRS とジオイドモデル、またはジオイドグリッドが利用できない場合はタイルごとにフィッティングしたオフセットです。その後でオーバーラップを再度差分し、ストリップがノイズの範囲内で一致することを確認します。

  3. 回答だけでなく出力に記録する。 納品されるすべてのプロダクトは、機械可読な形式で以下を保持しなければなりません:

    • ファイル自体に書き込まれた複合 CRS または垂直 CRS(LAS/LAZ ヘッダー VLR、GeoTIFF CRS、またはサイドカー内の PROJJSON);
    • 実際に適用されたジオイドモデル名とバージョン(例: EGM2008、GEOID18)および変換パイプラインまたは EPSG オペレーションコード;
    • 補正がタイルごとであった場合の適用されたタイルごとのオフセット、およびそれぞれが何に対してフィッティングされたかのコントロールまたは参照;
    • 当初欠落していた基準を解決するために使用した信頼できる情報源;
    • 補正後のストリップエッジの残差不一致。

    これをプロダクトと併せてサイドカー(*.prj/PROJJSON、メタデータ JSON、または埋め込みラスタータグ)として出力し、垂直基準が未解決の高さプロダクトを決して公開してはいけません。基準を解決できない場合は、同じメタデータブロックに未解決の基準を記録したうえで、プロダクトを暫定としてラベル付けして納品します — 黙っていることは選択肢ではありません。

検証プロトコル

  1. 断面(建物のエッジと植生斜面を含む 2〜3 か所): グラウンドクラスは地形に密着し、DSM は表面を覆います。
  2. DTM から既知のコントロールポイント / 全国 DEM を引く: RMSE を報告し、一定のオフセット = 垂直基準の不一致がないか確認します。
  3. DTM をヒルシェード表示する — 分類のアーティファクト(ピット、ピンプル、フライトラインの縞)が即座に可視化されます。
  4. 密度、CRS + 垂直基準、分類器 + パラメータ、および出力解像度の根拠を回答内で報告し、さらに プロダクトが納品済みと見なされる前に、検証済みの垂直基準、ジオイドモデル、変換が出力メタデータに書き込まれていることを確認します。

落とし穴チェックリスト

  • 楕円体高が正標高として納品される(プロダクト全体がジオイド分だけオフセットされる)。
  • 垂直基準が監査中に解決されたが、納品されたプロダクトのメタデータには決して書き込まれない — 次の消費者は、あなたが分析を費やして取り除いたのと同じ曖昧さをそのまま引き継ぎます。
  • ポイント密度が支えられないほど細かい DTM 解像度。
  • 密な林冠下でベンダーのグラウンドクラスを信頼する。
  • 負の値や樹冠ピットのある CHM(ピットフリー処理なし)。
  • バッファなしのタイルごと処理 → 派生データにシームライン。
  • グラウンド分類の後に外れ値フィルタを実行する。
  • SfM クラウドを林冠を透過する LiDAR として扱う。

実行契約

  • ワークフロー: ヘッダー、CRS、垂直基準、密度、クラス、リターンを検査します。バッファ付きでタイル化し、ノイズを除去し、分類し、プロダクトを生成し、モザイク化し、3D と断面で検証します。
  • 判断ルール: リターンレベルの 3D エビデンスが重要な場合は点群ワークフローを使用し、検証済みの DEM が存在する場合は地形ワークフローを使用し、LiDAR と SfM クラウドでは前提を分けます。
  • 検証プロトコル: 点群数とクラスを照合し、バッファ付きの継ぎ目と断面を検査し、標高を基準点と比較し、生成地形を陰影起伏表示し、密度が裏付ける解像度を報告します。
  • 失敗モード: 不明な垂直基準、不十分な密度、破損した分類、タイルの継ぎ目、無制限の外れ値、またはサンプリングが裏付けない細かさのプロダクト解像度の場合は停止します。垂直基準を解決した後、その基準と変換を出力メタデータに記録せずにプロダクトを出荷してはなりません。
  • 成果物: 検証済みのクラウドまたは生成された DTM/DSM/CHM、パイプラインパラメータ、CRS と垂直基準、密度とクラスのレポート、QA グラフィックス、精度指標、および制約事項。検証済みの垂直基準、適用されたジオイドモデルと変換、およびタイルごとのオフセットは、回答テキストだけでなく、出力メタデータまたはサイドカーに書き込まれます。
  • ソースの鮮度: フォーマット、品質、または処理ルールを適用する前に信頼できるソースレジストリを参照し、確認日を記録します。

コメント