/*jslint plusplus:false,white:false,undef: false, rhino: true, onevar: true, evil: true */ /* Title: Distribuição de pontos Adiciona um novo tema ao mapa em função da análise de distribuição de pontos. O tema com os pontos deve existir no mapa atual. Veja: Arquivo: i3geo/ferramentas/pontosdistri/index.js.php About: Licença i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation; Este programa é distribuído na expectativa de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral do GNU para mais detalhes. Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto com este programa; se não, escreva para a Free Software Foundation, Inc., no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. */ if(typeof(i3GEOF) === 'undefined'){ i3GEOF = []; } /* Classe: i3GEOF.pontosDistri */ i3GEOF.pontosDistri = { /* Variavel: aguarde Estilo do objeto DOM com a imagem de aguarde existente no cabeçalho da janela. */ aguarde: "", /* Function: inicia Inicia a ferramenta. É chamado por criaJanelaFlutuante Parametro: iddiv {String} - id do div que receberá o conteudo HTML da ferramenta */ inicia: function(iddiv){ try{ $i(iddiv).innerHTML += i3GEOF.pontosDistri.html(); i3GEO.guias.mostraGuiaFerramenta("i3GEOpontosDistriguia1","i3GEOpontosDistriguia"); //eventos das guias $i("i3GEOpontosDistriguia1").onclick = function() {i3GEO.guias.mostraGuiaFerramenta("i3GEOpontosDistriguia1","i3GEOpontosDistriguia");}; $i("i3GEOpontosDistriguia2").onclick = function() {i3GEO.guias.mostraGuiaFerramenta("i3GEOpontosDistriguia2","i3GEOpontosDistriguia");}; new YAHOO.widget.Button( "i3GEOpontosDistribotao4", {onclick:{fn: i3GEOF.pontosDistri.verCores}} ); new YAHOO.widget.Button( "i3GEOpontosDistribotao1", {onclick:{fn: i3GEOF.pontosDistri.analiseDensidade}} ); new YAHOO.widget.Button( "i3GEOpontosDistribotao2", {onclick:{fn: i3GEOF.pontosDistri.analiseDistancia}} ); new YAHOO.widget.Button( "i3GEOpontosDistribotao3", {onclick:{fn: i3GEOF.pontosDistri.analiseRelatorio}} ); new YAHOO.widget.Button( "i3GEOpontosDistribotaokernel", {onclick:{fn: i3GEOF.pontosDistri.analiseKernel}} ); new YAHOO.widget.Button( "i3GEOpontosDistribotaodeldir", {onclick:{fn: i3GEOF.pontosDistri.analiseDeldir}} ); i3GEOF.pontosDistri.ativaFoco(); } catch(erro){alert(erro);} }, /* Function: html Gera o código html para apresentação das opções da ferramenta Retorno: String com o código html */ html:function(){ var ins = ''; ins += '
'; ins += ' '; ins += '

'; ins += ''; ins += ' '; ins += ' '; ins += ''; ins += ''; ins += ''; return ins; }, /* Function: criaJanelaFlutuante Cria a janela flutuante para controle da ferramenta. */ criaJanelaFlutuante: function(){ var minimiza,cabecalho,janela,divid,temp,titulo; //funcao que sera executada ao ser clicado no cabeçalho da janela cabecalho = function(){ i3GEOF.pontosDistri.ativaFoco(); }; minimiza = function(){ i3GEO.janela.minimiza("i3GEOF.pontosDistri"); }; //cria a janela flutuante titulo = "Distribuição de pontos    "; janela = i3GEO.janela.cria( "400px", "310px", "", "", "", titulo, "i3GEOF.pontosDistri", false, "hd", cabecalho, minimiza ); divid = janela[2].id; $i("i3GEOF.pontosDistri_corpo").style.backgroundColor = "white"; i3GEOF.pontosDistri.aguarde = $i("i3GEOF.pontosDistri_imagemCabecalho").style; i3GEOF.pontosDistri.inicia(divid); if(i3GEO.eventos.ATUALIZAARVORECAMADAS.toString().search("i3GEOF.pontosDistri.ativaFoco()") < 0) {i3GEO.eventos.ATUALIZAARVORECAMADAS.push("i3GEOF.pontosDistri.ativaFoco()");} temp = function(){ if(i3GEO.eventos.ATUALIZAARVORECAMADAS.toString().search("i3GEOF.pontosDistri.ativaFoco()") > 0) {i3GEO.eventos.ATUALIZAARVORECAMADAS.remove("i3GEOF.pontosDistri.ativaFoco()");} }; YAHOO.util.Event.addListener(janela[0].close, "click", temp); }, /* Function: ativaFoco Refaz a interface da ferramenta quando a janela flutuante tem seu foco ativado */ ativaFoco: function(){ i3GEO.util.comboTemas( "i3GEOpontosDistritemasComSel", function(retorno){ if(retorno.tipo !== "dados"){ $i("i3GEOpontosDistriTemas").innerHTML = "

Nenhum tema de pontos com seleção Selecionar...

"; return; } $i("i3GEOpontosDistriTemas").innerHTML = "

"+retorno.dados + "

"; $i("i3GEOpontosDistritemasComSel").onchange = function(){ i3GEO.mapa.ativaTema($i("i3GEOpontosDistritemasComSel").value); }; if(i3GEO.temaAtivo !== ""){ $i("i3GEOpontosDistritemasComSel").value = i3GEO.temaAtivo; } }, "i3GEOpontosDistriTemas", "", false, "selecionados" ); var i = $i("i3GEOF.pontosDistri_c").style; i.zIndex = i3GEO.janela.ULTIMOZINDEX; i3GEO.janela.ULTIMOZINDEX++; }, /* Function: corj Abre a janela para o usuário selecionar uma cor interativamente */ corj: function(obj) {i3GEO.util.abreCor("",obj);}, /* Function: verCores Mostra as cores definidas nos intervalos de definição da paleta Veja: */ verCores: function(){ try{ if(i3GEOF.pontosDistri.aguarde.visibility === "visible") {return;} var n = $i("i3GEOpontosDistrinumclasses").value, ci = $i("i3GEOpontosDistricori").value, cf = $i("i3GEOpontosDistricorf").value, cp = new cpaint(), p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=verPaleta&numclasses="+n+"&cori="+ci+"&corf="+cf, mostraopcoes = function(retorno){ retorno = retorno.data.split("*"); var ins = "

", i, n = retorno.length; for (i=0;i"+retorno[i]+""; } $i("i3GEOpontosDistrimostracores").innerHTML = ins; i3GEOF.pontosDistri.aguarde.visibility = "hidden"; }; cp.set_response_type("JSON"); cp.call(p,"verPaleta",mostraopcoes); }catch(e){alert(e);i3GEOF.pontosDistri.aguarde.visibility = "hidden";} }, /* Function: analiseDistancia Executa a análise de distribuição de pontos Veja: */ analiseDistancia: function(){ if(!$i("i3GEOpontosDistritemasComSel")) {return;} if(i3GEOF.pontosDistri.aguarde.visibility === "visible") {return;} i3GEOF.pontosDistri.aguarde.visibility = "visible"; try{ var n = $i("i3GEOpontosDistrinumclasses").value, ci = $i("i3GEOpontosDistricori").value, cf = $i("i3GEOpontosDistricorf").value, temp = function(){ i3GEOF.pontosDistri.aguarde.visibility = "hidden"; i3GEO.atualiza(); }, tema = $i("i3GEOpontosDistritemasComSel").value, cp = new cpaint(), p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=analiseDistriPt&tema2=&tema="+tema+"&numclasses="+n+"&cori="+ci+"&corf="+cf+"&tipo=distancia&limitepontos="+$i("i3GEOpontosDistrilimitePontos").value+"&extendelimite="+$i("i3GEOpontosDistriextendelimite").value+"&ext="+i3GEO.parametros.mapexten; if(tema === ""){ alert("Escolha um tema"); i3GEOF.pontosDistri.aguarde.visibility = "hidden"; return; } cp.set_response_type("JSON"); cp.call(p,"analiseDistriPt",temp); } catch(e){alert(e);i3GEOF.pontosDistri.aguarde.visibility = "hidden";} }, /* Function: analiseDensidade Executa a análise de densidade Veja: */ analiseDensidade: function(){ if(!$i("i3GEOpontosDistritemasComSel")) {return;} if(i3GEOF.pontosDistri.aguarde.visibility === "visible") {return;} i3GEOF.pontosDistri.aguarde.visibility = "visible"; try{ var n = $i("i3GEOpontosDistrinumclasses").value, ci = $i("i3GEOpontosDistricori").value, cf = $i("i3GEOpontosDistricorf").value, temp = function(){ i3GEOF.pontosDistri.aguarde.visibility = "hidden"; i3GEO.atualiza(); }, tema = $i("i3GEOpontosDistritemasComSel").value, cp = new cpaint(), p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=analiseDistriPt&tema2=&tema="+tema+"&numclasses="+n+"&cori="+ci+"&corf="+cf+"&tipo=densidade&limitepontos="+$i("i3GEOpontosDistrilimitePontos").value+"&extendelimite="+$i("i3GEOpontosDistriextendelimite").value+"&ext="+i3GEO.parametros.mapexten; if(tema === ""){ alert("Escolha um tema"); i3GEOF.pontosDistri.aguarde.visibility = "hidden"; return; } cp.set_response_type("JSON"); cp.call(p,"analiseDistriPt",temp); } catch(e){alert(e);i3GEOF.pontosDistri.aguarde.visibility = "hidden";} }, /* Function: analiseKernel Executa a análise de kernel Veja: */ analiseKernel: function(){ if(!$i("i3GEOpontosDistritemasComSel")) {return;} if(i3GEOF.pontosDistri.aguarde.visibility === "visible") {return;} i3GEOF.pontosDistri.aguarde.visibility = "visible"; try{ var n = $i("i3GEOpontosDistrinumclasses").value, ci = $i("i3GEOpontosDistricori").value, cf = $i("i3GEOpontosDistricorf").value, temp = function(){ i3GEOF.pontosDistri.aguarde.visibility = "hidden"; i3GEO.atualiza(); }, tema = $i("i3GEOpontosDistritemasComSel").value, cp = new cpaint(), p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=analiseDistriPt&tema2=&tema="+tema+"&numclasses="+n+"&cori="+ci+"&corf="+cf+"&tipo=kernel&limitepontos="+$i("i3GEOpontosDistrilimitePontos").value+"&extendelimite="+$i("i3GEOpontosDistriextendelimite").value+"&sigma="+$i("i3GEOpontosDistrisigma").value+"&ext="+i3GEO.parametros.mapexten; if(tema === ""){ alert("Escolha um tema"); i3GEOF.pontosDistri.aguarde.visibility = "hidden"; return; } cp.set_response_type("JSON"); cp.call(p,"analiseDistriPt",temp); } catch(e){alert(e);i3GEOF.pontosDistri.aguarde.visibility = "hidden";} }, /* Function: analiseDeldir Executa a análise de triangulação Veja: */ analiseDeldir: function(){ if(!$i("i3GEOpontosDistritemasComSel")) {return;} if(i3GEOF.pontosDistri.aguarde.visibility === "visible") {return;} i3GEOF.pontosDistri.aguarde.visibility = "visible"; try{ var tema = $i("i3GEOpontosDistritemasComSel").value, temp = function(){ i3GEOF.pontosDistri.aguarde.visibility = "hidden"; i3GEO.atualiza(); }, cp = new cpaint(), p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=analiseDistriPt&tema2=&tema="+tema+"&numclasses=&cori=&corf=&tipo=deldir&limitepontos=&extendelimite=&sigma=&ext="+i3GEO.parametros.mapexten; if(tema === ""){ alert("Escolha um tema"); i3GEOF.pontosDistri.aguarde.visibility = "hidden"; return; } cp.set_response_type("JSON"); cp.call(p,"analiseDistriPt",temp); } catch(e){alert(e);i3GEOF.pontosDistri.aguarde.visibility = "hidden";} }, /* Function: analiseRelatorio Abre o relatório de análise Veja: */ analiseRelatorio: function(){ if(!$i("i3GEOpontosDistritemasComSel")) {return;} if(i3GEOF.pontosDistri.aguarde.visibility === "visible") {return;} i3GEOF.pontosDistri.aguarde.visibility = "visible"; try{ var n = $i("i3GEOpontosDistrinumclasses").value, ci = $i("i3GEOpontosDistricori").value, cf = $i("i3GEOpontosDistricorf").value, temp = function(retorno){ i3GEOF.pontosDistri.aguarde.visibility = "hidden"; window.open(retorno.data); }, tema = $i("i3GEOpontosDistritemasComSel").value, cp = new cpaint(), p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=analiseDistriPt&tema2=&tema="+tema+"&numclasses="+n+"&cori="+ci+"&corf="+cf+"&tipo=relatorio&limitepontos="+$i("i3GEOpontosDistrilimitePontos").value+"&extendelimite="+$i("i3GEOpontosDistriextendelimite").value+"&sigma="+$i("i3GEOpontosDistrisigma").value+"&ext="+i3GEO.parametros.mapexten; if(tema === ""){ alert("Escolha um tema"); i3GEOF.pontosDistri.aguarde.visibility = "hidden"; return; } cp.set_response_type("JSON"); cp.call(p,"analiseDistriPt",temp); } catch(e){alert(e);i3GEOF.pontosDistri.aguarde.visibility = "hidden";} } };