グラウンドのランダム点群の読み込み→グリッドデータ変換→DEM作成

3,283 views
Skip to first unread message

milly...@gmail.com

unread,
Aug 20, 2019, 9:33:37 PM8/20/19
to QGIS初心者質問グループ
お世話になっております。
タイトルの通り長くなって申し訳ないのですが、

別のソフトにてレーザー点群のグラウンドのランダム点群を作成しQGISでの読み込み方法で詰まってしまっています。
形式はLAS形式なのですが、なんらかの方法で読み込み可能なのでしょうか?

また、その読み込みをしたグラウンドのランダム点群からグリッドデータ化(メッシュ化)が出来るのか、
そして、そのグリッドデータからDEM作成が出来る工程をネットの記事でみつけたのですが、
設定がわからなく適当にしたせいなのか何度やり直しても上手くいきません。

また、グリッドデータ化する際の内挿補完方法は、公共測量で指定のある、TIN法、または最近隣法で
行われるのでしょうか?

無知で質問が多くなってしまい申し訳ありません。
おわかりになりましたらご教授頂けると助かります。

QGISのバージョンは3.4.5、ウィンドウズ10使用です。

wata909

unread,
Aug 20, 2019, 10:49:11 PM8/20/19
to QGIS初心者質問グループ
LiDARの点群データであれば、QGISよりもLASToolsを使う方が早いのではないかと思います

DEMの作成については、LASToolsのなかのlas2demを使うのが手っ取り早いかと思います。

公共測量にでの変換形式に準拠しているかどうかは、ドキュメントをご確認頂くしかないかなと思います。

また、詳細については確認しておりませんが、QGIS3で、LASToolsを動かすためのプラグインもあるようです。

以上、参考までに

milly...@gmail.com

unread,
Aug 21, 2019, 1:27:49 AM8/21/19
to QGIS初心者質問グループ
wata909様

URL付きの親切な回答ありがとうございます。
以下のLASToolsを使って試してみようと思います。

公共の仕事ではなく、民間の仕事なのですが、成果品に精度管理表などを付ける為、
どうしても公共測量に準じた内挿補完方法を行っています!と言える根拠が必要なようです。。。

福岡

unread,
Aug 21, 2019, 3:36:03 AM8/21/19
to QGIS初心者質問グループ
こんにちは

普段、触れることの無い形式のデータでしたので、関心がありました。
そこで自分なりにアプローチしてみたので、その結果報告です。

ちょっとググってみたところ、「Rastools」が引っかかってきました。やはり一番便利なのだと思います。
ただ有料のようなので、他の手段を探してみます。

次に見つけたのは「las2ogr」というコマンドです。
OSGeo4W Shell に「las2ogr -h」と打ち込んだところ説明が出ましたので、これは使うことができるかもしれません。

Dドライブに「sample.las」というデータを置いて試してみました。
「las2ogr -i d:\sample.las -o d:\points.shp -f "ESRI Shapefile"」

Shapeファイルが作成されました。きちんとポイントは地図上に配置できています。
属性テーブルをみると高さの値がありません。これでは使えません。

次に見つけたのは「las2txt」というコマンドです。説明をみると期待できそうです。

それでは座標値と高さだけをテキストファイルに取り出すことにチャレンジです。
Dドライブに「TEST.las」というデータを置いて、OSGeo4W Shellへコマンド打ち込んで実行してみます。
「las2txt -i d:\TEST.las -o d:\lidar.txt --parse xyz」

出力されたデータをテキストエディタで確認したところ、意図したとおりX,Y,Zの値がコンマ区切りで作成されています。
後はプロセッシングツールの「データ補完 - TIN補間」か「SAGA - Raster creation tools - Natural nabhour」などを使えば、DEMは作成できそうです。

一応、両方ともDEMは作成できました。ただしアルゴリズムの違いから、仕上がりは若干異なるようです。
「Natural nabhour」にはYoutubeに説明動画があります。操作法がわかりにくければ、これを参考にすると良いと思います。
How to Create DEM and Elevation Profile in QGIS 3

「TIN補間」の方は進行状況を示すバーが出てきますが、「Natural nabhour」にはありません。
データ量やDEMの細かさなどで時間を要する場合があります。「Natural nabhour」をお使いの際には、処理が終わるまでちょっとした我慢が必要です。

以上、結果報告でした。m(__)m

wata909

unread,
Aug 21, 2019, 7:12:00 PM8/21/19
to QGIS初心者質問グループ
福岡さん

wata909です。
「Rastools」ですが,LASToolsのタイポですかね?

さておき,LASToolsの場合ですが,たしかにGPLのオープンソースですが,一部機能(点群の読み込み数,だったかな?)に制限があったと思います。
また,LASlibとLASToolsの関係ですが,「Built upon LASlib (with LASzip DLL) are LAStools」ということで,LASLibを元に,LASToolsを作ったという感じのようです。まぁ,開発している人は同じなんですが(笑


また,別のツールとしてはpdalというのもあるのですが,こちらはインストールから難しそうですね。
https://pdal.io/
(いわゆる,データサイエンス系の人には扱いやすいのかもしれませんが)

sakuya_izayoi

unread,
Aug 21, 2019, 8:29:00 PM8/21/19
to QGIS初心者質問グループ
こちらizayoiです。
遅ればせながら。
LASデータであれば「CloudCompare」というソフトを使ってテキスト化する方法もあります。このソフトウェアでLASデータを読み込ませたのちに
「*.txt.asc.neu.xyz.pts.csv(ASCII)」に変換エクスポートするというのも使えます。
(自分はmillyさまとは逆に、テキストデータからLASデータを作成するために良く使ってます。)
詳しい使い方は下記アドレスにあります。
いくつか図化ソフトを持っておくと非常に楽になりますのでご参考になれば。

wata909さま
結構便利にDEM作る方法があるのですね。この機能使った事なかったので今度使ってみます。

福岡さま
「TIN補間」と「Natural nabhour」はどちらの方が実務上良く使われていますか?
私の場合は
「TIN補間→「ベクタジオメトリ」→「ジオメトリの簡素化」を実行した後に「等高線をスムース」で行っています。(きた さま投稿の方法と一緒です)


milly...@gmail.com

unread,
Aug 21, 2019, 8:29:52 PM8/21/19
to QGIS初心者質問グループ
福岡様

おはようございます!
わざわざ貴重なお時間を割いてアプローチして頂き本当に感謝いたします><
本日この後福岡様とwata909様に教えていただいた工程で私も試させていただこうと思います。
英語のサイトが大の苦手なので少し不安ですが。。;; 後ほど再度ご報告させていただきます。
取り急ぎお礼を申し上げます><

milly...@gmail.com

unread,
Aug 21, 2019, 8:33:43 PM8/21/19
to QGIS初心者質問グループ
wata909様

追加のアドバイスありがとうございます!
本日教えていただいたことを参考に検証させていただきます。
取り急ぎお礼申し上げます><
pdalのサイト見させていただきましたが、、私には理解が追い付かないようです。。;;

adachi

unread,
Aug 21, 2019, 8:53:11 PM8/21/19
to QGIS初心者質問グループ
みなさまがすでに有用な情報を提供されているので補足程度ですが...

・LAStoolsのライセンス
機能によってフリーで使える、ライセンスが必要、の区分があるようです。
↑の前半部がフリー、後半部が要ライセンス
las2demなどはやはりライセンスが必要のようです。
※厳密には、要ライセンスの機能も問題なく使えはしますが「出力結果にそれとわかる斜め線が入る」ということで実際にやってみたらその通りになりました。

・QGISのLAStoolsプラグイン
インストールして使ってみました。
 1. LAStoolsプラグインのインストール(これはプラグイン検索で普通に出てきます)
 2. LAStools本体のダウンロードと解凍(wata909さんご紹介のリンク先にあるもの)
 3. QGISの設定>オプション>プロセシング>プロバイダで2で解凍したLAStoolsのフォルダ場所を指定
で使えるようになります。
出力結果が自動的にマップに読み込まれたりするわけではないのでわざわざQGIS上でする意味はないかもしれませんが...

・その他
Windows環境専用のようですので私のほうでは動作確認できていませんが、FUSIONというソフト?でも同じようなことができるようです。
LAStoolsと同様
・FUSION for processingというプラグインのインストール
・FUSION本体のインストール
・QGIS側でのプロバイダの設定
が必要になるようです。

milly...@gmail.com

unread,
Aug 21, 2019, 9:23:43 PM8/21/19
to QGIS初心者質問グループ
sakuya_izayoiさま

おはようございます、
「CloudCompare」は知らなかったソフトです!
サイトを見させていただいたのですが使いやすそうなソフトという印象があります。
早速インストールして試させていただきます。

milly...@gmail.com

unread,
Aug 21, 2019, 9:27:15 PM8/21/19
to QGIS初心者質問グループ
adachi様
おはようございます、LASToolsについて詳しく教えていただきありがとうございます!
PCにインストールしてLas2txtを早速試してみましたらxyzの数値をもったままtxt化することが出来ました。
ありがとうございます!

また、FUSIONも知らないソフトだったので、試させてもらおうと思います。
知恵をお貸しいただきありがとうございます!><
Message has been deleted

milly...@gmail.com

unread,
Aug 21, 2019, 9:50:59 PM8/21/19
to QGIS初心者質問グループ
皆様色々お知恵をお貸しいただきありがとうございます。
経過途中ですいませんが。。再度ご相談です。

LastoolsのLas2txtを使い、グラウンドのランダム点群をxyzの数値を持ったままtxt化することが出来ました。
そのデータをQGISで、デリミティッドテキストレイヤの追加にて、QGISに取り込むことが出来ました。
皆様のお力のおかげです、ありがとうございます!

その後、このランダム点群をQGISで公共測量に準じている方法(TIN法か最近隣法)でグリッド化(メッシュ化、格子化)したいのですが、
ラスタ→解析→グリッド(最近隣)ツールで合っているのでしょうか?
また、その中身の設定方法がわからなく処理がうまくいきません。。。

もしくは、プロセッシングツールの「データ補完 - TIN補間」か「SAGA - Raster creation tools - Natural nabhour」がグリッド化+DEMを作成
してくれるツールという考えでしょうか、、、?

依頼者側の要望で、ランダム点群のLASとは別に、グリッドデータのXYZtxtの納品の要望が多いので、上記のツールだとグリッドデータそのものの
出力は難しいのでしょうか?

わからないことだらけでごめんなさい><

福岡

unread,
Aug 22, 2019, 12:05:24 AM8/22/19
to QGIS初心者質問グループ
こんにちは

discordのチャットでn_aritaさんから、「las2ogr」で生成されたShapeファイルは種別が「PointZ」で、ジオメトリデータ内に高さの値を持っていることを教えて頂きました。
「PointZ」からDemの生成には、プロセッシングツールの「TIN補間」が使えるようですので、生成手順をまとめてみました。
そのまま投稿するのには量が少し多いかもしれませんので、pdfファイルにして添付いたします。

ところで、ご質問のうちグリッド化に使うツールですが、プロセッシングツールのいずれかだと思います。

wata909 様
粗忽者で申し訳ないです。完全にタイプミスです。(^0^;)アセアセ


izayoi 様
単なる印象ですが、使いやすさでは「TIN補間」、アルゴリズムが単純でわかりやすいのが「Natural nabhour」というところでしょうか?
(確か以前にExcelで手計算した値と完全に一致したのが「SAGA」だったと記憶しているので・・・)
Dem生成手順.pdf

福岡

unread,
Aug 22, 2019, 12:18:13 AM8/22/19
to QGIS初心者質問グループ
連続投稿ですみません。
DEMからテキスト形式データを得る方法が記載されているサイトがありましたので、お知らせします。

QGISでラスタデータをXYZ形式に変換する

milly...@gmail.com

unread,
Aug 22, 2019, 3:42:45 AM8/22/19
to QGIS初心者質問グループ
福岡様

キャプチャ付きのマニュアルさながらのPDFまで作っていただき本当に恐縮です><;;
PDF通りの工程を踏み、こちらのデータでもDEM化することが出来ました!

グリッド化についていろいろ試しているのですが、私がイメージしているグリッド化には現状できていません。。
黄色の点群を 次の説明のように平均化して格子状にしたいのですが。。
引き続き色々トライしてみようと思います。

8764.PNG

55.PNG



福岡

unread,
Aug 22, 2019, 4:39:45 AM8/22/19
to QGIS初心者質問グループ
こんにちは

DEMの出力が出来たということで、あともう少しかな、と思っています。
というのは、DEMは格子状のデータであり、かつその範囲を代表する標高データを持っているからです。

そこでDEMに対して「gdal2xyz」を使ってXYZの値を持つCSVファイルを作成します。
そしてCSVファイルをデリミテッドテキストファイルとして読み込めば、ご要望のとおりの表示になるはずです。

試してみた結果ですが、次のような表示になりました。こんな感じでどうでしょうか?

gdal2xyz.png


milly...@gmail.com

unread,
Aug 22, 2019, 8:59:01 PM8/22/19
to QGIS初心者質問グループ
福岡様 

おはようございます、色々教えていただきありがとうございます
見た目てきにはまさにグリッドそのものです。。。!!

「gdal2xyz」ですが、OSGeo4Wで色々式を調べ、自分なりに式を入力してもエラーが出て処理がかかりません;;
どういう式を使ったのか教えていただけると幸いです;;

福岡

unread,
Aug 22, 2019, 9:37:48 PM8/22/19
to QGIS初心者質問グループ
おはようございます。

「gdal2xyz」はプロセッシングツールにあるものを使いました(GDAL - ラスター変換 - gdal2xyz)。
使い方は、次のサイトが参考になると思います。

QGISでラスタデータをXYZ形式に変換する
Message has been deleted

福岡

unread,
Aug 23, 2019, 4:06:02 AM8/23/19
to QGIS初心者質問グループ
こんにちは

OSGeo4Wへコマンド入力して処理することも試してみましたので、使用例を投稿しておきます。

例 gdal2xyz -band 1 -csv D:/Dem.tif D:/Convert.csv
 (gdal2xyz -band 1 -csv 変換元ファイル 生成CSVファイル

milly...@gmail.com

unread,
Aug 25, 2019, 10:33:52 PM8/25/19
to QGIS初心者質問グループ
こんにちは!
先週は色々教えていただき本当にありがとうございました。
OSGeo4Wへコマンド入力でも変換することが出来ました。

恐れながら引き続き質問があるのですが、DEMからtxt化の工程で、高さがあるデータとないデータが出力されてしまいます。
というのも、恐らくなんですが、その前工程の、ランダム点群からTIN補完をする工程で、領域の指定を「レイヤの領域」をクリックしても領域指定欄になにも
表示が入らず、そのまま実行を押すと、「パラメーターの値不足エラー(領域)」と出てしまい、進めなかったので、レイヤの領域指定で下記の画像のように四角く囲み、出力をしました。
そのせいか、DEM→TXTに変換すると、DEMと点群がない場所の出力もされている?のか、CSVをExcelで確認すると、高さが-9999と出力されてしまいます。
(DEMの時点で高さがきちんとついているのは確認済です)

解決方法としてはDEM作成時にレイヤ領域にしたら回避できる?と自分では考えているのですが、なぜ領域が指定できないのかわからなく、
お知恵を貸していただければと思います、何度も一緒に考えてもらいすいません;;

milly...@gmail.com

unread,
Aug 25, 2019, 10:34:23 PM8/25/19
to QGIS初心者質問グループ

11_LI.jpg

画像添付忘れましたので追加致します

福岡

unread,
Aug 26, 2019, 2:18:14 AM8/26/19
to QGIS初心者質問グループ
こんにちは

「-9999」ですが、nodata値として避けられないものだと思います。
説明は、普通に投稿するのには分量が多いかと思いましたので、PDFファイルを添付いたします。

DEMの細かさにもよりますが、ポイント数はExcelでも扱える範囲かと想像しています。
データをクリーニング(「-9999」の削除)してあげると、成果として充分なものになるかと思います。
nodata値.pdf

milly...@gmail.com

unread,
Aug 26, 2019, 3:43:39 AM8/26/19
to QGIS初心者質問グループ
福岡様

度々わざわざ初心者でもわかりやすい説明と図解付きのPDFをありがとうございます><
おかげでDEMに対しての理解が進みました!
いままでTerraScanという点群処理ソフトでグリッドデータのtxtを出力していたのですが、
そのときにはNodata値は出力されていなかったもので、あれ?(._.)と思ってしまいました。

私が作業していたQGISでの点群でも、福岡様がキャプチャを載せて下さったものと同じく
Nodata値の透過を確認すると同じ表示を確認することが出来ました。

ただExcelで開くと、表示できない行数だったようなので、
Nodata値を削除するにはLasからの分割処理が必要なのかな?と考えました。

度々ほんとに貴重なお時間を割いてご指導くださってありがとうございます><

福岡

unread,
Aug 26, 2019, 4:29:59 AM8/26/19
to QGIS初心者質問グループ
こんにちは

Excelでも大丈夫かと予想していましたが、考えが甘かったようで申し訳ないです。

他にも良いソフトがあったり、無料のものがあったりするかもしれませんが、EmEditorを使ってみてはどうでしょうか?
フル機能を使うことができる試用期間(30日間)がありますので、お試しになるだけなら無料です。

EmEditor

地理院タイル目録を編集する際に使ったのですが、1GBを超えるCSVファイルを軽快に操作できました。
列を指定してソートすることもできましたので、今回の作業にはお勧めできるエディタだと思います。

milly...@gmail.com

unread,
Aug 26, 2019, 8:09:16 PM8/26/19
to QGIS初心者質問グループ
福岡様
おはようございます、こんなExcelに代わるような優秀そうなものがあったのですね。。!
今日さっそく試してみます。今回試して、今後もグリッドをtxt化にする必要が多そうであれば、会社に料金の件を相談しようと思います。
色々アドバイスありがとうございます><

sakuya_izayoi

unread,
Aug 27, 2019, 12:45:06 AM8/27/19
to QGIS初心者質問グループ
millyさま
こちらizayoiです。遅ればせながらQGISを用いた場合の方法をご紹介します。

添付したsample.xyzをデリミテッドテキストで、ファイルを平面直角座標系(たとえばEPSG2447)で読み込んでみて下さい。



そうすると図のような点群データとなります。

読み込んだsample.xyzのプロパティを開きます。

ソースタブをクリックした後に下記の赤枠内のクエリビルダをクリックします。

クエリとして
"field_3" NOT IN  ('-9999')
を入力します。
意味としては、「field_3に-9999が入っていない地物のみを表示しなさい」です。
(逆に field_3"  IN  ('-9999') ですと-9999のみを表示しろとなります)

その後OKをクリックしていただき、キャンパス内を見ると-9999の部分が取り除かれたデータが得られます。その後、レイヤを右クリックして、エクスポートすれば-9999が取り除かれたデータが入手できます。

QGISでもデータは2000千万行程度なら処理ができるため、こちらの機能も愛用しています。
私もEmEditor欲しいなぁとは思っているのですけどね。

sakuya_izayoi

unread,
Aug 27, 2019, 12:46:25 AM8/27/19
to QGIS初心者質問グループ
sampleファイルが添付できなかったのでsampleを投稿します。
sample.zip

福岡

unread,
Aug 27, 2019, 2:09:38 AM8/27/19
to QGIS初心者質問グループ
izayoi 様

投稿ありがとうございます。

サンプルファイルで確認しました。
クエリを維持した状態で、地物を保存すると「-9999」を除いたものとなりました。
今まで地物を選択して保存は使っていましたが、クエリを使っても良いのですね!!

と、ここまで書いて気づきましたが、属性テーブルのZ値のフィールドをソートして「-9999」以外を選択するという手もありましたね。
クエリが有効であるという知識なしで、自分がこのような業務に携わったなら、おそらくこの方法で強引にデータクリーニングしていると思います。
どうもExcelを使える程度のデータ数であろうという先入観で文章を書いていた関係で、視野が狭くなっていたようです。

ところで、QGISのみでデータ処理が可能とわかった訳ですが、EmEditorは可能なら購入なさった方が良いとは思っています。
大容量のテキスト系データを取り扱うことが見込まれているようですので、有効活用できるツールだと思います。

milly...@gmail.com

unread,
Aug 28, 2019, 2:15:55 AM8/28/19
to QGIS初心者質問グループ
zayoi様

QGISでの方法を、丁寧でわかりやすいキャプチャ付き解説でありがとうございます><
お忙しい中時間を割いて教えて下さって本当に感謝です><;;
現在急ぎの仕事が来てしまったので、こちらを片付けてからこの方法で試させていただきます!
取り急ぎお礼を言わせてください! 試しましたら再度報告致します。

milly...@gmail.com

unread,
Sep 6, 2019, 2:05:00 AM9/6/19
to QGIS初心者質問グループ
こんにちは!
急ぎの仕事が終わり、遅ればせながら本日クエリを試させていただきました!

添付して頂いたサンプルで同じように作業が出来ました!

そして、私の手持ちデータでも同じ作業をしてみましたが、DEMが細かいとQGISに負荷がかかりすぎてしまうのか、
OKを押した後から固まってしまいました。。。
そのあと同じデータでDEMをかなり荒くして試してみたらきちんとDEMの枠外の点群を消すことが出来ました!
狭い範囲や荒くていいデータではとても手軽で便利ですが、DEMが細かく点群数が多いと対処しきれないのかな。。
と思いました。その際はやはりEmEditorになるのかな。。と思った次第です。

ありがとうございました★★

sakuya_izayoi

unread,
Sep 10, 2019, 10:56:56 PM9/10/19
to QGIS初心者質問グループ
millyさま
こちらizayoiです。

そうですね。試しに2000万点の点群でやってみましたが、かなり時間がかかりますね。動作停止したみたいに見えたけど、放置しておいたら終わっていました。
あんまり範囲が広い時や点群が多くなりすぎる時はEmEditorが良いかもですね。

福岡さま
うん、買っちゃいました。結構自由に使えるといいっすね。
Reply all
Reply to author
Forward
0 new messages