Domanda

Voglio creare un (mappa densità) un heatmap sulle immagini. Gli esempi come quello di http://www.heatmapapi.com/Sample_Google.aspx sono buoni esempi di quello che cerco di fare.

C'è un modo GWT per raggiungere tale obiettivo? O nulla di buono (flash o js) la soluzione si può suggerire (altri Strumenti Heatmap Per Applicazioni Web ) ?

È stato utile?

Soluzione

ho realizzato qualcosa di simile per il mio progetto dell'anno accademico finale. Ho usato lo stesso approccio HeatMap API, sovrapponendo un'immagine generata sulla mappa quando viene riposizionato.

ho scritto un web server Java personalizzato accettare le coordinate del rettangolo di selezione nella querystring per produrre un'immagine semitrasparente PNG che sembrava un po 'come una mappa termica, ma era in alcun modo un adeguato statisticamente corretto algoritmo. A quel tempo non ero in grado di trovare eventuali algoritmi per la creazione della mappa termica e molti degli algoritmi disponibili online o su riviste erano in realtà per heatmaps a grappolo / alberi mappe piuttosto che heatmaps densità.

ho generato una matrice 2D per i dati, utilizzando una funzione per mappare ciascuna coordinata con un valore. Aggiungendo alla matrice aumentato i valori, quindi l'array doveva essere normalizzato ad un valore compreso tra 0-255, che possono poi essere facilmente colorato e uscita su una tela. Ho paura non riesco a trovare il codice sorgente per questo, e l'algoritmo è stato molto approssimativa.

Circa un anno fa, quando l'elenco dei membri del BNP (razzista partito politico britannico) è trapelata mi sono imbattuto in un altro (più semplice, ma probabilmente anche meno preciso), soluzione che ha messo una macchia di calore PNG in ogni punto perno, creando il effetto di una mappa termica. V'è uno screenshot di questo qui, anche se non riesco a trovare la mappa http://www.labourlist.org / revealed_the_bnps_social_media_strategy_mark_hanson

Altri suggerimenti

Per quanto ne so non c'è nulla in GWT che è stato progettato per fare heatmaps, almeno non nel SDK ufficiale. Direi che la cosa più veloce per voi sarebbe quella di integrare una soluzione JS esistente come funzione nativa e utilizzarlo dal codice GWT corrente.

Ci sono due modi essenzialmente. Uno è un modo "hacky" e non molto elegante direttamente dall'interno GWT, l'altro fa uso della API di visualizzazione di Google.

Il modo hacky implica la costruzione di un tavolo e l'immissione dei dati in esso. Inoltre, è necessario decidere come "bin" valori i dati in intervalli e quindi di assegnare i colori per i bidoni (che si specifica nel file CSS). In seguito si allega il appropriato CSS per una cella di tabella utilizzando il formattatore colonna / riga. Ho effettivamente fatto heatmaps in questo modo all'interno di GWT e funziona ....

Il modo non hacky è quello di andare alla Google Visualisations API per avvolgere la mappa termica che c'è già in GWT utilizzando JSNI.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top