From 60293166ca75f513762f866dfc430ccbc5f2c813 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Tue, 3 Mar 2009 20:16:44 +0000 Subject: [PATCH] ticket #83 fechado - extender a área considerada na geração das imagens nas operações de análise de distâncias --- classesphp/classe_analise.php | 22 ++++++++++++++++++---- classesphp/mapa_controle.php | 2 +- ferramentas/pontosdistri/index.js | 14 ++++++++------ 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/classesphp/classe_analise.php b/classesphp/classe_analise.php index 4dd14f8..a749a98 100644 --- a/classesphp/classe_analise.php +++ b/classesphp/classe_analise.php @@ -129,22 +129,23 @@ $sigma - desvio padrão para a opção kernel $limitepontos - "TRUE"|"FALSE" limita o resultado ao limite geográfico dos pontos se "TRUE" ou ao limite do mapa se "FALSE" +$extendelimite - extende o limite dos pontos em um determinado percentual em relação a área final de abrangência Include: */ - function analiseDistriPt($locaplic,$dir_tmp,$R_path,$numclasses,$tipo,$cori,$corf,$tmpurl,$sigma="",$limitepontos="TRUE",$tema2="") + function analiseDistriPt($locaplic,$dir_tmp,$R_path,$numclasses,$tipo,$cori,$corf,$tmpurl,$sigma="",$limitepontos="TRUE",$tema2="",$extendelimite=5) { set_time_limit(180); // //pega os dados do tema dois para as funções que o utilizam // - $dados1 = $this->gravaCoordenadasPt($this->nome,$limitepontos); + $dados1 = $this->gravaCoordenadasPt($this->nome,$limitepontos,$extendelimite); $nomearq = $dados1["prefixoarquivo"]; $dimx = $dados1["dimx"]; $dimy = $dados1["dimy"]; if (isset($tema2) && $tema2 != "") { - $dados2 = $this->gravaCoordenadasPt($tema2,$limitepontos); + $dados2 = $this->gravaCoordenadasPt($tema2,$limitepontos,$extendelimite); $nomearq2 = $dados2["prefixoarquivo"]; $dimx2 = $dados2["dimx"]; $dimy2 = $dados2["dimy"]; @@ -2281,11 +2282,13 @@ tema - nome do tema com os pontos limitepontos - FALSE para considerar a extensão geográfica do mapa atual e TRUE para considerar como limite as ocorrências pontuais do tema +extendelimite - percentual utilizado para extender o limite da área resultante + return: array com as dimensões em x e y e nome dos arquivos com x e y gerados. */ -function gravaCoordenadasPt($tema,$limitepontos="TRUE") +function gravaCoordenadasPt($tema,$limitepontos="TRUE",$extendelimite) { $prjMapa = $this->mapa->getProjection(); $layerPt = $this->mapa->getlayerbyname($tema); @@ -2353,6 +2356,17 @@ function gravaCoordenadasPt($tema,$limitepontos="TRUE") $yi = $ext->miny; $yf = $ext->maxy; } + if($extendelimite > 0) + { + $dx = $xf - $xi; + $dy = $yf - $yi; + $maisx = ($dx * $extendelimite) / 100; + $maisy = ($dy * $extendelimite) / 100; + $xi = $xi - $maisx; + $xf = $xf + $maisx; + $yi = $yi - $maisy; + $yf = $yf + $maisy; + } $dimx = "c(".$xi.",".$xf.")"; $dimy = "c(".$yi.",".$yf.")"; return array("dimx"=>$dimx,"dimy"=>$dimy,"arqx"=>($nomearq."x"),"arqy"=>($nomearq."y"),"prefixoarquivo"=>$nomearq); diff --git a/classesphp/mapa_controle.php b/classesphp/mapa_controle.php index beec363..cd2073e 100644 --- a/classesphp/mapa_controle.php +++ b/classesphp/mapa_controle.php @@ -1277,7 +1277,7 @@ Include: if(!isset($limitepontos)) {$limitepontos = "";} $m = new Analise($map_file,$tema); - $cp->set_data($m->analiseDistriPt($locaplic,$dir_tmp,$R_path,$numclasses,$tipo,$cori,$corf,$tmpurl,$sigma,$limitepontos,$tema2)); + $cp->set_data($m->analiseDistriPt($locaplic,$dir_tmp,$R_path,$numclasses,$tipo,$cori,$corf,$tmpurl,$sigma,$limitepontos,$tema2,$extendelimite)); $m->salva(); break; /* diff --git a/ferramentas/pontosdistri/index.js b/ferramentas/pontosdistri/index.js index 5c2d1ab..9635b3e 100644 --- a/ferramentas/pontosdistri/index.js +++ b/ferramentas/pontosdistri/index.js @@ -38,7 +38,9 @@ comboTemasPt("temasPt",function(retorno) var ins = "
Escolha o tema de pontos que será utilizado:


" ins += retorno.dados ins += "

Restringe a análise aos limites de abrangência dos pontos? "+simnao("limitePontos")+"
" - ins += "


" + ins += "
Extende os limites de abrangência dos pontos em %
" + + ins += "

" ins += "

" ins += "
" ins += "
Desvio padrão (sigma):

" @@ -114,7 +116,7 @@ function analiseCluster() var tema2 = $i("temasPt2").value if(tema == ""){alert("Escolha o segundo tema");aguarde("none");return} var cp = new cpaint(); - var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=analiseDistriPt&tema="+tema+"&tipo=cluster&numclasses=&cori=&corf=&sigma=&limitepontos=&tema2="+tema2 + var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=analiseDistriPt&tema="+tema+"&tipo=cluster&numclasses=&cori=&corf=&sigma=&limitepontos=&tema2="+tema2+"&extendelimite="+$i("extendelimite").value //cp.set_debug(2) cp.set_response_type("JSON"); cp.call(p,"analiseCluster",temp); @@ -152,7 +154,7 @@ function analiseKernel() var tema = $i("temasPt").value if(tema == ""){alert("Escolha um tema");aguarde("none");return} var cp = new cpaint(); - var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=analiseDistriPt&tema2=&tema="+tema+"&numclasses="+n+"&cori="+ci+"&corf="+cf+"&tipo=kernel&sigma="+$i("sigma").value+"&limitepontos="+$i("limitePontos").value + var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=analiseDistriPt&tema2=&tema="+tema+"&numclasses="+n+"&cori="+ci+"&corf="+cf+"&tipo=kernel&sigma="+$i("sigma").value+"&limitepontos="+$i("limitePontos").value+"&extendelimite="+$i("extendelimite").value //cp.set_debug(2) cp.set_response_type("JSON"); cp.call(p,"analiseDistriPt",temp); @@ -172,7 +174,7 @@ function analiseDensidade() var tema = $i("temasPt").value if(tema == ""){alert("Escolha um tema");aguarde("none");return} var cp = new cpaint(); - var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=analiseDistriPt&tema2=&tema="+tema+"&numclasses="+n+"&cori="+ci+"&corf="+cf+"&tipo=densidade&limitepontos="+$i("limitePontos").value + var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=analiseDistriPt&tema2=&tema="+tema+"&numclasses="+n+"&cori="+ci+"&corf="+cf+"&tipo=densidade&limitepontos="+$i("limitePontos").value+"&extendelimite="+$i("extendelimite").value //cp.set_debug(2) cp.set_response_type("JSON"); cp.call(p,"analiseDistriPt",temp); @@ -191,7 +193,7 @@ function analiseDistancia() var tema = $i("temasPt").value if(tema == ""){alert("Escolha um tema");aguarde("none");return} var cp = new cpaint(); - var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=analiseDistriPt&tema2=&tema="+tema+"&numclasses="+n+"&cori="+ci+"&corf="+cf+"&tipo=distancia&limitepontos="+$i("limitePontos").value + var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=analiseDistriPt&tema2=&tema="+tema+"&numclasses="+n+"&cori="+ci+"&corf="+cf+"&tipo=distancia&limitepontos="+$i("limitePontos").value+"&extendelimite="+$i("extendelimite").value //cp.set_debug(2) cp.set_response_type("JSON"); cp.call(p,"analiseDistriPt",temp); @@ -205,7 +207,7 @@ function analiseRelatorio() var tema = $i("temasPt").value if(tema == ""){alert("Escolha um tema");aguarde("none");return} var cp = new cpaint(); - var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=analiseDistriPt&tema2=&tema="+tema+"&numclasses="+n+"&cori="+ci+"&corf="+cf+"&tipo=relatorio&limitepontos="+$i("limitePontos").value + var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=analiseDistriPt&tema2=&tema="+tema+"&numclasses="+n+"&cori="+ci+"&corf="+cf+"&tipo=relatorio&limitepontos="+$i("limitePontos").value+"&extendelimite="+$i("extendelimite").value //cp.set_debug(2) cp.set_response_type("JSON"); cp.call(p,"analiseDistriPt",abreRelatorio); -- libgit2 0.21.2