Commit 895263ec482ada98a3394f6cb9f0c9af210a637f

Authored by Edmar Moretti
1 parent 60398593

Inclusão de opção na ferramenta de cálculos de geometrias que indica se o cálcul…

…o de área e perímetro deverá ser feito para as novas geometrias criadas
classesphp/classe_analise.php
@@ -2189,8 +2189,6 @@ $operacao - Tipo de análise. @@ -2189,8 +2189,6 @@ $operacao - Tipo de análise.
2189 $this->salva(); 2189 $this->salva();
2190 $final = array(); 2190 $final = array();
2191 $final["layer"] = $operacao." ".(implode(" ",$lista)); 2191 $final["layer"] = $operacao." ".(implode(" ",$lista));
2192 -  
2193 -  
2194 $final["dados"][] = array("id"=>"0","wkt"=>($calculo[0]["gwkt"]),"valores"=>$valoresoriginais,"imagem"=>($imagem["url"])); 2192 $final["dados"][] = array("id"=>"0","wkt"=>($calculo[0]["gwkt"]),"valores"=>$valoresoriginais,"imagem"=>($imagem["url"]));
2195 $this->serializeGeo($nomegeo,$final); 2193 $this->serializeGeo($nomegeo,$final);
2196 } 2194 }
classesphp/mapa_controle.php
@@ -274,6 +274,10 @@ Uniăo, intersecçăo, etc. @@ -274,6 +274,10 @@ Uniăo, intersecçăo, etc.
274 include_once("classe_analise.php"); 274 include_once("classe_analise.php");
275 $m = new Analise($map_file,""); 275 $m = new Analise($map_file,"");
276 $retorno = $m->funcoesGeometrias($dir_tmp,$imgdir,$lista,$operacao); 276 $retorno = $m->funcoesGeometrias($dir_tmp,$imgdir,$lista,$operacao);
  277 + if($recalcareaper == "true"){
  278 + $m->calculaGeometrias($dir_tmp,$imgdir,basename($retorno),"area",$postgis_con,$srid_area);
  279 + $m->calculaGeometrias($dir_tmp,$imgdir,basename($retorno),"perimetro",$postgis_con,$srid_area);
  280 + }
277 break; 281 break;
278 /* 282 /*
279 Valor: CALCULAGEOMETRIAS 283 Valor: CALCULAGEOMETRIAS
ferramentas/analisageometrias/index.js.php
@@ -55,6 +55,7 @@ i3GEOF.analisaGeometrias = { @@ -55,6 +55,7 @@ i3GEOF.analisaGeometrias = {
55 */ 55 */
56 inicia: function(iddiv){ 56 inicia: function(iddiv){
57 try{ 57 try{
  58 + var temp,combot;
58 $i(iddiv).innerHTML += i3GEOF.analisaGeometrias.html(); 59 $i(iddiv).innerHTML += i3GEOF.analisaGeometrias.html();
59 i3GEO.guias.mostraGuiaFerramenta("i3GEOanalisageometrias1","i3GEOanalisageometrias"); 60 i3GEO.guias.mostraGuiaFerramenta("i3GEOanalisageometrias1","i3GEOanalisageometrias");
60 //eventos das guias 61 //eventos das guias
@@ -73,13 +74,37 @@ i3GEOF.analisaGeometrias = { @@ -73,13 +74,37 @@ i3GEOF.analisaGeometrias = {
73 "i3GEOanalisageometriasbotao1", 74 "i3GEOanalisageometriasbotao1",
74 {onclick:{fn: i3GEOF.analisaGeometrias.capturageo}} 75 {onclick:{fn: i3GEOF.analisaGeometrias.capturageo}}
75 ); 76 );
  77 + new YAHOO.widget.Button(
  78 + "i3GEOanalisageometriasbotaocalculo",
  79 + {onclick:{fn: i3GEOF.analisaGeometrias.calculo}}
  80 + );
  81 + temp = $i("i3GEOanalisageometriasbotaocalculo-button").style;
  82 + temp.minHeight = "1.5em";
  83 + temp.padding = "0px 5px";
  84 +
  85 + new YAHOO.widget.Button(
  86 + "i3GEOanalisageometriasbotaofuncoes",
  87 + {onclick:{fn: i3GEOF.analisaGeometrias.funcoes}}
  88 + );
  89 + temp = $i("i3GEOanalisageometriasbotaofuncoes-button").style;
  90 + temp.minHeight = "1.5em";
  91 + temp.padding = "0px 5px";
  92 +
  93 + new YAHOO.widget.Button(
  94 + "i3GEOanalisageometriasbotaofuncoes1",
  95 + {onclick:{fn: i3GEOF.analisaGeometrias.funcoes1}}
  96 + );
  97 + temp = $i("i3GEOanalisageometriasbotaofuncoes1-button").style;
  98 + temp.minHeight = "1.5em";
  99 + temp.padding = "0px 5px";
  100 +
76 i3GEO.util.mensagemAjuda("i3GEOanalisageometriasmen1",$i("i3GEOanalisageometriasmen1").innerHTML); 101 i3GEO.util.mensagemAjuda("i3GEOanalisageometriasmen1",$i("i3GEOanalisageometriasmen1").innerHTML);
77 i3GEO.util.mensagemAjuda("i3GEOanalisageometriasmen2",$i("i3GEOanalisageometriasmen2").innerHTML); 102 i3GEO.util.mensagemAjuda("i3GEOanalisageometriasmen2",$i("i3GEOanalisageometriasmen2").innerHTML);
78 i3GEO.util.mensagemAjuda("i3GEOanalisageometriasmen3",$i("i3GEOanalisageometriasmen3").innerHTML); 103 i3GEO.util.mensagemAjuda("i3GEOanalisageometriasmen3",$i("i3GEOanalisageometriasmen3").innerHTML);
79 g_tipoacao=""; 104 g_tipoacao="";
80 g_operacao=""; 105 g_operacao="";
81 i3GEOF.analisaGeometrias.ativaFoco(); 106 i3GEOF.analisaGeometrias.ativaFoco();
82 - var combot = "<select style='font-size:11px' id='i3GEOanalisageometriastipoOperacao' onchange='i3GEOF.analisaGeometrias.operacao(this)' >"; 107 + combot = "<select style='font-size:11px' id='i3GEOanalisageometriastipoOperacao' onchange='i3GEOF.analisaGeometrias.operacao(this)' >";
83 combot += "<option value='adiciona' >Adiciona</option>"; 108 combot += "<option value='adiciona' >Adiciona</option>";
84 combot += "<option value='retira' >Retira</option>"; 109 combot += "<option value='retira' >Retira</option>";
85 combot += "<option value='inverte' >Inverte</option>"; 110 combot += "<option value='inverte' >Inverte</option>";
@@ -128,27 +153,28 @@ i3GEOF.analisaGeometrias = { @@ -128,27 +153,28 @@ i3GEOF.analisaGeometrias = {
128 ins += ' </div>'; 153 ins += ' </div>';
129 ins += ' </div>'; 154 ins += ' </div>';
130 ins += ' <div class=guiaobj id="i3GEOanalisageometrias3obj" style="left:1px;display:none;">'; 155 ins += ' <div class=guiaobj id="i3GEOanalisageometrias3obj" style="left:1px;display:none;">';
  156 + ins += ' <p class=paragrafo ><input style="cursor:pointer;vertical-align:text-bottom" type=checkbox id=i3geoanalisageometriassemprecalcula /> Recalcula a área e o perímetro das novas geometrias';
131 ins += ' <p class=paragrafo >Operações que obtém descrições sobre a geometria, retornando valores que são adicionados aos itens da geometria:'; 157 ins += ' <p class=paragrafo >Operações que obtém descrições sobre a geometria, retornando valores que são adicionados aos itens da geometria:';
132 - ins += ' <br><select onchange="i3GEOF.analisaGeometrias.calculo(this)" >'; 158 + ins += ' <p class=paragrafo ><select id=i3GEOanalisageometriasselecaocalculo style="position:relative;top:-3px;" >';
133 ins += ' <option value="" selected >---</option>'; 159 ins += ' <option value="" selected >---</option>';
134 - ins += ' <option value=area >&aacute;rea</option>';  
135 - ins += ' <option value=perimetro >per&iacute;metro</option>';  
136 - ins += ' </select><br>'; 160 + ins += ' <option value=area >&Aacute;rea</option>';
  161 + ins += ' <option value=perimetro >Per&iacute;metro</option>';
  162 + ins += ' </select><input id=i3GEOanalisageometriasbotaocalculo type=button value="ok"/></p>';
137 ins += ' <p class=paragrafo >Operações que criam novas geometrias a partir de duas ou mais geometrias:'; 163 ins += ' <p class=paragrafo >Operações que criam novas geometrias a partir de duas ou mais geometrias:';
138 - ins += ' <br><select onchange="i3GEOF.analisaGeometrias.funcoes(this)" >'; 164 + ins += ' <p class=paragrafo ><select id=i3GEOanalisageometriasselecaofuncoes style="position:relative;top:-3px;" >';
139 ins += ' <option value="" selected >---</option>'; 165 ins += ' <option value="" selected >---</option>';
140 ins += ' <option value=union_geos >Uni&atilde;o</option>'; 166 ins += ' <option value=union_geos >Uni&atilde;o</option>';
141 ins += ' <option value=intersection >Intersec&ccedil;&atilde;o</option>'; 167 ins += ' <option value=intersection >Intersec&ccedil;&atilde;o</option>';
142 ins += ' <option value=difference >Diferen&ccedil;a</option>'; 168 ins += ' <option value=difference >Diferen&ccedil;a</option>';
143 ins += ' <option value=symdifference >Diferen&ccedil;a inversa</option>'; 169 ins += ' <option value=symdifference >Diferen&ccedil;a inversa</option>';
144 ins += ' <option value=convexhull >Convexo</option>'; 170 ins += ' <option value=convexhull >Convexo</option>';
145 - ins += ' </select>'; 171 + ins += ' </select><input id=i3GEOanalisageometriasbotaofuncoes type=button value="ok"/></p>';
146 ins += ' <p class=paragrafo >Operações que atuam sobre uma única geometria:'; 172 ins += ' <p class=paragrafo >Operações que atuam sobre uma única geometria:';
147 - ins += ' <br><select onchange="i3GEOF.analisaGeometrias.funcoes1(this)" >'; 173 + ins += ' <p class=paragrafo ><select id=i3GEOanalisageometriasselecaofuncoes1 style="position:relative;top:-3px;" >';
148 ins += ' <option value="" selected >---</option>'; 174 ins += ' <option value="" selected >---</option>';
149 - ins += ' <option value=convexhull >convexo</option>';  
150 - ins += ' <option value=boundary >entorno</option>';  
151 - ins += ' </select>'; 175 + ins += ' <option value=convexhull >Convexo</option>';
  176 + ins += ' <option value=boundary >Entorno</option>';
  177 + ins += ' </select><input id=i3GEOanalisageometriasbotaofuncoes1 type=button value="ok"/></p>';
152 ins += ' <div id=i3GEOanalisageometriasmen2 style="text-align:left;left:0px" >'; 178 ins += ' <div id=i3GEOanalisageometriasmen2 style="text-align:left;left:0px" >';
153 ins += ' <p class=paragrafo >As opera&ccedil;&otilde;es de an&aacute;lise s&atilde;o executadas sobre as geometrias selecionadas.'; 179 ins += ' <p class=paragrafo >As opera&ccedil;&otilde;es de an&aacute;lise s&atilde;o executadas sobre as geometrias selecionadas.';
154 ins += ' <p class=paragrafo >Para maiores informações, veja: <a href="http://www.opengeospatial.org/standards/sfs" target=blank >OGC</a>, <a href="http://postgis.refractions.net/docs/ch06.html" target=blank >PostGis, </a>e <a href="http://www.vividsolutions.com/jts/tests/index.html" target=blank >JTS</a>'; 180 ins += ' <p class=paragrafo >Para maiores informações, veja: <a href="http://www.opengeospatial.org/standards/sfs" target=blank >OGC</a>, <a href="http://postgis.refractions.net/docs/ch06.html" target=blank >PostGis, </a>e <a href="http://www.vividsolutions.com/jts/tests/index.html" target=blank >JTS</a>';
@@ -356,12 +382,18 @@ i3GEOF.analisaGeometrias = { @@ -356,12 +382,18 @@ i3GEOF.analisaGeometrias = {
356 Exclui do servidor as geometrias marcadas na lista de geometrias 382 Exclui do servidor as geometrias marcadas na lista de geometrias
357 */ 383 */
358 excluirGeo: function(){ 384 excluirGeo: function(){
  385 +
359 if(i3GEOF.analisaGeometrias.aguarde.visibility === "visible") 386 if(i3GEOF.analisaGeometrias.aguarde.visibility === "visible")
360 {return;} 387 {return;}
361 else 388 else
362 {i3GEOF.analisaGeometrias.aguarde.visibility = "visible";} 389 {i3GEOF.analisaGeometrias.aguarde.visibility = "visible";}
363 var lista,p,cp; 390 var lista,p,cp;
364 lista = i3GEOF.analisaGeometrias.pegaGeometriasMarcadas(); 391 lista = i3GEOF.analisaGeometrias.pegaGeometriasMarcadas();
  392 + if(lista == ""){
  393 + alert("Nenhuma geometria foi marcada");
  394 + i3GEOF.analisaGeometrias.aguarde.visibility = "hidden";
  395 + return;
  396 + }
365 $i("i3GEOanalisageometriaslistadegeometrias").innerHTML = "<p class=paragrafo >Aguarde..."; 397 $i("i3GEOanalisageometriaslistadegeometrias").innerHTML = "<p class=paragrafo >Aguarde...";
366 p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=removergeometrias&lista="+lista; 398 p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=removergeometrias&lista="+lista;
367 cp = new cpaint(); 399 cp = new cpaint();
@@ -384,6 +416,11 @@ i3GEOF.analisaGeometrias = { @@ -384,6 +416,11 @@ i3GEOF.analisaGeometrias = {
384 i3GEOF.analisaGeometrias.aguarde.visibility = "hidden"; 416 i3GEOF.analisaGeometrias.aguarde.visibility = "hidden";
385 }; 417 };
386 lista = i3GEOF.analisaGeometrias.pegaGeometriasMarcadas(); 418 lista = i3GEOF.analisaGeometrias.pegaGeometriasMarcadas();
  419 + if(lista == ""){
  420 + alert("Nenhuma geometria foi marcada");
  421 + i3GEOF.analisaGeometrias.aguarde.visibility = "hidden";
  422 + return;
  423 + }
387 p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=incmapageometrias&lista="+lista; 424 p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=incmapageometrias&lista="+lista;
388 cp = new cpaint(); 425 cp = new cpaint();
389 cp.set_response_type("JSON"); 426 cp.set_response_type("JSON");
@@ -408,18 +445,27 @@ i3GEOF.analisaGeometrias = { @@ -408,18 +445,27 @@ i3GEOF.analisaGeometrias = {
408 Function: calculo 445 Function: calculo
409 446
410 Realiza cálculos do tipo área e perímetro sobre as geometrias marcadas 447 Realiza cálculos do tipo área e perímetro sobre as geometrias marcadas
  448 +
411 */ 449 */
412 - calculo: function(obj){ 450 + calculo: function(){
  451 + var lista,
  452 + temp,
  453 + cp = new cpaint(),
  454 + p,
  455 + obj = $i("i3GEOanalisageometriasselecaocalculo");
  456 +
413 if (obj.value !== ""){ 457 if (obj.value !== ""){
414 if(i3GEOF.analisaGeometrias.aguarde.visibility === "visible") 458 if(i3GEOF.analisaGeometrias.aguarde.visibility === "visible")
415 {return;} 459 {return;}
416 else 460 else
417 {i3GEOF.analisaGeometrias.aguarde.visibility = "visible";} 461 {i3GEOF.analisaGeometrias.aguarde.visibility = "visible";}
418 - var lista = i3GEOF.analisaGeometrias.pegaGeometriasMarcadas(),  
419 - temp,  
420 - cp = new cpaint(),  
421 - p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=calculaGeometrias&operacao="+obj.value+"&lista="+lista;  
422 - 462 + lista = i3GEOF.analisaGeometrias.pegaGeometriasMarcadas();
  463 + if(lista == ""){
  464 + alert("Nenhuma geometria foi marcada");
  465 + i3GEOF.analisaGeometrias.aguarde.visibility = "hidden";
  466 + return;
  467 + }
  468 + p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=calculaGeometrias&operacao="+obj.value+"&lista="+lista;
423 temp = function(){ 469 temp = function(){
424 i3GEOF.analisaGeometrias.aguarde.visibility = "hidden"; 470 i3GEOF.analisaGeometrias.aguarde.visibility = "hidden";
425 }; 471 };
@@ -432,16 +478,26 @@ i3GEOF.analisaGeometrias = { @@ -432,16 +478,26 @@ i3GEOF.analisaGeometrias = {
432 478
433 Realiza operações geométricas de cruzamento entre geometrias 479 Realiza operações geométricas de cruzamento entre geometrias
434 */ 480 */
435 - funcoes: function(obj){ 481 + funcoes: function(){
  482 + var lista,
  483 + temp,
  484 + cp = new cpaint(),
  485 + p,
  486 + obj = $i("i3GEOanalisageometriasselecaofuncoes");
  487 +
436 if (obj.value !== ""){ 488 if (obj.value !== ""){
437 if(i3GEOF.analisaGeometrias.aguarde.visibility === "visible") 489 if(i3GEOF.analisaGeometrias.aguarde.visibility === "visible")
438 {return;} 490 {return;}
439 else 491 else
440 {i3GEOF.analisaGeometrias.aguarde.visibility = "visible";} 492 {i3GEOF.analisaGeometrias.aguarde.visibility = "visible";}
441 - var lista = i3GEOF.analisaGeometrias.pegaGeometriasMarcadas(),  
442 - temp,  
443 - cp = new cpaint(),  
444 - p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=funcoesGeometrias&operacao="+obj.value+"&lista="+lista; 493 +
  494 + lista = i3GEOF.analisaGeometrias.pegaGeometriasMarcadas()
  495 + if(lista == ""){
  496 + alert("Nenhuma geometria foi marcada");
  497 + i3GEOF.analisaGeometrias.aguarde.visibility = "hidden";
  498 + return;
  499 + }
  500 + p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=funcoesGeometrias&operacao="+obj.value+"&lista="+lista+"&recalcareaper="+$i("i3geoanalisageometriassemprecalcula").checked
445 501
446 temp = function(){ 502 temp = function(){
447 i3GEOF.analisaGeometrias.aguarde.visibility = "hidden"; 503 i3GEOF.analisaGeometrias.aguarde.visibility = "hidden";
@@ -455,18 +511,27 @@ i3GEOF.analisaGeometrias = { @@ -455,18 +511,27 @@ i3GEOF.analisaGeometrias = {
455 511
456 Realiza operações geométricas em uma única geometria 512 Realiza operações geométricas em uma única geometria
457 */ 513 */
458 - funcoes1: function(obj){ 514 + funcoes1: function(){
  515 + var lista,
  516 + temp,
  517 + cp = new cpaint(),
  518 + p,
  519 + obj = $i("i3GEOanalisageometriasselecaofuncoes1");
  520 +
459 if (obj.value !== ""){ 521 if (obj.value !== ""){
460 if(i3GEOF.analisaGeometrias.aguarde.visibility === "visible") 522 if(i3GEOF.analisaGeometrias.aguarde.visibility === "visible")
461 {return;} 523 {return;}
462 else 524 else
463 {i3GEOF.analisaGeometrias.aguarde.visibility = "visible";} 525 {i3GEOF.analisaGeometrias.aguarde.visibility = "visible";}
464 - var lista = i3GEOF.analisaGeometrias.pegaGeometriasMarcadas(),  
465 - temp,  
466 - cp = new cpaint(),  
467 - p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=funcoesGeometrias&operacao="+obj.value+"&lista="+lista; 526 + lista = i3GEOF.analisaGeometrias.pegaGeometriasMarcadas();
  527 + if(lista == ""){
  528 + alert("Nenhuma geometria foi marcada");
  529 + i3GEOF.analisaGeometrias.aguarde.visibility = "hidden";
  530 + return;
  531 + }
  532 + p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=funcoesGeometrias&operacao="+obj.value+"&lista="+lista+"&recalcareaper="+$i("i3geoanalisageometriassemprecalcula").checked;
468 533
469 - temp = function(){ 534 + temp = function(retorno){
470 i3GEOF.analisaGeometrias.aguarde.visibility = "hidden"; 535 i3GEOF.analisaGeometrias.aguarde.visibility = "hidden";
471 }; 536 };
472 cp.set_response_type("JSON"); 537 cp.set_response_type("JSON");