Gibt es in QGIS eine Möglichkeit, parallele Linien zu zeichnen, die am äußeren Teil der Linie (angrenzende Linien) einrasten und von der Skalierung unabhängig sind?

12

Ich muss eine Karte eines öffentlichen Busverkehrsnetzes zeichnen und habe ein Problem in den Alleen, an denen viele Linien vorbeifahren. Mein Ziel ist es, eine visuelle Karte zu erstellen, bei der die Linien in diesen Alleen parallel zueinander und ohne Zwischenraum sind, um sie alle gleichzeitig zu sehen, unabhängig vom Maßstab.

Ich habe versucht, Optionen zu fangen und parallel zu zeichnen (CAD-Werkzeuge), aber das Problem ist, dass sich der Abstand zwischen den Linien ändert, wenn ich den Maßstab ändere und sie kollidieren oder sich voneinander trennen, wodurch alles durcheinander gebracht wird.

Meine Frage lautet also:

  • Gibt es eine Möglichkeit, benachbarte Linien zu zeichnen, die unabhängig vom Maßstab der Visualisierung benachbart bleiben?

Hinweis: Ich weiß nicht, ob benachbart für das verwendet wird, was ich meine. Deshalb kopiere ich hier ein Beispiel für das, wonach ich suche: Zielsetzung


Das passiert, wenn ich zoome:

Hineinzoomen

Und wenn ich verkleinere:

Rauszoomen

EDIT: Hier teile ich eine Situation, warum die vorgeschlagene Lösung für mich nicht funktionieren würde. Drei Linien teilen sich eine Weile die gleiche Straße, teilen sich dann aber in drei verschiedene Straßen.

Teilt

Ich kann keine einzelne Linie mit mehreren Symbolen verwenden, da sich die Linien im gesamten Netzwerk teilen und wieder verbinden (es gibt mehr als 15 Buslinien).

Die in den Attributdaten enthaltenen Daten helfen mir nicht, da es sich nur um eine Schicht voller Zeilen handelt, die nur einige Netzwerkinformationen enthält (Anzahl der Busse / Stunde, Passagier / Stunde usw.). (QGIS 2.8.6 funktioniert unter Windows 7)

Andreu Amoros
quelle
1
In QGIS 2.16 wurden neue Optionen zur Vereinfachung des Renderns eingeführt. Obwohl ich nicht bestätigen kann, ob dies in Ihrer Situation helfen wird.
Joseph
Wenn Sie dies in ArcGIS for Desktop tun möchten, müssen Sie eine Referenzskala für den Datenrahmen festlegen .
PolyGeo
Hallo @PolyGeo, das Problem mit dieser Lösung (die in QGIS implementiert werden kann und die Einheiten in "Karteneinheit" ändert) ist, dass ich die Linien brauche, um ihre Breite abhängig vom Maßstab zu ändern, aber nicht die Beziehung zwischen ihnen. Ich weiß, was ich brauche, ist etwas sehr Spezifisches und schwer zu implementierendes. Für Illustrator besser geeignet als für eine GIS-Software. Danke fürs Helfen!
Andreu Amoros
Liegen alle Linien-Shapefiles übereinander oder gibt es schon einen Versatz dazwischen?
Joseph
In einigen Fällen liegen sie übereinander und in anderen Fällen nicht. Was schlägst du vor?
Andreu Amoros

Antworten:

6

Sie sind sich nicht sicher, ob Sie das wirklich wollen, aber Sie können eine einzelne Linie mit einer anderen Symbolisierung verwenden, um das Erscheinungsbild von zwei parallelen Linien zu erzeugen.

Beginnend mit einer 1,1 km langen Linie in CRS 3857 (metrisch, Pseudo-Mercator gemäß Google und anderen Webdiensten):

Bildbeschreibung hier eingeben

Fügen Sie in den Eigenschaften eine weitere Symbolebene hinzu (so dass Sie zwei Linien sehen).

Bildbeschreibung hier eingeben

Stellen Sie die Breite jeder Linie in Karteneinheiten ein - in diesem Fall sind die Einheiten Meter, und ich habe eine Breite von 50 Metern ausgewählt und den Versatz jeder Linie auf die Hälfte ihrer Breite festgelegt, wobei eine von ihnen gleich, aber negativ ist Offset:

Bildbeschreibung hier eingeben

So sehen Sie aus, nach dem Sie suchen:

Bildbeschreibung hier eingeben

... und es bleibt in verschiedenen Maßstäben bestehen:

Bildbeschreibung hier eingeben

Simbamangu
quelle
2
Ich habe darüber nachgedacht, aber es wäre schwierig, mit Trennlinien umzugehen.
Victor
@Victor über die Trennung: Sie können verschiedene Attribute wie "einzelne Linie", "doppelte Linie" mit dem Wert "Wahr / Falsch" erstellen und regelbasierte Beschriftung verwenden.
sweet.sugar.cola
1
@ Victor stimmte zu, müssen mehr Informationen von OP über die Art der Daten erhalten; Diese Lösung funktioniert möglicherweise nicht, je nachdem, wie Leitungen verbunden und getrennt werden.
Simbamangu
1
@Andreu, vielleicht können Sie in Ihrem ursprünglichen Beitrag auf "Bearbeiten" klicken und diese Informationen (und ein Beispiel dafür, wo diese Lösung nicht funktioniert ) und (noch besser) einige Beispieldaten hinzufügen ?
Simbamangu
@ Simbamangu Zunächst einmal vielen Dank, dass Sie eine Lösung ausprobiert und mit mir geteilt haben. Selbst wenn diese Lösung, wie Victor sagte, in einigen Fällen funktionieren könnte, wäre es schwierig, sie zu verwenden, wenn die Leitungen von den anderen getrennt sind. Tatsächlich passiert das jedes Mal, wenn sich die Linien in verschiedene Straßen aufteilen. Die Daten funktionieren so: Ich habe alle Linien des Bus-Netzwerks in verschiedenen Shapefiles. Das "Problem" ist, dass alle von ihnen realistisch gezeichnet sind. Wenn ich also mehr als eine zur Zeit auswähle, kollidieren sie. Mein Ziel ist es daher, eine Karte zu erstellen, auf der Sie das gesamte Netzwerk visuell sehen können. Ich werde meinen Beitrag bearbeiten.
Andreu Amoros
3

Wenn mit "Fangoption" gemeint ist, dass Sie die Geometrie der Polylinien nicht ändern können und Sie nur deren Symbologie ändern können, ist das, was Sie beschrieben haben, fast unmöglich.

Aus Ihren Beispielen scheinen Sie Polylinien so zu rendern, dass sich die parallelen Abschnitte ohne Überlappung berühren, z. B. indem die Grenze zwischen den beiden parallelen Linien ihren Abstand gleichmäßig aufteilt. Wenn wir die Polyliniendarstellungen als ihre Puffer betrachten , können Sie Fälle finden (ähnlich wie in Abb. 4), in denen dieselbe Linie an verschiedenen Stellen unterschiedliche "Puffer" -Breiten haben sollte (diktiert durch die nächsten Nachbarlinien). Mit anderen Worten, Ihre Pufferbreite hängt von anderen Polylinien ab und kann in verschiedenen Segmenten der Polylinien variieren. Bei der Symbolisierung werden jedoch normalerweise nur Informationen / Attribute des Features selbst verwendet.

Natürlich können Sie immer einen festen Radius "Puffer" um die Linien verwenden und die Scheitelpunkte manuell bearbeiten (oder die Puffer bearbeiten), sodass die Grenzen aneinander ausgerichtet werden. Dann würden die Puffer beim Vergrößern / Verkleinern "eingerastet" bleiben, obwohl dies viel Handarbeit bedeutet und eine Anpassung erforderlich sein kann, wenn neue Zeilen hinzugefügt werden.

Tinlyx
quelle
Danke für die Antwort. Ich kann die Geometrie der Polylinien ändern, aber da sich viele Linien und viele verschiedene Kombinationen kreuzen, wird es sehr zeitaufwendig und mühsam. Ich habe die Pufferlösung ausprobiert, aber es ist noch schwieriger, als nur die Linienform zu bearbeiten, da in allen Segmenten aller Linien eine abhängige Visualisierung definiert werden muss.
Andreu Amoros
1
@AndreuAmoros. Genau das habe ich vorgeschlagen. Das Bearbeiten der Zeilen (oder der zugehörigen "Puffer") ist in der Tat zeitaufwändig, aber aufgrund Ihrer Anforderungen ist es erforderlich, dass diese Puffer aneinander ausgerichtet sind.
Tinlyx