隣接する平行線をマージし、QGISの属性としてカウントを追加しますか?


9

飛行機の飛行軌跡を表す複数の線を含むレイヤーがあります。私の目標は、特定の空域における交通の流れを分析するためのマップを作成することです。

互いに一定の距離(たとえば、1海里)内にあるすべての平行または平行線に近いセグメントをマージしたいと思います。

新しくマージされた行には、マージされた元の行の数を含む属性が含まれている必要があります。たとえば、5本の平行線が1本にマージされる場合、新しくマージされた線のcount属性は5である必要があり、それに応じてスタイルを設定できます。

次の回路図の例を考えてみます。

入力:

ここに画像の説明を入力してください

3本の個別の線、そのうち2本には共通の平行セグメントがあります。

望ましい出力:

ここに画像の説明を入力してください

緑とオレンジの線の共通部分が1本の線(赤)に統合されました。新しい赤い線のカウント属性は2になります。

注:この例では、赤い線は元の2つの線分の平均です。残りの緑とオレンジのラインセグメントは、新しい赤いラインに正確に接続する必要はありません。つまり、結果は視覚的表現にのみ使用されるため、トポロジはそのままである必要はありません。

基本的に、私はこのようなものを作成しようとしています:

ここに画像の説明を入力してください

(ソース)

QGISでこのような結果を達成するにはどうすればよいですか?実際のデータセットは上記の例よりもはるかに大きいため、ソリューションはスケーラブルでなければなりません。

私はこのチュートリアルに出くわしましたがこれは私がやろうとしていることと非常によく似ています。ただし、QGISを使用して実行できるようにしたいと考えています。

回答:


1

まず、実際にラインをオーバーラップさせたくはありませんが、同じパスを使用しているフライトの数を属性に反映させるだけです。これは、次の手順に従って行うことができます。

行に新しい列を作成し、それを「フライト」と呼び、すべてに値1を使用していることを確認してください。一番よくない「カウント」という名前を使いました。

次に、目的の近接度でバッファー操作を実行します。分析に適していると見なす距離でプレイする必要があります(私のQGISはスペイン語ですが、理解できると確信しています)。

バッファ

次に、ソーセージのように、互いに接触している可能性が最も高いラインをバッファしました。最後のステップは、ベクターのデータ管理メニューで空間結合を実行することです。オプションintersectを次のように使用します。

加わる

合計と一緒に要約オプションを必ず追加してください。結果は、すべての属性の新しい列になり、交差している他のフライトの数が追加されます。ラインにIDがある場合は、この新しい列を元のラインに結合するか、バッファされたポリゴンをラインに戻すことができます。

余分な行を簡略化して削除することは別の問題ですが、少なくとも最初は手伝っていただければ幸いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.