私の問題は次のとおりです。ラインシェップ(ターゲットレイヤー)とポイントシェップ(結合レイヤー)があります。2番目(ポイントレイヤー)は、ラインに最も近い距離に基づいてラインレイヤーと結合する属性を保持します。点と線は交差していません
ArcGISと空間結合(一致オプション:最も近い)でこれを行うことができますが、QGISでこれをどのように達成できるかわかりません。
私の問題は次のとおりです。ラインシェップ(ターゲットレイヤー)とポイントシェップ(結合レイヤー)があります。2番目(ポイントレイヤー)は、ラインに最も近い距離に基づいてラインレイヤーと結合する属性を保持します。点と線は交差していません
ArcGISと空間結合(一致オプション:最も近い)でこれを行うことができますが、QGISでこれをどのように達成できるかわかりません。
回答:
これには「コア」QGIS関数はないと思います。ただし、MMQGISプラグインをインストールし、「ハブ距離」ツールを使用します。ポイントを「ソースポイント」レイヤーとして選択し、ラインを「宛先ハブレイヤー」として選択し、「出力形状タイプ」を「ハブへのライン」に設定します。これにより、最も近いフィーチャを結合するラインのシェープファイル(長さ付き)が得られます。便利なことに、最も近いフィーチャのIDも属性テーブルに追加します。
編集/コメント:このアプローチは、ラインよりもポイントが少ない場合や、1対1のラインツーポイントの状況でうまく機能します。線よりもポイントが多いと事態が複雑になります。「ハブ距離」ツールは、ラインフィーチャのIDをポイント属性テーブルに「HubName」として追加し、ポイントとラインの中心間の距離を「HubDist」として追加します。ラインよりもポイントが多い場合、ポイントの各サブセット(各ラインハブにリンクされた複数のレコード)内でどれが各ラインに最も近いか、および/または希望する線に結合する属性。
これには、GRASS v.distance関数を使用できます。QGISでは、GRASSプラグインを介して機能にアクセスできます(現在処理バージョンは機能していません)。NNJoin QGISプラグインは単純に代わるかもしれません。