Commit 9d98180275859e71c284622183886e562264cc31

Authored by Edmar Moretti
1 parent e5c922d8

--no commit message

@@ -77,6 +77,8 @@ ogc.php?tema=bioma @@ -77,6 +77,8 @@ ogc.php?tema=bioma
77 ogc.php?tema=/var/www/i3geo/aplicmap/geral1debianv6.map&layers=mundo 77 ogc.php?tema=/var/www/i3geo/aplicmap/geral1debianv6.map&layers=mundo
78 78
79 */ 79 */
  80 +set_time_limit(0);
  81 +ini_set('memory_limit', '512M');
80 $_GET = array_merge($_GET,$_POST); 82 $_GET = array_merge($_GET,$_POST);
81 // 83 //
82 //caso nenhum parametros tenha sido enviado 84 //caso nenhum parametros tenha sido enviado
@@ -166,7 +168,8 @@ if(!isset($tema) && isset($typename)){ @@ -166,7 +168,8 @@ if(!isset($tema) && isset($typename)){
166 if(!file_exists($tema)){ 168 if(!file_exists($tema)){
167 $_GET["layers"] = $tema; 169 $_GET["layers"] = $tema;
168 $_GET["LAYERS"] = $tema; 170 $_GET["LAYERS"] = $tema;
169 -} 171 +}
  172 +
170 $layers = $tema; 173 $layers = $tema;
171 // 174 //
172 //verifica o OUTPUTFORMAT e o cache de arquivo 175 //verifica o OUTPUTFORMAT e o cache de arquivo
@@ -284,13 +287,15 @@ $arrayget["Z"] = ""; @@ -284,13 +287,15 @@ $arrayget["Z"] = "";
284 $arrayget["X"] = ""; 287 $arrayget["X"] = "";
285 $arrayget["Y"] = ""; 288 $arrayget["Y"] = "";
286 $arrayget["tms"] = ""; 289 $arrayget["tms"] = "";
287 -$nomeMapfileTmp = $dir_tmp."/ogc_".md5(implode("",$arrayget))."_".$agora.".map"; 290 +$nomeMapfileTmp = $dir_tmp."/ogc_".md5(implode("",$arrayget))."_".$agora.".map";
  291 +
288 //essa variavel e usada para definir se a imagem final gerada devera ser cortada ou nao 292 //essa variavel e usada para definir se a imagem final gerada devera ser cortada ou nao
289 $cortePixels = 0; 293 $cortePixels = 0;
290 if(file_exists($nomeMapfileTmp) && $tipo == ""){ 294 if(file_exists($nomeMapfileTmp) && $tipo == ""){
291 $oMap = ms_newMapobj($nomeMapfileTmp); 295 $oMap = ms_newMapobj($nomeMapfileTmp);
292 } 296 }
293 else{ 297 else{
  298 +
294 if(empty($ogcwsmap)){ 299 if(empty($ogcwsmap)){
295 $oMap = ms_newMapobj($locaplic."/aplicmap/ogcwsv".$versao.".map"); 300 $oMap = ms_newMapobj($locaplic."/aplicmap/ogcwsv".$versao.".map");
296 } 301 }
@@ -322,7 +327,8 @@ else{ @@ -322,7 +327,8 @@ else{
322 $oMap->setmetadata("wms_srs","EPSG:4326"); 327 $oMap->setmetadata("wms_srs","EPSG:4326");
323 } 328 }
324 $e = $oMap->extent; 329 $e = $oMap->extent;
325 - $extensaoMap = ($e->minx)." ".($e->miny)." ".($e->maxx)." ".($e->maxy); 330 + $extensaoMap = ($e->minx)." ".($e->miny)." ".($e->maxx)." ".($e->maxy);
  331 +
326 //gera o mapa 332 //gera o mapa
327 if ($tema != ""){ 333 if ($tema != ""){
328 $listatema = explode(" ",$tema); 334 $listatema = explode(" ",$tema);
@@ -335,6 +341,7 @@ else{ @@ -335,6 +341,7 @@ else{
335 $temai3geo = false; 341 $temai3geo = false;
336 $nmap->setmetadata("ows_enable_request","*"); 342 $nmap->setmetadata("ows_enable_request","*");
337 } 343 }
  344 +
338 foreach ($listatema as $tx){ 345 foreach ($listatema as $tx){
339 $extensao = ".map"; 346 $extensao = ".map";
340 if($temai3geo == true && file_exists($locaplic."/temas/".$tx.".php")){ 347 if($temai3geo == true && file_exists($locaplic."/temas/".$tx.".php")){
@@ -344,10 +351,13 @@ else{ @@ -344,10 +351,13 @@ else{
344 $extensao = ".gvp"; 351 $extensao = ".gvp";
345 } 352 }
346 if($extensao == ".map"){ 353 if($extensao == ".map"){
  354 +
347 //cria o mapfile com base no sistema de metadados estatisticos 355 //cria o mapfile com base no sistema de metadados estatisticos
348 //verifica se o id_medida_variavel existe no mapfile e nao foi passado como um parametro 356 //verifica se o id_medida_variavel existe no mapfile e nao foi passado como um parametro
349 - if(!isset($id_medida_variavel) && $temai3geo == true){ 357 + if(!isset($id_medida_variavel) && $temai3geo == true){
  358 +
350 $nmap = ms_newMapobj($locaplic."/temas/".$tx.".map"); 359 $nmap = ms_newMapobj($locaplic."/temas/".$tx.".map");
  360 +
351 $l = $nmap->getlayer(0); 361 $l = $nmap->getlayer(0);
352 $teste = $l->getmetadata("METAESTAT_ID_MEDIDA_VARIAVEL"); 362 $teste = $l->getmetadata("METAESTAT_ID_MEDIDA_VARIAVEL");
353 if($teste != "" && $l->data == ""){ 363 if($teste != "" && $l->data == ""){
@@ -363,11 +373,13 @@ else{ @@ -363,11 +373,13 @@ else{
363 $nmap = ms_newMapobj($mapfileMetaestat["mapfile"]); 373 $nmap = ms_newMapobj($mapfileMetaestat["mapfile"]);
364 $nmap->setmetadata("ows_enable_request","*"); 374 $nmap->setmetadata("ows_enable_request","*");
365 $req->setParameter("LAYERS", "ogcmetaestat".$id_medida_variavel); 375 $req->setParameter("LAYERS", "ogcmetaestat".$id_medida_variavel);
366 - } 376 + }
  377 +
367 if($temai3geo == true){ 378 if($temai3geo == true){
368 $nmap = ms_newMapobj($locaplic."/temas/".$tx.".map"); 379 $nmap = ms_newMapobj($locaplic."/temas/".$tx.".map");
369 $nmap->setmetadata("ows_enable_request","*"); 380 $nmap->setmetadata("ows_enable_request","*");
370 } 381 }
  382 +
371 if($temai3geo == false || empty($layers)){ 383 if($temai3geo == false || empty($layers)){
372 $ts = $nmap->getalllayernames(); 384 $ts = $nmap->getalllayernames();
373 $nmap->setmetadata("ows_enable_request","*"); 385 $nmap->setmetadata("ows_enable_request","*");
@@ -375,13 +387,16 @@ else{ @@ -375,13 +387,16 @@ else{
375 else{ 387 else{
376 $ts = explode(",",str_replace(" ",",",$layers)); 388 $ts = explode(",",str_replace(" ",",",$layers));
377 } 389 }
  390 +
378 foreach ($ts as $t){ 391 foreach ($ts as $t){
379 $l = $nmap->getlayerbyname($t); 392 $l = $nmap->getlayerbyname($t);
380 if($l == ""){ 393 if($l == ""){
381 $l = $nmap->getlayer(0); 394 $l = $nmap->getlayer(0);
382 } 395 }
383 - $permite = $l->getmetadata("permiteogc"); 396 + $permite = $l->getmetadata("permiteogc");
  397 +
384 if(strtolower($permite) != "nao"){ 398 if(strtolower($permite) != "nao"){
  399 +
385 //necessário pq o mapfile pode ter todos os layers como default 400 //necessário pq o mapfile pode ter todos os layers como default
386 if($temai3geo == false){ 401 if($temai3geo == false){
387 $l->set("status",MS_OFF); 402 $l->set("status",MS_OFF);
@@ -631,13 +646,15 @@ else{ @@ -631,13 +646,15 @@ else{
631 $oMap->setFontSet($locaplic."/symbols/".basename($oMap->fontsetfilename)); 646 $oMap->setFontSet($locaplic."/symbols/".basename($oMap->fontsetfilename));
632 // 647 //
633 //caso seja download ou json ou csv 648 //caso seja download ou json ou csv
634 - // 649 + //
  650 +
635 processaOutputformatMapfile(); 651 processaOutputformatMapfile();
636 652
637 $oMap->save($nomeMapfileTmp); 653 $oMap->save($nomeMapfileTmp);
638 validaAcessoTemas($nomeMapfileTmp,true); 654 validaAcessoTemas($nomeMapfileTmp,true);
639 $oMap = ms_newMapobj($nomeMapfileTmp); 655 $oMap = ms_newMapobj($nomeMapfileTmp);
640 } 656 }
  657 +
641 if(ob_get_contents ()){ 658 if(ob_get_contents ()){
642 ob_end_clean(); 659 ob_end_clean();
643 } 660 }
@@ -830,7 +847,8 @@ if(strtolower($req->getValueByName("REQUEST")) == "getlegendgraphic"){ @@ -830,7 +847,8 @@ if(strtolower($req->getValueByName("REQUEST")) == "getlegendgraphic"){
830 exit; 847 exit;
831 } 848 }
832 } 849 }
833 -} 850 +}
  851 +
834 if(strtolower($req->getValueByName("REQUEST")) == "getfeature"){ 852 if(strtolower($req->getValueByName("REQUEST")) == "getfeature"){
835 $l = $oMap->getlayer(0); 853 $l = $oMap->getlayer(0);
836 if($req->getValueByName("TYPENAME") == "" || $req->getValueByName("TYPENAME") == "undefined"){ 854 if($req->getValueByName("TYPENAME") == "" || $req->getValueByName("TYPENAME") == "undefined"){
@@ -852,7 +870,6 @@ if(strtolower($req->getValueByName("REQUEST")) == "getfeatureinfo"){ @@ -852,7 +870,6 @@ if(strtolower($req->getValueByName("REQUEST")) == "getfeatureinfo"){
852 $_GET["SRS"] = "EPSG:3857"; 870 $_GET["SRS"] = "EPSG:3857";
853 } 871 }
854 } 872 }
855 -  
856 ms_ioinstallstdouttobuffer(); 873 ms_ioinstallstdouttobuffer();
857 // 874 //
858 //verifica parametro outputformat e ajusta a requisicao 875 //verifica parametro outputformat e ajusta a requisicao
@@ -878,22 +895,26 @@ elseif(!isset($OUTPUTFORMAT)){ @@ -878,22 +895,26 @@ elseif(!isset($OUTPUTFORMAT)){
878 //$ogrOutput vem de ms_configura.php 895 //$ogrOutput vem de ms_configura.php
879 896
880 //precisa limpar o cabecalho 897 //precisa limpar o cabecalho
881 -if(strtolower($OUTPUTFORMAT) == "geojson" || strtolower($OUTPUTFORMAT) == "json"){ 898 +if(strtolower($OUTPUTFORMAT) == "geojson" || strtolower($OUTPUTFORMAT) == "json"){
882 $arq = $dir_tmp."/".$tema.".json"; 899 $arq = $dir_tmp."/".$tema.".json";
883 if(isset($ogrOutput) && $ogrOutput == false){ 900 if(isset($ogrOutput) && $ogrOutput == false){
884 exportaGeojson(); 901 exportaGeojson();
885 exit; 902 exit;
886 } 903 }
887 - $oMap->owsdispatch($req); 904 + $oMap->owsdispatch($req);
  905 +
888 $contenttype = ms_iostripstdoutbuffercontenttype(); 906 $contenttype = ms_iostripstdoutbuffercontenttype();
889 ms_iostripstdoutbuffercontentheaders(); 907 ms_iostripstdoutbuffercontentheaders();
890 //grava em disco 908 //grava em disco
891 $contents = ms_iogetstdoutbufferstring(); 909 $contents = ms_iogetstdoutbufferstring();
892 file_put_contents($arq,$contents); 910 file_put_contents($arq,$contents);
893 //envia para download 911 //envia para download
  912 +
894 header("Content-type: application/json; subtype=geojson"); 913 header("Content-type: application/json; subtype=geojson");
  914 +
895 ms_iogetStdoutBufferBytes(); 915 ms_iogetStdoutBufferBytes();
896 ms_ioresethandlers(); 916 ms_ioresethandlers();
  917 +
897 exit; 918 exit;
898 } 919 }
899 if(strtolower($OUTPUTFORMAT) == "shape-zip"){ 920 if(strtolower($OUTPUTFORMAT) == "shape-zip"){
temas/_cursoaeroporto.map
1 -MAP  
2 - FONTSET "../symbols/fontes.txt"  
3 - SYMBOLSET "../symbols/simbolosv6.sym"  
4 - LAYER  
5 - DATA "/var/www/i3geo/aplicmap/dados/sc22/AEROPORTO_CAMPO_DE_POUSO.shp"  
6 - METADATA  
7 - "ltempoitemimagem" ""  
8 - "ltempoitemdescricao" ""  
9 - "CLASSE" "SIM"  
10 - "ltempoiteminicio" ""  
11 - "palletestep" ""  
12 - "ltempoitemtip" ""  
13 - "ltempoitemtitulo" ""  
14 - "description_template" ""  
15 - "ltempoitemlink" ""  
16 - "palletefile" ""  
17 - "ltempoformatodata" ""  
18 - "ltempoitemicone" ""  
19 - "PLUGINI3GEO" ""  
20 - "itembuscarapida" ""  
21 - "TEMA" "Aeroportos SC22ç"  
22 - "ltempoconvencode" ""  
23 - "editorsql" ""  
24 - "ltempoitemfim" ""  
25 - END # METADATA  
26 - NAME "_cursoaeroporto"  
27 - STATUS OFF  
28 - TEMPLATE "none.htm"  
29 - TILEITEM "location"  
30 - TYPE POINT  
31 - UNITS METERS  
32 - CLASS  
33 - NAME ""  
34 - STYLE  
35 - COLOR 255 0 0  
36 - OUTLINECOLOR 0 0 0  
37 - SIZE 15  
38 - SYMBOL "ponto"  
39 - END # STYLE  
40 - END # CLASS  
41 - END # LAYER  
42 -  
43 -END # MAP  
44 - 1 +MAP
  2 + FONTSET "../symbols/fontes.txt"
  3 + SYMBOLSET "../symbols/simbolosv6.sym"
  4 + LAYER
  5 + DATA "/var/www/i3geo/aplicmap/dados/sc22/AEROPORTO_CAMPO_DE_POUSO.shp"
  6 + METADATA
  7 + "ltempoitemimagem" ""
  8 + "CLASSE" "SIM"
  9 + "ltempoitemdescricao" ""
  10 + "palletestep" ""
  11 + "ltempoiteminicio" ""
  12 + "permitekmz" ""
  13 + "ltempoitemtip" ""
  14 + "description_template" ""
  15 + "ltempoitemtitulo" ""
  16 + "ltempoitemlink" ""
  17 + "palletefile" ""
  18 + "permitedownload" ""
  19 + "ltempoformatodata" ""
  20 + "ltempoitemicone" ""
  21 + "PLUGINI3GEO" ""
  22 + "itembuscarapida" ""
  23 + "arquivokmz" ""
  24 + "arquivodownload" ""
  25 + "permitekml" "SIM"
  26 + "permiteogc" "SIM"
  27 + "TEMA" "Aeroportos SC22ç"
  28 + "editorsql" ""
  29 + "ltempoconvencode" ""
  30 + "ltempoitemfim" ""
  31 + END # METADATA
  32 + NAME "_cursoaeroporto"
  33 + STATUS OFF
  34 + TEMPLATE "none.htm"
  35 + TILEITEM "location"
  36 + TYPE POINT
  37 + UNITS METERS
  38 + CLASS
  39 + NAME ""
  40 + STYLE
  41 + COLOR 255 0 0
  42 + OUTLINECOLOR 0 0 0
  43 + SIZE 15
  44 + SYMBOL "ponto"
  45 + END # STYLE
  46 + END # CLASS
  47 + END # LAYER
  48 +
  49 +END # MAP
  50 +
temas/_llocali.map
1 -MAP  
2 - FONTSET "../symbols/fontes.txt"  
3 - SYMBOLSET "../symbols/simbolosv6.sym"  
4 - LAYER  
5 - CONNECTION ""  
6 - DATA "/var/www/i3geo/aplicmap/dados/locali.shp"  
7 - METADATA  
8 - "TIP" "TIPO,NOMELOC,ANOCRIA"  
9 - "cache" "SIM"  
10 - "CLASSE" "SIM"  
11 - "LTEMPOITEMDESCRICAO" "TIPO"  
12 - "LTEMPOITEMINICIO" "ANOCRIA"  
13 - "permitekmz" "sim"  
14 - "LTEMPOITEMTIP" "ANOCRIA"  
15 - "ITENSDESC" "Município,TIPO,Localidade,ANOCRIA"  
16 - "LTEMPOITEMTITULO" "NOMELOC"  
17 - "ITENSLINK" ",,,"  
18 - "TILES" "SIM"  
19 - "permitedownload" "sim"  
20 - "LTEMPOFORMATODATA" "iso8601"  
21 - "permitecomentario" "SIM"  
22 - "download" "SIM"  
23 - "itembuscarapida" "NOMELOC"  
24 - "ITENS" "NOMEMUN,TIPO,NOMELOC,ANOCRIA"  
25 - "permitekml" "sim"  
26 - "permiteogc" "sim"  
27 - "transitioneffect" "NAO"  
28 - "TEMA" "Localidades (usar com timeline) para teste"  
29 - "cortepixels" "30"  
30 - "LTEMPOCONVENCODE" "SIM"  
31 - END # METADATA  
32 - NAME "_llocali"  
33 - PROCESSING "LABEL_NO_CLIP=True"  
34 - PROCESSING "POLYLINE_NO_CLIP=True"  
35 - STATUS DEFAULT  
36 - TEMPLATE "none.htm"  
37 - TYPE POINT  
38 - UNITS METERS  
39 - CLASS  
40 - NAME "Vila"  
41 - EXPRESSION ('[TIPO]'eq'Vila')  
42 - STYLE  
43 - COLOR 250 193 4  
44 - SIZE 20  
45 - SYMBOL "/var/www/i3geo/imagens/google/condominium.png"  
46 - END # STYLE  
47 - TITLE ""  
48 - END # CLASS  
49 - CLASS  
50 - NAME "Cidade"  
51 - EXPRESSION ('[TIPO]'eq'Cidade')  
52 - STYLE  
53 - COLOR 62 9 41  
54 - OFFSET 0 -10  
55 - SIZE 20  
56 - SYMBOL "/var/www/i3geo/imagens/google/condominium1.png"  
57 - END # STYLE  
58 - TITLE ""  
59 - END # CLASS  
60 - CLASS  
61 - NAME "Capital"  
62 - EXPRESSION ('[TIPO]'eq'Capital')  
63 - STYLE  
64 - COLOR 112 203 244  
65 - SIZE 9  
66 - SYMBOL "vila"  
67 - END # STYLE  
68 - TITLE ""  
69 - END # CLASS  
70 - END # LAYER  
71 -END # MAP 1 +MAP
  2 + FONTSET "../symbols/fontes.txt"
  3 + SYMBOLSET "../symbols/simbolosv6.sym"
  4 + LAYER
  5 + CONNECTION ""
  6 + DATA "/var/www/i3geo/aplicmap/dados/locali.shp"
  7 + METADATA
  8 + "METAESTAT_ID_MEDIDA_VARIAVEL" ""
  9 + "cache" "SIM"
  10 + "TIP" "TIPO,NOMELOC,ANOCRIA"
  11 + "LTEMPOITEMDESCRICAO" "TIPO"
  12 + "CLASSE" "SIM"
  13 + "LTEMPOITEMINICIO" "ANOCRIA"
  14 + "LTEMPOITEMTIP" "ANOCRIA"
  15 + "permitekmz" "sim"
  16 + "LTEMPOITEMTITULO" "NOMELOC"
  17 + "ITENSDESC" "Município,TIPO,Localidade,ANOCRIA"
  18 + "TILES" "SIM"
  19 + "ITENSLINK" ",,,"
  20 + "METAESTAT_CODIGO_TIPO_REGIAO" ""
  21 + "LTEMPOFORMATODATA" "iso8601"
  22 + "permitedownload" "sim"
  23 + "permitecomentario" "SIM"
  24 + "metaestat" ""
  25 + "download" "SIM"
  26 + "itembuscarapida" "NOMELOC"
  27 + "ITENS" "NOMEMUN,TIPO,NOMELOC,ANOCRIA"
  28 + "transitioneffect" "NAO"
  29 + "permiteogc" "sim"
  30 + "permitekml" "sim"
  31 + "TEMA" "Localidades (usar com timeline) para teste"
  32 + "cortepixels" "30"
  33 + "LTEMPOCONVENCODE" "SIM"
  34 + END # METADATA
  35 + NAME "_llocali"
  36 + PROCESSING "LABEL_NO_CLIP=True"
  37 + PROCESSING "POLYLINE_NO_CLIP=True"
  38 + STATUS DEFAULT
  39 + TEMPLATE "none.htm"
  40 + TILEITEM "location"
  41 + TYPE POINT
  42 + UNITS METERS
  43 + CLASS
  44 + NAME "Vila"
  45 + EXPRESSION ('[TIPO]'eq'Vila')
  46 + STYLE
  47 + COLOR 250 193 4
  48 + SIZE 20
  49 + SYMBOL "/var/www/i3geo/imagens/google/condominium.png"
  50 + END # STYLE
  51 + TITLE ""
  52 + END # CLASS
  53 + CLASS
  54 + NAME "Cidade"
  55 + EXPRESSION ('[TIPO]'eq'Cidade')
  56 + STYLE
  57 + COLOR 62 9 41
  58 + OFFSET 0 -10
  59 + SIZE 20
  60 + SYMBOL "/var/www/i3geo/imagens/google/condominium1.png"
  61 + END # STYLE
  62 + TITLE ""
  63 + END # CLASS
  64 + CLASS
  65 + NAME "Capital"
  66 + EXPRESSION ('[TIPO]'eq'Capital')
  67 + STYLE
  68 + COLOR 112 203 244
  69 + SIZE 9
  70 + SYMBOL "vila"
  71 + END # STYLE
  72 + TITLE ""
  73 + END # CLASS
  74 + END # LAYER
  75 +
  76 +END # MAP
  77 +