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 | 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 | +?> | ... | ... |