Commit 118d99ea8f6f093cb5b0d7e12542b8bb4ea5725c
1 parent
702bc2cf
Exists in
master
and in
7 other branches
Inclusão de projetos gvsig no gerador de serviços OGC
Showing
4 changed files
with
104 additions
and
51 deletions
Show diff stats
admin/admin.db
No preview for this file type
classesphp/classe_mapa.php
| ... | ... | @@ -93,8 +93,7 @@ $map_file - Endereço do mapfile no servidor. |
| 93 | 93 | $this->mapa = @ms_newMapObj($map_file); |
| 94 | 94 | $this->arquivo = $map_file; |
| 95 | 95 | $c = $this->mapa->numlayers; |
| 96 | - for ($i=0;$i < $c;++$i) | |
| 97 | - { | |
| 96 | + for ($i=0;$i < $c;++$i){ | |
| 98 | 97 | $l = $this->mapa->getlayer($i); |
| 99 | 98 | $this->layers[] = $l; |
| 100 | 99 | $this->nomes[] = $l->name; |
| ... | ... | @@ -943,46 +942,101 @@ $random - indica se os nomes dos novos layers ser&atilde;o modificados ou nao |
| 943 | 942 | //limpa selecao |
| 944 | 943 | $temas = explode(",",$temas); |
| 945 | 944 | $zoomlayer = ""; |
| 946 | - foreach ($temas as $nome) | |
| 947 | - { | |
| 945 | + foreach ($temas as $nome){ | |
| 948 | 946 | $this->adicionaAcesso($nome,$locaplic); |
| 949 | 947 | $nomemap = ""; |
| 950 | 948 | // |
| 951 | 949 | //verifica se o tema é um arquivo php |
| 952 | 950 | // |
| 951 | + $extensao = ".map"; | |
| 953 | 952 | if ((file_exists($locaplic."/temas/".$nome.".php")) || (file_exists($nome.".php"))){ |
| 954 | - include_once($locaplic."/temas/".$nome.".php"); | |
| 955 | - if(function_exists($nome)){ | |
| 956 | - eval($nome."(\$this->mapa);"); | |
| 953 | + $extensao = ".php"; | |
| 954 | + } | |
| 955 | + if ((file_exists($locaplic."/temas/".$nome.".gvp")) || (file_exists($nome.".gvp"))){ | |
| 956 | + $extensao = ".gvp"; | |
| 957 | + } | |
| 958 | + if($extensao == ".php"){ | |
| 959 | + include_once($locaplic."/temas/".$nome.".php"); | |
| 960 | + if(function_exists($nome)){ | |
| 961 | + eval($nome."(\$this->mapa);"); | |
| 957 | 962 | } |
| 958 | 963 | } |
| 959 | - else | |
| 960 | - { | |
| 961 | - if (file_exists($locaplic."/temas/".$nome.".map")) | |
| 962 | - {$nomemap = $locaplic."/temas/".$nome.".map";} | |
| 963 | - if (file_exists($nome)) | |
| 964 | - {$nomemap = $nome;} | |
| 965 | - if (file_exists($nome.".map")) | |
| 966 | - {$nomemap = $nome.".map";} | |
| 967 | - if ($nomemap != "") | |
| 968 | - { | |
| 964 | + if($extensao == ".gvp"){ | |
| 965 | + if (file_exists($locaplic."/temas/".$nome.".gvp")){ | |
| 966 | + $nomemap = $locaplic."/temas/".$nome.".gvp"; | |
| 967 | + } | |
| 968 | + if (file_exists($nome)){ | |
| 969 | + $nomemap = $nome; | |
| 970 | + } | |
| 971 | + if (file_exists($nome.".gvp")){ | |
| 972 | + $nomemap = $nome.".gvp"; | |
| 973 | + } | |
| 974 | + if ($nomemap != ""){ | |
| 975 | + include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php"); | |
| 976 | + $gm = new gvsig2mapfile($nomemap); | |
| 977 | + $gvsigview = $gm->getViewsNames(); | |
| 978 | + $gvsigview = $gvsigview[0]; | |
| 979 | + $dataView = $gm->getViewData($gvsigview); | |
| 980 | + $adicionar = array(); | |
| 981 | + foreach($dataView["layerNames"] as $t){ | |
| 982 | + if(!in_array($t,$this->nomes)){ | |
| 983 | + $adicionar[] = $t; | |
| 984 | + } | |
| 985 | + } | |
| 986 | + $this->mapa = $gm->addLayers($this->mapa,$gvsigview,$adicionar); | |
| 987 | + foreach($adicionar as $nome){ | |
| 988 | + $l = $this->mapa->getlayerbyname($nome); | |
| 989 | + //reposiciona o layer se for o caso | |
| 990 | + if ($l->group == ""){ | |
| 991 | + $ltipo = $l->type; | |
| 992 | + if (($ltipo == 2) || ($ltipo == 3)){//poligono = 2 | |
| 993 | + $indicel = $l->index; | |
| 994 | + $numlayers = $this->mapa->numlayers; | |
| 995 | + $nummove = 0; | |
| 996 | + for ($i = $numlayers-1;$i > 0;$i--){ | |
| 997 | + $layerAbaixo = $this->mapa->getlayer($i); | |
| 998 | + $tipo = $layerAbaixo->type; | |
| 999 | + if (($tipo != 2) && ($tipo != 3)){ | |
| 1000 | + $nummove++; | |
| 1001 | + } | |
| 1002 | + } | |
| 1003 | + for ($i=0;$i<($nummove);++$i){ | |
| 1004 | + $indicel = $l->index; | |
| 1005 | + $this->mapa->movelayerup($indicel); | |
| 1006 | + } | |
| 1007 | + } | |
| 1008 | + } | |
| 1009 | + } | |
| 1010 | + } | |
| 1011 | + } | |
| 1012 | + if($extensao == ".map"){ | |
| 1013 | + if (file_exists($locaplic."/temas/".$nome.".map")){ | |
| 1014 | + $nomemap = $locaplic."/temas/".$nome.".map"; | |
| 1015 | + } | |
| 1016 | + if (file_exists($nome)){ | |
| 1017 | + $nomemap = $nome; | |
| 1018 | + } | |
| 1019 | + if (file_exists($nome.".map")){ | |
| 1020 | + $nomemap = $nome.".map"; | |
| 1021 | + } | |
| 1022 | + if ($nomemap != ""){ | |
| 969 | 1023 | $nmap = ms_newMapObj($nomemap); |
| 970 | 1024 | $novosnomes = $nmap->getAllLayerNames(); |
| 971 | 1025 | //define nomes unicos para os temas |
| 972 | - foreach ($novosnomes as $n) | |
| 973 | - { | |
| 974 | - if(!@$this->mapa->getlayerbyname($n)) | |
| 975 | - {$random = "nao";} | |
| 1026 | + foreach ($novosnomes as $n){ | |
| 1027 | + if(!@$this->mapa->getlayerbyname($n)){ | |
| 1028 | + $random = "nao"; | |
| 1029 | + } | |
| 976 | 1030 | $random == "sim" ? $nomeunico[$n] = nomeRandomico() : $nomeunico[$n] = $n; |
| 977 | 1031 | } |
| 978 | 1032 | //altera os temas para incluir o nome unico |
| 979 | 1033 | //include_once($locaplic."/classesphp/funcoes_gerais.php"); |
| 980 | - foreach ($novosnomes as $n) | |
| 981 | - { | |
| 1034 | + foreach ($novosnomes as $n){ | |
| 982 | 1035 | $nlayer = $nmap->getlayerbyname($n); |
| 983 | 1036 | //para impedir erros na legenda |
| 984 | - if($nlayer->getmetadata("classe") == "") | |
| 985 | - {$nlayer->setmetadata("classe","");} | |
| 1037 | + if($nlayer->getmetadata("classe") == ""){ | |
| 1038 | + $nlayer->setmetadata("classe",""); | |
| 1039 | + } | |
| 986 | 1040 | autoClasses($nlayer,$this->mapa); |
| 987 | 1041 | $nlayer->set("status",MS_DEFAULT); |
| 988 | 1042 | $nNome = str_replace(".map","",basename($nomemap)); |
| ... | ... | @@ -990,8 +1044,7 @@ $random - indica se os nomes dos novos layers ser&atilde;o modificados ou nao |
| 990 | 1044 | $nlayer->setmetadata("nomeoriginal",$nlayer->name); |
| 991 | 1045 | $nlayer->set("name",$nomeunico[$n]); |
| 992 | 1046 | //altera o nome do grupo se existir |
| 993 | - if ($nlayer->group != " " && $nlayer->group != "" ) | |
| 994 | - { | |
| 1047 | + if ($nlayer->group != " " && $nlayer->group != "" ){ | |
| 995 | 1048 | $lr = $nlayer->group; |
| 996 | 1049 | if($nomeunico[$lr]) |
| 997 | 1050 | $nlayer->set("group",$nomeunico[$lr]); |
| ... | ... | @@ -1005,10 +1058,12 @@ $random - indica se os nomes dos novos layers ser&atilde;o modificados ou nao |
| 1005 | 1058 | $tipotemp = $nlayer->type; |
| 1006 | 1059 | $tiporep = $nlayer->getmetadata("tipooriginal"); |
| 1007 | 1060 | $nlayer->set("type",MS_LAYER_POLYGON); |
| 1008 | - if ($tiporep == "linear") | |
| 1009 | - {$nlayer->set("type",MS_LAYER_LINE);} | |
| 1010 | - if ($tiporep == "pontual") | |
| 1011 | - {$nlayer->set("type",MS_LAYER_POINT);} | |
| 1061 | + if ($tiporep == "linear"){ | |
| 1062 | + $nlayer->set("type",MS_LAYER_LINE); | |
| 1063 | + } | |
| 1064 | + if ($tiporep == "pontual"){ | |
| 1065 | + $nlayer->set("type",MS_LAYER_POINT); | |
| 1066 | + } | |
| 1012 | 1067 | $sld = $nlayer->generateSLD(); |
| 1013 | 1068 | if($sld != "") |
| 1014 | 1069 | $nlayer->setmetadata("wms_sld_body",str_replace('"',"'",$sld)); |
| ... | ... | @@ -1017,30 +1072,23 @@ $random - indica se os nomes dos novos layers ser&atilde;o modificados ou nao |
| 1017 | 1072 | ms_newLayerObj($this->mapa, $nlayer); |
| 1018 | 1073 | $l = $this->mapa->getlayerbyname($nlayer->name); |
| 1019 | 1074 | //reposiciona o layer se for o caso |
| 1020 | - if ($l->group == "") | |
| 1021 | - { | |
| 1075 | + if ($l->group == ""){ | |
| 1022 | 1076 | $ltipo = $l->type; |
| 1023 | - if (($ltipo == 2) || ($ltipo == 3))//poligono = 2 | |
| 1024 | - { | |
| 1077 | + if (($ltipo == 2) || ($ltipo == 3)){//poligono = 2 | |
| 1025 | 1078 | $indicel = $l->index; |
| 1026 | 1079 | $numlayers = $this->mapa->numlayers; |
| 1027 | 1080 | $nummove = 0; |
| 1028 | - for ($i = $numlayers-1;$i > 0;$i--) | |
| 1029 | - { | |
| 1081 | + for ($i = $numlayers-1;$i > 0;$i--){ | |
| 1030 | 1082 | $layerAbaixo = $this->mapa->getlayer($i); |
| 1031 | 1083 | $tipo = $layerAbaixo->type; |
| 1032 | - if (($tipo != 2) && ($tipo != 3)) | |
| 1033 | - {$nummove++;} | |
| 1034 | - } | |
| 1035 | - //echo $nummove;exit; | |
| 1036 | - //if ($nummove > 2) | |
| 1037 | - //{ | |
| 1038 | - for ($i=0;$i<($nummove);++$i) | |
| 1039 | - { | |
| 1040 | - $indicel = $l->index; | |
| 1041 | - $this->mapa->movelayerup($indicel); | |
| 1084 | + if (($tipo != 2) && ($tipo != 3)){ | |
| 1085 | + $nummove++; | |
| 1042 | 1086 | } |
| 1043 | - //} | |
| 1087 | + } | |
| 1088 | + for ($i=0;$i<($nummove);++$i){ | |
| 1089 | + $indicel = $l->index; | |
| 1090 | + $this->mapa->movelayerup($indicel); | |
| 1091 | + } | |
| 1044 | 1092 | } |
| 1045 | 1093 | } |
| 1046 | 1094 | } | ... | ... |
classesphp/funcoes_gerais.php
| ... | ... | @@ -2530,13 +2530,14 @@ function listaGruposUsrLogin(){ |
| 2530 | 2530 | if(empty($_COOKIE["i3geocodigologin"])){ |
| 2531 | 2531 | return array(); |
| 2532 | 2532 | } |
| 2533 | - session_write_close(); | |
| 2534 | 2533 | $nameatual = session_name(); |
| 2535 | 2534 | $idatual = session_id(); |
| 2535 | + session_write_close(); | |
| 2536 | 2536 | session_name("i3GeoLogin"); |
| 2537 | 2537 | session_id($_COOKIE["i3geocodigologin"]); |
| 2538 | 2538 | session_start(); |
| 2539 | 2539 | $res = $_SESSION["gruposusr"]; |
| 2540 | + session_write_close(); | |
| 2540 | 2541 | session_name("$nameatual"); |
| 2541 | 2542 | session_id($idatual); |
| 2542 | 2543 | session_start(); | ... | ... |
ogc.php
| ... | ... | @@ -298,7 +298,8 @@ if ($tipo == "" || $tipo == "metadados"){ |
| 298 | 298 | $gvsigview = $gvsigview[0]; |
| 299 | 299 | $dataView = $gm->getViewData($gvsigview); |
| 300 | 300 | $oMap = $gm->addLayers($oMap,$gvsigview,$dataView["layerNames"]); |
| 301 | - $numlayers = $oMap->numlayers; | |
| 301 | + $numlayers = $oMap->numlayers; | |
| 302 | + $layers = array(); | |
| 302 | 303 | for ($i=0;$i < $numlayers;$i++){ |
| 303 | 304 | $l = $oMap->getlayer($i); |
| 304 | 305 | $l->setmetadata("gml_include_items","all"); |
| ... | ... | @@ -306,8 +307,11 @@ if ($tipo == "" || $tipo == "metadados"){ |
| 306 | 307 | $l->setmetadata("WMS_INCLUDE_ITEMS","all"); |
| 307 | 308 | $l->setmetadata("WFS_INCLUDE_ITEMS","all"); |
| 308 | 309 | $l->setmetadata("ows_srs",$listaepsg); |
| 309 | - $oMap->setmetadata("ows_enable_request","*"); | |
| 310 | + $l->set("status",MS_DEFAULT); | |
| 311 | + $layers[] = $l->name; | |
| 310 | 312 | } |
| 313 | + $req->setParameter("LAYERS", implode(",",$layers)); | |
| 314 | + //r_dump($req);exit; | |
| 311 | 315 | } |
| 312 | 316 | } |
| 313 | 317 | } | ... | ... |