diff --git a/classesphp/classe_escala.php b/classesphp/classe_escala.php index 5ce6767..452330c 100755 --- a/classesphp/classe_escala.php +++ b/classesphp/classe_escala.php @@ -1,219 +1,247 @@ -postgis_mapa = $postgis_mapa; - - if(file_exists($locaplic."/funcoes_gerais.php")) - include_once($locaplic."/funcoes_gerais.php"); - else - include_once("funcoes_gerais.php"); - - $this->locaplic = $locaplic; - $this->mapa = ms_newMapObj($map_file); - substituiConObj($this->mapa,$postgis_mapa); - $this->arquivo = str_replace(".map","",$map_file).".map"; - if ($nomeImagem == "") - {$this->nomeImagem = nomeRandomico();} - } -/* -function: salva - -Salva o mapfile atual - -*/ - function salva() - { - restauraConObj($this->mapa,$this->postgis_mapa); - $this->mapa->save($this->arquivo); - } - -/* -function: retornaBarraEscala - -Gera barra de escala. - -Retorna uma string com sintaxe em javaScript com o nome da imagem e demais parâmetros. - -return: -string com variáveis javascript. -*/ - function retornaBarraEscala() - { - $objImagem = $this->mapa->drawscalebar(); - if($objImagem->imagepath == "") - {echo "Erro IMAGEPATH vazio";exit;} - $nomer = ($objImagem->imagepath)."sca".$this->nomeImagem.".png"; - $objImagem->saveImage($nomer); - $nomer = ($objImagem->imageurl).basename($nomer); - return ("var scaimagem='".$nomer."';var scawidth=".$objImagem->width.";var scaheight=".$objImagem->height.";var scapath='".$objImagem->imagepath."';var scaurl='".$objImagem->imageurl."'"); - } -/* -function: parametrosBarraEscala - -Pega os parâmetros da barra de escala. - -return: -string javascript com os parametros. -*/ - function parametrosBarraEscala() - { - $eb = $this->mapa->scalebar; - $cor = $eb->color; - $fcor = $cor->red.",".$cor->green.",".$cor->blue; - $cor = $eb->backgroundcolor; - $bcor = $cor->red.",".$cor->green.",".$cor->blue; - $cor = $eb->outlinecolor; - $ocor = $cor->red.",".$cor->green.",".$cor->blue; - return (array( - "color"=>$fcor, - "backgroundcolor"=>$bcor, - "outlinecolor"=>$ocor, - "status"=>$eb->status, - "width"=>$eb->width, - "height"=>$eb->height, - "style"=>$eb->style, - "intervals"=>$eb->intervals, - "units"=>$eb->units - )); - } -/* -array("color"=>"","backgroundcolor"=>"","outlinecolor"=>"","status"=>"","width"=>"","height"=>"","style"=>"","intervals"=>"","units"=>"") -*/ - function mudaEscalaGrafica($parameters = array("color"=>"","backgroundcolor"=>"","outlinecolor"=>"","status"=>"","width"=>"","height"=>"","style"=>"","intervals"=>"","units"=>"")) - { - $eb = $this->mapa->scalebar; - $eb->set("width",$parameters["width"]); - $eb->set("height",$parameters["height"]); - if ($parameters["style"] != 2){ - $eb->set("style",$parameters["style"]); - } - $eb->set("intervals",$parameters["intervals"]); - $eb->set("units",$parameters["units"]); - $corn = $eb->color; - $n = explode(",",$parameters["color"]); - $corn->setrgb($n[0],$n[1],$n[2]); - $cornb = $eb->backgroundcolor; - $n = explode(",",$parameters["backgroundcolor"]); - $cornb->setrgb($n[0],$n[1],$n[2]); - $corno = $eb->outlinecolor; - $n = explode(",",$parameters["outlinecolor"]); - $corno->setrgb($n[0],$n[1],$n[2]); - //desabilita a escala - if ($parameters["style"] == 2) - {$eb->set("status",MS_OFF);} - else - {$eb->set("status",MS_EMBED);} - if ($parameters["status"] == 3) - {$eb->set("status",MS_EMBED);} //MS_ON, MS_OFF, MS_EMBED - else - {$eb->set("status",MS_OFF);} - $this->salva(); - return("ok"); -} -/* -array("color"=>"","backgroundcolor"=>"","outlinecolor"=>"","status"=>"","width"=>"","height"=>"","style"=>"","intervals"=>"","units"=>"") -*/ -function testaescalagrafica($parameters = array("color"=>"","backgroundcolor"=>"","outlinecolor"=>"","status"=>"","width"=>"","height"=>"","style"=>"","intervals"=>"","units"=>"")) - { - $eb = $this->mapa->scalebar; - $eb->set("width",$parameters["width"]); - $eb->set("height",$parameters["height"]); - if ($parameters["style"] != 2){ - $eb->set("style",$parameters["style"]); - } - $eb->set("intervals",$parameters["intervals"]); - $eb->set("units",$parameters["units"]); - $corn = $eb->color; - $n = explode(",",$parameters["color"]); - $corn->setrgb($n[0],$n[1],$n[2]); - $cornb = $eb->backgroundcolor; - $n = explode(",",$parameters["backgroundcolor"]); - $cornb->setrgb($n[0],$n[1],$n[2]); - $corno = $eb->outlinecolor; - $n = explode(",",$parameters["outlinecolor"]); - $corno->setrgb($n[0],$n[1],$n[2]); - //desabilita a escala - if ($parameters["style"] == 2) - {$eb->set("status",MS_OFF);} - else - {$eb->set("status",MS_EMBED);} - if ($parameters["status"] == 3) - {$eb->set("status",MS_EMBED);} //MS_ON, MS_OFF, MS_EMBED - else - {$eb->set("status",MS_OFF);} - $objImagem = $this->mapa->drawscalebar(); - $nomer = ($objImagem->imagepath)."sca".$this->nomeImagem.".png"; - $objImagem->saveImage($nomer); - $nomer = ($objImagem->imageurl).basename($nomer); - return ($nomer); - } -} +postgis_mapa = $postgis_mapa; + + if (file_exists($locaplic . "/funcoes_gerais.php")) + include_once ($locaplic . "/funcoes_gerais.php"); + else + include_once ("funcoes_gerais.php"); + + $this->locaplic = $locaplic; + $this->mapa = ms_newMapObj($map_file); + substituiConObj($this->mapa, $postgis_mapa); + $this->arquivo = str_replace(".map", "", $map_file) . ".map"; + if ($nomeImagem == "") { + $this->nomeImagem = nomeRandomico(); + } + if ($mapexten != "") { + $ext = explode(" ", $mapexten); + $extatual = $this->mapa->extent; + $extatual->setextent($ext[0], $ext[1], $ext[2], $ext[3]); + } + } + + /* + * function: salva + * + * Salva o mapfile atual + * + */ + function salva() + { + restauraConObj($this->mapa, $this->postgis_mapa); + $this->mapa->save($this->arquivo); + } + + /* + * function: retornaBarraEscala + * + * Gera barra de escala. + * + * Retorna uma string com sintaxe em javaScript com o nome da imagem e demais parâmetros. + * + * return: + * string com variáveis javascript. + */ + function retornaBarraEscala() + { + $this->mapa->preparequery(); + $objImagem = $this->mapa->drawscalebar(); + if ($objImagem->imagepath == "") { + echo "Erro IMAGEPATH vazio"; + exit(); + } + $nomer = ($objImagem->imagepath) . "sca" . $this->nomeImagem . ".png"; + $objImagem->saveImage($nomer); + $nomer = ($objImagem->imageurl) . basename($nomer); + return (array( + "scaimagem" => $nomer, + "scawidth" => $objImagem->width, + "scaheight" => $objImagem->height, + "scapath" => $objImagem->imagepath, + "scaurl" => $objImagem->imageurl + )); + } + + /* + * function: parametrosBarraEscala + * + * Pega os parâmetros da barra de escala. + * + * return: + * string javascript com os parametros. + */ + function parametrosBarraEscala() + { + $eb = $this->mapa->scalebar; + $cor = $eb->color; + $fcor = $cor->red . "," . $cor->green . "," . $cor->blue; + $cor = $eb->backgroundcolor; + $bcor = $cor->red . "," . $cor->green . "," . $cor->blue; + $cor = $eb->outlinecolor; + $ocor = $cor->red . "," . $cor->green . "," . $cor->blue; + return (array( + "color" => $fcor, + "backgroundcolor" => $bcor, + "outlinecolor" => $ocor, + "status" => $eb->status, + "width" => $eb->width, + "height" => $eb->height, + "style" => $eb->style, + "intervals" => $eb->intervals, + "units" => $eb->units + )); + } + + /* + * array("color"=>"","backgroundcolor"=>"","outlinecolor"=>"","status"=>"","width"=>"","height"=>"","style"=>"","intervals"=>"","units"=>"") + */ + function mudaEscalaGrafica($parameters = array("color"=>"","backgroundcolor"=>"","outlinecolor"=>"","status"=>"","width"=>"","height"=>"","style"=>"","intervals"=>"","units"=>"")) + { + $eb = $this->mapa->scalebar; + $eb->set("width", $parameters["width"]); + $eb->set("height", $parameters["height"]); + if ($parameters["style"] != 2) { + $eb->set("style", $parameters["style"]); + } + $eb->set("intervals", $parameters["intervals"]); + $eb->set("units", $parameters["units"]); + $corn = $eb->color; + $n = explode(",", $parameters["color"]); + $corn->setrgb($n[0], $n[1], $n[2]); + $cornb = $eb->backgroundcolor; + $n = explode(",", $parameters["backgroundcolor"]); + $cornb->setrgb($n[0], $n[1], $n[2]); + $corno = $eb->outlinecolor; + $n = explode(",", $parameters["outlinecolor"]); + $corno->setrgb($n[0], $n[1], $n[2]); + // desabilita a escala + if ($parameters["style"] == 2) { + $eb->set("status", MS_OFF); + } else { + $eb->set("status", MS_EMBED); + } + if ($parameters["status"] == 3) { + $eb->set("status", MS_EMBED); + } // MS_ON, MS_OFF, MS_EMBED + else { + $eb->set("status", MS_OFF); + } + $this->salva(); + return ("ok"); + } + + /* + * array("color"=>"","backgroundcolor"=>"","outlinecolor"=>"","status"=>"","width"=>"","height"=>"","style"=>"","intervals"=>"","units"=>"") + */ + function testaescalagrafica($parameters = array("color"=>"","backgroundcolor"=>"","outlinecolor"=>"","status"=>"","width"=>"","height"=>"","style"=>"","intervals"=>"","units"=>"")) + { + $eb = $this->mapa->scalebar; + $eb->set("width", $parameters["width"]); + $eb->set("height", $parameters["height"]); + if ($parameters["style"] != 2) { + $eb->set("style", $parameters["style"]); + } + $eb->set("intervals", $parameters["intervals"]); + $eb->set("units", $parameters["units"]); + $corn = $eb->color; + $n = explode(",", $parameters["color"]); + $corn->setrgb($n[0], $n[1], $n[2]); + $cornb = $eb->backgroundcolor; + $n = explode(",", $parameters["backgroundcolor"]); + $cornb->setrgb($n[0], $n[1], $n[2]); + $corno = $eb->outlinecolor; + $n = explode(",", $parameters["outlinecolor"]); + $corno->setrgb($n[0], $n[1], $n[2]); + // desabilita a escala + if ($parameters["style"] == 2) { + $eb->set("status", MS_OFF); + } else { + $eb->set("status", MS_EMBED); + } + if ($parameters["status"] == 3) { + $eb->set("status", MS_EMBED); + } // MS_ON, MS_OFF, MS_EMBED + else { + $eb->set("status", MS_OFF); + } + $objImagem = $this->mapa->drawscalebar(); + $nomer = ($objImagem->imagepath) . "sca" . $this->nomeImagem . ".png"; + $objImagem->saveImage($nomer); + $nomer = ($objImagem->imageurl) . basename($nomer); + return ($nomer); + } +} ?> \ No newline at end of file diff --git a/classesphp/classe_legenda.php b/classesphp/classe_legenda.php index b6e2a8e..d1ae334 100755 --- a/classesphp/classe_legenda.php +++ b/classesphp/classe_legenda.php @@ -468,15 +468,16 @@ class Legenda echo "Erro IMAGEPATH vazio"; exit(); } - $nomer = ($imgo->imagepath) . "leg" . $nomeImagem . ".png"; - $imgo->saveImage($nomer); - $nomer = ($imgo->imageurl) . basename($nomer); + $arq = ($imgo->imagepath) . "leg" . $nomeImagem . ".png"; + $imgo->saveImage($arq); + $nomer = ($imgo->imageurl) . basename($arq); return (array( "imagem" => $nomer, "width" => $imgo->width, "height" => $imgo->height, "path" => $imgo->imagepath, - "url" => $imgo->imageurl + "url" => $imgo->imageurl, + "arq" => $arq )); } diff --git a/ferramentas/imprimir/dicionario.js b/ferramentas/imprimir/dicionario.js index 5429349..fad77c8 100755 --- a/ferramentas/imprimir/dicionario.js +++ b/ferramentas/imprimir/dicionario.js @@ -30,9 +30,19 @@ i3GEOF.imprimir.dicionario = { en : $trad("p7"), es : $trad("p7"), } ], - "ref" : [ { - pt : $trad("d9t"), - en : $trad("d9t"), - es : $trad("d9t"), - } ] + "ref" : [ { + pt : $trad("d9t"), + en : $trad("d9t"), + es : $trad("d9t"), + } ], + "mapaPng" : [ { + pt : $trad("g4a"), + en : $trad("g4a"), + es : $trad("g4a"), + } ], + "legenda" : [ { + pt : $trad("p3"), + en : $trad("p3"), + es : $trad("p3"), + } ] }; \ No newline at end of file diff --git a/ferramentas/imprimir/index.js b/ferramentas/imprimir/index.js index e31dc48..10b2d63 100755 --- a/ferramentas/imprimir/index.js +++ b/ferramentas/imprimir/index.js @@ -10,8 +10,8 @@ i3GEOF.imprimir = { }, start : function(){ var p = this._parameters, - i3f = this, - t1 = i3GEO.configura.locaplic + "/ferramentas/"+p.namespace+"/template_mst.html"; + i3f = this, + t1 = i3GEO.configura.locaplic + "/ferramentas/"+p.namespace+"/template_mst.html"; if(p.mustache === ""){ $.get(t1, function(template) { p.mustache = template; @@ -25,51 +25,68 @@ i3GEOF.imprimir = { }, html:function() { var p = this._parameters, - i3f = this, - hash = i3GEO.idioma.objetoIdioma(i3GEOF[p.namespace].dicionario); + i3f = this, + hash = i3GEO.idioma.objetoIdioma(i3GEOF[p.namespace].dicionario); hash["locaplic"] = i3GEO.configura.locaplic; hash["namespace"] = p.namespace; hash["idContainer"] = p.idContainer; i3f.renderFunction.call(this,{texto: Mustache.render(p.mustache, hash)}); i3GEO.janela.applyScrollBar(p.idContainer); - var temp = function(retorno){ - g_legendaHTML = retorno.data.legenda; - }; - i3GEO.php.criaLegendaHTML(temp,"","legendaseminput.htm"); }, pngExport: function(){ i3geoOL.once('postcompose', function(event) { - var canvas = event.context.canvas; - if (navigator.msSaveBlob) { - navigator.msSaveBlob(canvas.msToBlob(), 'map.png'); - } else { - canvas.toBlob(function(blob) { - saveAs(blob, 'map.png'); - }); - } - }); + var canvas = event.context.canvas; + if (navigator.msSaveBlob) { + navigator.msSaveBlob(canvas.msToBlob(), 'map.png'); + } else { + canvas.toBlob(function(blob) { + saveAs(blob, 'map.png'); + }); + } + }); i3geoOL.renderSync(); }, tiffExport: function(){ - var url = i3GEO.configura.locaplic + "/ferramentas/imprimir/geotif.php?g_sid=" - + i3GEO.configura.sid - +"&mapexten="+i3GEO.util.extOSM2Geo(i3GEO.parametros.mapexten); - var link = document.createElement("a"); - $(link).click(function(e) { - e.preventDefault(); - window.location.href = url; - }); - $(link).click(); + var url = i3GEO.configura.locaplic + "/ferramentas/imprimir/geotif.php?g_sid=" + + i3GEO.configura.sid + +"&mapexten="+i3GEO.util.extOSM2Geo(i3GEO.parametros.mapexten); + var link = document.createElement("a"); + $(link).click(function(e) { + e.preventDefault(); + window.location.href = url; + }); + $(link).click(); }, svgExport: function(){ - var url = i3GEO.configura.locaplic + "/ferramentas/imprimir/svg.php?g_sid=" - + i3GEO.configura.sid - +"&mapexten="+i3GEO.util.extOSM2Geo(i3GEO.parametros.mapexten); - var link = document.createElement("a"); - $(link).click(function(e) { - e.preventDefault(); - window.location.href = url; - }); - $(link).click(); + var url = i3GEO.configura.locaplic + "/ferramentas/imprimir/svg.php?g_sid=" + + i3GEO.configura.sid + +"&mapexten="+i3GEO.util.extOSM2Geo(i3GEO.parametros.mapexten); + var link = document.createElement("a"); + $(link).click(function(e) { + e.preventDefault(); + window.location.href = url; + }); + $(link).click(); + }, + legendExport: function(){ + var url = i3GEO.configura.locaplic + "/ferramentas/opcoeslegenda/exec.php?g_sid=" + + i3GEO.configura.sid + "&funcao=getlegenda&=" + i3GEO.util.uid(); + i3GEO.janela.closeMsg(""); + }, + scaleExport: function(){ + var url = i3GEO.configura.locaplic + "/ferramentas/opcoesescala/exec.php?g_sid=" + + i3GEO.configura.sid + + "&ext=" + i3GEO.util.extOSM2Geo(i3GEO.parametros.mapexten) + + "&funcao=getscaleimg&=" + + i3GEO.util.uid(); + i3GEO.janela.closeMsg(""); + }, + maparefExport: function(){ + var url = i3GEO.configura.locaplic + "/ferramentas/opcoesmaparef/exec.php?g_sid=" + + i3GEO.configura.sid + + "&ext=" + i3GEO.util.extOSM2Geo(i3GEO.parametros.mapexten) + + "&funcao=getrefimg&=" + + i3GEO.util.uid(); + i3GEO.janela.closeMsg(""); } }; diff --git a/ferramentas/imprimir/template_mst.html b/ferramentas/imprimir/template_mst.html index 0a0f8b9..4ed5cb0 100755 --- a/ferramentas/imprimir/template_mst.html +++ b/ferramentas/imprimir/template_mst.html @@ -1,8 +1,11 @@
+ + + + - - +

{{{config}}}:

diff --git a/ferramentas/opcoesescala/exec.php b/ferramentas/opcoesescala/exec.php index 62b03eb..eb53ca9 100644 --- a/ferramentas/opcoesescala/exec.php +++ b/ferramentas/opcoesescala/exec.php @@ -13,7 +13,7 @@ Aplica novos parâmetros na barra de escala atual. mudaEscalaGrafica> */ case "MUDAESCALAGRAFICA": - $m = new Escala($_SESSION["map_file"]); + $m = new Escala($_SESSION["map_file"],"","",$_SESSION["mapexten"]); $retorno = $m->mudaEscalaGrafica($_GET); ob_clean(); header("Content-type: application/json"); @@ -46,12 +46,20 @@ Testa os novos parâmetros de uma barra de escala. */ case "TESTAESCALAGRAFICA": include_once(dirname(__FILE__)."/../../classesphp/classe_escala.php"); - $m = new Escala($_SESSION["map_file"]); + $m = new Escala($_SESSION["map_file"],"","",$_GET["ext"]); $retorno = $m->testaescalagrafica($_GET); ob_clean(); header("Content-type: application/json"); echo json_encode($retorno); exit; break; + case "GETSCALEIMG": + $m = new Escala($_SESSION["map_file"],"","",$_GET["ext"]); + $retorno = $m->retornaBarraEscala(); + ob_end_clean(); + header('Content-type: image/png'); + readfile($retorno["scaimagem"]); + exit; + break; } \ No newline at end of file diff --git a/ferramentas/opcoesescala/index.js b/ferramentas/opcoesescala/index.js index 5b92c08..c329734 100644 --- a/ferramentas/opcoesescala/index.js +++ b/ferramentas/opcoesescala/index.js @@ -75,6 +75,7 @@ i3GEOF.opcoesescala = { }, getFormData: function(){ var data = i3GEO.util.getFormData("#" + this._parameters.idContainer + " form"); + data.ext = i3GEO.util.extOSM2Geo(i3GEO.parametros.mapexten); return data }, mudaEscalaGrafica: function(btn){ diff --git a/ferramentas/opcoeslegenda/exec.php b/ferramentas/opcoeslegenda/exec.php index 22d129c..98123ec 100644 --- a/ferramentas/opcoeslegenda/exec.php +++ b/ferramentas/opcoeslegenda/exec.php @@ -59,5 +59,12 @@ Testa os parâmetros de definição da legenda inserida no mapa echo json_encode($retorno["imagem"]); exit; break; - + case "GETLEGENDA": + $m = new Legenda($_SESSION["map_file"]); + $retorno = $m->legendaGrafica(); + ob_end_clean(); + header('Content-type: image/png'); + readfile($retorno["arq"]); + exit; + break; } diff --git a/ferramentas/opcoesmaparef/exec.php b/ferramentas/opcoesmaparef/exec.php index 5bd62ee..3274919 100644 --- a/ferramentas/opcoesmaparef/exec.php +++ b/ferramentas/opcoesmaparef/exec.php @@ -34,4 +34,23 @@ switch (strtoupper($_GET["funcao"])) echo json_encode($retorno); exit; break; + case "GETREFIMG": + $map = ms_newMapObj($_SESSION["map_file"]); + $ext = explode(" ", $_GET["ext"]); + $extatual = $map->extent; + $extatual->setextent($ext[0], $ext[1], $ext[2], $ext[3]); + $ref = $map->reference; + $o = $ref->outlinecolor; + if ($o->red == - 1) { + $o->setrgb(255, 0, 0); + } + $map->preparequery(); + $objImagem = $map->drawreferencemap(); + $nomer = ($objImagem->imagepath) . "ref" . nomeRandomico(5) . ".png"; + $objImagem->saveImage($nomer); + ob_clean(); + header('Content-type: image/png'); + readfile($nomer); + exit; + break; } \ No newline at end of file diff --git a/interface/ol.php b/interface/ol.php index dcf2e24..9adba93 100644 --- a/interface/ol.php +++ b/interface/ol.php @@ -388,7 +388,7 @@ include ($configInc["url"]."/css.php"); controls : [ //new ol.control.Zoom(), //new ol.control.ZoomSlider(), - new ol.control.ScaleLine(), + //new ol.control.ScaleLine(), new ol.control.Attribution({ collapsible : true }) diff --git a/interface/openlayersdebug.php b/interface/openlayersdebug.php index de1acec..89b18ee 100644 --- a/interface/openlayersdebug.php +++ b/interface/openlayersdebug.php @@ -388,7 +388,7 @@ include ($configInc["url"]."/css.php"); controls : [ //new ol.control.Zoom(), //new ol.control.ZoomSlider(), - new ol.control.ScaleLine(), + //new ol.control.ScaleLine(),//o Openlayers aparentemente tem um bug new ol.control.Attribution({ collapsible : true }) -- libgit2 0.21.2