QGISでラインをポリゴンに変換すると、スリバーポリゴンが生成されます


9

を使用してPyQGISでポリラインレイヤーをポリゴン化しようとしている間

processing.runandload("qgis:linestopolygons",explode_path,polygon_path)

Pythonコンソールのコマンドでは、ラインエッジに対応するポリゴンは作成されません。代わりに、カーブしたエッジに沿って小さなポリゴンを作成します。ポリゴンがラインエッジに沿って作成されないのはなぜですか?

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

ポリゴン化では、黒い線は作成されたポリゴンのエッジであると想定されます。代わりに、カーブしたエッジ(青いポリゴン)に沿って作成されるスライバーはほとんどありません。


ツールのSAGAバージョンを試しましたか?processing.runandload("saga:convertlinestopolygons",explode_path,polygon_path)
ジョセフ

@JosephはSAGAバージョンを試してみました。それでも結果は同じです。
Sjs

1
プラグインのGeometry CheckerまたはGRASSツールv.cleanを使用してラインシェープファイルをクリーニングしてみてください。
ジョセフ

2
@Josephデータはトポロジ的にクリーンです。'Polygonize'ツールを使用して、望ましい結果を得ました。コメントありがとうございます。トポロジーチェッカーのカップルについて知るようになりました:)
Sjs

いいですね、解決策を見つけてくれてうれしいです=)
ジョセフ

回答:


8

Pythonコンソールで 'Polygonize'アルゴリズム(Processing Toolbox-> QGIS Geoalgorithms-> Polygonize)を使用して、必要に応じて正確なポリゴンを取得しました。

import processing
polygon_path = "C:\\Documents and Settings\\User\\polygonsFormed.shp"
line_path = "C:\\Documents and Settings\\User\\inputLine.shp"
processing.runandload("qgis:polygonize",line_path,False,False,polygon_path)

0

Vectorメニューで利用可能な「Lines to Polygons」ツールを使用しているときに同じ問題がありました。データがトポロジ的に正しいにもかかわらず、小さな断片ポリゴンがたくさんありました。

「ポリゴン化」

処理ツールバーで利用できるQGIS地理アルゴリズムは私にとってはうまくいきました。

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