Візуалізація кластерних функцій на веб-картах?


15

Я шукаю найкращий символ для відображення кластерних функцій в JS API ArcGIS Server.

Мені не подобається анімований кластерний символ "виліт", як це використовується в кластеризації Silverlight API або зразок кластеризації JS (вони відчувають себе трохи химерними).

Поки що найкращий варіант, який я знайшов, - це символ кластера маркера Google Maps .

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

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

Які ще варіанти символів кластеризації є? Чи можете ви вказати мені на карту, на якій зображено приємну реалізацію кластеризації маркерів?


Ви обмежені символом точки?
Енді Ш

@AndyW Я показую функції точки, але я не обов'язково обмежуюся символом точки. На прикладному зображенні вище використовуються символи маркера зображення, якщо це допомагає.
Стівен Ведучий

Різноманітні відповіді говорять про те, що додаткові роз'яснення допоможуть; конкретно, в якому сенсі ви маєте на увазі "найкращий символ"? Це, мабуть, залежить від програми та аудиторії, і, правдоподібно, це може означати «найкрасивіший», «найпростіший у застосуванні», «найпростіший для глядачів визнання та дискримінацію» або «забезпечення максимально точної кількісної оцінки». Найкращими рішеннями в цих сенсах можуть бути теплові карти, маркери Google або Bing, як відомо, і соняшникові ділянки відповідно, але більшість цих рішень однаково бідні в інших аспектах.
whuber

@whuber "Найпростішим для непрофесійних користувачів зрозуміти, що відбувається без інструкції" є мета. Точні місця розташування функцій не так важливі, як той факт, що деякі функції "одиничні точки", а деякі - "кластерні точки". Чи очевидно, що в деяких місцях є більше функцій, а в інших областях менше функцій? Наведена вище карта працює для мене, але чи так це у всіх, і чи це найкраще можливе рішення? дякую
Стівен Ведучий

1
Без легенди я не можу осмислити твій приклад. Навіть знаючи його намір, я не можу прочитати його з будь-яким почуттям точності, тому що я не маю уявлення про те, яка взаємозв'язок між розміром символу та розміром кластера (це діаметр кола, область кола чи щось інше?) Що таке синій / червоний відрізок намагається передати? Якщо ви хочете уникати інструкцій, вам потрібно використовувати найбільш пізнавально ефективні методи, щоб розрізнити і передати відомі величини (наприклад, легкість, а не відтінок, щоб передати інтенсивність кількості), і будьте готові до непорозумінь у будь-якому випадку.
whuber

Відповіді:


10

У традиційній картографії кластеризація маркерів називається агрегацією або іноді об'єднанням. Вона є частиною узагальнення моделі : При зменшенні масштабів деякі детальні поняття (наприклад, дерево) зникають, замінюючись менш деталізованими зведеними формами (наприклад, ліс).

Багато хороших прикладів можна знайти в хороших книгах з картографії. Ось два приклади з цієї книги про об'єднання будівель:

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

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

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

Я думаю, ви шукаєте більш оперативні методи, щоб зробити це автоматично. Ця презентація дає огляд існуючих автоматичних методів. У вас можуть бути ресурси для розробки деяких алгоритмів, показаних ... Інакше ви можете знайти java реалізацію цього алгоритму (які дозволяють будувати обволікання віддалених символів) там , а також цього алгоритму там .

Теплові карти також є досить хорошою альтернативою для цього питання. Дивіться там реалізацію. Див. Також маптімізувати .

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


1
Дякуємо за детальну відповідь. Я насправді дуже задоволений власним алгоритмом, який я використовую - модифікацією цього зразкового сценарію, - тому я більше переймаюся символікою або представленням кластерних функцій. Мені подобається підхід теплової карти, але в моєму випадку недостатньо балів, оскільки функції не особливо щільні. Ще раз дякую
Стівен Ведучий

Чи можете ви оновити пошкоджені посилання?
phil294

7

Варіантів дуже багато, і насправді я кілька разів перебирав те саме запитання, що стосувався деяких моїх додатків. А для наших різних продуктів ми вирішили різні рішення. Тож треба запитати себе

  1. Чи всі піктограми однотонних на карті одного "виду" - однакової форми та кольору?
  2. Якщо їх немає, чи всі вони живуть на 1 шарі чи на декількох шарах?
  3. Якщо у кількох випадках ви збираєтеся кластеризувати кожен окремий шар або міжшарову кластеризацію?
  4. Якщо кластеризація окремих шарів, що робити, якщо піктограми перекриваються між шарами, у вас буде кластер кластерів?
  5. Чи потрібно вам знати тип "речі", що кластеризується, або просто "ей, на карті є кластер". І вище ви сказали, що вам не потрібно знати, скільки предметів є, просто подивившись на піктограму кластера.

Ось кілька прикладів, що вони означають і як вони роблять. Всі вони виконуються за допомогою власного алгоритму кластеризації, а не за допомогою кластеризації Bing (1-е зображення) або стратегії OL Clustering (2-е). Таким чином я маю набагато більше контролю над зовнішнім виглядом та почуттям.

Прозорий маркер кластера

Кришка екрана від програми Bing; у нас є кілька шарів різних типів і кольорів значків. Ми вирішили кластеризувати піктограми, потім приховати все найголовнішим (найважливішим) піктограмою кластера, а потім найпопулярнішу піктограму перекрити прозорим зображенням. Тож скажіть, що мої піктограми мають розмір 20x20, індикатор кластера - це зображення розміром 30x30, яке на 80% прозоре, за винятком того, що у верхньому правому куті є ПЛЮС. Отже, коли накладений поверх моєї кластерної "представницької" піктограми, схоже, я маю під собою групу речей. Коли користувач наводить курсор або клацає, подія переходить до піктограми кластера, і вони отримують повідомлення "N кількість кластерних елементів" і можуть клацнути або переглянути детальну інформацію для отримання додаткової інформації.

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

У цій ситуації ми застосували простіший підхід. Піктограми все ще живуть на різних шарах і мають різний зміст, і ми кластеризуємо пошарово, проте представницька піктограма - це лише великий знак жиру PLUS [який змінюється за розміром до певної межі].

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


дякую за детальну відповідь. У цьому випадку всі функції знаходяться в одному шарі, але ви піднімаєте цікаві моменти у випадках, коли їх немає. Цікавий підхід +
Стівен Ведучий

5

Ви можете отримати трохи натхнення від сюжетів соняшнику . Цей метод, який використовується десятиліттями для представлення скупчень точок на розсіювачах, використовує дослідження візуального пізнання для отримання маркерів, які швидко та правильно розмежовуються, а також чітко пов'язані з розмірами кластерів, які вони представляють.

Ось приклад, зроблений у R:

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

Потрібно небагато фантазії, щоб побачити, як техніку можна було застосувати для виготовлення карт, які є загальнішими, ніж розсіювачі.


Білл, спасибі за підказку - сюжет соняшнику дуже класний, і добре працює в розсипці. Це не дуже підходить для мого випадку, оскільки сайт орієнтований на початківців користувачів, і це буде зайвим. (PS Підхід теплової карти, застосований Fusion Tables, може також працювати на розсіювачі? Geochalkboard.files.wordpress.com/2010/03/fusion2.png )
Stephen Lead

1
@Stephen Кольорові градації, як правило, не працюють так добре для читання графіки (тобто точно і швидко). Приблизно для 6% населення перехід від червоного до зеленого (як показано в прикладі) важко помітити. Зростаючий обсяг літератури щодо візуалізації кількісних даних говорить про те, що ми не повинні поспішати обмежувати якість нашої графіки, припускаючи, що початківці користувачі не зможуть їх оцінити або використовувати. Наприклад, прочитайте Tufte, Cleveland або Wainer.
whuber
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.