Тепловая карта (карта плотности) на GWT - PullRequest
1 голос
/ 07 декабря 2009

Я хочу создать тепловую карту (карту плотности) на изображениях. Примеры, подобные приведенному в http://www.heatmapapi.com/Sample_Google.aspx, являются хорошими примерами того, что я пытаюсь сделать.

Есть ли GWT способ достижения этого? Или какое-нибудь хорошее (flash или js) решение, которое вы можете предложить (кроме упомянутых Инструменты Heatmap для веб-приложений )?

Ответы [ 3 ]

1 голос
/ 07 декабря 2009

Я реализовал нечто подобное для моего последнего университетского проекта. Я использовал тот же подход, что и API-интерфейс HeatMap, накладывая сгенерированное изображение на карту при его изменении.

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

Я сгенерировал двумерный массив для данных, используя функцию для сопоставления каждой координаты со значением. Добавление в массив увеличило значения, поэтому массив необходимо было нормализовать до значения в диапазоне от 0 до 255, который затем можно было легко раскрасить и вывести на холст. Боюсь, я не могу найти исходный код для этого, и алгоритм был очень приблизительным.

Примерно год назад, когда список членов BNP (расистской британской политической партии) просочился, я наткнулся на другое (более простое, но, возможно, даже менее точное) решение, которое помещало точку нагрева PNG в каждую точку, создавая эффект тепловой карты. Здесь есть скриншот этого, хотя я не могу найти оригинальную карту http://www.labourlist.org/revealed_the_bnps_social_media_strategy_mark_hanson

0 голосов
/ 22 ноября 2010

Есть два пути по существу. Один из них - «хакерский» и не очень элегантный способ напрямую из GWT, другой использует API визуализации Google.

Хакерский способ заключается в создании таблицы и размещении в ней ваших данных. Кроме того, вам нужно решить, как «связать» ваши значения данных в диапазоны, а затем назначить цвета для корзин (которые вы указываете в своем файле CSS). Впоследствии вы присоединяете соответствующий CSS к ячейке таблицы, используя средство форматирования столбцов / строк. Я фактически сделал тепловые карты таким образом в GWT, и это работает ....

Не взломанный способ - перейти к API визуализаций Google и обернуть тепловую карту, которая уже есть в GWT, с помощью JSNI.

0 голосов
/ 07 декабря 2009

Насколько я знаю, в GWT нет ничего, что было бы предназначено для создания тепловых карт, по крайней мере, в официальном SDK. Я бы сказал, что самым быстрым для вас было бы интегрировать существующее решение JS в качестве нативной функции и использовать его из вашего текущего кода GWT.

...