Commit 6df7b18fbd762db83584f6c082dc5558ccbd53a1
1 parent
f7901853
Exists in
master
and in
7 other branches
Inclusão das telas da interface do mapa interativo que usa o sistema de metadados estatísticos
Showing
6 changed files
with
332 additions
and
88 deletions
Show diff stats
admin/admin.db
No preview for this file type
admin/php/classe_metaestat.php
@@ -41,6 +41,7 @@ class Metaestat{ | @@ -41,6 +41,7 @@ class Metaestat{ | ||
41 | protected $dbhw; | 41 | protected $dbhw; |
42 | protected $convUTF; | 42 | protected $convUTF; |
43 | public $dir_tmp; | 43 | public $dir_tmp; |
44 | + public $nomecache; | ||
44 | /* | 45 | /* |
45 | Function: __construct | 46 | Function: __construct |
46 | 47 | ||
@@ -63,10 +64,14 @@ class Metaestat{ | @@ -63,10 +64,14 @@ class Metaestat{ | ||
63 | if(!empty($esquemaadmin)){ | 64 | if(!empty($esquemaadmin)){ |
64 | $this->esquemaadmin = $esquemaadmin."."; | 65 | $this->esquemaadmin = $esquemaadmin."."; |
65 | } | 66 | } |
67 | + $this->nomecache = $this->nomeCache(); | ||
66 | } | 68 | } |
67 | function __destruct(){ | 69 | function __destruct(){ |
68 | $this->fechaConexao; | 70 | $this->fechaConexao; |
69 | } | 71 | } |
72 | + function nomeCache(){ | ||
73 | + return md5(implode("x",$_REQUEST)); | ||
74 | + } | ||
70 | function nomeRandomico($n=10){ | 75 | function nomeRandomico($n=10){ |
71 | $nomes = ""; | 76 | $nomes = ""; |
72 | $a = 'azertyuiopqsdfghjklmwxcvbnABCDEFGHIJKLMNOPQRSTUVWXYZ'; | 77 | $a = 'azertyuiopqsdfghjklmwxcvbnABCDEFGHIJKLMNOPQRSTUVWXYZ'; |
@@ -262,81 +267,83 @@ class Metaestat{ | @@ -262,81 +267,83 @@ class Metaestat{ | ||
262 | return array("sqlagrupamento"=>$sqlagrupamento,"sql"=>$sql,"sqlmapserver"=>$sqlgeo,"filtro"=>$filtro,"colunas"=>$colunas); | 267 | return array("sqlagrupamento"=>$sqlagrupamento,"sql"=>$sql,"sqlmapserver"=>$sqlgeo,"filtro"=>$filtro,"colunas"=>$colunas); |
263 | } | 268 | } |
264 | function mapfileMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$tipolayer="polygon",$titulolayer="",$id_classificacao="",$agruparpor=""){ | 269 | function mapfileMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$tipolayer="polygon",$titulolayer="",$id_classificacao="",$agruparpor=""){ |
265 | - if(empty($tipolayer)){ | ||
266 | - $tipolayer = "polygon"; | ||
267 | - } | ||
268 | - $meta = $this->listaMedidaVariavel("",$id_medida_variavel); | ||
269 | - if($titulolayer == ""){ | ||
270 | - $titulolayer = $meta["nomemedida"]; | ||
271 | - } | ||
272 | - $titulolayer = mb_convert_encoding($titulolayer,"ISO-8859-1",mb_detect_encoding($titulolayer)); | ||
273 | - $conexao = $this->listaConexao($meta["codigo_estat_conexao"],true); | ||
274 | - $conexao = "user=".$conexao["usuario"]." password=".$conexao["senha"]." dbname=".$conexao["bancodedados"]." host=".$conexao["host"]." port=".$conexao["porta"].""; | ||
275 | - //echo $conexao;exit; | ||
276 | - $sql = $this->sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor,$tipolayer); | ||
277 | - $sqlf = $sql["sqlmapserver"]; | ||
278 | - if(!empty($filtro)){ | ||
279 | - $sqlf = str_replace(") as foo"," AND ".$filtro." ) as foo",$sqlf); | ||
280 | - } | ||
281 | - $classes = ""; | ||
282 | - if(!empty($id_classificacao)){ | ||
283 | - $classes = $this->listaClasseClassificacao($id_classificacao); | ||
284 | - } | ||
285 | - $rand = $this->nomeRandomico(); | ||
286 | - $arq = $this->dir_tmp."/".$rand.".map"; | ||
287 | - $dados[] = "MAP"; | ||
288 | - $dados[] = 'SYMBOLSET "'.$this->locaplic.'/symbols/simbolosv6.sym"'; | ||
289 | - $dados[] = 'FONTSET "'.$this->locaplic.'/symbols/fontes.txt"'; | ||
290 | - $dados[] = "LAYER"; | ||
291 | - $dados[] = ' NAME "'.$rand.'"'; | ||
292 | - $dados[] = " TYPE $tipolayer"; | ||
293 | - $dados[] = ' DATA "'.$sqlf.'"'; | ||
294 | - $dados[] = ' CONNECTION "'.$conexao.'"'; | ||
295 | - $dados[] = ' CONNECTIONTYPE POSTGIS'; | ||
296 | - $dados[] = ' STATUS OFF'; | ||
297 | - $dados[] = ' METADATA'; | ||
298 | - $dados[] = ' TEMA "'.$titulolayer.'"'; | ||
299 | - $dados[] = ' CLASSE "SIM"'; | ||
300 | - $dados[] = ' END'; | ||
301 | - if($classes == ""){ | ||
302 | - $dados[] = ' CLASS'; | ||
303 | - $dados[] = ' NAME ""'; | ||
304 | - $dados[] = ' STYLE'; | ||
305 | - $dados[] = ' COLOR 200 0 0'; | ||
306 | - $dados[] = ' END'; | ||
307 | - $dados[] = ' END'; | ||
308 | - } | ||
309 | - else{ | ||
310 | - foreach($classes as $classe){ | ||
311 | - //var_dump($classe);exit; | 270 | + //$rand = $this->nomeRandomico(); |
271 | + $arq = $this->dir_tmp."/".$this->nomecache.".map"; | ||
272 | + if(!file_exists($arq)){ | ||
273 | + if(empty($tipolayer)){ | ||
274 | + $tipolayer = "polygon"; | ||
275 | + } | ||
276 | + $meta = $this->listaMedidaVariavel("",$id_medida_variavel); | ||
277 | + if($titulolayer == ""){ | ||
278 | + $titulolayer = $meta["nomemedida"]; | ||
279 | + } | ||
280 | + $titulolayer = mb_convert_encoding($titulolayer,"ISO-8859-1",mb_detect_encoding($titulolayer)); | ||
281 | + $conexao = $this->listaConexao($meta["codigo_estat_conexao"],true); | ||
282 | + $conexao = "user=".$conexao["usuario"]." password=".$conexao["senha"]." dbname=".$conexao["bancodedados"]." host=".$conexao["host"]." port=".$conexao["porta"].""; | ||
283 | + //echo $conexao;exit; | ||
284 | + $sql = $this->sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor,$tipolayer); | ||
285 | + $sqlf = $sql["sqlmapserver"]; | ||
286 | + if(!empty($filtro)){ | ||
287 | + $sqlf = str_replace(") as foo"," AND ".$filtro." ) as foo",$sqlf); | ||
288 | + } | ||
289 | + $classes = ""; | ||
290 | + if(!empty($id_classificacao)){ | ||
291 | + $classes = $this->listaClasseClassificacao($id_classificacao); | ||
292 | + } | ||
293 | + $dados[] = "MAP"; | ||
294 | + $dados[] = 'SYMBOLSET "'.$this->locaplic.'/symbols/simbolosv6.sym"'; | ||
295 | + $dados[] = 'FONTSET "'.$this->locaplic.'/symbols/fontes.txt"'; | ||
296 | + $dados[] = "LAYER"; | ||
297 | + $dados[] = ' NAME "'.$this->nomecache.'"'; | ||
298 | + $dados[] = " TYPE $tipolayer"; | ||
299 | + $dados[] = ' DATA "'.$sqlf.'"'; | ||
300 | + $dados[] = ' CONNECTION "'.$conexao.'"'; | ||
301 | + $dados[] = ' CONNECTIONTYPE POSTGIS'; | ||
302 | + $dados[] = ' STATUS OFF'; | ||
303 | + $dados[] = ' METADATA'; | ||
304 | + $dados[] = ' TEMA "'.$titulolayer.'"'; | ||
305 | + $dados[] = ' CLASSE "SIM"'; | ||
306 | + $dados[] = ' END'; | ||
307 | + if($classes == ""){ | ||
312 | $dados[] = ' CLASS'; | 308 | $dados[] = ' CLASS'; |
313 | - $dados[] = ' NAME "'.mb_convert_encoding($classe["titulo"],"ISO-8859-1",mb_detect_encoding($titulolayer)).'"'; | ||
314 | - $dados[] = ' EXPRESSION '.$classe["expressao"]; | 309 | + $dados[] = ' NAME ""'; |
315 | $dados[] = ' STYLE'; | 310 | $dados[] = ' STYLE'; |
316 | - $dados[] = ' COLOR '.$classe["vermelho"].' '.$classe["verde"].' '.$classe["azul"]; | ||
317 | - if(!empty($classe["tamanho"])){ | ||
318 | - $dados[] = ' SIZE '.$classe["tamanho"]; | ||
319 | - } | ||
320 | - if(!empty($classe["simbolo"])){ | ||
321 | - $dados[] = ' SYMBOL '.$classe["simbolo"]; | ||
322 | - } | ||
323 | - if(!empty($classe["otamanho"])){ | ||
324 | - $dados[] = ' OUTLINEWIDTH '.$classe["otamanho"]; | ||
325 | - } | ||
326 | - if(!empty($classe["overmelho"]) || $classe["overmelho"] == "0"){ | ||
327 | - $dados[] = ' OUTLINECOLOR '.$classe["overmelho"].' '.$classe["overde"].' '.$classe["oazul"]; | ||
328 | - } | 311 | + $dados[] = ' COLOR 200 0 0'; |
329 | $dados[] = ' END'; | 312 | $dados[] = ' END'; |
330 | $dados[] = ' END'; | 313 | $dados[] = ' END'; |
331 | } | 314 | } |
315 | + else{ | ||
316 | + foreach($classes as $classe){ | ||
317 | + //var_dump($classe);exit; | ||
318 | + $dados[] = ' CLASS'; | ||
319 | + $dados[] = ' NAME "'.mb_convert_encoding($classe["titulo"],"ISO-8859-1",mb_detect_encoding($titulolayer)).'"'; | ||
320 | + $dados[] = ' EXPRESSION '.$classe["expressao"]; | ||
321 | + $dados[] = ' STYLE'; | ||
322 | + $dados[] = ' COLOR '.$classe["vermelho"].' '.$classe["verde"].' '.$classe["azul"]; | ||
323 | + if(!empty($classe["tamanho"])){ | ||
324 | + $dados[] = ' SIZE '.$classe["tamanho"]; | ||
325 | + } | ||
326 | + if(!empty($classe["simbolo"])){ | ||
327 | + $dados[] = ' SYMBOL '.$classe["simbolo"]; | ||
328 | + } | ||
329 | + if(!empty($classe["otamanho"])){ | ||
330 | + $dados[] = ' OUTLINEWIDTH '.$classe["otamanho"]; | ||
331 | + } | ||
332 | + if(!empty($classe["overmelho"]) || $classe["overmelho"] == "0"){ | ||
333 | + $dados[] = ' OUTLINECOLOR '.$classe["overmelho"].' '.$classe["overde"].' '.$classe["oazul"]; | ||
334 | + } | ||
335 | + $dados[] = ' END'; | ||
336 | + $dados[] = ' END'; | ||
337 | + } | ||
338 | + } | ||
339 | + $dados[] = "END"; | ||
340 | + $dados[] = "END"; | ||
341 | + $fp = fopen($arq,"w"); | ||
342 | + foreach ($dados as $dado){ | ||
343 | + fwrite($fp,$dado."\n"); | ||
344 | + } | ||
332 | } | 345 | } |
333 | - $dados[] = "END"; | ||
334 | - $dados[] = "END"; | ||
335 | - $fp = fopen($arq,"w"); | ||
336 | - foreach ($dados as $dado){ | ||
337 | - fwrite($fp,$dado."\n"); | ||
338 | - } | ||
339 | - return array("mapfile"=>$arq,"layer"=>$rand,"titulolayer"=>$titulolayer); | 346 | + return array("mapfile"=>$arq,"layer"=>$this->nomecache,"titulolayer"=>$titulolayer); |
340 | } | 347 | } |
341 | function mapfileCompleto($mapfile){ | 348 | function mapfileCompleto($mapfile){ |
342 | $f = $this->base; | 349 | $f = $this->base; |
classesjs/classe_arvoredecamadas.js
@@ -745,11 +745,14 @@ i3GEO.arvoreDeCamadas = { | @@ -745,11 +745,14 @@ i3GEO.arvoreDeCamadas = { | ||
745 | n = lista.length; | 745 | n = lista.length; |
746 | for(i=0;i<n;i+=1){ | 746 | for(i=0;i<n;i+=1){ |
747 | c = i3GEO.arvoreDeCamadas.capturaCheckBox(lista[i]); | 747 | c = i3GEO.arvoreDeCamadas.capturaCheckBox(lista[i]); |
748 | - if(c.checked !== status) | ||
749 | - {aplica = true;} | ||
750 | - c.checked = status; | ||
751 | - if(aplica === true) | ||
752 | - {c.onclick.call();} | 748 | + if(c){ |
749 | + if(c.checked !== status) | ||
750 | + {aplica = true;} | ||
751 | + c.checked = status; | ||
752 | + //TODO isso funciona no IE? | ||
753 | + if(aplica === true) | ||
754 | + {c.onclick();} | ||
755 | + } | ||
753 | } | 756 | } |
754 | }, | 757 | }, |
755 | /* | 758 | /* |
classesjs/classe_cartograma.js
@@ -41,15 +41,128 @@ i3GEO.cartograma = { | @@ -41,15 +41,128 @@ i3GEO.cartograma = { | ||
41 | LEFT: 100, | 41 | LEFT: 100, |
42 | LARGURA: 260, | 42 | LARGURA: 260, |
43 | ALTURA: 300, | 43 | ALTURA: 300, |
44 | + //lista das camadas que foram adicionadas ao mapa | ||
45 | + CAMADAS: [], | ||
44 | inicia: function(iddiv){ | 46 | inicia: function(iddiv){ |
45 | - if(!iddiv){ | ||
46 | - iddiv = "i3geoCartoParametros_corpo"; | 47 | + i3GEO.cartograma.principal.inicia(iddiv); |
48 | + }, | ||
49 | + desligaCamadas: function(){ | ||
50 | + if(i3GEO.cartograma.CAMADAS.length > 0){ | ||
51 | + i3GEO.arvoreDeCamadas.ligaDesligaTemas(i3GEO.cartograma.CAMADAS.join(","),false); | ||
52 | + } | ||
53 | + }, | ||
54 | + adicionaCamada: function(){ | ||
55 | + //function mapfileMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$tipolayer="polygon",$titulolayer="",$id_classificacao="",$agruparpor=""){ | ||
56 | + var v = i3GEO.cartograma.verificaParametros(), | ||
57 | + temp = function(retorno){ | ||
58 | + if(i3GEO.arvoreDeCamadas.pegaTema(retorno.layer) == ""){ | ||
59 | + i3GEO.cartograma.desligaCamadas(); | ||
60 | + i3GEO.php.adtema(i3GEO.atualiza,retorno.mapfile); | ||
61 | + i3GEO.cartograma.CAMADAS.push(retorno.layer); | ||
62 | + } | ||
63 | + }; | ||
64 | + if(v != true){ | ||
65 | + alert("erro: "+v); | ||
66 | + } | ||
67 | + i3GEO.php.mapfileMedidaVariavel( | ||
68 | + temp, | ||
69 | + $i("i3geoCartoComboMedidasVariavel").value, | ||
70 | + i3GEO.cartograma.defineFiltro(), | ||
71 | + 0, | ||
72 | + $i("i3geoCartoComboTipoRep").value, | ||
73 | + i3GEO.cartograma.defineTitulo(), | ||
74 | + $i("i3geoCartoComboTipoClassificacao").value, | ||
75 | + i3GEO.cartograma.defineAgruparPor() | ||
76 | + ); | ||
77 | + }, | ||
78 | + defineTitulo: function(){ | ||
79 | + //se nao tiver parametros, filtro e vazio | ||
80 | + if(i3GEO.cartograma.parametros.dados.length == 0){ | ||
81 | + return ""; | ||
82 | + } | ||
83 | + //se tiver parametro e todos estiverem vazios, aborta | ||
84 | + var i,n,c,titulo, | ||
85 | + t=[], | ||
86 | + dados = i3GEO.cartograma.parametros.dados; | ||
87 | + titulo = $i("i3geoCartoComboVariavel").options[$i("i3geoCartoComboVariavel").selectedIndex].label +" - "+ | ||
88 | + $i("i3geoCartoComboMedidasVariavel").options[$i("i3geoCartoComboMedidasVariavel").selectedIndex].label +" - "+ | ||
89 | + $i("i3geoCartoComboTipoRep").options[$i("i3geoCartoComboTipoRep").selectedIndex].label +" - "+ | ||
90 | + $i("i3geoCartoComboTipoClassificacao").options[$i("i3geoCartoComboTipoClassificacao").selectedIndex].label; | ||
91 | + n = dados.length; | ||
92 | + for(i=0;i<n;i++){ | ||
93 | + c = $i("comboparametro_"+dados[i].id_parametro_medida+"_"+dados[i].id_pai); | ||
94 | + if(c && c.value != ""){ | ||
95 | + t.push(dados[i].nome+" = "+c.value); | ||
96 | + } | ||
97 | + } | ||
98 | + if(t.length > 0){ | ||
99 | + return titulo+" - "+t.join(", "); | ||
100 | + } | ||
101 | + else{ | ||
102 | + return titulo; | ||
103 | + } | ||
104 | + }, | ||
105 | + defineFiltro: function(){ | ||
106 | + //se nao tiver parametros, filtro e vazio | ||
107 | + if(i3GEO.cartograma.parametros.dados.length == 0){ | ||
108 | + return ""; | ||
109 | + } | ||
110 | + //se tiver parametro e todos estiverem vazios, aborta | ||
111 | + var i,n,c, | ||
112 | + t=[], | ||
113 | + dados = i3GEO.cartograma.parametros.dados; | ||
114 | + n = dados.length; | ||
115 | + for(i=0;i<n;i++){ | ||
116 | + c = $i("comboparametro_"+dados[i].id_parametro_medida+"_"+dados[i].id_pai); | ||
117 | + if(c && c.value != ""){ | ||
118 | + t.push(dados[i].coluna+"="+c.value); | ||
119 | + } | ||
120 | + } | ||
121 | + if(t.length > 0){ | ||
122 | + return t.join(" and "); | ||
47 | } | 123 | } |
48 | - if(i3GEO.cartograma.INTERFACE == "flutuante"){ | ||
49 | - i3GEO.cartograma.principal.abreJanela(); | 124 | + else{ |
125 | + return ""; | ||
50 | } | 126 | } |
51 | - $i(iddiv).innerHTML = i3GEO.cartograma.principal.html(); | ||
52 | - i3GEO.cartograma.principal.comboVariaveis(); | 127 | + }, |
128 | + defineAgruparPor: function(){ | ||
129 | + //se nao tiver parametros, filtro e vazio | ||
130 | + if(i3GEO.cartograma.parametros.dados.length == 0){ | ||
131 | + return ""; | ||
132 | + } | ||
133 | + //se tiver parametro e todos estiverem vazios, aborta | ||
134 | + var i,n,c, | ||
135 | + t=[], | ||
136 | + dados = i3GEO.cartograma.parametros.dados; | ||
137 | + n = dados.length; | ||
138 | + for(i=0;i<n;i++){ | ||
139 | + c = $i("comboparametro_"+dados[i].id_parametro_medida+"_"+dados[i].id_pai); | ||
140 | + if(c && c.value != ""){ | ||
141 | + t.push(dados[i].coluna); | ||
142 | + } | ||
143 | + } | ||
144 | + if(t.length > 0){ | ||
145 | + return t.join(","); | ||
146 | + } | ||
147 | + else{ | ||
148 | + return ""; | ||
149 | + } | ||
150 | + }, | ||
151 | + verificaParametros: function(){ | ||
152 | + var ok = true, | ||
153 | + combos = ["i3geoCartoComboVariavel","i3geoCartoComboMedidasVariavel","i3geoCartoComboTipoRep","i3geoCartoComboTipoClassificacao"], | ||
154 | + n = combos.length, | ||
155 | + i,temp; | ||
156 | + for(i=0;i<n;i++){ | ||
157 | + temp = $i(combos[i]); | ||
158 | + if(!temp){ | ||
159 | + return combos[i]; | ||
160 | + } | ||
161 | + if(temp.value == ""){ | ||
162 | + return combos[i]; | ||
163 | + } | ||
164 | + } | ||
165 | + return ok; | ||
53 | }, | 166 | }, |
54 | aguarde: function(obj){ | 167 | aguarde: function(obj){ |
55 | if(!obj){ | 168 | if(!obj){ |
@@ -69,6 +182,16 @@ i3GEO.cartograma = { | @@ -69,6 +182,16 @@ i3GEO.cartograma = { | ||
69 | } | 182 | } |
70 | }, | 183 | }, |
71 | principal: { | 184 | principal: { |
185 | + inicia: function(iddiv){ | ||
186 | + if(!iddiv){ | ||
187 | + iddiv = "i3geoCartoParametros_corpo"; | ||
188 | + } | ||
189 | + if(i3GEO.cartograma.INTERFACE == "flutuante"){ | ||
190 | + i3GEO.cartograma.principal.abreJanela(); | ||
191 | + } | ||
192 | + $i(iddiv).innerHTML = i3GEO.cartograma.principal.html(); | ||
193 | + i3GEO.cartograma.principal.comboVariaveis(); | ||
194 | + }, | ||
72 | abreJanela: function(){ | 195 | abreJanela: function(){ |
73 | var cabecalho,minimiza,imagemxy,janela; | 196 | var cabecalho,minimiza,imagemxy,janela; |
74 | if (!$i("i3geoCartoParametros")){ | 197 | if (!$i("i3geoCartoParametros")){ |
@@ -161,7 +284,7 @@ i3GEO.cartograma = { | @@ -161,7 +284,7 @@ i3GEO.cartograma = { | ||
161 | var onde = $i("i3geoCartoVariaveis"), | 284 | var onde = $i("i3geoCartoVariaveis"), |
162 | temp = function(dados){ | 285 | temp = function(dados){ |
163 | var n = dados.length, | 286 | var n = dados.length, |
164 | - ins = '<p><input type="button" id="i3GEOcartoBotaoInfo" onclick="i3GEO.cartograma.principal.maisInfo()" value="'+$trad("x60")+'"class="paragrafo" style="cursor:pointer;color:blue" /></p><br><p class="paragrafo" >'+$trad("x58")+'</p>', | 287 | + ins = '<p style="text-align:left;"><input type="button" id="i3GEOcartoBotaoInfo" onclick="i3GEO.cartograma.principal.maisInfo()" value="'+$trad("x60")+'"class="paragrafo" style="width:200px;cursor:pointer;color:blue" /></p><br><p class="paragrafo" >'+$trad("x58")+'</p>', |
165 | i; | 288 | i; |
166 | ins += "<select id='i3geoCartoComboVariavel' style='box-shadow:0 1px 5px gray;width:"+(i3GEO.cartograma.LARGURA - 20)+"px' onchange='i3GEO.cartograma.principal.comboVariaveisOnchange(this)'><option value=''>---</option>"; | 289 | ins += "<select id='i3geoCartoComboVariavel' style='box-shadow:0 1px 5px gray;width:"+(i3GEO.cartograma.LARGURA - 20)+"px' onchange='i3GEO.cartograma.principal.comboVariaveisOnchange(this)'><option value=''>---</option>"; |
167 | for(i=0;i<n;i++){ | 290 | for(i=0;i<n;i++){ |
@@ -174,6 +297,7 @@ i3GEO.cartograma = { | @@ -174,6 +297,7 @@ i3GEO.cartograma = { | ||
174 | "i3GEOcartoBotaoInfo", | 297 | "i3GEOcartoBotaoInfo", |
175 | {onclick:{fn: i3GEO.cartograma.principal.maisInfo}} | 298 | {onclick:{fn: i3GEO.cartograma.principal.maisInfo}} |
176 | ); | 299 | ); |
300 | + $i("i3GEOcartoBotaoInfo-button").style.width = i3GEO.cartograma.LARGURA - 25 + "px"; | ||
177 | } | 301 | } |
178 | return ins; | 302 | return ins; |
179 | }; | 303 | }; |
@@ -195,7 +319,7 @@ i3GEO.cartograma = { | @@ -195,7 +319,7 @@ i3GEO.cartograma = { | ||
195 | var n = dados.length, | 319 | var n = dados.length, |
196 | ins = '<p class="paragrafo" >'+$trad("x59")+'</p>', | 320 | ins = '<p class="paragrafo" >'+$trad("x59")+'</p>', |
197 | i; | 321 | i; |
198 | - ins += "<select style='width:"+(i3GEO.cartograma.LARGURA - 20)+"px' onchange='i3GEO.cartograma.principal.comboMedidaVariavelOnchange(this)'><option value=''>---</option>"; | 322 | + ins += "<select id='i3geoCartoComboMedidasVariavel' style='width:"+(i3GEO.cartograma.LARGURA - 20)+"px' onchange='i3GEO.cartograma.principal.comboMedidaVariavelOnchange(this)'><option value=''>---</option>"; |
199 | for(i=0;i<n;i++){ | 323 | for(i=0;i<n;i++){ |
200 | ins += "<option value='"+dados[i].id_medida_variavel+"'>"+dados[i].nomemedida+"</option>"; | 324 | ins += "<option value='"+dados[i].id_medida_variavel+"'>"+dados[i].nomemedida+"</option>"; |
201 | } | 325 | } |
@@ -209,7 +333,7 @@ i3GEO.cartograma = { | @@ -209,7 +333,7 @@ i3GEO.cartograma = { | ||
209 | i3GEO.php.listaMedidaVariavel(codigo_variavel,temp); | 333 | i3GEO.php.listaMedidaVariavel(codigo_variavel,temp); |
210 | }, | 334 | }, |
211 | comboMedidaVariavelOnchange: function(combo){ | 335 | comboMedidaVariavelOnchange: function(combo){ |
212 | - i3GEO.cartograma.classes.abreJanela(); | 336 | + i3GEO.cartograma.classes.inicia(); |
213 | if(combo.value != ""){ | 337 | if(combo.value != ""){ |
214 | i3GEO.cartograma.parametros.lista(combo.value); | 338 | i3GEO.cartograma.parametros.lista(combo.value); |
215 | } | 339 | } |
@@ -261,23 +385,23 @@ i3GEO.cartograma = { | @@ -261,23 +385,23 @@ i3GEO.cartograma = { | ||
261 | novoel.id = idcombo; | 385 | novoel.id = idcombo; |
262 | novoel.className = "paragrafo"; | 386 | novoel.className = "paragrafo"; |
263 | onde.appendChild(novoel); | 387 | onde.appendChild(novoel); |
264 | - i3GEO.cartograma.parametros.valoresCombo(dados[i].id_parametro_medida,dados[i].nome,nivel,onde); | 388 | + i3GEO.cartograma.parametros.valoresCombo(dados[i].id_parametro_medida,dados[i].nome,nivel,onde,idcombo); |
265 | } | 389 | } |
266 | } | 390 | } |
267 | } | 391 | } |
268 | }, | 392 | }, |
269 | - valoresCombo: function(id_parametro_medida,titulo,nivel,onde){ | 393 | + valoresCombo: function(id_parametro_medida,titulo,nivel,onde,idcombo){ |
270 | var temp = function(dados){ | 394 | var temp = function(dados){ |
271 | var n = dados.length, | 395 | var n = dados.length, |
272 | ins = "", | 396 | ins = "", |
273 | - oc = "'i3GEO.cartograma.parametros.combos(\""+id_parametro_medida+"\")'", | 397 | + oc = "'i3GEO.cartograma.parametros.antesCombo();i3GEO.cartograma.parametros.combos(\""+id_parametro_medida+"\")'", |
274 | filho = i3GEO.cartograma.parametros.retornaIdFilho(id_parametro_medida), | 398 | filho = i3GEO.cartograma.parametros.retornaIdFilho(id_parametro_medida), |
275 | i,novoel; | 399 | i,novoel; |
276 | if(filho == false){ | 400 | if(filho == false){ |
277 | oc = ""; | 401 | oc = ""; |
278 | } | 402 | } |
279 | ins = "<p class=paragrafo >"+titulo+"</p>"; | 403 | ins = "<p class=paragrafo >"+titulo+"</p>"; |
280 | - ins += "<select style='background:beige;width:"+(i3GEO.cartograma.LARGURA - 20)+"px' onchange="+oc+" ><option value=''>---</option>"; | 404 | + ins += "<select id='combo"+idcombo+"' style='background:beige;width:"+(i3GEO.cartograma.LARGURA - 20)+"px' onchange="+oc+" ><option value=''>---</option>"; |
281 | for(i=0;i<n;i++){ | 405 | for(i=0;i<n;i++){ |
282 | ins += "<option value='"+dados[i]+"'>"+dados[i]+"</option>"; | 406 | ins += "<option value='"+dados[i]+"'>"+dados[i]+"</option>"; |
283 | } | 407 | } |
@@ -290,6 +414,11 @@ i3GEO.cartograma = { | @@ -290,6 +414,11 @@ i3GEO.cartograma = { | ||
290 | }; | 414 | }; |
291 | i3GEO.php.listaValoresParametroMedidaVariavel(id_parametro_medida,temp); | 415 | i3GEO.php.listaValoresParametroMedidaVariavel(id_parametro_medida,temp); |
292 | }, | 416 | }, |
417 | + antesCombo: function(){ | ||
418 | + if(!$i("i3geoCartoClasses_corpo")){ | ||
419 | + i3GEO.cartograma.classes.inicia(); | ||
420 | + } | ||
421 | + }, | ||
293 | //retorna o id do parametro que e filho de um outro parametro | 422 | //retorna o id do parametro que e filho de um outro parametro |
294 | retornaIdFilho:function(pai){ | 423 | retornaIdFilho:function(pai){ |
295 | var dados = i3GEO.cartograma.parametros.dados, | 424 | var dados = i3GEO.cartograma.parametros.dados, |
@@ -316,6 +445,21 @@ i3GEO.cartograma = { | @@ -316,6 +445,21 @@ i3GEO.cartograma = { | ||
316 | } | 445 | } |
317 | }, | 446 | }, |
318 | classes:{ | 447 | classes:{ |
448 | + inicia: function(iddiv){ | ||
449 | + if(!$i("i3geoCartoComboMedidasVariavel")){ | ||
450 | + alert("erro: i3geoCartoComboMedidasVariavel???"); | ||
451 | + return; | ||
452 | + } | ||
453 | + if(!iddiv){ | ||
454 | + iddiv = "i3geoCartoClasses_corpo"; | ||
455 | + } | ||
456 | + if(i3GEO.cartograma.INTERFACE == "flutuante"){ | ||
457 | + i3GEO.cartograma.classes.abreJanela(); | ||
458 | + } | ||
459 | + $i(iddiv).innerHTML = i3GEO.cartograma.classes.html(); | ||
460 | + i3GEO.cartograma.classes.comboTipoRep(); | ||
461 | + i3GEO.cartograma.classes.comboTipoClassificacao(); | ||
462 | + }, | ||
319 | abreJanela: function(){ | 463 | abreJanela: function(){ |
320 | var cabecalho,minimiza,imagemxy,janela; | 464 | var cabecalho,minimiza,imagemxy,janela; |
321 | if (!$i("i3geoCartoClasses")){ | 465 | if (!$i("i3geoCartoClasses")){ |
@@ -350,10 +494,61 @@ i3GEO.cartograma = { | @@ -350,10 +494,61 @@ i3GEO.cartograma = { | ||
350 | }, | 494 | }, |
351 | html: function(){ | 495 | html: function(){ |
352 | var ins = '<div id="i3geoCartoClassesContainer" style="margin-left:5px;">' + | 496 | var ins = '<div id="i3geoCartoClassesContainer" style="margin-left:5px;">' + |
353 | - '<div class="paragrafo" id="i3geoCartoClasses" >' + | 497 | + '<div class="paragrafo" id="i3geoCartoTipoRep" >' + |
498 | + '</div>' + | ||
499 | + '<div class="paragrafo" id="i3geoCartoTipoClassificacao" >' + | ||
354 | '</div>' + | 500 | '</div>' + |
355 | '</div>'; | 501 | '</div>'; |
356 | return ins; | 502 | return ins; |
503 | + }, | ||
504 | + comboTipoRep: function(){ | ||
505 | + var onde = $i("i3geoCartoTipoRep"), | ||
506 | + ins,i, | ||
507 | + dados = [ | ||
508 | + {"codigo":"polygon","nome":"polígonos"}, | ||
509 | + {"codigo":"point","nome":"pontos"} | ||
510 | + ], | ||
511 | + n = dados.length; | ||
512 | + ins = '<p style="text-align:left;"><input type="button" id="i3GEOcartoBotaoAdicionarCamada" onclick="i3GEO.cartograma.principal.maisInfo()" value="'+$trad("x64")+'"class="paragrafo" style="cursor:pointer;color:blue" /></p>' + | ||
513 | + '<br><p class="paragrafo" >'+$trad("x65")+'</p>' + | ||
514 | + "<select id='i3geoCartoComboTipoRep' style='box-shadow:0 1px 5px gray;width:"+(i3GEO.cartograma.LARGURA - 20)+"px' onchange=''>"; | ||
515 | + for(i=0;i<n;i++){ | ||
516 | + ins += "<option value='"+dados[i].codigo+"'>"+dados[i].nome+"</option>"; | ||
517 | + } | ||
518 | + ins += "</select>"; | ||
519 | + if(onde){ | ||
520 | + onde.innerHTML = ins; | ||
521 | + new YAHOO.widget.Button( | ||
522 | + "i3GEOcartoBotaoAdicionarCamada", | ||
523 | + {onclick:{fn: i3GEO.cartograma.adicionaCamada}} | ||
524 | + ); | ||
525 | + $i("i3GEOcartoBotaoAdicionarCamada-button").style.width = i3GEO.cartograma.LARGURA - 25 + "px"; | ||
526 | + } | ||
527 | + return ins; | ||
528 | + }, | ||
529 | + comboTipoClassificacao: function(){ | ||
530 | + var onde = $i("i3geoCartoTipoClassificacao"), | ||
531 | + combo = $i("i3geoCartoComboMedidasVariavel"), | ||
532 | + temp = function(dados){ | ||
533 | + var n = dados.length, | ||
534 | + ins = '<p class="paragrafo" >'+$trad("x66")+'</p>', | ||
535 | + i; | ||
536 | + ins += "<select id='i3geoCartoComboTipoClassificacao' style='width:"+(i3GEO.cartograma.LARGURA - 20)+"px' onchange='i3GEO.cartograma.classes.comboTipoClassificacaoOnchange(this)'><option value=''>---</option>"; | ||
537 | + for(i=0;i<n;i++){ | ||
538 | + ins += "<option title='"+dados[i].observacao+"' value='"+dados[i].id_classificacao+"'>"+dados[i].nome+"</option>"; | ||
539 | + } | ||
540 | + ins += "</select>"; | ||
541 | + //{"id_classificacao":"1","nome":"Pela media","id_medida_variavel":"1","observacao":""} | ||
542 | + if(onde){ | ||
543 | + onde.innerHTML = ins; | ||
544 | + } | ||
545 | + return ins; | ||
546 | + }; | ||
547 | + i3GEO.cartograma.aguarde(onde); | ||
548 | + i3GEO.php.listaClassificacaoMedida(combo.value,temp); | ||
549 | + }, | ||
550 | + comboTipoClassificacaoOnchange: function(){ | ||
551 | + | ||
357 | } | 552 | } |
358 | } | 553 | } |
359 | 554 |
classesjs/classe_php.js
@@ -1464,5 +1464,23 @@ i3GEO.php = { | @@ -1464,5 +1464,23 @@ i3GEO.php = { | ||
1464 | relatorioVariavel: function(codigo_variavel,funcao){ | 1464 | relatorioVariavel: function(codigo_variavel,funcao){ |
1465 | var p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=relatorioCompleto&codigo_variavel="+codigo_variavel+"&g_sid="+i3GEO.configura.sid; | 1465 | var p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=relatorioCompleto&codigo_variavel="+codigo_variavel+"&g_sid="+i3GEO.configura.sid; |
1466 | i3GEO.util.ajaxGet(p,funcao); | 1466 | i3GEO.util.ajaxGet(p,funcao); |
1467 | + }, | ||
1468 | + /* | ||
1469 | + Function: listaClassificacaoMedida | ||
1470 | + | ||
1471 | + Lista as classificacoes de uma medida de variavel do sistema de metadados estatísticos | ||
1472 | + */ | ||
1473 | + listaClassificacaoMedida: function(id_medida_variavel,funcao){ | ||
1474 | + var p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=listaClassificacaoMedida&id_medida_variavel="+id_medida_variavel+"&g_sid="+i3GEO.configura.sid; | ||
1475 | + i3GEO.util.ajaxGet(p,funcao); | ||
1476 | + }, | ||
1477 | + /* | ||
1478 | + Function: mapfileMedidaVariavel | ||
1479 | + | ||
1480 | + Adiciona uma camada ao mapa baseado no sistema de metadados estatísticos | ||
1481 | + */ | ||
1482 | + mapfileMedidaVariavel: function(funcao,id_medida_variavel,filtro,todasascolunas,tipolayer,titulolayer,id_classificacao,agruparpor){ | ||
1483 | + var p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=mapfileMedidaVariavel&formato=json&id_medida_variavel="+id_medida_variavel+"&filtro="+filtro+"&todasascolunas="+todasascolunas+"&tipolayer="+tipolayer+"&titulolayer="+titulolayer+"&id_classificacao="+id_classificacao+"&agruparpor="+agruparpor+"&g_sid="+i3GEO.configura.sid; | ||
1484 | + i3GEO.util.ajaxGet(p,funcao); | ||
1467 | } | 1485 | } |
1468 | }; | 1486 | }; |
1469 | \ No newline at end of file | 1487 | \ No newline at end of file |
classesjs/dicionario.js
@@ -1978,6 +1978,27 @@ it:"" | @@ -1978,6 +1978,27 @@ it:"" | ||
1978 | }], | 1978 | }], |
1979 | "x64":[ | 1979 | "x64":[ |
1980 | { | 1980 | { |
1981 | +pt:"Adicionar camada ao mapa", | ||
1982 | +en:"", | ||
1983 | +es:"", | ||
1984 | +it:"" | ||
1985 | +}], | ||
1986 | +"x65":[ | ||
1987 | +{ | ||
1988 | +pt:"Como os dados serão representados", | ||
1989 | +en:"", | ||
1990 | +es:"", | ||
1991 | +it:"" | ||
1992 | +}], | ||
1993 | +"x66":[ | ||
1994 | +{ | ||
1995 | +pt:"Escolha um tipo de classificação", | ||
1996 | +en:"", | ||
1997 | +es:"", | ||
1998 | +it:"" | ||
1999 | +}], | ||
2000 | +"x67":[ | ||
2001 | +{ | ||
1981 | pt:"", | 2002 | pt:"", |
1982 | en:"", | 2003 | en:"", |
1983 | es:"", | 2004 | es:"", |