W jaki sposób etykiety są dynamicznie umieszczane na linii lub wielokącie?

9

Zastanawiałem się, czy ktoś znał matematykę lub zasoby do nauki matematyki, aby znaleźć idealną pozycję, skalę i obrót etykiety linii lub wielokąta na mapie?

Do tej pory najbardziej znajduję środek ciężkości wielokąta (choć nie jest to idealne rozwiązanie dla wielokątów wklęsłych).

Kok
źródło
Myślę, że najlepiej to zrobić ręcznie.
Jonas
Zasoby powiązane: citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.54.8844 Złożoność obliczeniowa umieszczania etykiet kartograficznych. Cytowanie obejmuje inne powiązane odniesienia.
glennon

Odpowiedzi:

2

Centroid nigdy nie jest odpowiedzią, ale jest to dobry wstępny przypuszczenie. Algorytmy, które są najłatwiejsze do zaimplementowania, które rozwiązują podobne problemy, zwykle działają, wypróbowując kilka powtarzalnych pseudolosowych pozycji i oceniając je w jakiś sposób, zachowując najlepsze miejsca. Do dalszej lektury zacznę od czytania algorytmów pakowania bin i biorę go stamtąd.

Elegant
źródło
1

Etykietowanie to paskudne przedsięwzięcie.

Na małą skalę: masz problemy z nakładaniem się etykiet, więc które z nich usuwasz lub które powinny być pokazane.

Na dużą skalę: jeśli masz duży wielokąt, gdzie wyświetlasz etykietę. Czy wyświetlasz go wiele razy?

CrazyEnigma
źródło
0

Widziałem mapy, w których obliczają po prostu obwiednię złożonego wielokąta i umieszczają etykietę na środku tego.

W przypadku prostych linii zwykle jest to tylko środek dwóch punktów końcowych.

Wydaje mi się, że tak naprawdę zależy tylko od tego, czego oczekujesz od swoich danych i jak ważna jest lokalizacja etykiety.

Jon Bringhurst
źródło
3
Co słychać w głosowaniu? Komentarz może być przydatny.
Jon Bringhurst
0

Możesz sprawdzać kod w GeoTools i GeoServer, jeśli grok java - jest to ciągle ewoluujący problem, ponieważ ludzie wciąż wymyślają nowe przypadki narożne, które wymagają naprawy.

Ian Turton
źródło