(このように)QGISレイヤーのすべての行を頂点で自動的に分割します。
私はグーグル検索をして、この記事を見つけました。これは非常に近いですが、ワークフローは複雑です。このツールを使用するには、同僚(GISに不慣れな人)を訓練する必要があるため、プラグインのような単純なものか、GRASSを必要としないものが必要です。前の回答の時間である 2010年から長い時間が経過しているので、同じ結果を達成するためのより良い方法があるのだろうか?
(このように)QGISレイヤーのすべての行を頂点で自動的に分割します。
私はグーグル検索をして、この記事を見つけました。これは非常に近いですが、ワークフローは複雑です。このツールを使用するには、同僚(GISに不慣れな人)を訓練する必要があるため、プラグインのような単純なものか、GRASSを必要としないものが必要です。前の回答の時間である 2010年から長い時間が経過しているので、同じ結果を達成するためのより良い方法があるのだろうか?
回答:
爆発のラインからProcessing Toolboxには、別の行にその頂点にすべての行を分割します。
メニュー処理->ツールボックス。検索フィールドに「explode」と入力して、関数を見つけます。ドロップダウンからラインレイヤーを選択して開始します。これにより、新しいレイヤーが作成されます。
ラインレイヤーから1つ以上のラインを選択すると、これらのフィーチャのみを含む分割レイヤーが生成され、残りは破棄されます。
注: QGISは高速で移動しているため、以下の情報はすべて古くなっています。
SEXTANTEツールボックスを使用した場合、Explode行がnoob-solutionになる と思います。 。残念ながら、現時点では機能していないようです。エラーメッセージのみが表示されます。
QGIS Geoalgorithms > Vector geometry tools > Explode lines
Traceback (most recent call last): File "path/.qgis//python/plugins\sextante\core\GeoAlgorithm.py", line 145, in execute self.processAlgorithm(progress) File "path/.qgis//python/plugins\sextante\algs\Explode.py", line 58, in processAlgorithm features = QGisLayers.features(layer) NameError: global name 'layer' is not defined
実用的なソリューションは、
Split Feature
「寄稿された」リポジトリからの-Pluginであり、私のために仕事をします。一般に、私は別々のプラグインよりも六分儀関数を好みます。六分儀のワークフローは非常に高速であり、中間ステップのジャンクファイルを生成しません(動作する場合)。
編集:残念ながら、多くのプラグインはまだ公式のプラグインリポジトリに移動されていませんが、デフォルトのリポジトリから削除された「貢献」プラグインリポジトリhttp://pyqgis.org/repo/contributedからのみ利用可能 です。バージョン1.8のリスト。
そこで、それらを個別にダウンロードして、.qgis / python / pluginsフォルダーに解凍するか、このアドレスをプラグインリポジトリリストに追加できます。
Plugins -> Fetch python plugins -> Tab "Repositories" -> Add ... -> enter a name and the url.
segment_list = []
for feature in feature_list:
vertices = feature.geometry().asPolyline() # returns list of vertices comprising polyline
for point in range(len(vertices)-1):
segment = QgsFeature()
segment.setGeometry(QgsGeometry.fromPolyline([vertices[point], vertices [point+1]]))
segment.setAttributes(feature.attributes())
segment_list.append(segment)