Wie werden Beschriftungen dynamisch auf einer Linie oder einem Polygon platziert?

9

Ich habe mich gefragt, ob jemand die Mathematik oder die Ressourcen zum Erlernen der Mathematik kennt, um die ideale Position, Skalierung und Drehung einer Beschriftung für eine Linie oder ein Polygon auf einer Karte zu finden.

Das Beste, was ich bisher habe, ist das Finden des Schwerpunkts für ein Polygon (obwohl es nicht ideal für konkave Polygone ist).

Bob
quelle
Ich denke, es ist am besten, dies manuell zu tun.
Jonas
Verwandte Ressource: citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.54.8844 Die rechnerische Komplexität der Platzierung kartografischer Etiketten. Das Zitat enthält andere zugehörige Referenzen.
Glennon

Antworten:

2

Centroid ist nie die Antwort, aber es ist eine gute erste Vermutung. Die am einfachsten zu implementierenden Algorithmen, die ähnliche Probleme lösen, funktionieren normalerweise, indem einige reproduzierbare pseudozufällige Positionen ausprobiert und irgendwie bewertet werden, wobei die besten Stellen erhalten bleiben. Zum weiteren Lesen würde ich zunächst die Algorithmen zum Packen von Behältern nachlesen und von dort übernehmen.

Dandy
quelle
1

Das Etikettieren ist ein böses Unterfangen.

In kleinem Maßstab: Sie haben Probleme mit der Überlappung von Etiketten. Welche entfernen Sie oder sollten alle angezeigt werden?

In großem Maßstab: Wenn Sie ein großes Polygon haben, wo zeigen Sie die Beschriftung an? Zeigen Sie es mehrmals an.

CrazyEnigma
quelle
0

Ich habe Karten gesehen, auf denen sie nur einen Begrenzungsrahmen für ein komplexes Polygon berechnen und die Beschriftung in der Mitte davon platzieren.

Bei einfachen Linien ist es normalerweise nur die Mitte der beiden Endpunkte.

Ich denke, es hängt wirklich nur davon ab, was Sie von Ihren Daten erwarten und wie wichtig der Ort des Etiketts ist.

Jon Bringhurst
quelle
3
Was ist mit dem Downvote los? Ein Kommentar könnte nützlich sein.
Jon Bringhurst
0

Sie können den Code in GeoTools und GeoServer überprüfen, wenn Sie Java verwenden. Dies ist ein sich ständig weiterentwickelndes Problem, da immer wieder neue Eckfälle auftreten, die behoben werden müssen.

Ian Turton
quelle