Bagaimana label ditempatkan secara dinamis pada garis atau poligon?


9

Saya bertanya-tanya apakah ada yang tahu matematika yang terlibat, atau sumber daya untuk mempelajari matematika yang terlibat, dalam menemukan posisi ideal, skala, dan rotasi label untuk garis atau poligon pada peta?

Yang paling saya dapatkan sejauh ini adalah menemukan centroid untuk poligon (walaupun itu tidak ideal untuk poligon cekung).


Saya kira yang terbaik adalah melakukan ini secara manual.
Jonas

Sumber terkait: citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.54.8844 Kompleksitas Komputasi Penempatan Label Kartografi. Kutipan termasuk referensi terkait lainnya.
glennon

Jawaban:




2

Centroid tidak pernah jawabannya tetapi ini merupakan tebakan awal yang bagus. Algoritme yang paling mudah untuk diimplementasikan yang memecahkan masalah yang sama biasanya beroperasi dengan mencoba beberapa posisi pseudo-acak yang dapat direproduksi dan mencetaknya entah bagaimana, menjaga tempat terbaik. Untuk bacaan lebih lanjut saya akan mulai dengan membaca tentang algoritma pengemasan bin dan mengambilnya dari sana.


1

Pelabelan adalah upaya jahat.

Dalam skala kecil: Anda memiliki masalah label yang tumpang tindih, jadi yang mana yang Anda hapus atau semua harus ditampilkan.

Pada skala besar: jika Anda memiliki poligon besar, di mana Anda menampilkan label. Apakah Anda menampilkannya beberapa kali.


0

Saya telah melihat peta di mana mereka hanya menghitung kotak pembatas untuk poligon yang kompleks dan menempatkan label di tengahnya.

Untuk garis sederhana, biasanya hanya di tengah-tengah dua titik akhir.

Saya kira itu benar-benar hanya tergantung pada apa yang Anda harapkan dari data Anda dan seberapa penting lokasi label itu.


3
Ada apa dengan downvote? Sebuah komentar mungkin bermanfaat.
Jon Bringhurst

0

Anda dapat memeriksa kode di GeoTools dan GeoServer jika Anda grok java - ini adalah masalah yang terus berkembang karena orang-orang terus membuat kasus sudut baru yang perlu diperbaiki.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.