座標をもつポイントを高さ情報を持ったラインに変換したい

584 views
Skip to first unread message

Pon

unread,
Jul 5, 2023, 10:56:51 PM7/5/23
to QGIS初心者質問グループ
いつもたびたびお世話になっております。
GNSS受信機で計測した緯度・経度・高さに対し、QGIS上に反映し、
プロセシングツールより「ポイントをつないで線に」の機能でライン変換は
できました。
しかしながら、ライン変換するとXYZの情報が失われるようで、ラインをkml等に
エクスポートし、GoogleEarthで見ると、地面上にラインがへばりつくようになってしまいます。
どうにか位置情報を失わずに、線分等に変換する術はないのでしょうか?

QGISはver3.12.2を使用しています。
キャプチャ5.JPG

ありた

unread,
Jul 6, 2023, 7:28:07 AM7/6/23
to QGIS初心者質問グループ
こんにちは

データの添付がないため憶測になりますが、読み込んだデータは高度情報をもたない
XY の点データであり、それを線に繋いだため XY の線データが得られたと思われます。

属性情報の HEIGHT は、家賃だとか営業時間だとか地権者名だとかと同様に
人にとっては意味があるけど、 GIS データとしてはただの付随している情報であり、
高度と認識されているわけではありません。

XY データに Z 情報を与え、 XYZ データにするには「Z 値の設定」で可能です。
固定値用の入力フィールドの右側にあるボタンから設定する属性値を選択可能です。
そののち、点から線に変換してみてください。

Pon

unread,
Jul 6, 2023, 7:49:25 AM7/6/23
to QGIS初心者質問グループ
ありたさま

ご回答ありがとうございます。
z値の設定は実施済でして、QGIS上ではポイントデータとしてXYZ座標をもっているのですが、
ラインに変換すると画像で言うところの上の属性テーブルのようになってしまい、始点と終点の情報のみしか残りません。
そのためなのか、このラインをkml変換しても空中に表示されないようです。

2023年7月6日木曜日 20:28:07 UTC+9 ありた:

ありた

unread,
Jul 6, 2023, 8:27:11 AM7/6/23
to QGIS初心者質問グループ
こんにちは

それはおかしいですね。どの時点まで意図通りに進んでいるか確認してください。



点データおよび結線した線データのレイヤプロパティを開いて、情報タブより
ジオメトリが PointZ あるいは LinsStringZ になっているか確認してください。

レイヤの地物情報をコピーしエクセル等に貼り付けた際に座標値情報が
(設定にもよりますが)WKT 形式で付随しますが、 Z 情報はついているでしょうか。
また形式は XYZ であっても、高度 0.0 など固定値になってはいないでしょうか。

レイヤを KML にエクスポートする際、ジオメトリは自動設定になっているかと
思いますが、明示的に形式を指定し、 Z 座標を含める設定にしてみてください。

KML にエクスポートしたあと、再度 QGIS に読み込むと、 Z 情報はちゃんと
含まれているでしょうか。

Pon K

unread,
Jul 6, 2023, 11:03:58 AM7/6/23
to QGIS初心者質問グループ
ありたさま

ご回答の内容確認してみました。

①点データおよび結線した線データのレイヤプロパティを開いて、情報タブより
ジオメトリが PointZ あるいは LinsStringZ になっているか確認してください。
→上記いずれもポイントはPointZ 、ラインはLinsStringZになっています。

レイヤの地物情報をコピーしエクセル等に貼り付けた際に座標値情報が
(設定にもよりますが)WKT 形式で付随しますが、 Z 情報はついているでしょうか。
また形式は XYZ であっても、高度 0.0 など固定値になってはいないでしょうか。
→ちょっとこれはやり方がわかりませんでした。属性テーブルの情報をエクセルにコピペですか?

レイヤを KML にエクスポートする際、ジオメトリは自動設定になっているかと
思いますが、明示的に形式を指定し、 Z 座標を含める設定にしてみてください。
→やってみましたが、やはりラインにした段階で始点終点以外の属性がなくなっているため、高さ情報がありません。

KML にエクスポートしたあと、再度 QGIS に読み込むと、 Z 情報はちゃんと
含まれているでしょうか。
→残念ながら出来ません。
キャプチャ3.JPG

2023年7月6日木曜日 21:27:11 UTC+9 ありた:

ありた

unread,
Jul 7, 2023, 7:43:55 AM7/7/23
to QGIS初心者質問グループ
地物情報のコピーは、 QGIS 上で地物選択ボタン(黄色い四角のアイコン)を使用して、
地物の選択を行い、選択状態のときに Ctrl+C を押すことでコピーできます。
それをエクセルやテキストエディタ等に貼り付けてください。

地物選択は、小三角ボタンよりポリゴン指定による範囲選択や、反転ボタンによる
(何も選択されていない状態から)全選択することもできます。
また、属性テーブルを開き、 Ctrl+A を押して全選択も可能です。

デフォルトの設定状態であれば wkt_geom という列でジオメトリ情報(座標値)が
含まれているはずですので、 Z 座標の値を確認することができます。



改めてになりますが LATITUDE / LONGITUDE / HEIGHT などは、そういう名前で付与された
属性情報であって、 GIS データとして採用された位置情報ではありません。
(仮に、属性情報を編集してもマップキャンバス上で位置は変化しない)

また属性情報は、地物ひとつにつき、一連のデータ(1行)で対応するものですので、
複数の点を結線し、ひとつのラインデータを作成した時点で、属性情報として
点ではなく、線としての情報しか扱えなくなります。このため、各頂点の
LATITUDE / LONGITUDE / HEIGHT などの情報は保持することはできません。

ただし当然ですが、結線した結果のラインとしてのジオメトリ情報(位置情報/形状情報)は
構成する各頂点の座標値の集合として保持されています。

スクリーンショット 2023-07-07 20.36.46.png

Pon K

unread,
Jul 7, 2023, 8:55:46 PM7/7/23
to QGIS初心者質問グループ
ありたさま

解説ありがとうございました。
エクセル上で確認したところ、Z座標も正常に記載されていました。
そしてどうやらGoogleEarth上の高度設定が地面に固定になっていたようで、設定を変更したら通常通り
高さ情報をもったラインが生成されました。
ありがとうございました。
キャプチャ3.JPG

2023年7月7日金曜日 20:43:55 UTC+9 ありた:
Reply all
Reply to author
Forward
0 new messages