Визуализация кластерных объектов на веб-картах?


15

Я ищу лучший символ для отображения кластерных объектов в ArcGIS Server JS API.

Мне не нравится «всплывающий» анимированный символ кластера, используемый в кластеризации API Silverlight или в примере кластеризации JS (они кажутся немного бесполезными).

Пока что лучший вариант, который я нашел, это символ кластера маркеров Google Maps .

Я не буду показывать число в центре символа кластера, но буду изменять размер символа, чтобы показать концентрацию объектов, как в этом макете:

введите описание изображения здесь

Какие еще есть варианты символов кластеризации? Можете ли вы указать мне карту, показывающую хорошую реализацию кластеризации маркеров?


Вы ограничены точечным символом?
Энди W

@AndyW Я показываю точечные объекты, но я не обязательно ограничен точечным символом. В приведенном выше примере изображения используются символы маркера изображения, если это помогает.
Стивен Лид

Разнообразные ответы предполагают, что некоторые дополнительные разъяснения помогут; в частности, в каком смысле вы имеете в виду «лучший символ»? Вероятно, это зависит от приложения и аудитории и, вероятно, может означать «самый красивый», «самый простой в реализации», «самый простой для зрителей распознавать и различать» или «позволяющий получить наиболее точную количественную оценку». Лучшими решениями в этом смысле могут быть тепловые карты, маркеры Google или Bing, которые знают, и графики подсолнечника, соответственно, но большинство из этих решений одинаково бедны в других отношениях.
whuber

@whuber "Задача заключается в том, чтобы неопытным пользователям было проще понять, что происходит без инструкций". Точное расположение объектов не так важно, как тот факт, что некоторые объекты являются «отдельными точками», а некоторые - «кластерными точками». Очевидно ли, что в некоторых местах больше функций, а в других - меньше? Приведенная выше карта работает для меня, но так ли это для всех, и является ли это наилучшим возможным решением? спасибо
Стивен Лид

1
Без легенды я не могу понять твой пример. Даже зная его намерение, я не могу прочитать его с какой-либо точностью, потому что я понятия не имею, какова связь между размером символа и размером кластера (это диаметр круга, площадь круга или что-то еще?) Что такое синий / красное различие пытаешься передать? Если вы хотите избежать обучения, вам нужно использовать наиболее эффективные с познавательной точки зрения методы, чтобы проводить различия и передавать известные величины (такие как использование яркости, а не оттенка, чтобы передать интенсивность количества), и в любом случае быть готовым к недоразумениям.
whuber

Ответы:


10

В традиционной картографии кластеризация маркеров называется агрегацией или иногда объединением. Это является частью обобщения модели : при уменьшении масштаба некоторые детальные понятия (например, дерево) исчезают и заменяются менее детализированными агрегированными формами (например, лес).

Много хороших примеров можно найти в хороших книгах по картографии. Вот два примера из этой книги о построении агрегации:

введите описание изображения здесь

введите описание изображения здесь

введите описание ссылки здесь http://www.ailleursloin.free.fr/A/depot/village_generalise_200k_sans_bati.jpg

Я полагаю, вы ищете более оперативные методы, чтобы сделать это автоматически. В этой презентации представлен обзор существующих автоматических методов. У вас могут быть ресурсы для разработки некоторых из показанных алгоритмов ... В противном случае вы можете найти Java-реализацию этого алгоритма (которая позволяет создавать оболочку удаленных символов) там , а также этот алгоритм там .

Тепловые карты также являются хорошей альтернативой для этого вопроса. Смотрите там реализацию. Смотрите также maptimize .

введите описание изображения здесь


1
Спасибо за подробный ответ. Я на самом деле очень доволен фактическим алгоритмом, который я использую - модификацией этого примера сценария - поэтому меня больше интересует символика или представление кластеризованных объектов. Мне нравится подход тепловой карты, но в моем случае не хватает точек, поскольку функции не особенно плотны. Еще раз спасибо
Стивен Лид

Не могли бы вы обновить неработающие ссылки, пожалуйста?
phil294

7

Вариантов много, и на самом деле я некоторое время назад пытался ответить на один и тот же вопрос по некоторым своим приложениям. И для наших разных продуктов мы нашли разные решения. Так что вы должны спросить себя

  1. Все ли одиночные значки на карте одного и того же «вида» - одинаковой формы и цвета?
  2. Если это не так, все они живут на одном слое или нескольких слоях?
  3. Если на нескольких, вы собираетесь кластеризовать каждый отдельный слой, или межуровневая кластеризация?
  4. Если кластеризация отдельных слоев, что, если значки перекрывают слои, у вас будет кластер кластеров?
  5. Нужно ли вам знать, «какой» тип объектов кластеризуется, или просто «эй, есть кластер» на карте. И выше вы сказали, что вам не нужно знать, сколько элементов там, просто посмотрев на значок кластера.

Вот пара примеров и что они значат и как они сделаны. Все это делается с помощью специального алгоритма кластеризации, а не с помощью кластеризации Bing (первое изображение) или стратегии кластеризации OL (второе). Таким образом, у меня намного больше контроля над внешним видом.

Прозрачный кластерный маркер

Крышка экрана из приложения Bing; у нас есть несколько слоев разных типов иконок и цветов. Мы выбрали кластеризацию значков, а затем скрыли все с помощью самого верхнего (самого важного) значка в кластере, а затем на самый верхний значок накладывается прозрачное изображение. Скажем, мои значки имеют размер 20x20, индикатор кластера представляет собой изображение 30x30, прозрачность которого составляет 80%, за исключением того, что в правом верхнем углу он имеет значок PLUS. Поэтому, когда я наложил поверх моего «репрезентативного» значка моего кластера, похоже, что у меня под ним есть кластер вещей. Когда пользователь наводит указатель мыши или щелкает, событие переходит к значку кластера, и они получают сообщение «N количество кластеризованных элементов» и могут щелкнуть или просмотреть для получения дополнительной информации.

введите описание изображения здесь

В этой ситуации мы выбрали более простой подход. Иконки по-прежнему живут в разных слоях и имеют разное значение, и мы разбиваем кросс-слой, однако представительная иконка - это просто большой жирный знак ПЛЮС [размер которого варьируется до определенного предела].

Таким образом, в основном, мы выбрали «ПЛЮС» «+», чтобы указать кластер в обоих приложениях, но пошли разными путями, как разместить его на карте - наложить существующие значки карты, чтобы придать карте больше смысла, или просто очистить карту и добавьте ПЛЮС и предоставьте пользователю дополнительную информацию.


спасибо за подробный ответ. В этом случае все объекты находятся в одном слое, но вы поднимаете некоторые интересные моменты в тех случаях, когда их нет. + Подход интересный
Стивен Лид

5

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

Вот пример, сделанный в R:

введите описание изображения здесь

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


Билл, спасибо за подсказку - участок подсолнечника очень крутой и хорошо работает на графике рассеяния. Это не очень подходит для моего случая, так как сайт предназначен для начинающих пользователей, и это было бы излишним. (PS Подход « тепловой карты», принятый Fusion Tables, может также работать на графике рассеяния? Geochalkboard.files.wordpress.com/2010/03/fusion2.png )
Стивен Лид,

1
@Stephen Цветовые градации обычно не подходят для количественного чтения графики (т. Е. Точно и быстро). Для примерно 6% населения переход от красного к зеленому (как показано в примере) трудно различить. Растущая литература по визуализации количественных данных предполагает, что мы не должны спешить ограничивать качество нашей графики, полагая, что начинающие пользователи не смогут оценить или использовать их. Прочитайте, например, Туфте, Кливленд или Вайнер.
whuber
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.