From 9d98180275859e71c284622183886e562264cc31 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Sat, 11 Jul 2015 17:52:15 +0000 Subject: [PATCH] --- ogc.php | 43 ++++++++++++++++++++++++++++++++----------- temas/_cursoaeroporto.map | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------- temas/_llocali.map | 148 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------- 3 files changed, 159 insertions(+), 126 deletions(-) diff --git a/ogc.php b/ogc.php index c8e4a44..0b14413 100644 --- a/ogc.php +++ b/ogc.php @@ -77,6 +77,8 @@ ogc.php?tema=bioma ogc.php?tema=/var/www/i3geo/aplicmap/geral1debianv6.map&layers=mundo */ +set_time_limit(0); +ini_set('memory_limit', '512M'); $_GET = array_merge($_GET,$_POST); // //caso nenhum parametros tenha sido enviado @@ -166,7 +168,8 @@ if(!isset($tema) && isset($typename)){ if(!file_exists($tema)){ $_GET["layers"] = $tema; $_GET["LAYERS"] = $tema; -} +} + $layers = $tema; // //verifica o OUTPUTFORMAT e o cache de arquivo @@ -284,13 +287,15 @@ $arrayget["Z"] = ""; $arrayget["X"] = ""; $arrayget["Y"] = ""; $arrayget["tms"] = ""; -$nomeMapfileTmp = $dir_tmp."/ogc_".md5(implode("",$arrayget))."_".$agora.".map"; +$nomeMapfileTmp = $dir_tmp."/ogc_".md5(implode("",$arrayget))."_".$agora.".map"; + //essa variavel e usada para definir se a imagem final gerada devera ser cortada ou nao $cortePixels = 0; if(file_exists($nomeMapfileTmp) && $tipo == ""){ $oMap = ms_newMapobj($nomeMapfileTmp); } else{ + if(empty($ogcwsmap)){ $oMap = ms_newMapobj($locaplic."/aplicmap/ogcwsv".$versao.".map"); } @@ -322,7 +327,8 @@ else{ $oMap->setmetadata("wms_srs","EPSG:4326"); } $e = $oMap->extent; - $extensaoMap = ($e->minx)." ".($e->miny)." ".($e->maxx)." ".($e->maxy); + $extensaoMap = ($e->minx)." ".($e->miny)." ".($e->maxx)." ".($e->maxy); + //gera o mapa if ($tema != ""){ $listatema = explode(" ",$tema); @@ -335,6 +341,7 @@ else{ $temai3geo = false; $nmap->setmetadata("ows_enable_request","*"); } + foreach ($listatema as $tx){ $extensao = ".map"; if($temai3geo == true && file_exists($locaplic."/temas/".$tx.".php")){ @@ -344,10 +351,13 @@ else{ $extensao = ".gvp"; } if($extensao == ".map"){ + //cria o mapfile com base no sistema de metadados estatisticos //verifica se o id_medida_variavel existe no mapfile e nao foi passado como um parametro - if(!isset($id_medida_variavel) && $temai3geo == true){ + if(!isset($id_medida_variavel) && $temai3geo == true){ + $nmap = ms_newMapobj($locaplic."/temas/".$tx.".map"); + $l = $nmap->getlayer(0); $teste = $l->getmetadata("METAESTAT_ID_MEDIDA_VARIAVEL"); if($teste != "" && $l->data == ""){ @@ -363,11 +373,13 @@ else{ $nmap = ms_newMapobj($mapfileMetaestat["mapfile"]); $nmap->setmetadata("ows_enable_request","*"); $req->setParameter("LAYERS", "ogcmetaestat".$id_medida_variavel); - } + } + if($temai3geo == true){ $nmap = ms_newMapobj($locaplic."/temas/".$tx.".map"); $nmap->setmetadata("ows_enable_request","*"); } + if($temai3geo == false || empty($layers)){ $ts = $nmap->getalllayernames(); $nmap->setmetadata("ows_enable_request","*"); @@ -375,13 +387,16 @@ else{ else{ $ts = explode(",",str_replace(" ",",",$layers)); } + foreach ($ts as $t){ $l = $nmap->getlayerbyname($t); if($l == ""){ $l = $nmap->getlayer(0); } - $permite = $l->getmetadata("permiteogc"); + $permite = $l->getmetadata("permiteogc"); + if(strtolower($permite) != "nao"){ + //necessário pq o mapfile pode ter todos os layers como default if($temai3geo == false){ $l->set("status",MS_OFF); @@ -631,13 +646,15 @@ else{ $oMap->setFontSet($locaplic."/symbols/".basename($oMap->fontsetfilename)); // //caso seja download ou json ou csv - // + // + processaOutputformatMapfile(); $oMap->save($nomeMapfileTmp); validaAcessoTemas($nomeMapfileTmp,true); $oMap = ms_newMapobj($nomeMapfileTmp); } + if(ob_get_contents ()){ ob_end_clean(); } @@ -830,7 +847,8 @@ if(strtolower($req->getValueByName("REQUEST")) == "getlegendgraphic"){ exit; } } -} +} + if(strtolower($req->getValueByName("REQUEST")) == "getfeature"){ $l = $oMap->getlayer(0); if($req->getValueByName("TYPENAME") == "" || $req->getValueByName("TYPENAME") == "undefined"){ @@ -852,7 +870,6 @@ if(strtolower($req->getValueByName("REQUEST")) == "getfeatureinfo"){ $_GET["SRS"] = "EPSG:3857"; } } - ms_ioinstallstdouttobuffer(); // //verifica parametro outputformat e ajusta a requisicao @@ -878,22 +895,26 @@ elseif(!isset($OUTPUTFORMAT)){ //$ogrOutput vem de ms_configura.php //precisa limpar o cabecalho -if(strtolower($OUTPUTFORMAT) == "geojson" || strtolower($OUTPUTFORMAT) == "json"){ +if(strtolower($OUTPUTFORMAT) == "geojson" || strtolower($OUTPUTFORMAT) == "json"){ $arq = $dir_tmp."/".$tema.".json"; if(isset($ogrOutput) && $ogrOutput == false){ exportaGeojson(); exit; } - $oMap->owsdispatch($req); + $oMap->owsdispatch($req); + $contenttype = ms_iostripstdoutbuffercontenttype(); ms_iostripstdoutbuffercontentheaders(); //grava em disco $contents = ms_iogetstdoutbufferstring(); file_put_contents($arq,$contents); //envia para download + header("Content-type: application/json; subtype=geojson"); + ms_iogetStdoutBufferBytes(); ms_ioresethandlers(); + exit; } if(strtolower($OUTPUTFORMAT) == "shape-zip"){ diff --git a/temas/_cursoaeroporto.map b/temas/_cursoaeroporto.map index 6fe224e..2460a8c 100644 --- a/temas/_cursoaeroporto.map +++ b/temas/_cursoaeroporto.map @@ -1,44 +1,50 @@ -MAP - FONTSET "../symbols/fontes.txt" - SYMBOLSET "../symbols/simbolosv6.sym" - LAYER - DATA "/var/www/i3geo/aplicmap/dados/sc22/AEROPORTO_CAMPO_DE_POUSO.shp" - METADATA - "ltempoitemimagem" "" - "ltempoitemdescricao" "" - "CLASSE" "SIM" - "ltempoiteminicio" "" - "palletestep" "" - "ltempoitemtip" "" - "ltempoitemtitulo" "" - "description_template" "" - "ltempoitemlink" "" - "palletefile" "" - "ltempoformatodata" "" - "ltempoitemicone" "" - "PLUGINI3GEO" "" - "itembuscarapida" "" - "TEMA" "Aeroportos SC22ç" - "ltempoconvencode" "" - "editorsql" "" - "ltempoitemfim" "" - END # METADATA - NAME "_cursoaeroporto" - STATUS OFF - TEMPLATE "none.htm" - TILEITEM "location" - TYPE POINT - UNITS METERS - CLASS - NAME "" - STYLE - COLOR 255 0 0 - OUTLINECOLOR 0 0 0 - SIZE 15 - SYMBOL "ponto" - END # STYLE - END # CLASS - END # LAYER - -END # MAP - +MAP + FONTSET "../symbols/fontes.txt" + SYMBOLSET "../symbols/simbolosv6.sym" + LAYER + DATA "/var/www/i3geo/aplicmap/dados/sc22/AEROPORTO_CAMPO_DE_POUSO.shp" + METADATA + "ltempoitemimagem" "" + "CLASSE" "SIM" + "ltempoitemdescricao" "" + "palletestep" "" + "ltempoiteminicio" "" + "permitekmz" "" + "ltempoitemtip" "" + "description_template" "" + "ltempoitemtitulo" "" + "ltempoitemlink" "" + "palletefile" "" + "permitedownload" "" + "ltempoformatodata" "" + "ltempoitemicone" "" + "PLUGINI3GEO" "" + "itembuscarapida" "" + "arquivokmz" "" + "arquivodownload" "" + "permitekml" "SIM" + "permiteogc" "SIM" + "TEMA" "Aeroportos SC22ç" + "editorsql" "" + "ltempoconvencode" "" + "ltempoitemfim" "" + END # METADATA + NAME "_cursoaeroporto" + STATUS OFF + TEMPLATE "none.htm" + TILEITEM "location" + TYPE POINT + UNITS METERS + CLASS + NAME "" + STYLE + COLOR 255 0 0 + OUTLINECOLOR 0 0 0 + SIZE 15 + SYMBOL "ponto" + END # STYLE + END # CLASS + END # LAYER + +END # MAP + diff --git a/temas/_llocali.map b/temas/_llocali.map index dfee5be..40bcd81 100644 --- a/temas/_llocali.map +++ b/temas/_llocali.map @@ -1,71 +1,77 @@ -MAP - FONTSET "../symbols/fontes.txt" - SYMBOLSET "../symbols/simbolosv6.sym" - LAYER - CONNECTION "" - DATA "/var/www/i3geo/aplicmap/dados/locali.shp" - METADATA - "TIP" "TIPO,NOMELOC,ANOCRIA" - "cache" "SIM" - "CLASSE" "SIM" - "LTEMPOITEMDESCRICAO" "TIPO" - "LTEMPOITEMINICIO" "ANOCRIA" - "permitekmz" "sim" - "LTEMPOITEMTIP" "ANOCRIA" - "ITENSDESC" "Município,TIPO,Localidade,ANOCRIA" - "LTEMPOITEMTITULO" "NOMELOC" - "ITENSLINK" ",,," - "TILES" "SIM" - "permitedownload" "sim" - "LTEMPOFORMATODATA" "iso8601" - "permitecomentario" "SIM" - "download" "SIM" - "itembuscarapida" "NOMELOC" - "ITENS" "NOMEMUN,TIPO,NOMELOC,ANOCRIA" - "permitekml" "sim" - "permiteogc" "sim" - "transitioneffect" "NAO" - "TEMA" "Localidades (usar com timeline) para teste" - "cortepixels" "30" - "LTEMPOCONVENCODE" "SIM" - END # METADATA - NAME "_llocali" - PROCESSING "LABEL_NO_CLIP=True" - PROCESSING "POLYLINE_NO_CLIP=True" - STATUS DEFAULT - TEMPLATE "none.htm" - TYPE POINT - UNITS METERS - CLASS - NAME "Vila" - EXPRESSION ('[TIPO]'eq'Vila') - STYLE - COLOR 250 193 4 - SIZE 20 - SYMBOL "/var/www/i3geo/imagens/google/condominium.png" - END # STYLE - TITLE "" - END # CLASS - CLASS - NAME "Cidade" - EXPRESSION ('[TIPO]'eq'Cidade') - STYLE - COLOR 62 9 41 - OFFSET 0 -10 - SIZE 20 - SYMBOL "/var/www/i3geo/imagens/google/condominium1.png" - END # STYLE - TITLE "" - END # CLASS - CLASS - NAME "Capital" - EXPRESSION ('[TIPO]'eq'Capital') - STYLE - COLOR 112 203 244 - SIZE 9 - SYMBOL "vila" - END # STYLE - TITLE "" - END # CLASS - END # LAYER -END # MAP +MAP + FONTSET "../symbols/fontes.txt" + SYMBOLSET "../symbols/simbolosv6.sym" + LAYER + CONNECTION "" + DATA "/var/www/i3geo/aplicmap/dados/locali.shp" + METADATA + "METAESTAT_ID_MEDIDA_VARIAVEL" "" + "cache" "SIM" + "TIP" "TIPO,NOMELOC,ANOCRIA" + "LTEMPOITEMDESCRICAO" "TIPO" + "CLASSE" "SIM" + "LTEMPOITEMINICIO" "ANOCRIA" + "LTEMPOITEMTIP" "ANOCRIA" + "permitekmz" "sim" + "LTEMPOITEMTITULO" "NOMELOC" + "ITENSDESC" "Município,TIPO,Localidade,ANOCRIA" + "TILES" "SIM" + "ITENSLINK" ",,," + "METAESTAT_CODIGO_TIPO_REGIAO" "" + "LTEMPOFORMATODATA" "iso8601" + "permitedownload" "sim" + "permitecomentario" "SIM" + "metaestat" "" + "download" "SIM" + "itembuscarapida" "NOMELOC" + "ITENS" "NOMEMUN,TIPO,NOMELOC,ANOCRIA" + "transitioneffect" "NAO" + "permiteogc" "sim" + "permitekml" "sim" + "TEMA" "Localidades (usar com timeline) para teste" + "cortepixels" "30" + "LTEMPOCONVENCODE" "SIM" + END # METADATA + NAME "_llocali" + PROCESSING "LABEL_NO_CLIP=True" + PROCESSING "POLYLINE_NO_CLIP=True" + STATUS DEFAULT + TEMPLATE "none.htm" + TILEITEM "location" + TYPE POINT + UNITS METERS + CLASS + NAME "Vila" + EXPRESSION ('[TIPO]'eq'Vila') + STYLE + COLOR 250 193 4 + SIZE 20 + SYMBOL "/var/www/i3geo/imagens/google/condominium.png" + END # STYLE + TITLE "" + END # CLASS + CLASS + NAME "Cidade" + EXPRESSION ('[TIPO]'eq'Cidade') + STYLE + COLOR 62 9 41 + OFFSET 0 -10 + SIZE 20 + SYMBOL "/var/www/i3geo/imagens/google/condominium1.png" + END # STYLE + TITLE "" + END # CLASS + CLASS + NAME "Capital" + EXPRESSION ('[TIPO]'eq'Capital') + STYLE + COLOR 112 203 244 + SIZE 9 + SYMBOL "vila" + END # STYLE + TITLE "" + END # CLASS + END # LAYER + +END # MAP + -- libgit2 0.21.2