「n」線オブジェクト(「道路」)と交差するポリゴン(「木」と呼びましょう)のレイヤーがあります。すべての道路には一意の属性roadidがあります。
後の使用のために交差するwoods-polygons-layerにすべてのロードID(最初のQGisだけでなく)を追加する必要があります。好ましくは、すべてのロードIDは、たとえば「、」で割った「森」の1つの新しい属性列にある必要があります。
すべての木に道路が1つしかない場合は、「位置による属性の結合」ツールを使用して、ポリゴンの道路IDを取得できます。必要な属性は一意の文字列であるため、フィールドを合計/平均/最小/最大化するのに役立ちません。また、「、」で区切られた文字列としてそれらを結合するオプションはありません。
編集:プラグインや外部プログラムの助けがなければ解決策はありません(以下のMatthias Kuhnのコメントを参照)。
(QGIS 2.10.1-Pisa)
プロセスの最後に必要なものを明確にしてください。複数の分離された値または1つの値のみを含むフィールド?そして、単一の値が必要な場合、複数の一致があるときにどの値を保持する必要がありますか?(例:最長の道路を維持し、道路が重なるほど、IDが最小になるなど)
—
MarHoff
すべての値が必要です、質問を更新しました-ヒントをありがとう
—
Papierwolf 2016
これは通常、PostGIS内でLEFT OUTER JOINを使用して実行する種類のタスクです...もし偶然PostGisを使用した場合、簡単に回答できますが、QGISのみを使用すると、さらに多くの手順が必要になる場合があります。
—
MarHoff 2016
これは(まだ)QGISでは不可能です。一般に、これは「集約関数」という用語の下で説明されており、将来のリリースではそう遠くないと思われることと思います。一方、私はデータベース(たとえば、postgres)ソリューションを使用することをお勧めします。または、現在気付いていない処理のツールがあるかもしれません。
—
Matthias Kuhn
ポリゴンレイヤーとポリラインレイヤーを交差させることができます。これにより、交差するポリゴンとポリラインのIDを取得できます。Pythonスクリプト/プラグインを作成してポリラインIDをポリゴンIDに収集することもできますが、リレーショナルの観点からは、これは最良の解決策ではありません。
—
Zoltan、