QGISを使用して線を曲線にしますか?


10

私はQGISの経験があまりなく、mmqgisプラグインで作成された場所を結ぶ線で地図を作成しています。美的な目的のために、これらの直接線を少し曲線的にする簡単な方法はありますか?

以下のマップのようなものを達成しようとしていますが、いくつかのハブがあります。私はPostGISやその他の高度なツールを使用してこれを行う方法の提案を読んだので、私の研究(ここの他の投稿を含む)を行い、いくつかのプラグインを使用してみました。多くの経験があります。

例


編集中にカーブを元に戻す方法、または誤って配置したポイントを元に戻す方法はありますか?
3ミリメートル

GIS SEへようこそ!新規ユーザーとして、このサイトに焦点を当てたQ&A形式について学ぶために、ショートツアーに参加してください。質問がある場合は、回答を投稿するのではなく、[ 質問する]リンクを使用してください。
アンディ

新しい質問がある場合は、[ 質問する ]ボタンをクリックして質問してください。コンテキストの提供に役立つ場合は、この質問へのリンクを含めます。- レビューから
csk

回答:


6

QGIS 2.12以降を使用している場合は、「デジタイジングツールバー」に「円形文字列を追加」ツールがあります。または、「スプラインプラグイン」を試すこともできます。

(LHS) ディジタイズ中に円形の文字列ツールを追加(RHS) ディジタイズ中にスプラインツール

デジタル化

円形ストリングの追加ツール(LHS)が円形または半円形の線を描くのを確認できます。一方、スプラインツール(RHS)は点を補間して線をスプライン曲線にフィットさせます。どちらを選択しても、開始点、曲線点、終了点の3つの点をクリックするだけです。

そしてあなたは得るでしょう:

結果

CadToolsなどの他のツールもありますが、自分で見つけた場合はさらにエキサイティングになります。


1
ありがとう。私は線を作成するのではなく、mmqgisで既に作成した線を(手動ではなく)曲線を描くようにしています。また、興奮を求めるのではなく、仕事を成し遂げるための何かのためだけに。私がここに来たのはそのためです。:)
darj 2016年

1
了解しました。ありがとうございます。そして、ごめんなさい。これで、MMQGISプラグインによってハブラインが既に作成されていることを理解しました。
Kazuhito

6

シンプルラインスタイルの代わりに矢印スタイルを使用します。

たとえば、シンプルラインスタイルのこれらのライン:

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

矢印スタイルでこのように見えます:

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

ヘッドの幅と長さを0に設定すると、矢印の頭をオフにできます。

ご覧のとおり、直線は直線の矢印になり、中央の頂点を持つ線は曲線の矢印になります。中央の頂点の配置によって、矢印の曲線が決まります。

直線を曲線矢印に変換するには、すべての線に中央の頂点を追加し、その頂点を十分にオフセットして曲線矢印を生成する必要があります。

GeometryタイプがLinestringのGeometry Generatorスタイルを使用します。この式は、線の元の中点の東と北に200距離単位の中点を持つ線を作成します。

  make_line( start_point( $geometry), translate( centroid( $geometry), 200,200), end_point($geometry))

線を変更して、矢印スタイルとして表示します。矢印の形状に満足するまで、ジオメトリジェネレータ式の図心オフセット値を調整します。必要に応じて、元の行の長さに比例させることができます(例:)$length/10。完全な式は次のようになります。

make_line( start_point( $geometry), translate( centroid( $geometry), $length/10, $length/10), end_point($geometry))

元の線がピンクで、ジオメトリによって生成された矢印が黒で、次のようになります。

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

ラインの中点配置に満足できない場合は、手動で調整できます。まず、ジオメトリによって生成された線のスタイルを実際のレイヤーに変換します。ジオメトリジェネレーターからgeometry by expressionツール(処理ツールボックス)に式をコピーします。次に、頂点ツール(デジタル化ツールバー)を使用して、頂点を手動で移動します。

注:この回答はQGIS 3.4で作成されました。


4

さらにいくつかの手順を実行する必要があります(私はオランダ語版を持っているので、適切な翻訳でない場合は、申し訳ありません)。@bugmenotの場合と同様ですが、もう一度[ 塗りつぶし]を選択し、それを[シンボルレイヤータイプの標準の塗りつぶし]から: 'Rand / Edge?:Arrowに変更します。私は最後の「塗りつぶし」で色効果の段階的な塗りつぶし [geleiddelijke vulling]を実行しました。お役に立てば幸いです。 ここに画像の説明を入力してください


ありがとう!カーブの角度を調整して、投稿した画像のようにフラットになるようにすることはできますか?
darj

私はそれが可能だとは思いません。たぶん、Pythonでのスクリプティングがいくつかありますが、それは私のコップではありません。
ウィレム
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.