From 54176bf41b8c8feffa9bb688f5080d849940d8a2 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Wed, 3 Oct 2012 21:19:11 +0000 Subject: [PATCH] Inclusão do editor de limites no sistema de metadados estatisticos --- classesjs/classe_configura.js | 2 +- ferramentas/metaestat/dicionario.js | 7 +++++++ ferramentas/metaestat/dicionario1.js | 4 ++-- ferramentas/metaestat/editorlimites.js | 584 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ferramentas/metaestat/editorlimites.php | 187 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ferramentas/metaestat/index.js | 23 ++++++++++++++++++----- interface/carto_ol.htm | 2 +- 7 files changed, 800 insertions(+), 9 deletions(-) create mode 100644 ferramentas/metaestat/editorlimites.js create mode 100644 ferramentas/metaestat/editorlimites.php diff --git a/classesjs/classe_configura.js b/classesjs/classe_configura.js index bd23f3c..08e3eed 100644 --- a/classesjs/classe_configura.js +++ b/classesjs/classe_configura.js @@ -127,7 +127,7 @@ i3GEO.configura = { { id:"omenudataAjudamenu1",text: $trad("u1"), url: "http://www.softwarepublico.gov.br/spb/ver-comunidade?community_id=1444332", target:"_blank" }, { id:"omenudataAjudamenu2",text: $trad("u2"), url: "javascript:i3GEO.ajuda.abreDoc()" }, /** - * TODO gerar arquivo PDF + * TODO gerar arquivo PDF atualizado */ { id:"omenudataAjudamenu3",text: $trad("u4a"), url: "javascript:i3GEO.ajuda.abreDoc('/documentacao/manual-i3geo-4_7-pt.pdf')" }, { id:"omenudataAjudamenu4",text: $trad("u4"), url: "http://www.softwarepublico.gov.br/dotlrn/clubs/i3geo/file-storage/index?folder%5fid=22667525", target:"_blank" }, diff --git a/ferramentas/metaestat/dicionario.js b/ferramentas/metaestat/dicionario.js index 5550c00..d598127 100644 --- a/ferramentas/metaestat/dicionario.js +++ b/ferramentas/metaestat/dicionario.js @@ -91,4 +91,11 @@ en:"", es:"", it:"" }], +"14":[ +{ +pt:"Escolha uma medida primeiro", +en:"", +es:"", +it:"" +}] }; \ No newline at end of file diff --git a/ferramentas/metaestat/dicionario1.js b/ferramentas/metaestat/dicionario1.js index 8cd45cf..0ac2fbf 100644 --- a/ferramentas/metaestat/dicionario1.js +++ b/ferramentas/metaestat/dicionario1.js @@ -24,7 +24,7 @@ it:"" }], "4":[ { -pt:"Editor interativo", +pt:"Editor de limites", en:"", es:"", it:"" @@ -101,7 +101,7 @@ it:"" }], "15":[ { -pt:"", +pt:"O editor sera aberto em uma nova janela do navegador", en:"", es:"", it:"" diff --git a/ferramentas/metaestat/editorlimites.js b/ferramentas/metaestat/editorlimites.js new file mode 100644 index 0000000..c1214fc --- /dev/null +++ b/ferramentas/metaestat/editorlimites.js @@ -0,0 +1,584 @@ +/* +Licenca: + +GPL2 + + 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 + +Esse programa utiliza parcialmente os codigos da aplicacao calculadora de carbono desenvolvido pelo +IPAM - Instituto de Pesquisa Ambiental da Amazonia + +Este programa e software livre; voce pode redistribui-lo +e/ou modifica-lo sob os termos da Licenca Publica Geral +GNU conforme publicada pela Free Software Foundation; + +Este programa e distribuido na expectativa de que seja util, +porem, SEM NENHUMA GARANTIA; nem mesmo a garantia implicita +de COMERCIABILIDADE OU ADEQUACAO A UMA FINALIDADE ESPECIFICA. +Consulte a Licenca Publica Geral do GNU para mais detalhes. +Voce deve ter recebido uma copia da Licenca Publica Geral do +GNU junto com este programa; se nao, escreva para a +Free Software Foundation, Inc., no endereco +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. +*/ +editorlimites = { + /** + * Estilo do objeto DOM com a imagem de aguarde existente no cabeçalho da janela + * + */ + aguarde: "", + iddiv: "", + drawingManager: "", + selectedShape: null, + shapes: [], + /** + * Inicia o editor + * + * @param {String} Id do DIV que receberá o conteúdo HTML do editor + * @return + */ + inicia: function(iddiv){ + var i,n,ics; + editorlimites.iddiv = iddiv; + $i(iddiv).innerHTML = editorlimites.html(); + ics = $i(iddiv).getElementsByTagName("button"); + n = ics.length; + i3GEO.barraDeBotoes.ativaBotoes(); + for(i=0;i' + + ' ' + + ' ' + + ' ' + + //' ' + + //' ' + + //' ' + + //' ' + + //' ' + + //' ' + + //' ' + + //' ' + + //' ' + + //' ' + + ' '; + return ins; + }, + /* + Function: ativaFoco + + Refaz a interface da ferramenta quando a janela flutuante tem seu foco ativado + */ + ativaFoco: function(){ + i3GEO.util.mudaCursor(i3GEO.configura.cursores,"crosshair",i3GEO.Interface.IDMAPA,i3GEO.configura.locaplic); + i3GEO.barraDeBotoes.ativaIcone("pan"); + editorlimites.mudaicone(); + i3GEO.Interface.googlemaps.recalcPar(); + }, + setSelection: function(shape){ + //editorlimites.clearSelection(); + //editorlimites.selectedShape = shape; + shape.setEditable(!shape.editable); + }, + clearSelection: function(){ + var i, + n = editorlimites.shapes.length; + for(i=0;i 0){ + var x = window.confirm("Exclui os elementos selecionados?"); + if(x){ + for(i=0;i 0) + {wkt = "MULTIPOLYGON("+lista.toString()+")";} + } + } + if(obj.tipo == "point"){ + + } + if(obj.tipo == "polyline"){ + + } + return wkt; + }, + ativaCaptura: function(){ + var cabecalho,minimiza,janela,temp; + editorlimites.mudaicone(); + if($i("capturaPoligono_corpo")) { + if(i3GEO.eventos.MOUSECLIQUE.toString().search("editorlimites.capturaPoligonoTema()") < 0) + {i3GEO.eventos.MOUSECLIQUE.push("editorlimites.capturaPoligonoTema()");} + return; + } + cabecalho = function(){ + if(i3GEO.eventos.MOUSECLIQUE.toString().search("editorlimites.capturaPoligonoTema()") < 0) + {i3GEO.eventos.MOUSECLIQUE.push("editorlimites.capturaPoligonoTema()");} + }; + minimiza = function(){ + i3GEO.janela.minimiza("capturaPoligono"); + }; + i3GEO.util.mudaCursor(i3GEO.configura.cursores,"pointer",i3GEO.Interface.IDMAPA,i3GEO.configura.locaplic); + janela = i3GEO.janela.cria( + "250px", + "100px", + "", + "", + "", + "Captura polígono", + "capturaPoligono", + false, + "hd", + cabecalho, + minimiza + ); + $i("capturaPoligono_corpo").style.backgroundColor = "white"; + temp = function(){ + i3GEO.eventos.MOUSECLIQUE.remove("editorlimites.capturaPoligonoTema()"); + }; + YAHOO.util.Event.addListener(janela[0].close, "click", temp); + i3GEO.util.comboTemas( + "editorlimitesComboTemasPol", + function(retorno){ + $i("capturaPoligono_corpo").innerHTML = "

Escolha o tema e clique no mapa para obter o polígono que poderá ser utilizado para gerar o relatório:

"+retorno.dados; + if(i3GEO.eventos.MOUSECLIQUE.toString().search("editorlimites.capturaPoligonoTema()") < 0) + {i3GEO.eventos.MOUSECLIQUE.push("editorlimites.capturaPoligonoTema()");} + $i("editorlimitesComboTemasPol").style.width = "200px"; + }, + "capturaPoligono_corpo", + "", + false, + "poligonos" + ); + }, + capturaPoligonoTema: function(){ + var temp,tema,p,par, + aguarde = $i("capturaPoligono_imagemCabecalho"); + if(!$i("editorlimitesComboTemasPol")){ + i3GEO.eventos.MOUSECLIQUE.remove("editorlimites.capturaPoligonoTema()"); + } + else{ + temp = function(retorno){ + var re,n,i,j, + wkt = retorno.data[0].resultado[0][0].wkt, + pontos = [], + aguarde = $i("capturaPoligono_imagemCabecalho"); + if(aguarde){ + aguarde.style.visibility = "hidden"; + } + re = new RegExp("POLYGON \\(\\(", "g"); + wkt = wkt.replace(re,''); + re = new RegExp("\\)\\)", "g"); + wkt = wkt.replace(re,''); + re = new RegExp(", ", "g"); + wkt = wkt.replace(re,','); + wkt = wkt.split(","); + n = wkt.length; + for(i=0;i 0){ + temp = function(retorno){ + if(i3GEO.janela){ + i3GEO.janela.fechaAguarde("i3GEO.editorPoli"); + } + i3GEO.atualiza(); + i3GEO.tema.dialogo.download(retorno.data); + }; + wkt = editorlimites.toWKT(c); + if(wkt == ""){ + alert("Selecione um polígono"); + return; + } + i3GEO.janela.abreAguarde("i3GEO.editorPoli","Poligonos"); + i3GEO.php.funcoesGeometriasWkt(temp,wkt,"converteSHP"); + } + else{ + alert("Selecione pelo menos uma figura"); + return false; + } + }, + relatorioCmas: function(){ + var wkt,cabecalho,minimiza,ins, + c = editorlimites.getCoordenadas(); + editorlimites.mudaicone(); + if(c.coordenadas.length > 0){ + if($i("parano_corpo")) + {return;} + cabecalho = function(){ + }; + minimiza = function(){ + i3GEO.janela.minimiza("parano"); + }; + i3GEO.janela.cria( + "210px", + "100px", + "", + "", + "", + "Relatório", + "parano", + false, + "hd", + cabecalho, + minimiza + ); + $i("parano_corpo").style.backgroundColor = "white"; + ins = "

Selecione o ano:

"; + ins += "

"; + $i("parano_corpo").innerHTML = ins; + new YAHOO.widget.Button( + "botaorelatorio", + {onclick:{fn: function(){ + alert("O relatório será aberto em uma nova aba do navegador"); + wkt = editorlimites.toWKT(editorlimites.getCoordenadas()); + if(wkt == ""){ + alert("Selecione um polígono"); + return; + } + $i("relatorioCMAS_wkt").value = wkt; + $i("relatorioCMAS_ano").value = $i("anoRel").value; + $i("relatorioCMAS_g_sid").value = i3GEO.configura.sid; + $i("relatorioCMAS_formato").value = "html"; + $i("relatorioCMAS").action = i3GEO.configura.locaplic+"/ipam/relatoriocmas.php"; + $i("relatorioCMAS").submit(); + }}} + ); + } + else{ + alert("Selecione pelo menos uma figura"); + return false; + } + }, + upload: { + aguarde: "", + adicionaPoligonos: function(listaDePontos){ + var n = listaDePontos.length, + i = 0, + nn, + temp, + j, + pol, + pontos = []; + for(i=0;i' + + '

shp:

' + + '

shx:

' + + '

dbf:

'; + if(i3GEO.parametros.editor === "sim") + {ins += '

pasta no servidor onde os dados
serão armazenados (opcional):

';} + ins += '

Tipo de geometria: ' + + ' ' + + '

' + + '

Projeção:

' + + '
' + + '

' + + '' + + '' + + '' + + "

Não utilize '_' no nome do arquivo. Apenas letras e números são aceitos!!!

" + + ''; + return ins; + }, + criaJanelaFlutuante: function(){ + var janela,divid,titulo,cabecalho,minimiza; + cabecalho = function(){}; + minimiza = function(){ + i3GEO.janela.minimiza("i3GEOF.upload"); + }; + titulo = "Upload de shapefile    "; + janela = i3GEO.janela.cria( + "355px", + "470px", + "", + "", + "", + titulo, + "editorlimites.upload", + false, + "hd", + cabecalho, + minimiza + ); + divid = janela[2].id; + $i("editorlimites.upload_corpo").style.backgroundColor = "white"; + editorlimites.upload.aguarde = $i("editorlimites.upload_imagemCabecalho").style; + editorlimites.upload.inicia(divid); + }, + submete: function(){ + if(editorlimites.upload.aguarde.visibility==="visible") + {return;} + editorlimites.upload.aguarde.visibility="visible"; + $i("i3GEOuploadf").submit(); + } + }, + imprimir: function(){ + var wkt,cabecalho,minimiza,ins; + if($i("parimprimir_corpo")) + {return;} + cabecalho = function(){ + }; + minimiza = function(){ + i3GEO.janela.minimiza("parimprimir"); + }; + i3GEO.janela.cria( + "210px", + "100px", + "", + "", + "", + "Imprimir", + "parimprimir", + false, + "hd", + cabecalho, + minimiza + ); + $i("parimprimir_corpo").style.backgroundColor = "white"; + ins = "

Título:

"; + ins += "

"; + $i("parimprimir_corpo").innerHTML = ins; + new YAHOO.widget.Button( + "botaoimprimirmapa", + {onclick:{fn: function(){ + wkt = editorlimites.toWKT(editorlimites.getCoordenadas()); + $i("mapaCMAS_wkt").value = wkt; + $i("mapaCMAS_titulo").value = $i("tituloMapa").value; + $i("mapaCMAS_g_sid").value = i3GEO.configura.sid; + $i("mapaCMAS_formato").value = "pdf"; + $i("mapaCMAS_mapexten").value = i3GEO.parametros.mapexten; + $i("mapaCMAS").action = i3GEO.configura.locaplic+"/ipam/a4lpaisagempdf.php"; + $i("mapaCMAS").submit(); + }}} + ); + } +}; \ No newline at end of file diff --git a/ferramentas/metaestat/editorlimites.php b/ferramentas/metaestat/editorlimites.php new file mode 100644 index 0000000..8e09f48 --- /dev/null +++ b/ferramentas/metaestat/editorlimites.php @@ -0,0 +1,187 @@ + + + + + + +i3GEO - Editor de limites + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

i3Geo - Software livre para criação de mapas interativos e geoprocessamento

Baseado no Mapserver, é licenciado sob GPL e integra o Portal do Software Público Brasileiro

+ +
+ +
+ + +
+ + + + + + \ No newline at end of file diff --git a/ferramentas/metaestat/index.js b/ferramentas/metaestat/index.js index ef9058e..9ee96a6 100644 --- a/ferramentas/metaestat/index.js +++ b/ferramentas/metaestat/index.js @@ -1,5 +1,5 @@ /* - T i*tle: Cartogramas estatísticos + Title: Cartogramas estatísticos Arquivo: @@ -31,7 +31,7 @@ if(typeof(i3GEOF) === 'undefined'){ var i3GEOF = {}; } /* - C l*asse: i3GEOF.metaestat + Classe: i3GEOF.metaestat Gerencia os componentes do módulo de geração de cartogramas estatísticos */ @@ -651,10 +651,24 @@ i3GEOF.metaestat = { "i3GEOFmetaestatEditorBotaot01", {onclick:{fn: function(){window.open(i3GEO.configura.locaplic+"/admin/html/estat_variavel.html");}}} ); - //TODO editor grafico new YAHOO.widget.Button( "i3GEOFmetaestatEditorBotaot02", - {onclick:{fn: function(){alert("Oi");}}} + {onclick:{fn: function(){ + /* + var v = $i("i3geoCartoComboVariavel"), + m = $i("i3geoCartoComboMedidasVariavel"); + if(!v || v.value === ""){ + alert($trad(4,i3GEOF.metaestat.dicionario)); + return; + } + if(!m || m.value === ""){ + alert($trad(14,i3GEOF.metaestat.dicionario)); + return; + } + */ + alert($trad(15,i3GEOF.metaestat.dicionario1)); + window.open(i3GEO.configura.locaplic+"/ferramentas/metaestat/editorlimites.php"); + }}} ); new YAHOO.widget.Button( "i3GEOFmetaestatEditorBotaot03", @@ -768,7 +782,6 @@ i3GEOF.metaestat = { * Edicao da classificacao */ t3: function(remove,textoSelecionado){ - //TODO incluir opcao de upload de dados if(remove == true){ //remove o conteudo anteriormente construido i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t3"); diff --git a/interface/carto_ol.htm b/interface/carto_ol.htm index 5eace44..c27b631 100644 --- a/interface/carto_ol.htm +++ b/interface/carto_ol.htm @@ -114,7 +114,7 @@ i3GEO.Interface.openlayers.GADGETS = { OverviewMap:false }; i3GEO.Interface.openlayers.TILES = true; -i3GEO.gadgets.PARAMETROS.mostraMenuSuspenso.finaliza = 'if($i("omenudataInterface1")){i3GEOoMenuBar.getMenuItem("omenudataInterface1").cfg.setProperty("text", " ");}' +i3GEO.gadgets.PARAMETROS.mostraMenuSuspenso.finaliza = 'if($i("omenudataInterface1")){i3GEOoMenuBar.getMenuItem("omenudataInterface1").cfg.setProperty("text", " ");}'; i3GEO.cria(); i3GEO.configura.mapaRefDisplay = "none"; i3GEO.barraDeBotoes.TIPO = "olhodepeixe"; -- libgit2 0.21.2