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:"", |