Wie kann ich die Entfernung mithilfe der Striche oder Markierungen einer Vektorlinie darstellen?

14

Ich bin ein sehr grundlegender Benutzer und kenne den Jargon nicht, um zum Kern meiner Frage zu kommen, also könnte etwas Hintergrund helfen.

Ich habe mich freiwillig gemeldet, um ein Vorfallplanungssystem für meine ländliche Feuerwehr zu erstellen. Unsere Hauptanfälligkeit sind extrem lange, nicht zugeordnete Einfahrten.

Bisher habe ich erfolgreich GPS-Daten der Auffahrten über Luftaufnahmen des Stadtteils als hellgrüne Linien (eine .SHP-Schicht) mit einem Etikett übertragen, das die Länge jeder Auffahrt angibt. Es sieht gut aus und ist so wie es ist sehr nützlich.

Jetzt die Frage : Ich möchte die Fahrbahnvektorlinien als Bindestriche oder mit Markierungen auf 100 Fuß Länge zeichnen. Unsere Zuleitungsschläuche sind in Längen von 30 m erhältlich. Eine Vektorlinie, die mit Markierungen in Abständen von 30 Metern definiert ist, würde mir viel Zeit sparen und die Daten unermesslich verbessern.

Bisher habe ich "Einzelsymbol" als "Einfache Linie" mit einem benutzerdefinierten Strichmuster und die "Markierungslinie" mit der Intervallplatzierung versucht. Keine dieser Optionen behält die richtige Länge beim Zoomen oder "Skalieren" bei (wenn dies der Begriff ist).

Vielleicht ist es unmöglich? (Zumindest auf meinem Wissensstand. Ich habe mich so weit selbst beigebracht und habe nicht viel mehr Zeit zum Herumalbern :))

Bob Mitchell
quelle
4
Willkommen auf der Seite! Kurze Frage: Welche Software verwenden Sie für dieses Mapping? ArcGIS (und welche Version)? QGIS? Karteninfo? Je nachdem, was Sie verwenden, gibt es verschiedene Möglichkeiten, dies zu tun.
Om_henners
2
Wenn Sie in QGIS arbeiten, habe ich dies gerade für Sie geöffnet. Hub.qgis.org/issues/6953
Nathan W

Antworten:

8

Da QGIS auch über Simple und Marker Line verfügt, werde ich aus Sicht von QGIS antworten. Wie Stephen sagte, die Verwendung der Markierungslinien wird Ihnen nicht wirklich das Bedürfnis geben, das Sie brauchen - obwohl dies eine gute Feature-Anfrage wäre -, die ich gerade geöffnet habe .

Im Moment ist es am besten, Punkte entlang der Linie zu generieren. Wie Sie dies in QGIS tun können, habe ich in meinem Blog unter Generieren von Verkettungsknoten (Distanzknoten) in QGIS beschrieben

Zum Glück hat einer der Projektmitarbeiter meine Logik übernommen und unter https://github.com/mach0/qchainage ein Plugin daraus gemacht .

So installieren Sie das Plugin

  • Klicken Sie auf die ZIP-Schaltfläche unter https://github.com/mach0/qchainage oder folgen Sie diesem Link
  • Extrahieren Sie die Zip-Datei in {yourusername}\.qgis\python\plugins\. Sie sollten jetzt einen qchainage-masterOrdner in Ihrem Plugins-Ordner haben.
  • Öffne QGIS und aktiviere es QChainageim Plugin Manager
  • Öffne deine Linienebene
  • Wählen Sie den Menüpunkt Plugins->QChainage->Create Chainage
  • Füllen Sie die Optionen aus

    qchainage optionen

    Ich benutze hier 10 Meter. Die Entfernung wird in Karteneinheiten angegeben.

  • OK klicken

  • Profitieren...

    Ergebnis

Dadurch wird eine neue Punktebene im Speicher erstellt, wenn Sie sie speichern möchten. Klicken Sie mit der rechten Maustaste auf die neue Punktebene und wählen SieSave As...

Nathan W
quelle
Danke für die Hilfe Nathan. Nach einigen erfolglosen Versuchen, das Plugin zu installieren, habe ich den folgenden Beitrag von mach0 gelesen. :) Ich hätte meine Softwareversion mit der Frage QGIS 1.7.3-Wroclaw gegen die Coderevision 00624b3 posten sollen.
Bob Mitchell
6

Willkommen auf der Seite. Da Sie Simple Line und Marker Line erwähnen, gehe ich davon aus, dass Sie ArcMap verwenden.

Ich bin nicht sicher, ob Sie mit einer der Liniensymbolisierungsmethoden einen Abstand festlegen können, der beim Vergrößern / Verkleinern beibehalten wird.

Eine Problemumgehung kann darin bestehen, eine separate Punktebene zu erstellen und alle 100 Fuß einen Punkt zu platzieren. Anweisungen dazu finden Sie in der Hilfedatei unter Erstellen neuer Punkte entlang einer Linie . Auf diese Weise können Sie schnell die Punkte entlang einer Linie zählen, um die Dauer zu ermitteln.

Beachten Sie, dass diese Methode nicht "live" ist, sodass Sie die Punkte neu erstellen müssen, wenn sich eine der Linien ändert.

Stephen Blei
quelle
Danke Stephen, das ist es, was ich jedoch vermeiden wollte.
Bob Mitchell
@ BobMitchell Wenn Sie am Ende diesen Ansatz verwenden, können Sie ihn mit Python skripten, damit die Punkte, an denen sich die zugrunde liegenden Daten ändern, sehr einfach wiederhergestellt werden können
Stephen Lead
1

Das einzige, was ist, dass das Plugin derzeit nur im Master-Modus funktioniert, da es Funktionen verwendet, die in der aktuellen stabilen Version 1.8 nicht enthalten sind. Daher müssen Sie den bereitgestellten nächtlichen Code verwenden (wahrscheinlich parallel zu Ihrer vorhandenen stabilen Installation). Normalerweise Ich würde sagen, dass master so stabil ist wie "stable 1.8" - aber es werden viele Umstrukturierungen durchgeführt, um master auf ein 2.0-Release vorzubereiten - so dass Sie möglicherweise auf einige Probleme stoßen. Tut mir leid, aber QGIS läuft noch Fortschritt :)

Sobald es ein 2.0 gibt, wird es viele Neuigkeiten geben.

Nathan - danke für den Algorithmus und für die Weitergabe eines "nicht jetzt" veröffentlichten Plugins - ich denke, es ist Zeit, es in das offizielle Repository zu verschieben.

mach0
quelle
2
Das hättest du wirklich als Kommentar zu meiner Frage hinzufügen sollen. Lesen Sie die häufig gestellten Fragen
Nathan W am