Commit b117ff29afdf852d088fb50fcecb6f09202204e3
1 parent
58e7affa
Exists in
master
and in
7 other branches
Inclusão de opção no editor de legenda para aplicar tipos diferentes de transfor…
…mação de geometria aos estilos existentes
Showing
4 changed files
with
69 additions
and
2 deletions
Show diff stats
classesphp/classe_alteraclasse.php
| ... | ... | @@ -454,6 +454,31 @@ Adiciona opacidade variável de 0 a 100 conforme o número de classes |
| 454 | 454 | } |
| 455 | 455 | $this->layer->setMetaData("cache",""); |
| 456 | 456 | return("ok"); |
| 457 | + } | |
| 458 | +/* | |
| 459 | +function: alterageometria | |
| 460 | + | |
| 461 | +Altera a geometria de representação de todos os estilos de todas as classes de um layer | |
| 462 | + | |
| 463 | +*/ | |
| 464 | + function alterageometria($tipo) | |
| 465 | + { | |
| 466 | + error_reporting(E_ALL); | |
| 467 | + if(!$this->layer){return "erro";} | |
| 468 | + $numclasses = $this->layer->numclasses; | |
| 469 | + for($i=0;$i<$numclasses;++$i) | |
| 470 | + { | |
| 471 | + $classe = $this->layer->getclass($i); | |
| 472 | + $numestilos = $classe->numstyles; | |
| 473 | + for($j=0;$j<$numestilos;++$j) | |
| 474 | + { | |
| 475 | + $estilo = $classe->getstyle($j); | |
| 476 | + $s = "STYLE geomtransform '$tipo' END"; | |
| 477 | + $estilo->updateFromString($s); | |
| 478 | + } | |
| 479 | + } | |
| 480 | + $this->layer->setMetaData("cache",""); | |
| 481 | + return("ok"); | |
| 457 | 482 | } |
| 458 | 483 | /* |
| 459 | 484 | function: alteraCoresClasses | ... | ... |
classesphp/classe_temas.php
classesphp/mapa_controle.php
| ... | ... | @@ -1380,7 +1380,9 @@ Altera uma classe de um tema, aplicando uma nova classificação ou modificando pa |
| 1380 | 1380 | $m->mapa->setProjection("init=epsg:4291"); |
| 1381 | 1381 | } |
| 1382 | 1382 | if ($opcao == "adicionaopacidade") |
| 1383 | - {$retorno = $m->adicionaopacidade();} | |
| 1383 | + {$retorno = $m->adicionaopacidade();} | |
| 1384 | + if ($opcao == "alterageometria") | |
| 1385 | + {$retorno = $m->alterageometria($tipo);} | |
| 1384 | 1386 | if ($opcao == "adicionaclasse") |
| 1385 | 1387 | {$retorno = $m->adicionaclasse();} |
| 1386 | 1388 | if ($opcao == "valorunico") | ... | ... |
ferramentas/legenda/index.js.php
| ... | ... | @@ -153,6 +153,10 @@ i3GEOF.legenda = { |
| 153 | 153 | "i3GEOlegendabotao10", |
| 154 | 154 | {onclick:{fn: i3GEOF.legenda.aplicaEstilo}} |
| 155 | 155 | ); |
| 156 | + new YAHOO.widget.Button( | |
| 157 | + "i3GEOlegendabotao17", | |
| 158 | + {onclick:{fn: i3GEOF.legenda.alteraGeometriaTema}} | |
| 159 | + ); | |
| 156 | 160 | i3GEOF.legenda.ativaFoco(); |
| 157 | 161 | i3GEOF.legenda.mostralegenda(); |
| 158 | 162 | i3GEO.util.comboItens( |
| ... | ... | @@ -213,6 +217,18 @@ i3GEOF.legenda = { |
| 213 | 217 | ' <p class=paragrafo style="color:red;" >Atenção: para a montagem das classes são considerados apenas os elementos visíveis na extensão atual do mapa</p>'+ |
| 214 | 218 | ' <p class=paragrafo >Ao gerar as classes, ignorar valores iguais a:'+ |
| 215 | 219 | $inputText("","","i3GEOlegendaignorar","",10,"") + |
| 220 | + ' <hr><p class=paragrafo >Transforma a representação geométrica dos elementos do tema. Após alterar esse parâmetro, pode ser necessário modificar as características do símbolo.</p>'+ | |
| 221 | + ' <p class=paragrafo >' + | |
| 222 | + ' <select id=i3GEOlegentaTipoGeo >'+ | |
| 223 | + ' <option value="">nenhuma transformação</option>'+ | |
| 224 | + ' <option value="centroid">centróide</option>'+ | |
| 225 | + ' <option value="bbox">box</option>'+ | |
| 226 | + ' <option value="vertices">vértices</option>'+ | |
| 227 | + ' <option value="start">vértice inicial</option>'+ | |
| 228 | + ' <option value="end">vértice final</option>'+ | |
| 229 | + ' </select>'+ | |
| 230 | + ' <p class=paragrafo >' + | |
| 231 | + ' <input id=i3GEOlegendabotao17 size="35" type="button" value="Altera geometria"></p>'+ | |
| 216 | 232 | ' <hr><p class=paragrafo >Altera o tipo de representação do tema. Se for poligonal, passa para linear e vice-versa.</p>'+ |
| 217 | 233 | ' <p class=paragrafo ><input id=i3GEOlegendabotao7 size="25" type="button" value="Altera tipo"></p>'+ |
| 218 | 234 | ' <hr><p class=paragrafo >Todos os elementos serão desenhados com um único símbolo</p>'+ |
| ... | ... | @@ -452,6 +468,31 @@ i3GEOF.legenda = { |
| 452 | 468 | catch(e){alert("Erro: "+ e);i3GEOF.legenda.aguarde.visibility = "hidden";} |
| 453 | 469 | }, |
| 454 | 470 | /* |
| 471 | + Function: alteraGeometria | |
| 472 | + | |
| 473 | + Altera o tipo de representação geométrica dos elementos de um layer | |
| 474 | + | |
| 475 | + Veja: | |
| 476 | + | |
| 477 | + <ALTERACLASSE> | |
| 478 | + */ | |
| 479 | + alteraGeometriaTema: function(){ | |
| 480 | + if(i3GEOF.legenda.aguarde.visibility === "visible") | |
| 481 | + {return;} | |
| 482 | + i3GEOF.legenda.aguarde.visibility = "visible"; | |
| 483 | + var retorna = function(){ | |
| 484 | + i3GEO.atualiza(); | |
| 485 | + i3GEO.Interface.atualizaTema("",i3GEOF.legenda.tema); | |
| 486 | + i3GEO.arvoreDeCamadas.atualizaLegenda(i3GEOF.legenda.tema); | |
| 487 | + i3GEOF.legenda.aguarde.visibility = "hidden"; | |
| 488 | + i3GEOF.legenda.mostralegenda(); | |
| 489 | + }; | |
| 490 | + var p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=alteraclasse&opcao=alterageometria&tema="+i3GEOF.legenda.tema+"&tipo="+$i("i3GEOlegentaTipoGeo").value, | |
| 491 | + cp = new cpaint(); | |
| 492 | + cp.set_response_type("JSON"); | |
| 493 | + cp.call(p,"",retorna); | |
| 494 | + }, | |
| 495 | + /* | |
| 455 | 496 | Function: adicionaConta |
| 456 | 497 | |
| 457 | 498 | Adiciona ao nome de cada classe o número de ocorrências em cada uma | ... | ... |