Question

Je veux créer un un heatmap (carte de densité) sur les images. Les exemples comme celui http://www.heatmapapi.com/Sample_Google.aspx sont de bons exemples de ce que j'essaie de le faire.

Y at-il un moyen GWT d'y parvenir? Ou tout bon (flash ou js) solution que vous pouvez suggérer (autres que ceux mentionnés Outils Heatmap pour le Web Apps ) ?

Était-ce utile?

La solution

Je mis en œuvre quelque chose de similaire pour mon projet universitaire de l'année dernière. J'ai utilisé la même approche que l'API Heatmap, superposant une image générée sur la carte quand il est repositionné.

J'ai écrit un serveur Web Java personnalisé accepter la boîte de sélection des coordonnées du querystring pour produire une image PNG semi-transparent qui avait l'air un peu comme une carte de chaleur, mais il était pas un bon algorithme statistiquement correct. Au moment où je ne pouvais trouver des algorithmes pour la création du heatmap et de nombreux algorithmes disponibles en ligne ou dans des revues étaient en fait pour heatmaps de cluster / arbres cartes heatmaps plutôt que de densité.

I a généré un tableau 2D pour les données, en utilisant une fonction pour cartographier chaque coordonnée avec une valeur. Ajout au tableau a augmenté les valeurs, de sorte que le tableau devait être normalisé à une valeur comprise entre 0-255, qui peut ensuite être facilement coloré et sortie sur une toile. Je crains que je ne peux pas trouver le code source pour cela, et l'algorithme a été très approximative.

Un an ou il y a quand la liste des membres de la solution BNP (parti politique britannique raciste) a été divulgué je suis tombé sur une autre (plus simple, mais probablement encore moins précis) qui a placé une tache de chaleur PNG à chaque point de la broche, la création de la effet d'une carte de chaleur. Il y a une capture d'écran de ce, bien que je ne trouve pas le http://www.labourlist.org / revealed_the_bnps_social_media_strategy_mark_hanson

Autres conseils

Pour autant que je sais qu'il n'y a rien dans GWT qui est conçu pour faire heatmaps, du moins pas dans le SDK officiel. Je dirais que le plus rapide chose pour vous d'intégrer une solution de JS existante en fonction native et de l'utiliser à partir du code GWT actuel.

Il y a deux façons essentiellement. L'un est un « aki » et non de manière très élégante directement à partir de GWT, l'autre utilise l'API de visualisation Google.

La façon hacky consiste à construire une table et de placer vos données en elle. De plus, vous devez décider comment « bin » vos valeurs de données dans les gammes et vous attribuez des couleurs aux bacs (que vous indiquez dans votre fichier CSS). vous attachez ensuite le CSS à une cellule de table appropriée à l'aide de la formatter colonne / ligne. Je l'ai vraiment fait heatmaps de cette manière dans GWT et il fonctionne ....

La façon non-aki est d'aller à la API Google et Visualisations pour envelopper le heatmap qui est là déjà GWT en utilisant JSNI.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top