Commit 60293166ca75f513762f866dfc430ccbc5f2c813

Authored by Edmar Moretti
1 parent b968db97

ticket #83 fechado - extender a área considerada na geração das imagens nas oper…

…ações de análise de distâncias
classesphp/classe_analise.php
... ... @@ -129,22 +129,23 @@ $sigma - desvio padrão para a opção kernel
129 129  
130 130 $limitepontos - "TRUE"|"FALSE" limita o resultado ao limite geográfico dos pontos se "TRUE" ou ao limite do mapa se "FALSE"
131 131  
  132 +$extendelimite - extende o limite dos pontos em um determinado percentual em relação a área final de abrangência
132 133 Include:
133 134 <class.palette.php>
134 135 */
135   - function analiseDistriPt($locaplic,$dir_tmp,$R_path,$numclasses,$tipo,$cori,$corf,$tmpurl,$sigma="",$limitepontos="TRUE",$tema2="")
  136 + function analiseDistriPt($locaplic,$dir_tmp,$R_path,$numclasses,$tipo,$cori,$corf,$tmpurl,$sigma="",$limitepontos="TRUE",$tema2="",$extendelimite=5)
136 137 {
137 138 set_time_limit(180);
138 139 //
139 140 //pega os dados do tema dois para as funções que o utilizam
140 141 //
141   - $dados1 = $this->gravaCoordenadasPt($this->nome,$limitepontos);
  142 + $dados1 = $this->gravaCoordenadasPt($this->nome,$limitepontos,$extendelimite);
142 143 $nomearq = $dados1["prefixoarquivo"];
143 144 $dimx = $dados1["dimx"];
144 145 $dimy = $dados1["dimy"];
145 146 if (isset($tema2) && $tema2 != "")
146 147 {
147   - $dados2 = $this->gravaCoordenadasPt($tema2,$limitepontos);
  148 + $dados2 = $this->gravaCoordenadasPt($tema2,$limitepontos,$extendelimite);
148 149 $nomearq2 = $dados2["prefixoarquivo"];
149 150 $dimx2 = $dados2["dimx"];
150 151 $dimy2 = $dados2["dimy"];
... ... @@ -2281,11 +2282,13 @@ tema - nome do tema com os pontos
2281 2282  
2282 2283 limitepontos - FALSE para considerar a extensão geográfica do mapa atual e TRUE para considerar como limite as ocorrências pontuais do tema
2283 2284  
  2285 +extendelimite - percentual utilizado para extender o limite da área resultante
  2286 +
2284 2287 return:
2285 2288  
2286 2289 array com as dimensões em x e y e nome dos arquivos com x e y gerados.
2287 2290 */
2288   -function gravaCoordenadasPt($tema,$limitepontos="TRUE")
  2291 +function gravaCoordenadasPt($tema,$limitepontos="TRUE",$extendelimite)
2289 2292 {
2290 2293 $prjMapa = $this->mapa->getProjection();
2291 2294 $layerPt = $this->mapa->getlayerbyname($tema);
... ... @@ -2353,6 +2356,17 @@ function gravaCoordenadasPt($tema,$limitepontos=&quot;TRUE&quot;)
2353 2356 $yi = $ext->miny;
2354 2357 $yf = $ext->maxy;
2355 2358 }
  2359 + if($extendelimite > 0)
  2360 + {
  2361 + $dx = $xf - $xi;
  2362 + $dy = $yf - $yi;
  2363 + $maisx = ($dx * $extendelimite) / 100;
  2364 + $maisy = ($dy * $extendelimite) / 100;
  2365 + $xi = $xi - $maisx;
  2366 + $xf = $xf + $maisx;
  2367 + $yi = $yi - $maisy;
  2368 + $yf = $yf + $maisy;
  2369 + }
2356 2370 $dimx = "c(".$xi.",".$xf.")";
2357 2371 $dimy = "c(".$yi.",".$yf.")";
2358 2372 return array("dimx"=>$dimx,"dimy"=>$dimy,"arqx"=>($nomearq."x"),"arqy"=>($nomearq."y"),"prefixoarquivo"=>$nomearq);
... ...
classesphp/mapa_controle.php
... ... @@ -1277,7 +1277,7 @@ Include:
1277 1277 if(!isset($limitepontos))
1278 1278 {$limitepontos = "";}
1279 1279 $m = new Analise($map_file,$tema);
1280   - $cp->set_data($m->analiseDistriPt($locaplic,$dir_tmp,$R_path,$numclasses,$tipo,$cori,$corf,$tmpurl,$sigma,$limitepontos,$tema2));
  1280 + $cp->set_data($m->analiseDistriPt($locaplic,$dir_tmp,$R_path,$numclasses,$tipo,$cori,$corf,$tmpurl,$sigma,$limitepontos,$tema2,$extendelimite));
1281 1281 $m->salva();
1282 1282 break;
1283 1283 /*
... ...
ferramentas/pontosdistri/index.js
... ... @@ -38,7 +38,9 @@ comboTemasPt(&quot;temasPt&quot;,function(retorno)
38 38 var ins = "<div style=top:0px;left:0px;text-align:left; >Escolha o tema de pontos que ser&aacute; utilizado:</div><br><br>"
39 39 ins += retorno.dados
40 40 ins += "<br><br><div style=top:0px;left:0px;text-align:left; >Restringe a análise aos limites de abrang&ecirc;ncia dos pontos? "+simnao("limitePontos")+"<div>"
41   - ins += "<br><br><div style=top:0px;left:0px;text-align:left; onclick='analiseDensidade()' ><input id=botao1 size=35 type=button value='Densidade de pontos' /></div><br>"
  41 + ins += "<br><div style=top:0px;left:-10px;text-align:left; >Extende os limites de abrang&ecirc;ncia dos pontos em <input type=text size=3 value=10 id=extendelimite /> %<div>"
  42 +
  43 + ins += "<br><div style=top:0px;left:0px;text-align:left; onclick='analiseDensidade()' ><input id=botao1 size=35 type=button value='Densidade de pontos' /></div><br>"
42 44 ins += "<div style=top:0px;left:0px;text-align:left; onclick='analiseDistancia()' ><input id=botao2 size=35 type=button value='Dist&acirc;ncia entre pontos' /></div><br>"
43 45 ins += "<div style='padding:1px;left:0px;border: 1px solid gray;'><div style=top:0px;left:0px;text-align:left; onclick='analiseKernel()' ><input id=botaokernel size=35 type=button value='Kernel' /></div>"
44 46 ins += "<div>Desvio padr&atilde;o (sigma):<input class='digitar' type=text size=3 value='' id=sigma /></div></div><br>"
... ... @@ -114,7 +116,7 @@ function analiseCluster()
114 116 var tema2 = $i("temasPt2").value
115 117 if(tema == ""){alert("Escolha o segundo tema");aguarde("none");return}
116 118 var cp = new cpaint();
117   - 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
  119 + 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
118 120 //cp.set_debug(2)
119 121 cp.set_response_type("JSON");
120 122 cp.call(p,"analiseCluster",temp);
... ... @@ -152,7 +154,7 @@ function analiseKernel()
152 154 var tema = $i("temasPt").value
153 155 if(tema == ""){alert("Escolha um tema");aguarde("none");return}
154 156 var cp = new cpaint();
155   - 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
  157 + 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
156 158 //cp.set_debug(2)
157 159 cp.set_response_type("JSON");
158 160 cp.call(p,"analiseDistriPt",temp);
... ... @@ -172,7 +174,7 @@ function analiseDensidade()
172 174 var tema = $i("temasPt").value
173 175 if(tema == ""){alert("Escolha um tema");aguarde("none");return}
174 176 var cp = new cpaint();
175   - 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
  177 + 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
176 178 //cp.set_debug(2)
177 179 cp.set_response_type("JSON");
178 180 cp.call(p,"analiseDistriPt",temp);
... ... @@ -191,7 +193,7 @@ function analiseDistancia()
191 193 var tema = $i("temasPt").value
192 194 if(tema == ""){alert("Escolha um tema");aguarde("none");return}
193 195 var cp = new cpaint();
194   - 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
  196 + 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
195 197 //cp.set_debug(2)
196 198 cp.set_response_type("JSON");
197 199 cp.call(p,"analiseDistriPt",temp);
... ... @@ -205,7 +207,7 @@ function analiseRelatorio()
205 207 var tema = $i("temasPt").value
206 208 if(tema == ""){alert("Escolha um tema");aguarde("none");return}
207 209 var cp = new cpaint();
208   - 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
  210 + 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
209 211 //cp.set_debug(2)
210 212 cp.set_response_type("JSON");
211 213 cp.call(p,"analiseDistriPt",abreRelatorio);
... ...