Mit QGIS Linien kurvig machen?

10

Ich habe nicht viel Erfahrung mit QGIS und arbeite an einer Karte mit Linien, die Standorte verbinden, die mit dem mmqgis-Plugin erstellt wurden. Gibt es eine einfache Möglichkeit, diese direkten Linien aus ästhetischen Gründen etwas kurvig zu machen?

Ich versuche so etwas wie die Karte unten zu erreichen, aber mit mehreren Hubs. Ich habe Vorschläge dazu mit PostGIS und anderen erweiterten Tools gelesen, daher habe ich meine Recherchen (einschließlich anderer Beiträge hier) durchgeführt und versucht, mehrere Plugins zu verwenden, und ich bitte speziell um eine einfache Lösung, weil ich dies nicht tue habe viel Erfahrung.

Beispiel

darj
quelle
Gibt es eine Möglichkeit, die Kurve während der Bearbeitung rückgängig zu machen oder einen Punkt rückgängig zu machen, an dem Sie sie versehentlich platziert haben?
3mm
Willkommen bei der GIS SE! Nehmen Sie als neuer Benutzer unbedingt an der kurzen Tour teil , um mehr über das fokussierte Q & A-Format dieser Website zu erfahren. Wenn Sie eine Frage haben, verwenden Sie bitte den Link Frage stellen , anstatt eine Antwort zu veröffentlichen.
Andy
Wenn Sie eine neue Frage haben, fragen Sie es bitte durch Klicken Frage stellen Taste. Fügen Sie einen Link zu dieser Frage hinzu, wenn dies zur Bereitstellung des Kontexts beiträgt. - Von der Überprüfung
csk

Antworten:

6

Wenn Sie mit QGIS 2.12 oder höher, würden Sie haben „ hinzufügen Kreis Zeichenfolge “ Tool in „ Digitalisieren Toolbar “. Oder Sie möchten " Spline Plugin " ausprobieren .

(LHS) Fügen Sie während des Digitalisierens ein kreisförmiges Zeichenfolgenwerkzeug hinzu . (RHS) Spline- Werkzeug während des Digitalisierens

digitalisieren

Sie können sehen, dass das Hinzufügen eines kreisförmigen Zeichenfolgenwerkzeugs (LHS) eine kreisförmige oder halbkreisförmige Linie zeichnet, während das Spline- Werkzeug (RHS) Punkte interpoliert, um Ihre Linie an die Spline-Kurve anzupassen. Unabhängig davon, was Sie auswählen, müssen Sie nur auf 3 Punkte klicken: Startpunkt, Kurvenpunkt und Endpunkt.

Und du wirst bekommen:

Ergebnis

Es gibt andere Tools wie CadTools, aber es wird spannender, wenn Sie es selbst finden.

Kazuhito
quelle
1
Vielen Dank. Ich möchte keine Linien erstellen, sondern diejenigen (nicht manuell) krümmen, die ich bereits mit mmqgis erstellt habe. Auch nicht auf der Suche nach Aufregung, nur nach etwas, um die Arbeit zu erledigen. Deshalb bin ich hierher gekommen, daher wäre jede Hilfe dankbar! :)
Darj
1
Verstanden, danke. Und tut mir leid, dass ich mich geirrt habe. Jetzt haben Sie bereits Hub Lines, die vom MMQGIS-Plugin erstellt wurden.
Kazuhito
6

Verwenden Sie den Pfeilstil anstelle des einfachen Linienstils.

Zum Beispiel diese Linien mit dem Stil "Einfache Linie":

Geben Sie hier die Bildbeschreibung ein

Sieh so aus mit dem Pfeilstil:

Geben Sie hier die Bildbeschreibung ein

Sie können die Pfeilspitzen ausschalten, indem Sie die Kopfbreite und -länge auf 0 setzen.

Wie Sie sehen können, wird die gerade Linie zu einem geraden Pfeil, während die Linien mit einem mittleren Scheitelpunkt zu gekrümmten Pfeilen werden. Die Platzierung des mittleren Scheitelpunkts bestimmt die Kurve des Pfeils.

Um Ihre geraden Linien in gekrümmte Pfeile umzuwandeln, müssen Sie jeder Linie einen mittleren Scheitelpunkt hinzufügen und diesen Scheitelpunkt dann so weit versetzen, dass ein gekrümmter Pfeil erzeugt wird.

Verwenden Sie den Geometriegenerator-Stil mit dem Geometrietyp: Linestring. Dieser Ausdruck erzeugt eine Linie mit einem Mittelpunkt von 200 Entfernungseinheiten östlich und nördlich des ursprünglichen Mittelpunkts der Linie.

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

Ändern Sie die Linie, um sie als Pfeilstil anzuzeigen. Passen Sie die Schwerpunktversatzwerte im Ausdruck des Geometriegenerators an, bis Sie mit der Form der Pfeile zufrieden sind. Wenn Sie möchten, können Sie sie proportional zur Länge der ursprünglichen Linie machen, z $length/10. Der vollständige Ausdruck wäre:

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

So sieht es aus, mit den ursprünglichen Linien in Pink und den durch Geometrie erzeugten Pfeilen in Schwarz:

Geben Sie hier die Bildbeschreibung ein

Wenn Sie mit der Platzierung des Linienmittelpunkts nicht zufrieden sind, können Sie sie manuell anpassen. Konvertieren Sie zunächst den durch Geometrie generierten Linienstil in eine tatsächliche Ebene. Kopieren Sie den Ausdruck aus dem Geometriegenerator in das geometry by expressionWerkzeug (Toolbox "Verarbeitung"). Verwenden Sie dann das Scheitelpunkt-Werkzeug (Digitalisierungssymbolleiste), um die Scheitelpunkte manuell zu verschieben.

Hinweis: Diese Antwort wurde mit QGIS 3.4 gegeben.

csk
quelle
4

Sie müssen noch ein paar Schritte machen: (Ich habe die niederländische Version, wenn es also nicht die richtige Übersetzung ist, sorry). Wie @bugmenot, aber wählen Sie dann wieder Füllen und ändern Sie es von Symbolfüllung Typ Standardfüllung zu: 'Rand / Kante ?: Pfeil. Ich habe in der letzten 'Füllung' eine Farbfüllung mit allmählicher Füllung [geleiddelijke vulling] durchgeführt. Hoffe es hat geholfen. Geben Sie hier die Bildbeschreibung ein

Willem
quelle
Vielen Dank! Ist es möglich, den Winkel der Kurve so anzupassen, dass sie flacher ist als in dem Bild, das ich gepostet habe?
Darj
Ich denke nicht, dass das möglich ist. Vielleicht mit ein paar Skripten in Python, aber das ist nicht meine Sache.
Willem