Gibt es in QGIS eine Möglichkeit, zu verhindern, dass sich Textbeschriftungen mit Symbolen überschneiden, mit denen eine Punktebene beschriftet wird?
In der folgenden Beispielkarte gibt es zwei Ebenen:
- Straßenschicht, die mit der neuen Etikettiermaschine beschriftet wird.
- Eine Punktebene, die mit Hilfe von SVG-Symbolen Autobahnschilde anzeigt.
Ich habe andere Anwendungsfälle dafür, wie zum Beispiel das Verhindern von Überlappungen von Bahnhofssymbolen. In diesem Beispiel könnte ich den Punkt einfach verschieben, in anderen Fällen, z. B. einer U-Bahn-Station, ist dies jedoch keine praktikable Lösung.
Eine mögliche Lösung, über die ich nachdenke, wäre:
- Hinzufügen einer Spalte zur DBF-Datei der Punktebene.
- Füllen Sie die hinzugefügte Spalte entweder mit Null oder einem Leerzeichen.
- Aktivieren der Beschriftung von QGIS [neuer Stil] für die hinzugefügte Spalte.
Ist das der richtige Weg oder gibt es eine bessere Methode?
QGIS-Info: Ich verwende die Versionen 1.7.4 und eine kürzlich kompilierte Version 1.8 unter Mac OS 10.7.4. Linux- und Windows-Versionen stehen mir ebenfalls zur Verfügung.
Fortschrittsaktualisierung : Die oben beschriebene Methode funktioniert, obwohl zwei Änderungen am Prozess erforderlich sind.
- Anstelle eines Leerzeichens oder einer Null muss ein nicht unterbrechendes Leerzeichen verwendet werden. Beim Testen habe ich festgestellt, dass Felder mit Null nicht gerendert werden und Felder mit nur einem Leerzeichen in Null konvertiert werden . ( Informationen zum Eingeben eines nicht unterbrechenden Leerzeichens finden Sie auf dieser Wikipedia-Seite .)
- Stellen Sie beim Festlegen der Einstellungen für die Ebenenbeschriftung auf der Registerkarte Erweitert die Platzierung auf Über den Punkt . Stellen Sie die Priorität auch so ein, dass sie höher ist als alle anderen beschrifteten Ebenen.
Abhängig von der Größe des verwendeten Symbols sind möglicherweise einige Experimente erforderlich, damit die Funktionen wie erwartet ausgeführt werden können. Je nach den Umständen ist es möglicherweise einfacher, mehrere Zeichen zu verwenden, als zu versuchen, die Schriftstärke und / oder -größe zu erhöhen.
Getestet mit QGIS 1.7 und einem kürzlich kompilierten 1.8 unter Mac OS 10.7.4.
Antworten:
Die beste konsistente Lösung, die ich bisher habe, entspricht der oben beschriebenen. Angenommen, eine SHP-Datei wird verwendet, sind die Schritte:
quelle
Ich weiß, dass dies alt ist, aber Sie können der Tabelle, die diese Informationen enthält, eine Spalte mit den Angaben "X-Koordinate" und "Y-Koordinate" (doppelte Genauigkeit) hinzufügen und dann in den Ebeneneigenschaften unter "Beschriftungen" die Registerkarte "Definierte Dateneinstellungen" aufrufen und ändern X-Koordinate und Y-Koordinate entsprechend. Sobald Sie dies getan haben, können Sie das Etikett mit der Schaltfläche zum Verschieben des Etiketts freihändig verschieben.
quelle
Ich habe gerade eine andere Antwort auf ein ähnliches Problem gepostet. Der Ansatz verwendet SVG-Symbole anstelle von Ebenen und verwendet überschriebene Daten, um den Pfad zu einem bestimmten SVG-Symbol für jeden Attributwert (cp) festzulegen. Meine Antwort auf Symbole über Beschriftungen in Karte QGIS
quelle
Sie könnten mit dem Versatz des Etiketts experimentieren.
Ich finde, dass die Etikettenpositionierung dynamischer ist, wenn ich sie auf ungefähr 2 mm einstelle.
quelle