重要

翻訳は あなたが参加できる コミュニティの取り組みです。このページは現在 88.32% 翻訳されています。

20. 点群の操作

20.1. 点群入門

点群とは?

点群とは、多数のデータ点(最大数十億、数兆)からなる空間の3次元画像です。各点はx、y、z座標を持ちます。キャプチャ方法にもよりますが、点群には通常、色値や強度など、キャプチャに由来した追加属性もあります。これらの属性は、例えば、異なる色で点群を表示するために使用することができます。QGISでは、点群を使って風景(または別の空間)の3次元画像を生成することができます。

サポートしている形式

QGISは、Entwine Point Tile (EPT)とLAS/LAZのデータ形式をサポートしています。点群データを扱う場合、QGISは常にEPTでデータを保存します。EPTは、共通のフォルダーに保存される複数のファイルで構成された保存形式です。データに素早くアクセスできるように、EPTはインデックスを使います。EPT形式の詳細については、entwine homepage を参照してください。

データがLASまたはLAZ形式の場合、QGISは初回に読み込む時にEPTに変換します。ファイルの大きさによっては、これに時間がかかる場合があります。この処理では、LAS/LAZファイルがあるフォルダに、 ept_ + name_LAS/LAZ_file というスキームでサブフォルダーが作られます。そのようなサブフォルダーがすでに存在する場合、QGISはEPTをすぐに読み込みます(読み込み時間の短縮につながります)。

知っておくべきこと

QGISでは(まだ)点群を編集することはできません。点群を操作したい場合は、オープンソースの点群処理ツールである`CloudCompare <https://www.cloudcompare.org/>`_ を使うことができます。また、Point Data Abstraction Library (PDAL - GDALに似ている)は点群を編集するオプションを提供しています(PDALはコマンドラインのみです)。

データ点の数が多いため、QGISでは点群の属性テーブルを表示することはできません。しかし、identify Identify tool は点群をサポートしているので、1つのデータポイントであってもすべての属性を表示することができます。

20.2. 点群のプロパティ

点群レイヤの レイヤプロパティ ダイアログは、レイヤとそのレンダリングに関する一般的な設定を提供します。また、レイヤの情報も提供します。

レイヤプロパティ ダイアログにアクセスするには:

  • レイヤ パネルでレイヤをダブルクリックするか、右クリックしてコンテキストメニューから プロパティ... を選択する;

  • レイヤを選択した状態で、 レイヤ ► レイヤのプロパティ... メニューを選ぶ

点群 レイヤプロパティ ダイアログには次のセクションがあります:

metadata 情報

system ソース

symbology シンボロジ[1]

3d 3Dビュー[1]

rendering レンダリング

elevationscale 高さ[1]

editMetadata メタデータ

basicStatistics 統計量の出力

[1] レイヤスタイルパネル からも利用可能です

注釈

点群レイヤのプロパティのほとんどは、プロパティダイアログの下部にある スタイル メニューを使って .qml ファイルに保存したり、そこから読み込んだりすることができます。詳細は レイヤのプロパティの保存および共有 を参照してください。

20.2.1. 情報プロパティ

metadata 情報 タブは読み取り専用で、現在のレイヤの要約された情報やメタデータをさっと掴むことができる興味深い場所です。提供される情報には、以下のものがあります:

  • 名前、ソースパス、最終保存日時と大きさ、使用されたプロバイダなどの一般

  • レイヤのプロバイダに基づいた:領域と点の数

  • 空間参照系:名前、単位、方法、精度、参照(即ち、静的か動的のいずれか)

  • プロバイダからのメタデータ:作成日、バージョン、データフォーマット、縮尺X/Y/Z…

  • editMetadata メタデータ タブから選ばれた(編集可能な):アクセス、領域、リンク、連絡先、履歴…

../../../_images/point_cloud_information.png

図 20.1 点群情報タブ

20.2.2. ソースプロパティ

system ソース タブでは、点群レイヤの基本情報を確認・編集することができます:

../../../_images/point_cloud_source.png

図 20.2 点群のソースタブ

  • 設定: プロジェクト(レイヤパネル、式、印刷レイヤ凡例…)でレイヤを識別するのに使われるレイヤ名をレイヤファイル名と異なるものに設定します

  • 設定されたCRS: ここではレイヤに割り当てられている 座標参照系 を変更することができます。ドロップダウンリストで最近使用したものを選択するか、setProjection set Projection Select CRS ボタンをクリックします(参照 座標参照系セレクタ)。この処理は、レイヤに適用されている CRS が誤っている場合や、何も適用されていない場合にのみ使用します。

  • Provider Feature Filter: allows to restrict data to use in the current project to a subset, using functions and expression at the PDAL data provider level. Press the Query Builder button at the bottom to start setting the filter.

    ../../../_images/point_cloud_querybuilder.png

    図 20.3 Filtering point cloud layer to buildings at specific altitude

    In the bottom part of the dialog, you can type a Provider specific filter expression. Such an expression can be built thanks to:

    • Fields: the list contains all the attributes of the point cloud layer. To add an attribute to the expression, double-click its name or just type it into the text box.

    • Values: frame lists values or statistics of the currently selected attribute, as a key:value pair. To add a value to the expression field, double click its name in the list: depending on the type of attribute, either the key or the value will be added to the expression. Or type the value in the expression text box.

    • Operators: this toolbar contains all usable operators. To add an operator to the expression field, click the appropriate button. Relational operators ( = , > , ...) and logical operators (AND, OR, ...) are available.

    The Test button helps you check the syntax of your query. Use the Clear button to wipe the query and revert the layer to its original state (i.e., fully load all the points in the layer). It is possible to Save... the query as a .QQF file, or Load... the query from a file into the dialog.

    When a filter is applied, QGIS treats the resulting subset as if it were the entire layer. For example if you applied the filter above for filtering buildings, you can not e.g. display, query, save or edit points that are of vegetation classification because they are not part of the subset.

    Tip

    レイヤパネル内におけるフィルタされたレイヤの表示

    In the Layers panel, a filtered layer is listed with a indicatorFilter Filter icon next to it indicating the query used when the mouse hovers over the icon. Double-click the icon to open the Query Builder dialog for edit. This can also be achieved through the Layer ► Filter... menu.

20.2.3. シンボロジプロパティ

symbology シンボロジ タブでは、点群のレンダリングの設定を行います。上部には、異なる地物レンダラーの設定があります。下部には、レイヤ全体の一般的な設定と、地物レンダラーに適用される設定があります。

20.2.3.1. 地物レンダリングタイプ

点群のレンダリングにはさまざまなオプションがあり、 シンボロジ タブの上部にあるドロップダウンメニューで選択することができます( 図 20.4 を参照):

  • pointCloudExtent 範囲のみ: データの範囲のバウンディングボックスのみを表示します;データの範囲を概観するのに便利です。普通通り、 シンボル ウィジェット を使用することで、ボックスのプロパティ(色、ストローク、不透明度、サブレイヤなど)を設定することができます。

  • singlebandPseudocolor ランプによる属性: データはカラーグラデーション上に描画されます。ランプによる属性 を参照

  • multibandColor RGB: 赤、緑、青の色値を用いてデータを描画します。RGBレンダラー を参照

  • paletted 分類: データは分類ごとに異なる色で描画されます。分類レンダラー を参照してください

点群が読み込まれると、QGISはロジックに従って最適なレンダラーを選択します:

  • データセットに色情報(赤、緑、青属性)が含まれている場合、RGBレンダラーが使われます

  • そうではなく、データセットに Classification 属性が含まれていれば、分類レンダラーが使われます

  • そうでなければ、Z属性に基づくレンダリングにフォールバックします

点群の属性がわからない場合は、basicStatistics 統計量の出力 タブ を参照すると、点群にどの属性が含まれていて、どの範囲に値があるのかの概要を知ることができます。

../../../_images/point_cloud_symbology_overview.png

図 20.4 点群シンボロジタブ

ランプによる属性

singlebandPseudocolorランプによる属性 では、データをカラーグラデーション上の数値で表示することができます。このような数値は、例えば、既存の強度属性やZ値にすることができます。最小値と最大値により、他の値は内挿によってカラーグラデーションに広がります。明確な値と特定の色への割り当ては「カラーマップ」と呼ばれ、表に示されます。様々な設定オプションがあり、それらは図の下に説明されています。

../../../_images/point_cloud_attribute_by_ramp.png

図 20.5 点群シンボロジタブ:ランプによる属性

  • 最小値最大値 はカラーランプに適用される範囲を定義します: 最小値 の値はカラーランプの左端、 最大値 の値は右端を表し、その間の値は内挿されます。デフォルトでは、QGISは選択された属性から最小値と最大値を検出しますが、変更することもできます。値を変更したら、読み込み ボタンをクリックしてデフォルトに戻すことができます。

  • 内挿 の項目は、値にどのように色が割り当てられるかを定義します:

    • 離散値<= シンボルが カラムのヘッダに表示されます):ラスタの色には、その値以上で最も近いカラーマップのエントリを使用します

    • 線形 ピクセル値の上下にあるカラーマップの項目から線形補間された色であり、データセット値毎にユニークな色に対応します

    • 正確な= シンボルが カラムのヘッダに表示されます):カラーマップエントリの値に等しい値を持つピクセルだけに色が適用されます。その他の値のピクセルはレンダリングされません。

  • カラーランプ ウィジェットは、データセットに割り当てるカラーランプを選択するのに役立ちます。このウィジェット と同様に、新しいウィジェットを作ったり、現在選択されているウィジェットを編集して保存することができます。

  • ラベルの単位の接尾辞 は、凡例内で値の後ろにラベルを追加します。また、 ラベルの精度 は表示する小数点以下の桁数を制御します。

分類の モード は、クラス間でどのように値が分布するかを定義できます:

  • 連続的: クラス番号と色はカラーランプのストップから取得されます; 限界値はカラーランプのストップの分布に従って設定されます (ストップに関する詳細は カラーランプの設定 を参照してください)。

  • 等間隔分類: クラスの数は行末の クラス フィールドによって設定されます; 限界値はクラスがすべて同じ大きさになるように定義されます。

クラスは自動的に決定され、カラーマップ表に表示されます。しかし、手動でこれらのクラスを編集することもできます:

  • テーブルの をダブルクリックするとクラス値を変更することができます

  • guilabel: 列をダブルクリックすると 色を選択 ウィジェットが開き、その値に適用する色を選択することができます

  • ラベル 列をダブルクリックするとクラスのラベルを変更することができます

  • カラーテーブルで選択された行の上で右クリックすると、 色を変更...不透明度を変更... のコンテキストメニューが表示されます

テーブルの下には、分類 でデフォルトのクラスに戻すか、手動で値を symbologyAdd 追加 するか、表から選択した行を symbologyRemove 削除 するオプションがあります。

カスタマイズされたカラーマップは非常に複雑になる可能性があるため、既存のカラーマップを fileOpen 読み込む オプションや、他のレイヤで使用するために( txt ファイルとして) fileSaveAs 保存 するオプションもあります。

内挿線形 を選択した場合は、以下の設定も可能です:

  • checkbox 範囲外の値を無視 デフォルトで、線形法はデータセットの値のうち、設定された 最小値 より小さな値(設定された 最大値 より大きな値)に対して最初のクラス(最後のクラス)の色を割り当てます。これらの値をレンダリングしたくない場合は、この設定をチェックしてください。

  • 凡例の設定レイヤ パネルと レイアウト凡例 に表示されます。カスタマイズはラスタレイヤと同じように動作します(詳細は ラスタの凡例のカスタマイズ を参照してください)。

RGBレンダラー

multibandColor| RGB レンダラーでは、点群から選択された3つの属性が赤、緑、青の成分として使用されます。属性に適切な名前が付けられている場合、QGISは自動的に属性を選択し、各バンドの 最小値最大値 を取得し、それに応じてカラーリングをスケーリングします。しかし、手動で値を変更することも可能です。

コントラスト 方法には、 強調しない最小最大範囲に引き伸ばす最小最大範囲に引き伸ばしカット最小から最大までの範囲以外は無視 の値が適用できます

注釈

コントラスト ツールはまだ開発中です。問題がある場合は、デフォルトの 最小最大範囲に引き伸ばす を使用してください。

../../../_images/point_cloud_rgb.png

図 20.6 点群RGBレンダラー

分類レンダラー

paletted 分類 レンダリングでは、点群は属性に基づいて色分けされて表示されます。属性はどのようなタイプでも使用できます(数値、文字列、...)。点群データにはしばしば Classification というフィールドが含まれます。このフィールドには通常、後処理によって自動的に決定された植生などのデータが含まれます。属性 を使うと、属性テーブルから分類に使用するフィールドを選択することができます。デフォルトでは、QGISはLAS仕様の定義を使用します(ASPRSホームページ にあるPDFの 'ASPRS標準点クラス' の表を参照してください)。しかし、データはこのスキーマから逸脱している可能性があります。疑問がある場合は、データを受け取った人や機関に定義を問い合わせる必要があります。

../../../_images/point_cloud_classification.png

図 20.7 点群分類レンダラー

表では、使用されたすべての値が対応する色と凡例とともに表示されます。各行の先頭には checkbox チェックボックスがあり、チェックを外すとその値はマップ上に表示されなくなります。テーブルをダブルクリックすると 凡例 を変更することができます(色については 色選択 ウィジェットが開きます)。

表の下にはボタンがあり、QGISが生成するデフォルトクラスを変更することができます:

  • guilabel:分類 ボタンを使用すると、データを自動的に分類することができます:属性に出現し、テーブルにまだ存在しないすべての値が追加されます

  • symbologyAdd 追加symbologyRemove 削除 を使うと、値を手動で追加または削除できます

  • すべて削除 は表からすべての値を取り除きます

ヒント

レイヤ パネルでは、レイヤのクラスリーフエントリの上で右クリックすると、対応する地物の可視性を素早く設定することができます。

20.2.3.2. 点シンボル

点シンボル では、各データポイントを表示する大きさと単位(ミリメートル、ピクセル、インチなど)を設定することができます。点のスタイルとして または Square が選択できます。

20.2.3.3. レイヤレンダリング

レイヤレンダリング セクションには、レイヤのレンダリングを変更するための以下のオプションがあります:

  • 描画順: 2次元マップキャンバス上の点群のレンダリング順をZ値に依存するかどうかを制御できます。次でレンダリングすることができます:

    • 点がレイヤに格納されている デフォルト 順、

    • :guilabel:`下から上`(Z値が大きい点は低い点を覆い、真のオルソ写真のように見える)、

    • または、情景を下から見ているように見える 上から下

  • 最大エラー: 点群には通常、表示に必要な以上の点が含まれています。このオプションで、点群の表示をどの程度密にするか、または疎にするかを設定します(これは「点間の最大許容ギャップ」とも理解できます)。大きな数値(例:5 mm)を設定すると、点と点の間に目に見える隙間ができます。低い値(例:0.1mm)を設定すると、不必要な量の点をレンダリングすることになり、レンダリングが遅くなります(異なる単位を選択することができます)。

  • 不透明度: このツールでマップキャンバスの下にあるレイヤを表示させることができます。スライダーを使ってレイヤの可視性をニーズに合わせて調整します。また、スライダーの横のメニューで可視性のパーセンテージを正確に定義することもできます。

  • 混合モード: このツールで特殊なレンダリング効果を得ることができます。オーバーレイレイヤとその下のレイヤのピクセルは、混合モード で説明されている設定によって混合されます。

  • アイドーム照明: これはマップキャンバスにシェーディング効果を適用し、より良い深度レンダリングを行います。レンダリングの品質は draw order プロパティに依存します。デフォルト の描画順では最適な結果が得られないかもしれません。以下のパラメータを制御することができます:

    • 強度: コントラストを増加し、奥行き感を与えます

    • 距離: 中心ピクセルからの使用ピクセルの距離を表し、エッジを太くする効果があります。

20.2.4. 3Dビュープロパティ

3d 3Dビュー タブでは、3Dマップでの点群のレンダリングの設定を行うことができます。

20.2.4.1. 3Dレンダリングモード

タブ上部のドロップダウンメニューから以下のオプションが選択できます:

  • レンダリングしない: データは表示されません

  • 2Dシンボルに従う: 3Dの地物レンダリングを 2Dに割り当てたシンボロジ に合わせます

  • singleColor 単一色: すべての点は属性に関係なく同じ で表示されます

  • singlebandPseudocolor ランプによる属性: 指定された属性をカラーランプで補間し、それにマッチする色を地物に割り当てます。ランプによる属性 を参照。

  • multibandColor RGB: 地物に割り当てる赤、緑、青の色成分を設定するために、地物の異なる属性を使います。RGBレンダラー を参照。

  • paletted 分類: 属性に基づいてポイントを色で区別します。分類レンダラー を参照。

../../../_images/point_cloud_3d_view.png

図 20.8 点群3Dビュータブと分類レンダラー

20.2.4.2. 3D点シンボル

3d 3Dビュー タブの下部には 点シンボル セクションがある。ここでは全てのレンダラに同じ、レイヤ全体の一般的な設定を行うことができる。以下のオプションがある:

  • 点の大きさ: 各データポイントを表示する大きさ(ピクセル単位で)を設定できます

  • 最大画面誤差: このオプションで、点群の表示を(ピクセル単位で)どの程度密にするか、または疎にするかを設定します。大きな数値(例 10)を設定すると、点と点の間に目に見える隙間ができます。低い値(例 0)を設定すると、不必要な量の点をレンダリングすることになり、レンダリングが遅くなります(詳細は シンボロジ 最大エラー を参照)。

  • Point budget: 長時間のレンダリングを避けるために、レンダリングされるポイントの最大数を設定できます

  • checkbox サーフェス(三角網)としてレンダリング をチェックすると、3Dビューの点群レイヤを三角形分割によって得られた平面でレンダリングします。計算された三角形の寸法を制御できます:

    • checkbox スキップする三角形の幅の下限: 水平面で、三角形の一辺の長さの最大値を設定します

    • checkboxスキップする三角形の高さの下限: 垂直面で、三角形の一辺の高さの最大値を設定します

  • checkbox バウンディングボックスを表示: 特にデバッグに便利で、階層内のノードのバウンディングボックスを表示します

20.2.5. レンダリングプロパティ

縮尺に応じた表示設定 グループボックスの下で、 最大縮尺(含む)`と :guilabel:`最小縮尺(含まない) を設定し、地物を可視とする縮尺の範囲を定義することができます。この範囲外では隠される。mapIdentification 現在のキャンバスが表示している縮尺を設定 ボタンを使うと、現在のマップキャンバスの縮尺を可視範囲の境界として使うことができます。詳しくは 表示縮尺セレクタ を参照してください。

注釈

レイヤの縮尺に応じた表示は、レイヤ パネルからも有効にすることもできます: レイヤを右クリックし、コンテキストメニューから レイヤの縮尺表示を設定 を選択します。

../../../_images/point_cloud_rendering.png

図 20.9 点群レンダリングタブ

20.2.6. 高さプロパティ

elevationscale 高さ タブでは、データのZ値の補正を設定することができます。これは3Dマップでのデータの標高や、 profile tool charts での見栄えを調整するために必要かもしれません。以下のオプションがあります:

  • 高さ グループの下では:

    • 縮尺 を設定することができます: ここに 10 を入力すると、Z = 5 の点は 50 の高さで表示されます。

    • zレベルに対する オフセット を入力することができます。これは異なるデータソースの高さを一致させるのに便利です。デフォルトでは、データに含まれる最も低いz値がこの値として使用されます。この値は行末の refresh Refresh ボタンで元に戻すこともできます。

  • 断面図の精度 の下にある 最大エラー は、標高断面図でレンダリングされる点をどの程度密にするか、または疎にするかを制御するのに役立ちます。値を大きくすると、含まれる点が少なくなり、生成が速くなります。

  • 断面図の外観 では、点の表示を制御できます:

    • 点の大きさ: サポートされている単位(ミリメートル、地図単位、ピクセル、...)で、点をレンダリングするサイズ

    • スタイル: または 四角 のどちらで点をレンダリングするか

    • 単一の を断面図ビューに表示されている全ての点に適用する

    • checkbox レイヤーの色に従う をチェックすると、代わりに 2D シンボロジ によって割り当てられた色で点を表示します

    • unchecked 距離に応じた不透明度を適用 は、プロファイル曲線から遠い点の不透明度を下げます

../../../_images/point_cloud_elevation.png

図 20.10 点群高さタブ

20.2.7. メタデータプロパティ

editMetadata メタデータ タブには、レイヤに関するメタデータレポートの作成・編集オプションがあります。詳細は メタデータ を参照してください。

20.2.8. 統計量の出力プロパティ

basicStatistics 統計量の出力 タブでは、点群の属性とその分布の概要を知ることができます。

一番上には 属性の統計量 というセクションがあります。ここには点群に含まれる全ての属性と、その統計値の一部が一覧表示されます: 最小値最大平均値標準偏差

もし Classification という属性があれば、下のセクションに別の表があります。ここには、その属性に含まれる全ての値と、その絶対的な カウント と相対的な % 存在度が一覧にされています。

../../../_images/point_cloud_statistics.png

図 20.11 点群 統計量の出力タブ

20.3. Virtual point cloud

Lidar surveys of larger areas are often multi-terabyte datasets with many billions of points. Having such large datasets represented as a single point cloud file is not practical due to the difficulties of storage, transfer, display and analysis. Point cloud data are therefore typically stored and distributed split into square tiles (e.g. 1km x 1km), each tile having a more manageable file size (e.g. ~200 MB when compressed).

Tiling of data solves the problems with size of data, but it introduces issues when processing or viewing an area of interest that does not fit entirely into a single tile. Users need to develop workflows that take into account multiple tiles and special care needs to be taken to deal with data near edges of tiles to avoid unwanted artefacts in outputs. Similarly, when viewing point cloud data, it becomes cumbersome to load many individual files and apply the same symbology.

Here is an example of several point cloud tiles loaded in QGIS. Each tile is styled based on min/max Z values of the tile, creating visible artefacts on tile edges. The styling has to be adjusted for each layer separately:

../../../_images/point_cloud_individual_tiles.png

図 20.12 Individual point cloud tiles loaded, with artefacts on edges

In the GIS world, many users are familiar with the concept of virtual rasters. A virtual raster is a file that simply references other raster files with actual data. In this way, GIS software then treats the whole dataset comprising many files as a single raster layer, making the display and analysis of all the rasters listed in the virtual file much easier.

Borrowing the concept of virtual rasters from GDAL, virtual point cloud (VPC) is a file format that references other point cloud files. Software supporting virtual point clouds handles the whole tiled dataset as a single data source.

../../../_images/point_cloud_vpc.png

図 20.13 The virtual point cloud

Displaying and manipulating virtual point cloud is much more fluent and easy.

../../../_images/point_cloud_vpc_2d.gif

図 20.14 The virtual point cloud output on 2D: displaying details when zooming in

At the core, a virtual point cloud file is a simple JSON file with .vpc extension, containing references to actual data files (e.g. .LAS, .LAZ or .COPC files) and additional metadata extracted from the files. Even though it is possible to write VPC files by hand, it is strongly recommended to create them using an automated tool, such as:

For more details, please refer to the VPC specification that also contains best practices and optional extensions (such as overviews).