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