Commit d0559edf2bae04bbbf14566ceb1996abf23f0217
1 parent
68336200
Exists in
master
and in
7 other branches
Novas funcionalidades no menu de definição de tipos de representação do METAESTAT
Showing
4 changed files
with
85 additions
and
14 deletions
Show diff stats
classesjs/classe_configura.js
@@ -695,7 +695,7 @@ i3GEO.configura = { | @@ -695,7 +695,7 @@ i3GEO.configura = { | ||
695 | funcaoonclick:function(){ | 695 | funcaoonclick:function(){ |
696 | if(i3GEO.Interface.ATUAL === "googlemaps"){ | 696 | if(i3GEO.Interface.ATUAL === "googlemaps"){ |
697 | //alert("Pressione a tecla CTRL junto com o botão esquerdo do mouse"); | 697 | //alert("Pressione a tecla CTRL junto com o botão esquerdo do mouse"); |
698 | - i3GEO.janela.mensagemSimples("Pressione a tecla CTRL junto com o botão esquerdo do mouse e arraste para definir a área de zoom","?"); | 698 | + i3GEO.janela.tempoMsg("Pressione a tecla CTRL junto com o botão esquerdo do mouse e arraste para definir a área de zoom"); |
699 | g_tipoacao='pan'; | 699 | g_tipoacao='pan'; |
700 | g_operacao='navega'; | 700 | g_operacao='navega'; |
701 | i3GEO.barraDeBotoes.ativaIcone("pan"); | 701 | i3GEO.barraDeBotoes.ativaIcone("pan"); |
classesphp/classe_alteraclasse.php
@@ -55,7 +55,7 @@ class Alteraclasse | @@ -55,7 +55,7 @@ class Alteraclasse | ||
55 | 55 | ||
56 | Objeto layer | 56 | Objeto layer |
57 | */ | 57 | */ |
58 | - protected $layer; | 58 | + public $layer; |
59 | /* | 59 | /* |
60 | Variavel: $nome | 60 | Variavel: $nome |
61 | 61 | ||
@@ -81,8 +81,9 @@ $tema - nome do tema | @@ -81,8 +81,9 @@ $tema - nome do tema | ||
81 | $this->mapa = ms_newMapObj($map_file); | 81 | $this->mapa = ms_newMapObj($map_file); |
82 | $this->arquivo = $map_file; | 82 | $this->arquivo = $map_file; |
83 | $this->layer = ""; | 83 | $this->layer = ""; |
84 | - if($tema != "" && @$this->mapa->getlayerbyname($tema)) | ||
85 | - $this->layer = $this->mapa->getlayerbyname($tema); | 84 | + if($tema != "" && @$this->mapa->getlayerbyname($tema)){ |
85 | + $this->layer = $this->mapa->getlayerbyname($tema); | ||
86 | + } | ||
86 | $this->nome = $tema; | 87 | $this->nome = $tema; |
87 | if($ext && $ext != ""){ | 88 | if($ext && $ext != ""){ |
88 | $e = explode(" ",$ext); | 89 | $e = explode(" ",$ext); |
ferramentas/metaestat/alterarep.js
@@ -70,6 +70,11 @@ i3GEOF.alterarep = { | @@ -70,6 +70,11 @@ i3GEOF.alterarep = { | ||
70 | {onclick:{fn: function(){i3GEOF.alterarep.circulos("variacor");}}} | 70 | {onclick:{fn: function(){i3GEOF.alterarep.circulos("variacor");}}} |
71 | ); | 71 | ); |
72 | $i("i3geoalterarepCirculos1-button").style.width = 230 + "px"; | 72 | $i("i3geoalterarepCirculos1-button").style.width = 230 + "px"; |
73 | + new YAHOO.widget.Button( | ||
74 | + "i3geoalterarepCirculos2", | ||
75 | + {onclick:{fn: function(){i3GEOF.alterarep.circulos("continuo");}}} | ||
76 | + ); | ||
77 | + $i("i3geoalterarepCirculos2-button").style.width = 230 + "px"; | ||
73 | }, | 78 | }, |
74 | //utiliza o dicionario compartilhado | 79 | //utiliza o dicionario compartilhado |
75 | iniciaDicionario: function(){ | 80 | iniciaDicionario: function(){ |
@@ -118,8 +123,9 @@ i3GEOF.alterarep = { | @@ -118,8 +123,9 @@ i3GEOF.alterarep = { | ||
118 | var ins = "" + | 123 | var ins = "" + |
119 | ' <fieldset style="padding:5px;margin:2px;">'+ | 124 | ' <fieldset style="padding:5px;margin:2px;">'+ |
120 | ' <legend>Círculos representando os valores</legend>'+ | 125 | ' <legend>Círculos representando os valores</legend>'+ |
121 | - ' <input id=i3geoalterarepCirculos type="button" value="Mantêm as cores e varia o tamanho" /><br><br>'+ | ||
122 | - ' <input id=i3geoalterarepCirculos1 type="button" value="Mantêm as cores" />'+ | 126 | + ' <input id=i3geoalterarepCirculos type="button" value="Mantêm as classes e varia o tamanho" /><br><br>'+ |
127 | + ' <input id=i3geoalterarepCirculos1 type="button" value="Tamanho único" /><br><br>'+ | ||
128 | + ' <input id=i3geoalterarepCirculos2 type="button" value="Tamanho contínuo" />'+ | ||
123 | ' </fieldset><br>'; | 129 | ' </fieldset><br>'; |
124 | return ins; | 130 | return ins; |
125 | }, | 131 | }, |
@@ -132,11 +138,15 @@ i3GEOF.alterarep = { | @@ -132,11 +138,15 @@ i3GEOF.alterarep = { | ||
132 | var p = i3GEO.configura.locaplic+"/ferramentas/metaestat/analise.php?g_sid="+i3GEO.configura.sid + | 138 | var p = i3GEO.configura.locaplic+"/ferramentas/metaestat/analise.php?g_sid="+i3GEO.configura.sid + |
133 | "&tema="+$i("i3geoCartoAnaliseCamadasCombo").value, | 139 | "&tema="+$i("i3geoCartoAnaliseCamadasCombo").value, |
134 | temp = function(retorno){ | 140 | temp = function(retorno){ |
135 | - i3GEO.janela.fechaAguarde("alterarep1"); | ||
136 | - var atualiza = function(){ | 141 | + i3GEO.janela.fechaAguarde("alterarep1"); |
142 | + if(retorno.data == ""){ | ||
143 | + i3GEO.janela.tempoMsg("A camada escolhida não permite essa operação"); | ||
144 | + return; | ||
145 | + } | ||
146 | + var atualiza = function(){ | ||
137 | i3GEO.atualiza(); | 147 | i3GEO.atualiza(); |
138 | - i3GEOF.metaestat.CAMADAS.push(retorno.layer); | ||
139 | - i3GEO.mapa.ativaTema(retorno.layer); | 148 | + i3GEOF.metaestat.CAMADAS.push(retorno.data); |
149 | + //i3GEO.mapa.ativaTema(retorno.data); | ||
140 | i3GEOF.metaestat.analise.comboCamadas(); | 150 | i3GEOF.metaestat.analise.comboCamadas(); |
141 | }; | 151 | }; |
142 | i3GEO.php.adtema(atualiza,retorno.mapfile); | 152 | i3GEO.php.adtema(atualiza,retorno.mapfile); |
@@ -148,6 +158,9 @@ i3GEOF.alterarep = { | @@ -148,6 +158,9 @@ i3GEOF.alterarep = { | ||
148 | if(tipo == "variacor"){ | 158 | if(tipo == "variacor"){ |
149 | p += "&funcao=classes2circulos1"; | 159 | p += "&funcao=classes2circulos1"; |
150 | } | 160 | } |
161 | + if(tipo == "continuo"){ | ||
162 | + p += "&funcao=classes2circulos2"; | ||
163 | + } | ||
151 | i3GEO.util.ajaxGet(p,temp); | 164 | i3GEO.util.ajaxGet(p,temp); |
152 | }, | 165 | }, |
153 | corj: function(obj){ | 166 | corj: function(obj){ |
ferramentas/metaestat/analise.php
@@ -86,6 +86,9 @@ switch (strtoupper($funcao)){ | @@ -86,6 +86,9 @@ switch (strtoupper($funcao)){ | ||
86 | break; | 86 | break; |
87 | case "CLASSES2CIRCULOS1": | 87 | case "CLASSES2CIRCULOS1": |
88 | $retorno = classes2circulos($map_file,$tema,"variacor"); | 88 | $retorno = classes2circulos($map_file,$tema,"variacor"); |
89 | + break; | ||
90 | + case "CLASSES2CIRCULOS2": | ||
91 | + $retorno = classes2circulos($map_file,$tema,"continuo"); | ||
89 | break; | 92 | break; |
90 | } | 93 | } |
91 | if (!connection_aborted()){ | 94 | if (!connection_aborted()){ |
@@ -94,18 +97,26 @@ if (!connection_aborted()){ | @@ -94,18 +97,26 @@ if (!connection_aborted()){ | ||
94 | else | 97 | else |
95 | {exit();} | 98 | {exit();} |
96 | function classes2circulos($map_file,$tema,$tipo){ | 99 | function classes2circulos($map_file,$tema,$tipo){ |
100 | + $nome = basename($map_file).$tema.$tipo; | ||
97 | $mapa = ms_newMapObj($map_file); | 101 | $mapa = ms_newMapObj($map_file); |
102 | + $teste = $mapa->getlayerbyname($nome); | ||
103 | + if($teste != ""){ | ||
104 | + return ""; | ||
105 | + } | ||
98 | $l = $mapa->getlayerbyname($tema); | 106 | $l = $mapa->getlayerbyname($tema); |
107 | + if($l->getmetadata("METAESTAT_DERIVADO") == "sim"){ | ||
108 | + return ""; | ||
109 | + } | ||
99 | $layer = ms_newLayerObj($mapa,$l); | 110 | $layer = ms_newLayerObj($mapa,$l); |
100 | $l->set("status",MS_OFF); | 111 | $l->set("status",MS_OFF); |
101 | $layer->set("status",MS_DEFAULT); | 112 | $layer->set("status",MS_DEFAULT); |
102 | $layer->set("opacity",50); | 113 | $layer->set("opacity",50); |
103 | - $nome = $layer->name.nomeRandomico(4); | 114 | + |
104 | $layer->set("name",$nome); | 115 | $layer->set("name",$nome); |
116 | + $meta = new Metaestat(); | ||
105 | if($layer->type != MS_LAYER_POINT){ | 117 | if($layer->type != MS_LAYER_POINT){ |
106 | $layer->set("type",0); | 118 | $layer->set("type",0); |
107 | - $m = new Metaestat(); | ||
108 | - $regiao = $m->listaTipoRegiao($layer->getmetadata("METAESTAT_CODIGO_TIPO_REGIAO")); | 119 | + $regiao = $meta->listaTipoRegiao($layer->getmetadata("METAESTAT_CODIGO_TIPO_REGIAO")); |
109 | //repare que existe uma virgula apos o nome da coluna com a geometria, isso e necessario para substituir a string correta | 120 | //repare que existe uma virgula apos o nome da coluna com a geometria, isso e necessario para substituir a string correta |
110 | if($regiao["colunacentroide"] != ""){ | 121 | if($regiao["colunacentroide"] != ""){ |
111 | $stringgeo = "g.".$regiao["colunageo"].","; | 122 | $stringgeo = "g.".$regiao["colunageo"].","; |
@@ -117,9 +128,14 @@ function classes2circulos($map_file,$tema,$tipo){ | @@ -117,9 +128,14 @@ function classes2circulos($map_file,$tema,$tipo){ | ||
117 | } | 128 | } |
118 | $layer->set("data",$data); | 129 | $layer->set("data",$data); |
119 | } | 130 | } |
120 | - $layer->setmetadata("tema",$layer->getmetadata("tema")." - circ"); | ||
121 | $numclasses = $layer->numclasses; | 131 | $numclasses = $layer->numclasses; |
122 | if($tipo == "variatamanho" || $tipo == "variacor"){ | 132 | if($tipo == "variatamanho" || $tipo == "variacor"){ |
133 | + if($tipo == "variatamanho"){ | ||
134 | + $layer->setmetadata("tema",$layer->getmetadata("tema")." - circ"); | ||
135 | + } | ||
136 | + if($tipo == "variacor"){ | ||
137 | + $layer->setmetadata("tema",$layer->getmetadata("tema")." - ponto"); | ||
138 | + } | ||
123 | if ($numclasses > 0){ | 139 | if ($numclasses > 0){ |
124 | for ($i=0; $i < $numclasses; ++$i) { | 140 | for ($i=0; $i < $numclasses; ++$i) { |
125 | $classe = $layer->getClass($i); | 141 | $classe = $layer->getClass($i); |
@@ -134,6 +150,47 @@ function classes2circulos($map_file,$tema,$tipo){ | @@ -134,6 +150,47 @@ function classes2circulos($map_file,$tema,$tipo){ | ||
134 | } | 150 | } |
135 | } | 151 | } |
136 | } | 152 | } |
153 | + if($tipo == "continuo"){ | ||
154 | + $nometemp = str_replace(basename($map_file),nomeRandomico(5).basename($map_file),$map_file); | ||
155 | + $mapa->save($nometemp); | ||
156 | + //$mapatemp = ms_newMapObj($nometemp); | ||
157 | + $medidavariavel = $meta->listaMedidaVariavel("",$layer->getmetadata("ID_MEDIDA_VARIAVEL")); | ||
158 | + include_once("../../classesphp/classe_alteraclasse.php"); | ||
159 | + $m = new Alteraclasse($nometemp,$layer->name,"",""); | ||
160 | + $valores = $m->pegaValores($m->mapa,$m->layer,$medidavariavel["colunavalor"],true,0); | ||
161 | + $min = min($valores); | ||
162 | + $max = max($valores); | ||
163 | + $layer->setmetadata("tema",$layer->getmetadata("tema")." - cont"); | ||
164 | + $layer->set("type",MS_LAYER_CHART); | ||
165 | + $layer->set("opacity",60); | ||
166 | + $layer->setprocessing("CHART_TYPE=pie"); | ||
167 | + $layer->setprocessing("CHART_SIZE_RANGE=".$medidavariavel["colunavalor"]." 10 150 ".$min." ".$max); | ||
168 | + if ($numclasses > 0){ | ||
169 | + for ($i=0; $i < $numclasses; ++$i) { | ||
170 | + $classe = $layer->getClass($i); | ||
171 | + $classe->set("status",MS_DELETE); | ||
172 | + } | ||
173 | + } | ||
174 | + $classe = ms_newClassObj($layer); | ||
175 | + $novoestilo = ms_newStyleObj($classe); | ||
176 | + //$novoestilo->set("symbolname","ponto"); | ||
177 | + $novoestilo->set("size","6"); | ||
178 | + $ncor = $novoestilo->color; | ||
179 | + $ncor->setrgb(247,145,29); | ||
180 | + $ncor = $novoestilo->outlinecolor; | ||
181 | + $ncor->setrgb(255,255,255); | ||
182 | + //$novoestilo->setbinding(MS_STYLE_BINDING_SIZE, $medidavariavel["colunavalor"]); | ||
183 | + // | ||
184 | + $classe = ms_newClassObj($layer); | ||
185 | + $novoestilo = ms_newStyleObj($classe); | ||
186 | + //$novoestilo->set("symbolname","ponto"); | ||
187 | + $novoestilo->set("size","6"); | ||
188 | + $ncor = $novoestilo->color; | ||
189 | + $ncor->setrgb(247,145,29); | ||
190 | + $ncor = $novoestilo->outlinecolor; | ||
191 | + $ncor->setrgb(255,255,255);; | ||
192 | + } | ||
193 | + $layer->setmetadata("METAESTAT_DERIVADO","sim"); | ||
137 | $mapa->save($map_file); | 194 | $mapa->save($map_file); |
138 | return $nome; | 195 | return $nome; |
139 | } | 196 | } |