Как я могу сократить количество аннотаций на карту?

Я кодирую представление карты приблизительно с 900 аннотациями. Наличие этого, которое много аннотаций на карту заставляют производительность перенести, таким образом, я хотел бы уменьшить его приблизительно до 300 за один раз. Аннотации представляют магазины в стране, таким образом, они имеют тенденцию кластеризироваться много вокруг крупнейших городов, затем в небольших группах 2 или 3 в меньших городах. Я хочу сократить количество так, чтобы группы 2 или 3 были оставлены в покое, но числа в городе разбавлены (они так близко друг к другу, что они не предлагают полезной информации).

В изображении Вы видите, что существует несколько больших групп (Токио, Нагоя и Осака), который я хочу сократить. Но с контактами самостоятельно или в небольших группах, я хочу удостовериться, что они не становятся фильтрованными. Как только я увеличиваю масштаб, я хочу показать недостающие контакты.

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

сопроводительный текст http://img.skitch.com/20100204-jpde6wugc94nn692k7m36gmqf1.jpg

17
задан nevan king 4 February 2010 в 14:46
поделиться

3 ответа

Один из подходов заключается в том, что перед размещением нового пин-кода проверьте, не находится ли уже другой пин-код на расстоянии d от нового пин-кода. Если есть, не размещайте новый штифт. Вы должны варьировать d в зависимости от текущего уровня масштабирования.

Вы можете уменьшить количество проверяемых контактов, рассматривая только контакты в окошке с центром по центру нового контакта. Окно может иметь размер d x d градусов по бокам (при этом d изменяется в зависимости от уровня масштабирования).

6
ответ дан 30 November 2019 в 13:53
поделиться

Учитывая, что многие булавки в густонаселенных районах будут находиться на одной и той же улице, можно было бы подумать о том, чтобы сделать "супербулавки", которые перечисляют булавки на определенной улице, а не на каждом индивидуальном адресе.

-S!

0
ответ дан 30 November 2019 в 13:53
поделиться

Я могу придумать два варианта:

  • Если у вас есть точки интереса для работы (например, города), вы можете просто сгруппировать все контакты по ближайшим к ним точкам интереса при более низких уровнях масштабирования.
  • Вы можете использовать кластеризацию K-средних , чтобы сгруппировать выводы в кластеры и представить их с помощью средней точки вывода.
5
ответ дан 30 November 2019 в 13:53
поделиться