シェープファイルの一部である線から特定の距離に平行線を作成する


11

QGIS 2.18を使用しています。複数の行を含むシェープファイルがあります。特定のデータ処理を行った後、既存の線から異なる距離に平行線を描く必要があります。たとえば、既存のシェープファイルに32行あります。ラインID番号から50、100、170、500、400の距離に平行線を描画したい。3、6、20、25、31を一度に。同じことを行うためのQGISのメソッドまたはプラグインはありますか?

回答:


6

QGISでCADのようなコマンドを提供するQADプラグインを使用できます。

投影座標系(使用する前にデータを投影する必要がある)と編集モードが有効(レイヤーを右クリックしてを選択Toggle Editing)でのみ機能します。

あなたのケースでは、オフセットボタンをクリックする必要があります:

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

QADテキストウィンドウに表示される指示に従います(AutoCADとまったく同じです)。

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

たとえば、これは2つの異なる機能に異なるオフセットを使用した場合の出力です。

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


お返事をありがとうございます。データを投影せずにこのタスクを実行する他の方法またはプラグインはありますか?
Jitendra 2017

あなたがメートル(距離50、100、170、500、400 ...)を扱っているようだったので、投影データを使用したアプローチを使用しました。投影法の変更は非常に簡単です。レイヤーを右クリックし、Save as最後に投影座標系を選択します。オフセットを実行したら、逆の操作で地理座標系に戻ることができます...正しいはずです。
mgri 2017

データを投影しないと、メートルの代わりに角度を処理する必要があり、それが簡単になるかどうかはわかりません...
mgri

QADツールは正常に動作しています。しかし、私はシェープファイルのすべての行に対して手動でタスクを繰り返す必要があります。属性テーブルまたはexelまたはCSVファイルからline_IDとラインまでの距離を読み取り、すべての平行線を同時に描く方法はありますか?
Jitendra 2017

このタスクを実行するツールはわかりませんが、PyQGISを使用してソリューションを提供しようとする場合があります...興味がありますか?
mgri 2017

6

平行線間の距離を指定する属性テーブルに列がある場合、次の方法で一度に実行できます-

処理ツールボックスのSingle sided buffers (and offset lines) for linesGDAL/OGR > [OGR] Geoprocessingにあるアルゴリズムを使用できます。オペレーションオフセット曲線として設定し、バッファ距離に距離を含む列の名前を入力する必要があります(私の場合、列の名前はwidthです)。また、Buffer sideを右または左に選択することにより、ラインのどちら側に平行線を描くかを設定できます。

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


返信ありがとうございます。私はあなたの提案に従ってOGRツールを使用していますが、新しい出力シェープファイルには何も表示されていません。
Jitendra 2017

シェイプファイルが含まれている投影システムを共有できますか?出力レイヤー属性テーブルのスクリーンショットが役立つかもしれません。
2017

シェープファイルの投影システムはEPSG 4326です
Jitendra

あなたは(私はあなたがしたいと仮定していた?)新しい行を単位度とないメートルにある50100170500 400の距離で作成されていることを理解しないので
ナッシュ

メートル単位の距離が必要だとすると、メートル単位の投影システム(たとえば、該当するゾーンのUTM投影システム)でシェープファイルを変換する必要があります。次に、アルゴリズムを実行します。
2017

6

「v.parallel」を使用できます。このツールはQGIS処理ツールボックスにあります。

  1. ラインID noのラインを選択します。3、6、20、25、31 行を選択

  2. 「v.parallel」を使用して、選択した線から平行線を作成します。ただし、異なるオフセット距離(50、100、170、500、400)を生成するには、複数回実行する必要があります。オプション「サイド」があり、平行線の位置を割り当てることができます。 「v.parallel」

  3. 結果:選択した線の左側にある平行線(青色) 結果

Cy Yに返信いただきありがとうございます。v.parallelコマンドを使用しましたが、新しい出力シェープファイルには何も表示されません。
Jitendra 2017

1
p / s: "v.parallel"コマンドは、曲線でのみ機能し、2つの頂点を持つ直線に対しては機能しません。
Cy T
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.