Commit 57342379783dc613d987be8f4fafffec5ee9d72a
1 parent
323c1158
Exists in
master
and in
7 other branches
--no commit message
Showing
1 changed file
with
82 additions
and
5 deletions
Show diff stats
ferramentas/metaestat/analise.php
@@ -38,16 +38,26 @@ O parâmetro principal é "funcao", que define qual operaç&ati | @@ -38,16 +38,26 @@ O parâmetro principal é "funcao", que define qual operaç&ati | ||
38 | Cada operação possuí seus próprios parâmetros, que devem ser enviados também na requisição da operação. | 38 | Cada operação possuí seus próprios parâmetros, que devem ser enviados também na requisição da operação. |
39 | */ | 39 | */ |
40 | error_reporting(0); | 40 | error_reporting(0); |
41 | +/** | ||
42 | + * admin.php faz o include de classesphp/pega_variaveis.php | ||
43 | + * esse programa obtem os parametros passado pela URL e os transforma e variaveis do PHP | ||
44 | + */ | ||
41 | include(dirname(__FILE__)."/../../admin/php/admin.php"); | 45 | include(dirname(__FILE__)."/../../admin/php/admin.php"); |
42 | include(dirname(__FILE__)."/../../admin/php/classe_metaestat.php"); | 46 | include(dirname(__FILE__)."/../../admin/php/classe_metaestat.php"); |
43 | session_name("i3GeoPHP"); | 47 | session_name("i3GeoPHP"); |
44 | session_id($g_sid); | 48 | session_id($g_sid); |
45 | -session_start(); | 49 | +session_start(); |
50 | +/** | ||
51 | + * transforma o array da sessao em variaveis | ||
52 | + */ | ||
46 | foreach(array_keys($_SESSION) as $k) | 53 | foreach(array_keys($_SESSION) as $k) |
47 | { | 54 | { |
48 | if(!is_array($_SESSION[$k])) | 55 | if(!is_array($_SESSION[$k])) |
49 | eval("\$".$k."='".$_SESSION[$k]."';"); | 56 | eval("\$".$k."='".$_SESSION[$k]."';"); |
50 | -} | 57 | +} |
58 | +/** | ||
59 | + * verifica se esse programa esta sendo executado dentro de um mapa do i3geo | ||
60 | + */ | ||
51 | if(isset($fingerprint)){ | 61 | if(isset($fingerprint)){ |
52 | $f = explode(",",$fingerprint); | 62 | $f = explode(",",$fingerprint); |
53 | if($f[0] != md5('I3GEOSEC' . $_SERVER['HTTP_USER_AGENT'] . session_id())){ | 63 | if($f[0] != md5('I3GEOSEC' . $_SERVER['HTTP_USER_AGENT'] . session_id())){ |
@@ -56,6 +66,15 @@ if(isset($fingerprint)){ | @@ -56,6 +66,15 @@ if(isset($fingerprint)){ | ||
56 | } | 66 | } |
57 | } | 67 | } |
58 | $retorno = ""; | 68 | $retorno = ""; |
69 | +/** | ||
70 | + * A variavel $funcao define a rotina que sera executada | ||
71 | + * Cada rotina recebe parametros especificos | ||
72 | + * A documentacao de cada rotina encontra-se no programa PHP que e executado | ||
73 | + * $map_file e obtido da variavel session e corresponde ao mapa que esta sendo usado | ||
74 | + * | ||
75 | + * Quando um layer original do sistema METAESTAT e alterado, isso e indicado pelo metadata METAESTAT_DERIVADO | ||
76 | + * que passa a ser marcado com "sim" | ||
77 | + */ | ||
59 | switch (strtoupper($funcao)){ | 78 | switch (strtoupper($funcao)){ |
60 | case "APLICAFILTROREGIAO": | 79 | case "APLICAFILTROREGIAO": |
61 | $retorno = analise_aplicafiltroregiao($map_file,$codigo_tipo_regiao,$codigo_regiao); | 80 | $retorno = analise_aplicafiltroregiao($map_file,$codigo_tipo_regiao,$codigo_regiao); |
@@ -120,6 +139,16 @@ if (!connection_aborted()){ | @@ -120,6 +139,16 @@ if (!connection_aborted()){ | ||
120 | } | 139 | } |
121 | else | 140 | else |
122 | {exit();} | 141 | {exit();} |
142 | +/** | ||
143 | + * Adiciona ao mapa atual um novo layer para a representacao de uma regiao | ||
144 | + * Se o layer ja existir, sera removido e criado outro | ||
145 | + * | ||
146 | + * @param arquivo mapfile do mapa atual | ||
147 | + * @param codigo da regiao no cadastro | ||
148 | + * @param cor do contorno | ||
149 | + * @param largura do contorno | ||
150 | + * @param sim|nao inclui ou nao um layer com a toponimia | ||
151 | + */ | ||
123 | function adicionaLimiteRegiao($map_file,$codigo_tipo_regiao,$outlinecolor,$width,$nomes){ | 152 | function adicionaLimiteRegiao($map_file,$codigo_tipo_regiao,$outlinecolor,$width,$nomes){ |
124 | global $locaplic,$dir_tmp; | 153 | global $locaplic,$dir_tmp; |
125 | $m = new Metaestat(); | 154 | $m = new Metaestat(); |
@@ -145,6 +174,14 @@ function adicionaLimiteRegiao($map_file,$codigo_tipo_regiao,$outlinecolor,$width | @@ -145,6 +174,14 @@ function adicionaLimiteRegiao($map_file,$codigo_tipo_regiao,$outlinecolor,$width | ||
145 | $mapa->save($map_file); | 174 | $mapa->save($map_file); |
146 | return "ok"; | 175 | return "ok"; |
147 | } | 176 | } |
177 | +/** | ||
178 | + * Gera uma imagem com a representacao das ocorrencias na forma de mapa de calor | ||
179 | + * A imagem e gerada usando o software R | ||
180 | + * A coluna que sera usada para calcular o mapa de calor e obtida do cadastro de variaveis. Por isso, o layer deve | ||
181 | + * ser original do METAESTAT | ||
182 | + * @param arquivo mapfile do mapa atual | ||
183 | + * @param nome do layer fonte dos dados | ||
184 | + */ | ||
148 | function mapaDeCalor($map_file,$tema){ | 185 | function mapaDeCalor($map_file,$tema){ |
149 | global $locaplic,$dir_tmp,$R_path,$ext; | 186 | global $locaplic,$dir_tmp,$R_path,$ext; |
150 | $nome = basename($map_file).$tema."calor"; | 187 | $nome = basename($map_file).$tema."calor"; |
@@ -154,6 +191,8 @@ function mapaDeCalor($map_file,$tema){ | @@ -154,6 +191,8 @@ function mapaDeCalor($map_file,$tema){ | ||
154 | return ""; | 191 | return ""; |
155 | } | 192 | } |
156 | $layer = $mapa->getlayerbyname($tema); | 193 | $layer = $mapa->getlayerbyname($tema); |
194 | + //verifica se o layer e original ou se foi alterado | ||
195 | + //se foi alterado, nao e possivel obter a coluna para calcular o mapa de calor | ||
157 | if($layer->getmetadata("METAESTAT_DERIVADO") == "sim"){ | 196 | if($layer->getmetadata("METAESTAT_DERIVADO") == "sim"){ |
158 | return ""; | 197 | return ""; |
159 | } | 198 | } |
@@ -167,6 +206,13 @@ function mapaDeCalor($map_file,$tema){ | @@ -167,6 +206,13 @@ function mapaDeCalor($map_file,$tema){ | ||
167 | $m->salva(); | 206 | $m->salva(); |
168 | return $retorno; | 207 | return $retorno; |
169 | } | 208 | } |
209 | +/** | ||
210 | + * Altera as caracteristicas de representacao de um layer | ||
211 | + * | ||
212 | + * @param mapfile do mapa atual | ||
213 | + * @param nome do layer que sera processado | ||
214 | + * @param tipo de processamento pponto|hachurea|opacidade | ||
215 | + */ | ||
170 | function classes2preenchimento($map_file,$tema,$tipo){ | 216 | function classes2preenchimento($map_file,$tema,$tipo){ |
171 | $nome = basename($map_file).$tema.$tipo; | 217 | $nome = basename($map_file).$tema.$tipo; |
172 | $mapa = ms_newMapObj($map_file); | 218 | $mapa = ms_newMapObj($map_file); |
@@ -188,12 +234,14 @@ function classes2preenchimento($map_file,$tema,$tipo){ | @@ -188,12 +234,14 @@ function classes2preenchimento($map_file,$tema,$tipo){ | ||
188 | } | 234 | } |
189 | $numclasses = $layer->numclasses; | 235 | $numclasses = $layer->numclasses; |
190 | if($tipo == "ponto" || $tipo == "hachurea"){ | 236 | if($tipo == "ponto" || $tipo == "hachurea"){ |
237 | + //as classes serao preenchidas com pontos | ||
191 | if($tipo == "ponto"){ | 238 | if($tipo == "ponto"){ |
192 | $layer->setmetadata("tema",$layer->getmetadata("tema")." - pontos"); | 239 | $layer->setmetadata("tema",$layer->getmetadata("tema")." - pontos"); |
193 | $s = "ponto"; | 240 | $s = "ponto"; |
194 | $si = 10; | 241 | $si = 10; |
195 | $w = 4; | 242 | $w = 4; |
196 | } | 243 | } |
244 | + //as classes serao preenchidas com hachureas | ||
197 | if($tipo == "hachurea"){ | 245 | if($tipo == "hachurea"){ |
198 | $layer->setmetadata("tema",$layer->getmetadata("tema")." - hachurea"); | 246 | $layer->setmetadata("tema",$layer->getmetadata("tema")." - hachurea"); |
199 | $s = "p3"; | 247 | $s = "p3"; |
@@ -210,6 +258,7 @@ function classes2preenchimento($map_file,$tema,$tipo){ | @@ -210,6 +258,7 @@ function classes2preenchimento($map_file,$tema,$tipo){ | ||
210 | } | 258 | } |
211 | } | 259 | } |
212 | } | 260 | } |
261 | + //cada classe recebera um valor de opacidade | ||
213 | if($tipo == "opacidade"){ | 262 | if($tipo == "opacidade"){ |
214 | $layer->setmetadata("tema",$layer->getmetadata("tema")." - opac"); | 263 | $layer->setmetadata("tema",$layer->getmetadata("tema")." - opac"); |
215 | if ($numclasses > 0){ | 264 | if ($numclasses > 0){ |
@@ -223,10 +272,17 @@ function classes2preenchimento($map_file,$tema,$tipo){ | @@ -223,10 +272,17 @@ function classes2preenchimento($map_file,$tema,$tipo){ | ||
223 | } | 272 | } |
224 | } | 273 | } |
225 | } | 274 | } |
275 | + //marca o novo layer como derivado do original | ||
226 | $layer->setmetadata("METAESTAT_DERIVADO","sim"); | 276 | $layer->setmetadata("METAESTAT_DERIVADO","sim"); |
227 | $mapa->save($map_file); | 277 | $mapa->save($map_file); |
228 | return $nome; | 278 | return $nome; |
229 | } | 279 | } |
280 | +/** | ||
281 | + * Altera a representacao de um layer mostrando circulos cujo tamanho corresponde a um valor | ||
282 | + * @param nome do arquivo mapfile em uso | ||
283 | + * @param nome do layer que sera processado | ||
284 | + * @param variatamanho|variacor|continuo tipo de processo | ||
285 | + */ | ||
230 | function classes2circulos($map_file,$tema,$tipo){ | 286 | function classes2circulos($map_file,$tema,$tipo){ |
231 | $nome = basename($map_file).$tema.$tipo; | 287 | $nome = basename($map_file).$tema.$tipo; |
232 | $mapa = ms_newMapObj($map_file); | 288 | $mapa = ms_newMapObj($map_file); |
@@ -325,6 +381,12 @@ function classes2circulos($map_file,$tema,$tipo){ | @@ -325,6 +381,12 @@ function classes2circulos($map_file,$tema,$tipo){ | ||
325 | $mapa->save($map_file); | 381 | $mapa->save($map_file); |
326 | return $nome; | 382 | return $nome; |
327 | } | 383 | } |
384 | +/** | ||
385 | + * Altera o estilo do outline ativando-o com cor branca | ||
386 | + * Se a cor ja estiver definida, o contorno e desativado | ||
387 | + * @param arquivo mapfile do mapa atual | ||
388 | + * @param nome do tema que sera processado | ||
389 | + */ | ||
328 | function alteraContorno($map_file,$tema){ | 390 | function alteraContorno($map_file,$tema){ |
329 | $mapa = ms_newMapObj($map_file); | 391 | $mapa = ms_newMapObj($map_file); |
330 | $layer = $mapa->getlayerbyname($tema); | 392 | $layer = $mapa->getlayerbyname($tema); |
@@ -345,6 +407,12 @@ function alteraContorno($map_file,$tema){ | @@ -345,6 +407,12 @@ function alteraContorno($map_file,$tema){ | ||
345 | } | 407 | } |
346 | return "ok"; | 408 | return "ok"; |
347 | } | 409 | } |
410 | +/** | ||
411 | + * Obtem dados descritivos sobre a medida da variavel usada para compor o layer | ||
412 | + * @param nome do mapfile atual | ||
413 | + * @param nome do tema que sera processado | ||
414 | + * @return array com coluna que contem os nomes das regioe, coluna que contem os dados | ||
415 | + */ | ||
348 | function pegaDadosTME($map_file,$tema){ | 416 | function pegaDadosTME($map_file,$tema){ |
349 | $retorno = array("itemNomeRegioes"=>"","itemDados"=>""); | 417 | $retorno = array("itemNomeRegioes"=>"","itemDados"=>""); |
350 | $mapa = ms_newMapObj($map_file); | 418 | $mapa = ms_newMapObj($map_file); |
@@ -360,6 +428,12 @@ function pegaDadosTME($map_file,$tema){ | @@ -360,6 +428,12 @@ function pegaDadosTME($map_file,$tema){ | ||
360 | } | 428 | } |
361 | return $retorno; | 429 | return $retorno; |
362 | } | 430 | } |
431 | +/** | ||
432 | + * Lista filtros aplicados ao mapa atual | ||
433 | + * @param nome do mapfile atual | ||
434 | + * @param opcional. Codigo da regiao cujos filhos serao considerados na busca | ||
435 | + * @return array | ||
436 | + */ | ||
363 | function listaFiltroTempoRaiz($map_file,$nivel){ | 437 | function listaFiltroTempoRaiz($map_file,$nivel){ |
364 | $mapa = ms_newMapObj($map_file); | 438 | $mapa = ms_newMapObj($map_file); |
365 | $layers = analise_listaLayersMetaestat($mapa); | 439 | $layers = analise_listaLayersMetaestat($mapa); |
@@ -381,8 +455,11 @@ function listaFiltroTempoRaiz($map_file,$nivel){ | @@ -381,8 +455,11 @@ function listaFiltroTempoRaiz($map_file,$nivel){ | ||
381 | } | 455 | } |
382 | return $filtros; | 456 | return $filtros; |
383 | } | 457 | } |
384 | - | ||
385 | -//lista as camadas que possuem filtro temporais | 458 | +/** |
459 | + * Lista os layers do mapa atual que contem filtros de tempo | ||
460 | + * @param nome do mapfile atual | ||
461 | + * @return Array | ||
462 | + */ | ||
386 | function analise_listaCamadasFiltroTempo($map_file){ | 463 | function analise_listaCamadasFiltroTempo($map_file){ |
387 | $mapa = ms_newMapObj($map_file); | 464 | $mapa = ms_newMapObj($map_file); |
388 | $layers = analise_listaLayersMetaestat($mapa); | 465 | $layers = analise_listaLayersMetaestat($mapa); |
@@ -520,4 +597,4 @@ function analise_listaLayersRegiao($layers,$codigo_tipo_regiao){ | @@ -520,4 +597,4 @@ function analise_listaLayersRegiao($layers,$codigo_tipo_regiao){ | ||
520 | } | 597 | } |
521 | return $final; | 598 | return $final; |
522 | } | 599 | } |
523 | -?> | ||
524 | \ No newline at end of file | 600 | \ No newline at end of file |
601 | +?> |