Gruppieren und Ausrichten von Symbolen im QGIS-Atlas

10

Ich erstelle mit QGIS einen Atlas von Schutzgebieten. Ich verwende Version 2.12, aber diese Frage wird wahrscheinlich auch für Version 2.14 gelten.

In diesem Atlas werden mehrere Poi-Objekte (Points of Interest) vorgestellt. Einige davon, wie das Parken, die Informationsstation und der Aussichtspunkt, werden als Symbole dargestellt. Wenn diese nahe beieinander liegen, ist es wichtig, die Symbole zu gruppieren und (auf einer Linie) nahe einem Mittelpunkt für die Poi-Objekte auszurichten. Derzeit erfolgt dies mithilfe von Desktop Publishing-Tools und sieht folgendermaßen aus:

Geben Sie hier die Bildbeschreibung ein

Ich möchte so viel wie möglich von diesem Prozess in das QGIS-Atlas-System einfließen lassen. Wir haben viele Schutzgebiete, daher ist der Gewinn der Automatisierung des Prozesses möglicherweise groß.

Wie kann das in QGIS gemacht werden?

Siehe auch Frage Verwenden von FME zum Aggregieren des POI zu einem Punkt für den Kontext.

ragnvald
quelle
2
Es ist nicht ganz sicher, ob es sich um eine Webanwendung (Online-Atlas) oder eine Atlas-Funktion (Drucken) handelt, aber warum nicht die Poi-Point-Funktionen selbst auf geeignete Weise ausrichten? Ich würde zwei Feature-Classes verwenden, eine mit den realen Positionen und eine für die grafischen Darstellungen im Atlas, wahrscheinlich verbunden mit der ersten.
Jochen Schwarze
Gibt an, dass es sich um QGIS handelt.
Ragnvald
Meines Wissens gibt es keinen Ausweg, um Punktsymbole aneinander auszurichten. Ich bin froh, falsch zu liegen. Das letzte Mal, als ich das Problem hatte, wurde es in einem Desktop-Publishing-Tool wie Illustrator behandelt.
Jakob

Antworten:

10

Mit einigen ausdrucksbasierten SVG-Symbolen können Sie Folgendes erreichen.

Geben Sie hier die Bildbeschreibung ein

Grundsätzlich hätten Sie mehrere Attribute, die das Symbol Nr. 1, Nr. 2 usw. bestimmen.

Geben Sie hier die Bildbeschreibung ein

Soweit ich weiß, ist es derzeit jedoch nicht möglich, die SVG-Position von der entsprechenden Etikettenposition abhängig zu machen. Sie sollten also vermeiden, Beschriftungen in der unteren rechten Ecke zu platzieren. Eine Einstellung hierfür finden Sie in 2.14.

Verwenden Sie Offsets, um die Symbole an die richtige Position zu verschieben. Das Symbol wird basierend auf dem Attributwert definiert:

Geben Sie hier die Bildbeschreibung ein

Unterdunkel
quelle
Da nicht immer alle Symbole verwendet werden, kann es zu Lücken in der Symbolaufstellung kommen, oder?
Ragnvald
1
Nein, das ist bei diesem Ansatz kein Problem. Ich habe einen Screenshot der Attributtabelle hinzugefügt, um dies zu verdeutlichen.
Underdark
Ich dachte daran, vielleicht ein FTL-Tool wie FME zu verwenden, um die POI-Cluster gemäß einem Entfernungspuffer vorzubereiten. Indem ich ein aggregiertes Feld / eine Liste der Poi in einem Cluster behalte, könnte ich diese Liste verwenden, um relevante Symbole mithilfe von Imagemagick zusammenzufügen, die sie mit einer POI-Produktionstabelle verknüpfen. Eine andere Möglichkeit besteht darin, alle möglichen Mermutationen von Symbolen (bis zu 6 Symbolbreiten) zu generieren und dann mit einem Schlüssel die relevanten als PNGs oder SVG-Marker aufzurufen. Eine Kombination Ihrer Lösung und der richtigen Datenaufbereitung ist wahrscheinlich am besten. Ihre Antwort ist in Führung ;-)
Ragnvald
Eine Filterung basierend auf einem Attribut mithilfe von "Platzhaltern" anstelle eines Attributs pro Symbol könnte besser sein. Ist es möglich?
Ragnvald
Wahrscheinlich aber scheint wesentlich schwieriger.
Underdark