Как метки динамически размещаются на линии или многоугольнике?

9

Мне было интересно, знает ли кто-нибудь, что такое математика или ресурсы для изучения математики, в поиске идеального положения, масштаба и поворота метки для линии или многоугольника на карте?

Максимум, что у меня есть, - это найти центроид многоугольника (хотя он не идеален для вогнутых многоугольников).

боб
источник
Я думаю, что это лучше всего делать вручную.
Джонас
Связанный ресурс: citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.54.8844 Вычислительная сложность размещения картографической метки. Цитирование включает в себя другие связанные ссылки.
Гленнон

Ответы:

2

Centroid никогда не является ответом, но это хорошая первоначальная догадка. Алгоритмы, которые легче всего реализовать и которые решают подобные проблемы, обычно работают, пытаясь воспроизвести несколько воспроизводимых псевдослучайных положений и как-то их оценить, сохраняя лучшие места. Для дальнейшего чтения я бы начал с изучения алгоритмов упаковки бина и взял его оттуда.

Денди
источник
1

Маркировка - это неприятное усилие.

В небольшом масштабе: у вас есть проблемы с перекрытием меток, поэтому какую из них вы удалите или все должны быть показаны.

В больших масштабах: если у вас большой полигон, где вы отображаете метку. Вы показываете это несколько раз.

CrazyEnigma
источник
0

Я видел карты, где они просто вычисляют ограничивающую рамку для сложного многоугольника и размещают метку в центре этого.

Для простых линий обычно это просто середина двух конечных точек.

Я полагаю, что это действительно зависит от того, какими будут ваши данные и насколько важно расположение метки.

Джон Брингхерст
источник
3
Что случилось с понижением? Комментарий может быть полезен.
Джон Брингхерст
0

Вы можете проверить код в GeoTools и GeoServer, если вы пользуетесь Java - это постоянно развивающаяся проблема, так как люди продолжают придумывать новые угловые случаи, которые требуют исправления.

Ян Тертон
источник