【再掲載】このようなことはできますか?

268 views
Skip to first unread message

かずたか

unread,
Jan 6, 2021, 8:50:40 PM1/6/21
to QGIS初心者質問グループ
昨日、質問させていただいた内容を、イメージ画像を作成して再度みなさんにご意見を頂きたいです。

道路レイヤー(ベクタライン)と地点レイヤー(ベクタポイント)のデータがあり、各地点を起点とし起点から離れる方向に、道路レイヤーに起点から何回曲がり角を曲がった道なのか、その曲がり角を通過した回数を格納したいです。最終的には、図の1番右のようにできればと考えています。

最終的な形まで一気に行う方法は困難だと思うので、図の中央の「地点1から各経路の最短曲がり角通過回数」のようなことができれば、全ての地点で行えば済む話になるので、図の中央のように処置する方法を何かアドバイス頂ければと思います。わかりづらいかもしれませんが、よろしくお願い致します。


mooya

unread,
Jan 6, 2021, 10:29:07 PM1/6/21
to QGIS初心者質問グループ
かすたか様

 添付ファイルが、読めないのですが、かずたか様や他の方は、読めているのでしょうか?


2021年1月7日木曜日 10:50:40 UTC+9 かずたか:

かずたか

unread,
Jan 7, 2021, 12:39:11 AM1/7/21
to QGIS初心者質問グループ
mooya様

私の方でも、添付ファイルが読み込めていない状態です。投稿する際は読み込んだ状態で投稿したのですが、現在は読み込めないです。

他の投稿者の方も現在添付ファイルが読み込めない状況があるみたいです。

以前、このグループに質問させていただいた時は、添付ファイルを挿入するためのボタンがあったのですが、現在はない状態で添付ファイルをそのままコピペ で貼り付けました。

2021年1月7日木曜日 12:29:07 UTC+9 mooya:

伊藤敏

unread,
Jan 7, 2021, 9:09:22 PM1/7/21
to QGIS初心者質問グループ
届いたgmailには貼り付け画像があり読めますね

2021年1月7日木曜日 14:39:11 UTC+9 かずたか:

かずたか

unread,
Jan 8, 2021, 12:00:14 AM1/8/21
to QGIS初心者質問グループ
mooya様、伊藤敏様

再度、添付ファイルを記載します。お手数ですが、目を通していただけるとありがたいです。意見参考用画像.png

2021年1月8日金曜日 11:09:22 UTC+9 伊藤敏:

mooya

unread,
Jan 8, 2021, 9:34:09 AM1/8/21
to QGIS初心者質問グループ
かずたか様
 少々、怪しいとこはありますが、こんな感じでしょうか。

曲角の数.png


これは、下記の手順を踏んでいます。
 1。道路の各フィーチャの中間点を作成(ジオメトリに沿った点群でオフセットを長砂の半分に、間隔は適当に大きい値)
 2。起点から道路中間点への最短経路を作成(最短経路(指定始点から終点レイヤ))
 3。最短経路の頂点を抽出
 4。頂点にXY座標付加
 5。頂点を表計算に書き出し、各経路、頂点番号の順でソート
 6。表計算で、各経路別に、連続する3点を角度を調べて、曲がり角を判定
   ここで、135°以下を曲がり角にしました。
 7。各経路別に曲がり角の数を集計
 8。道路のラインフィーチャに属性として曲がり角を付加

 データは、下記のサンプルを使わせていただきました。



2021年1月8日金曜日 14:00:14 UTC+9 かずたか:

かずたか

unread,
Jan 8, 2021, 8:20:29 PM1/8/21
to QGIS初心者質問グループ
mooya様

貴重なご提案、大変感謝します。おかげで、光が見えてきました。
現在提案していただいた方法を4番目まで行うことができました。
そこで、提案の5番目からの方法を申し訳ないのですが、スクショなど簡易的なもので構わないので
補足説明(判定方法の詳細、集計方法の詳細など)していただけないでしょうか?

加えて、5番目の方法についてお伺いしたいことがあります。
表計算に書き出すということは、エクセルといったQGISではない別の表計算ソフトに使えるように書き出すということでしょうか?
それとも、XYフィールドを追加したレイヤーの属性テーブルを開く(≒見る)ということでしょうか?
もし、後者なら現在5番目まで行うことができています。

お時間ある時で構わないので、ご回答いただけると幸いです。よろしくお願い致します。


2021年1月8日金曜日 23:34:09 UTC+9 mooya:

ありた

unread,
Jan 8, 2021, 10:40:52 PM1/8/21
to QGIS初心者質問グループ
こんにちは

意図する目的と合致しているかわかりませんが、下記のようなアルゴリズムも
あるかと思います。
1. 対象点の最近傍のラインに「0回」という情報を追加する
2. 「0回」のラインと交差するラインに対し「1回」という情報を付加する。
 (ただし、既に回数情報があるデータを除く)
3. 「1回」のラインと交差するラインに対し「2回」という情報を付加する。
 (ただし、既に回数情報があるデータを除く)
4. 以下、これ以上交差できるラインがなくなるまで繰り返す
5. ステップ1〜4を別の対象点でも行う
6. ステップ5の内容を集計し、平均を計算する

個々の機能は QGIS にありますが、繰り返し処理なども入るため、 QGIS で
処理させるのに向いているかは微妙なところだと思います。
特に手作業でいける規模以上だときびしいです。

もし Python 等を扱えるのでしたら、そちらのほうが向いていると思います。

かずたか

unread,
Jan 9, 2021, 4:02:55 AM1/9/21
to QGIS初心者質問グループ
ありた様

ご提案いただきありがとうございます。

一手法の提案としては嬉しい限りなのですが、提案された手法は私の意図する結果と合致しない可能性が高いです。

理由としては一度も曲がらずに通過する経路に対しても、曲がった回数が付加されるためです。

折角お時間いただき考え提案していただいたのですが、申し訳ありません。

2021年1月9日土曜日 12:40:52 UTC+9 ありた:

mooya

unread,
Jan 9, 2021, 7:58:52 AM1/9/21
to QGIS初心者質問グループ
かずたか様

 表計算を添付します。libre office で作ったodsと、エクセルのxlsxで保存し直したものです。
 xlsxが動くかは未確認です。



2021年1月9日土曜日 18:02:55 UTC+9 かずたか:
曲がり角の抽出s.ods
曲がり角の抽出s.xlsx

かずたか

unread,
Jan 10, 2021, 6:19:36 AM1/10/21
to QGIS初心者質問グループ
mooya様

ご返答ありがとうございます。わかりやすい補足説明で非常に助かります。提供していただいたデータをもとに、頑張りたいと思います。

加えて、今回の質問事項とはそれほど関係のない質問なのですが、mooya様が今回ご提供いただいた知識や発想はどのようなところから得られたのでしょうか?
正直なところ今回のものに関して「自分では実現するのは難しいな、もし掲示板に聞いてみて実現できそうな方法があればやってみよう。それで無理なら他の道を考えよう」という心づもりだったのですが、mooya様からご提案していただいた内容に正直驚嘆しました。私自身QGISを研究で使い始めて約半年ほどで、使い慣れてきましたがまだまだ初学者レベルです。
もしよろしかったら、ご回答いただければ今後の励みになります。よろしくお願い致します。

2021年1月9日土曜日 21:58:52 UTC+9 mooya:

ありた

unread,
Jan 10, 2021, 8:37:40 AM1/10/21
to QGIS初心者質問グループ
かずたかさん、こんにちは

すみません。各地点からすべての道路ラインに対し、移動するときの
最短曲がり回数と勘違いしておりましたが、 mooya さんの方法で
解決に進んでいるようでよかったです。
Reply all
Reply to author
Forward
0 new messages