Commit 57342379783dc613d987be8f4fafffec5ee9d72a

Authored by Edmar Moretti
1 parent 323c1158

--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 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 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 45 include(dirname(__FILE__)."/../../admin/php/admin.php");
42 46 include(dirname(__FILE__)."/../../admin/php/classe_metaestat.php");
43 47 session_name("i3GeoPHP");
44 48 session_id($g_sid);
45   -session_start();
  49 +session_start();
  50 +/**
  51 + * transforma o array da sessao em variaveis
  52 + */
46 53 foreach(array_keys($_SESSION) as $k)
47 54 {
48 55 if(!is_array($_SESSION[$k]))
49 56 eval("\$".$k."='".$_SESSION[$k]."';");
50   -}
  57 +}
  58 +/**
  59 + * verifica se esse programa esta sendo executado dentro de um mapa do i3geo
  60 + */
51 61 if(isset($fingerprint)){
52 62 $f = explode(",",$fingerprint);
53 63 if($f[0] != md5('I3GEOSEC' . $_SERVER['HTTP_USER_AGENT'] . session_id())){
... ... @@ -56,6 +66,15 @@ if(isset($fingerprint)){
56 66 }
57 67 }
58 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 78 switch (strtoupper($funcao)){
60 79 case "APLICAFILTROREGIAO":
61 80 $retorno = analise_aplicafiltroregiao($map_file,$codigo_tipo_regiao,$codigo_regiao);
... ... @@ -120,6 +139,16 @@ if (!connection_aborted()){
120 139 }
121 140 else
122 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 152 function adicionaLimiteRegiao($map_file,$codigo_tipo_regiao,$outlinecolor,$width,$nomes){
124 153 global $locaplic,$dir_tmp;
125 154 $m = new Metaestat();
... ... @@ -145,6 +174,14 @@ function adicionaLimiteRegiao($map_file,$codigo_tipo_regiao,$outlinecolor,$width
145 174 $mapa->save($map_file);
146 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 185 function mapaDeCalor($map_file,$tema){
149 186 global $locaplic,$dir_tmp,$R_path,$ext;
150 187 $nome = basename($map_file).$tema."calor";
... ... @@ -154,6 +191,8 @@ function mapaDeCalor($map_file,$tema){
154 191 return "";
155 192 }
156 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 196 if($layer->getmetadata("METAESTAT_DERIVADO") == "sim"){
158 197 return "";
159 198 }
... ... @@ -167,6 +206,13 @@ function mapaDeCalor($map_file,$tema){
167 206 $m->salva();
168 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 216 function classes2preenchimento($map_file,$tema,$tipo){
171 217 $nome = basename($map_file).$tema.$tipo;
172 218 $mapa = ms_newMapObj($map_file);
... ... @@ -188,12 +234,14 @@ function classes2preenchimento($map_file,$tema,$tipo){
188 234 }
189 235 $numclasses = $layer->numclasses;
190 236 if($tipo == "ponto" || $tipo == "hachurea"){
  237 + //as classes serao preenchidas com pontos
191 238 if($tipo == "ponto"){
192 239 $layer->setmetadata("tema",$layer->getmetadata("tema")." - pontos");
193 240 $s = "ponto";
194 241 $si = 10;
195 242 $w = 4;
196 243 }
  244 + //as classes serao preenchidas com hachureas
197 245 if($tipo == "hachurea"){
198 246 $layer->setmetadata("tema",$layer->getmetadata("tema")." - hachurea");
199 247 $s = "p3";
... ... @@ -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 262 if($tipo == "opacidade"){
214 263 $layer->setmetadata("tema",$layer->getmetadata("tema")." - opac");
215 264 if ($numclasses > 0){
... ... @@ -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 276 $layer->setmetadata("METAESTAT_DERIVADO","sim");
227 277 $mapa->save($map_file);
228 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 286 function classes2circulos($map_file,$tema,$tipo){
231 287 $nome = basename($map_file).$tema.$tipo;
232 288 $mapa = ms_newMapObj($map_file);
... ... @@ -325,6 +381,12 @@ function classes2circulos($map_file,$tema,$tipo){
325 381 $mapa->save($map_file);
326 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 390 function alteraContorno($map_file,$tema){
329 391 $mapa = ms_newMapObj($map_file);
330 392 $layer = $mapa->getlayerbyname($tema);
... ... @@ -345,6 +407,12 @@ function alteraContorno($map_file,$tema){
345 407 }
346 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 416 function pegaDadosTME($map_file,$tema){
349 417 $retorno = array("itemNomeRegioes"=>"","itemDados"=>"");
350 418 $mapa = ms_newMapObj($map_file);
... ... @@ -360,6 +428,12 @@ function pegaDadosTME($map_file,$tema){
360 428 }
361 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 437 function listaFiltroTempoRaiz($map_file,$nivel){
364 438 $mapa = ms_newMapObj($map_file);
365 439 $layers = analise_listaLayersMetaestat($mapa);
... ... @@ -381,8 +455,11 @@ function listaFiltroTempoRaiz($map_file,$nivel){
381 455 }
382 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 463 function analise_listaCamadasFiltroTempo($map_file){
387 464 $mapa = ms_newMapObj($map_file);
388 465 $layers = analise_listaLayersMetaestat($mapa);
... ... @@ -520,4 +597,4 @@ function analise_listaLayersRegiao($layers,$codigo_tipo_regiao){
520 597 }
521 598 return $final;
522 599 }
523   -?>
524 600 \ No newline at end of file
  601 +?>
... ...