Commit 945ac361187597dde26f2f40c62a4b7a3abe2d1a
1 parent
85ac8255
Exists in
master
and in
7 other branches
Inclusao da ferramenta heatmap
Showing
9 changed files
with
80 additions
and
43 deletions
Show diff stats
classesjs/classe_analise.js
... | ... | @@ -37,9 +37,6 @@ if(typeof(i3GEO) === 'undefined'){ |
37 | 37 | var i3GEO = {}; |
38 | 38 | } |
39 | 39 | i3GEO.analise = { |
40 | - //armazena os pontos coletados nas funcoes de medicao de area e distancia | |
41 | - //@TODO remover apos concluir a refatoracao do codigo | |
42 | - pontosdistobj: {}, | |
43 | 40 | /* |
44 | 41 | Classe: i3GEO.analise.dialogo |
45 | 42 | |
... | ... | @@ -53,6 +50,14 @@ i3GEO.analise = { |
53 | 50 | */ |
54 | 51 | dialogo:{ |
55 | 52 | /* |
53 | + Function: heatmap | |
54 | + | |
55 | + Abre a janela de dialogo da ferramenta mapa de calor | |
56 | + */ | |
57 | + heatmap: function(){ | |
58 | + i3GEO.util.dialogoFerramenta("i3GEO.analise.dialogo.heatmap()","heatmap","heatmap"); | |
59 | + }, | |
60 | + /* | |
56 | 61 | Function: saiku |
57 | 62 | |
58 | 63 | Abre a janela de dialogo da ferramenta SAIKU |
... | ... | @@ -665,7 +670,7 @@ i3GEO.analise = { |
665 | 670 | x2 = evt.latLng.lng(); |
666 | 671 | y2 = evt.latLng.lat(); |
667 | 672 | //raio = google.maps.geometry.spherical.computeDistanceBetween(evt.latLng,new google.maps.LatLng(y1,x1)) |
668 | - trecho = i3GEO.calculo.distancia(x1,y1,x2,y2); | |
673 | + trecho = i3GEO.calculo.distancia(x1,y1,x2,y2); | |
669 | 674 | direcao = i3GEO.calculo.direcao(x1,y1,x2,y2); |
670 | 675 | direcao = i3GEO.calculo.dd2dms(direcao,direcao); |
671 | 676 | direcao = direcao[0]; | ... | ... |
classesjs/classe_configura.js
... | ... | @@ -204,7 +204,8 @@ i3GEO.configura = { |
204 | 204 | { id:"omenudataAnalise16",text: $trad("u11"), url: "javascript:i3GEO.analise.dialogo.centroide()" }, |
205 | 205 | { id:"omenudataAnalise17",text: $trad("t37b"), url: "javascript:i3GEO.analise.dialogo.graficoInterativo1()" }, |
206 | 206 | { id:"omenudataAnalise18",text: $trad("d30"), url: "javascript:i3GEO.analise.dialogo.linhaDoTempo()" }, |
207 | - { id:"omenudataAnalise20",text: "SAIKU - OLAP", url: "javascript:i3GEO.analise.dialogo.saiku()" } | |
207 | + { id:"omenudataAnalise20",text: "SAIKU - OLAP", url: "javascript:i3GEO.analise.dialogo.saiku()" }, | |
208 | + { id:"omenudataAnalise21",text: $trad("x102"), url: "javascript:i3GEO.analise.dialogo.heatmap()" } | |
208 | 209 | ], |
209 | 210 | "janelas": [ |
210 | 211 | { id:"omenudataJanelas1",text: $trad("u15"), url: "javascript:i3GEO.barraDeBotoes.reativa(0);i3GEO.barraDeBotoes.reativa(1)" }, | ... | ... |
classesjs/classe_plugini3geo.js
1 | 1 | /** |
2 | 2 | * Title: pluginI3geo |
3 | - * | |
3 | + * | |
4 | 4 | * i3GEO.pluginI3geo |
5 | - * | |
5 | + * | |
6 | 6 | * Implementam os plugins do i3Geo que adicionam camadas especiais ao mapa, |
7 | 7 | * normalmente dados vetoriais. |
8 | - * | |
8 | + * | |
9 | 9 | * Arquivo: |
10 | - * | |
10 | + * | |
11 | 11 | * i3geo/classesjs/classe_plugini3geo.js |
12 | - * | |
12 | + * | |
13 | 13 | * Licença: |
14 | - * | |
14 | + * | |
15 | 15 | * GPL2 |
16 | - * | |
16 | + * | |
17 | 17 | * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet |
18 | - * | |
18 | + * | |
19 | 19 | * Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente |
20 | 20 | * Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com |
21 | - * | |
21 | + * | |
22 | 22 | * Este programa é software livre; você pode redistribuí-lo |
23 | 23 | * e/ou modificá-lo sob os termos da Licença Pública Geral |
24 | 24 | * GNU conforme publicada pela Free Software Foundation; |
25 | - * | |
25 | + * | |
26 | 26 | * Este programa é distribuído na expectativa de que seja |
27 | 27 | * útil, porém, SEM NENHUMA GARANTIA; nem mesmo a garantia |
28 | 28 | * implícita de COMERCIABILIDADE OU ADEQUACÃO A UMA FINALIDADE |
... | ... | @@ -39,13 +39,13 @@ i3GEO.pluginI3geo = { |
39 | 39 | OBJETOS : {}, |
40 | 40 | /** |
41 | 41 | * Inicia a execucao de um plugin |
42 | - * | |
42 | + * | |
43 | 43 | * Camada e um objeto gerado pelo i3Geo quando uma camada e adicionada ao |
44 | 44 | * mapa O objeto i3GEO.arvoreDeCamadas.CAMADAS guarda todas as camadas |
45 | 45 | * adicionadas ao mapa Ao adicionar uma camada pelo catalogo, o i3Geo |
46 | 46 | * verifica se a camada possui plugin e direciona para ca Os plugins sao |
47 | 47 | * definidos como metadados em cada mapfile de cada tema |
48 | - * | |
48 | + * | |
49 | 49 | * Veja em i3geo/classesphp/classe_mapa.php funcao parametrostemas |
50 | 50 | */ |
51 | 51 | inicia : function(camada) { |
... | ... | @@ -63,7 +63,7 @@ i3GEO.pluginI3geo = { |
63 | 63 | }, |
64 | 64 | ligaCamada : function(nomecamada) { |
65 | 65 | if (typeof (console) !== 'undefined') |
66 | - console.info("i3GEO.pluginI3geo.ligaCamada('"+nomecamada+"')"); | |
66 | + console.info("i3GEO.pluginI3geo.ligaCamada('" + nomecamada + "')"); | |
67 | 67 | |
68 | 68 | if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada) { |
69 | 69 | i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada(); |
... | ... | @@ -73,7 +73,7 @@ i3GEO.pluginI3geo = { |
73 | 73 | }, |
74 | 74 | desligaCamada : function(nomecamada) { |
75 | 75 | if (typeof (console) !== 'undefined') |
76 | - console.info("i3GEO.pluginI3geo.desligaCamada('"+nomecamada+"')"); | |
76 | + console.info("i3GEO.pluginI3geo.desligaCamada('" + nomecamada + "')"); | |
77 | 77 | |
78 | 78 | if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada) { |
79 | 79 | i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada(); |
... | ... | @@ -83,7 +83,7 @@ i3GEO.pluginI3geo = { |
83 | 83 | }, |
84 | 84 | removeCamada : function(nomecamada) { |
85 | 85 | if (typeof (console) !== 'undefined') |
86 | - console.info("i3GEO.pluginI3geo.removeCamada('"+nomecamada+"')"); | |
86 | + console.info("i3GEO.pluginI3geo.removeCamada('" + nomecamada + "')"); | |
87 | 87 | |
88 | 88 | if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada) { |
89 | 89 | i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada(); |
... | ... | @@ -94,7 +94,7 @@ i3GEO.pluginI3geo = { |
94 | 94 | }, |
95 | 95 | atualizaCamada : function(nomecamada) { |
96 | 96 | if (typeof (console) !== 'undefined') |
97 | - console.info("i3GEO.pluginI3geo.atualizaCamada('"+nomecamada+"')"); | |
97 | + console.info("i3GEO.pluginI3geo.atualizaCamada('" + nomecamada + "')"); | |
98 | 98 | |
99 | 99 | if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada) { |
100 | 100 | i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada(); |
... | ... | @@ -110,7 +110,7 @@ i3GEO.pluginI3geo = { |
110 | 110 | }, |
111 | 111 | /** |
112 | 112 | * Aplica as propriedades em um objeto do tipo tema |
113 | - * | |
113 | + * | |
114 | 114 | * tema e fornecido por i3GEO.arvoreDeCamadas o ajuste das propriedades e |
115 | 115 | * necessario para que as propriedades aparecam de forma correta na arvore |
116 | 116 | * de camadas |
... | ... | @@ -123,34 +123,34 @@ i3GEO.pluginI3geo = { |
123 | 123 | }, |
124 | 124 | /** |
125 | 125 | * Function: heatmap |
126 | - * | |
126 | + * | |
127 | 127 | * Mapa de calor |
128 | - * | |
128 | + * | |
129 | 129 | * Gera um layer do tipo mapa de calor e adiciona ao mapa |
130 | - * | |
130 | + * | |
131 | 131 | * As dependências em javascript sao carregadas via script tag por |
132 | 132 | * meio de ferramentas/heatmap/openlayers_js.php |
133 | - * | |
133 | + * | |
134 | 134 | * Esse programa também obtém os dados necessários ao |
135 | 135 | * plugin |
136 | - * | |
136 | + * | |
137 | 137 | * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO |
138 | - * | |
138 | + * | |
139 | 139 | * Esse matadado deve conter uma string que será transformada em um |
140 | 140 | * objeto javascript para uso no plugin |
141 | - * | |
141 | + * | |
142 | 142 | * Exemplo: |
143 | - * | |
144 | - * "PLUGINI3GEO" '{"plugin":"heatmap","parametros":{"coluna":"teste"}}' | |
145 | - * | |
143 | + * | |
144 | + * "PLUGINI3GEO" '{"plugin":"heatmap","parametros":{"coluna":"teste","max":"10","radius":"15"}}' | |
145 | + * | |
146 | 146 | * Coluna é a que contém os dados numéricos que definem |
147 | 147 | * a quantidade de uma medida em cada ponto e é usada para gerar a |
148 | 148 | * representação. Se for vazia, considera-se o valor como 1 |
149 | - * | |
149 | + * | |
150 | 150 | * As cores das classes existentes no LAYER serão utilizadas para |
151 | 151 | * calcular as cores do mapa de calor. Se não existirem classes, |
152 | 152 | * será usado o default. |
153 | - * | |
153 | + * | |
154 | 154 | */ |
155 | 155 | heatmap : { |
156 | 156 | googlemaps : { |
... | ... | @@ -174,10 +174,11 @@ i3GEO.pluginI3geo = { |
174 | 174 | var p = i3GEO.configura.locaplic + "/ferramentas/heatmap/googlemaps_js.php", carregaJs = "nao", criaLayer; |
175 | 175 | criaLayer = function() { |
176 | 176 | var heatmap, pontos; |
177 | + | |
177 | 178 | heatmap = new HeatmapOverlay(i3GeoMap, camada.name, { |
178 | - "radius" : 15, | |
179 | + "radius" : camada.plugini3geo.parametros.radius, | |
179 | 180 | "visible" : true, |
180 | - "opacity" : 60, | |
181 | + "opacity": camada.transparency, | |
181 | 182 | "gradient" : { |
182 | 183 | "0.45" : "rgb(0,0,255)", |
183 | 184 | "0.55" : "rgb(0,255,255)", |
... | ... | @@ -193,7 +194,7 @@ i3GEO.pluginI3geo = { |
193 | 194 | }); |
194 | 195 | // i3GeoMap.overlayMapTypes.insertAt(0, heatmap); |
195 | 196 | pontos = { |
196 | - max : 10, | |
197 | + max : camada.plugini3geo.parametros.max, | |
197 | 198 | data : heatmap_dados |
198 | 199 | }; |
199 | 200 | i3GEO.janela.fechaAguarde("aguardePlugin"); |
... | ... | @@ -259,7 +260,7 @@ i3GEO.pluginI3geo = { |
259 | 260 | var p = i3GEO.configura.locaplic + "/ferramentas/heatmap/openlayers_js.php", carregaJs = "nao", criaLayer; |
260 | 261 | criaLayer = function() { |
261 | 262 | var heatmap, transformedTestData = { |
262 | - max : 10, | |
263 | + max : camada.plugini3geo.parametros.max, | |
263 | 264 | data : [] |
264 | 265 | }, data = heatmap_dados, datalen = heatmap_dados.length, nudata = []; |
265 | 266 | // in order to use the OpenLayers Heatmap Layer we have |
... | ... | @@ -277,8 +278,9 @@ i3GEO.pluginI3geo = { |
277 | 278 | transformedTestData.data = nudata; |
278 | 279 | // create our heatmap layer |
279 | 280 | heatmap = new OpenLayers.Layer.Heatmap(camada.name, i3geoOL, i3geoOL.baseLayer, { |
280 | - visible : true, | |
281 | - radius : 10, | |
281 | + "visible" : true, | |
282 | + "opacity": camada.transparency, | |
283 | + "radius" : camada.plugini3geo.parametros.radius, | |
282 | 284 | "gradient" : { |
283 | 285 | "0.45" : "rgb(0,0,255)", |
284 | 286 | "0.55" : "rgb(0,255,255)", |
... | ... | @@ -293,7 +295,6 @@ i3GEO.pluginI3geo = { |
293 | 295 | } |
294 | 296 | }, { |
295 | 297 | isBaseLayer : false, |
296 | - opacity : 0.3, | |
297 | 298 | projection : new OpenLayers.Projection("EPSG:4326") |
298 | 299 | }); |
299 | 300 | heatmap.ligaCamada = function() { | ... | ... |
classesjs/dicionario.js
... | ... | @@ -536,7 +536,7 @@ en:"drag to change the order", |
536 | 536 | es:"Arrastre para cambiar el orden", |
537 | 537 | it:"" |
538 | 538 | }], |
539 | - | |
539 | + | |
540 | 540 | "t9":[ |
541 | 541 | { |
542 | 542 | pt:"A escala do tema é compatível com a escala do mapa", |
... | ... | @@ -2249,6 +2249,12 @@ pt:"Cópia", |
2249 | 2249 | en:"", |
2250 | 2250 | es:"", |
2251 | 2251 | it:"" |
2252 | +}], | |
2253 | +"x102": [ | |
2254 | +{ | |
2255 | +pt: "Mapa de calor", | |
2256 | +en:"Heatmap", | |
2257 | +es:"" | |
2252 | 2258 | }] |
2253 | 2259 | }; |
2254 | 2260 | //YAHOO.log("carregou dicionario", "Classes i3geo"); | ... | ... |
... | ... | @@ -0,0 +1,17 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<projectDescription> | |
3 | + <name>ferramentas heatmap</name> | |
4 | + <comment></comment> | |
5 | + <projects> | |
6 | + </projects> | |
7 | + <buildSpec> | |
8 | + <buildCommand> | |
9 | + <name>org.eclipse.wst.jsdt.core.javascriptValidator</name> | |
10 | + <arguments> | |
11 | + </arguments> | |
12 | + </buildCommand> | |
13 | + </buildSpec> | |
14 | + <natures> | |
15 | + <nature>org.eclipse.wst.jsdt.core.jsNature</nature> | |
16 | + </natures> | |
17 | +</projectDescription> | ... | ... |
ferramentas/heatmap/.settings/org.eclipse.wst.jsdt.ui.superType.container
0 → 100644
ferramentas/heatmap/.settings/org.eclipse.wst.jsdt.ui.superType.name
0 → 100644
temas/_lmapadecalor.map
... | ... | @@ -8,12 +8,13 @@ MAP |
8 | 8 | "TIP" "TIPO,ANOCRIA,NOMELOC" |
9 | 9 | "CLASSE" "SIM" |
10 | 10 | "TEMA" "Localidades (usar com mapa de calor)" |
11 | - "PLUGINI3GEO" '{"plugin":"heatmap","parametros":{"coluna":""}}' #se coluna for vazio, assume valor 1 | |
11 | + "PLUGINI3GEO" '{"plugin":"heatmap","parametros":{"coluna":"","radius":15,"max":10}}' #se coluna for vazio, assume valor 1 | |
12 | 12 | END # METADATA |
13 | 13 | NAME "_lmapadecalor" |
14 | 14 | STATUS OFF |
15 | 15 | TEMPLATE "none.htm" |
16 | 16 | TILEITEM "location" |
17 | + OPACITY 100 | |
17 | 18 | TYPE POINT |
18 | 19 | UNITS METERS |
19 | 20 | CLASS | ... | ... |