これは素晴らしい質問です。最近似たようなことをしなければなりませんでしたが、データセットがはるかに小さいので、視覚的な品質チェックを追加した単純な共通部分を使用することができました。
しかし、ここにはそのためのアイデアがありますが、私にはコードはありません。それは一種の多額のプロセスです。最初に完全なデータセットのサンプルで確実にテストします。おそらく、この辺りにいくつかの便利なコードがあります。(インデントは以下で少し奇妙になりました。):
適切なジオメトリセット(属性を最終的に取得する場所)を取得し、そのバッファを作成します*
各バッファー機能を反復処理します。
2a。フィーチャの一般的な方向を計算します(max_y-min_y / max_x-min_xまたはそのようなもの)
2b。この単一の機能を使用して、他のレイヤーで場所による選択クエリを作成します
場所による選択クエリに一致する複数の機能があるため、これらの選択した機能を反復処理し、それぞれの方向を計算します
バッファフィーチャの方向に最も近い方向を持つフィーチャから属性を取得します。
*非常に短い距離(1つのマップユニットまたは何か)から開始し、距離を増やしながらこのプロセスを実行します。既に転送した属性を上書きしないように注意します。
**実際には、バッファ機能の作成を実際に忘れて、バッファ距離を指定した場所による選択クエリを実行するだけです。私はQGISにあまり精通していませんが、あなたはそれができると確信しています。
これがすべての機能に対して完全に機能する方法はありませんが、それは出発点であり、転送をチェックして完了するための優れたQA / QC戦略を開発することになります。
編集これについてさらに考えると、非常に短いバッファ距離から始めて、私が推奨するように最適な向きの機能を選択した場合、システムを完全に破壊する基本的な例を次に示します。
間違った赤い線から属性が取得されます。これを回避するには、何らかの許容値を作成し、その方向(元の青いフィーチャの方向と比較した場合)がその許容範囲内にある場合にのみフィーチャの属性を取得します。
EDIT 2エラー、これらのポリゴンはありますか?私はそれらが灰色の背景の線であると仮定したと思います。それらがポリゴンである場合、この方向の概念が良いものかどうかはわかりません。ただし、交差するすべてのフィーチャを選択し、最も重複しているフィーチャを特定することができます(Unionタイプのツールを実行してから、面積が最大のポリゴンを使用します...)。