Commit 4f41aefc2d11b8351dda3a20d09d9a35fde3459b

Authored by Edmar Moretti
1 parent 2e6d6c36

Correção no gerador de WMC

classesphp/classe_mapa.php
... ... @@ -1227,7 +1227,9 @@ Transforma o mapa atual em um web service.
1227 1227 O novo map file é armazenado no mesmo diretório do map file original.
1228 1228  
1229 1229 Parametros:
  1230 +
1230 1231 $locmapserv - localização do CGI do mapserver
  1232 +
1231 1233 $h - host name
1232 1234  
1233 1235 Return:
... ... @@ -1240,11 +1242,11 @@ Endereço do WMS
1240 1242 $nomeurl = $locmapserv."?map=".$nomews;
1241 1243 $w = $this->mapa->web;
1242 1244 $w->set("template","");
1243   - // adiciona os parametros no nivel do mapa
  1245 + //adiciona os parametros no nivel do mapa
1244 1246 $this->mapa->setmetadata("wms_title","I3Geo");
1245 1247 $this->mapa->setmetadata("wms_onlineresource","http://".$h.$nomeurl);
1246 1248 $this->mapa->setmetadata("wms_srs","EPSG:4291");
1247   - $this->mapa->setmetadata("wms_getcontext_enabled","1");
  1249 + //$this->mapa->setmetadata("wms_getcontext_enabled","1");
1248 1250 foreach ($this->layers as $layer)
1249 1251 {
1250 1252 $n = pegaNome($layer);
... ... @@ -1253,7 +1255,7 @@ Endereço do WMS
1253 1255 $layer->setmetadata("wms_srs","EPSG:4291 EPSG:4326");
1254 1256 //$layer->setmetadata("wms_getcontext_enabled","1");
1255 1257 $layer->setmetadata("WMS_INCLUDE_ITEMS","all");
1256   - $layer->setmetadata("wms_onlineresource","http://".$h.$nomeurl);
  1258 + //$layer->setmetadata("wms_onlineresource","http://".$h.$nomeurl);
1257 1259 $layer->set("status","ON");
1258 1260 $layer->set("template","none.htm");
1259 1261 $layer->setmetadata("gml_include_items","all");
... ... @@ -1268,6 +1270,77 @@ Endereço do WMS
1268 1270 return($nomeurl);
1269 1271 }
1270 1272 /*
  1273 +Method: converteWMC
  1274 +
  1275 +Transforma o mapa atual em um Web Map Context.
  1276 +
  1277 +O novo map file é armazenado no mesmo diretório do map file original.
  1278 +
  1279 +Parametros:
  1280 +
  1281 +$locmapserv - localização do CGI do mapserver
  1282 +
  1283 +$h - host name
  1284 +
  1285 +Return:
  1286 +
  1287 +Endereço do WMC
  1288 +*/
  1289 + function converteWMC($locmapserv,$h)
  1290 + {
  1291 + $protocolo = explode("/",$_SERVER['SERVER_PROTOCOL']);
  1292 + $protocolo = $protocolo[0];
  1293 + $protocolo1 = strtolower($protocolo) . '://'.$_SERVER['SERVER_NAME'];
  1294 + $protocolo = strtolower($protocolo) . '://'.$_SERVER['SERVER_NAME'] .":". $_SERVER['SERVER_PORT'];
  1295 + $urli3geo = str_replace("/classesphp/mapa_controle.php","",$protocolo.$_SERVER["PHP_SELF"]);
  1296 +
  1297 + $nomews = str_replace(".map","wmc.map",$this->arquivo);
  1298 + $nomeurl = $locmapserv."?map=".$nomews;
  1299 + $w = $this->mapa->web;
  1300 + $w->set("template","");
  1301 + // adiciona os parametros no nivel do mapa
  1302 + $this->mapa->setmetadata("wms_title","I3Geo");
  1303 + $this->mapa->setmetadata("wms_onlineresource","http://".$h.$nomeurl);
  1304 + $this->mapa->setmetadata("wms_srs","EPSG:4291");
  1305 + $this->mapa->setmetadata("wms_getcontext_enabled","1");
  1306 + foreach ($this->layers as $layer)
  1307 + {
  1308 + $n = pegaNome($layer);
  1309 + $layer->setmetadata("wms_title",$n);
  1310 + $codigo = $layer->getmetadata("nomeoriginal");
  1311 + if($codigo == "")
  1312 + {$codigo = $layer->name;}
  1313 + $layer->setmetadata("wms_server_version","1.0.0");
  1314 + $layer->setmetadata("wms_name",$codigo);
  1315 + $layer->setmetadata("wms_srs","EPSG:4291 EPSG:4326");
  1316 + //$layer->setmetadata("wms_getcontext_enabled","1");
  1317 + $layer->setmetadata("WMS_INCLUDE_ITEMS","all");
  1318 + $layer->setmetadata("wms_onlineresource","http://".$h.$nomeurl);
  1319 + $layer->set("status","ON");
  1320 + $layer->set("template","none.htm");
  1321 + $layer->setmetadata("gml_include_items","all");
  1322 + $layer->set("dump",MS_TRUE);
  1323 + $c = $layer->getclass(0);
  1324 + if ($c->name == "")
  1325 + {$c->name = " ";}
  1326 + if($layer->connectiontype != "WS_WMS" && $layer->getmetadata("permiteogc") == "" && $layer->getmetadata("TEMALOCAL") == ""){
  1327 + if(ms_GetVersionInt() > 50201)
  1328 + {$layer->setconnectiontype(MS_WMS);}
  1329 + else
  1330 + {$layer->set("connectiontype",MS_WMS);}
  1331 + $data = $urli3geo."/ogc.php?tema=".$codigo;
  1332 + $layer->set("connection",$data);
  1333 + $layer->set("data","");
  1334 + if(file_exists("../temas/".$codigo.".map"))
  1335 + {$layer->setmetadata("wms_onlineresource",$data);}
  1336 + }
  1337 + }
  1338 + $eb = $this->mapa->scalebar;
  1339 + $eb->set("status",MS_OFF);
  1340 + $this->mapa->save($nomews);
  1341 + return($nomeurl."&service=WMS&request=GetContext&version=1.1.0");
  1342 + }
  1343 +/*
1271 1344 Method: adicionaTemaGeoRSS
1272 1345  
1273 1346 Adiciona um canal GeoRSS como um tema no mapa.
... ...
classesphp/mapa_controle.php
... ... @@ -668,6 +668,21 @@ Converte o mapa atual em um wms.
668 668 $retorno = $m->converteWS($locmapserv,$h);
669 669 break;
670 670 /*
  671 +Valor: CONVERTEWMSWMC
  672 +
  673 +Converte o mapa atual em um wms e wmc.
  674 +
  675 +<converteWMC()>
  676 +*/
  677 + case "CONVERTEWMSWMC":
  678 + include_once("classe_mapa.php");
  679 + $m = new Mapa($map_file);
  680 + if(!isset($h)){$h = "";}
  681 + $wms = $m->converteWS($locmapserv,$h);
  682 + $wmc = $m->converteWMC($locmapserv,$h);
  683 + $retorno = array("wms"=>$wms,"wmc"=>$wmc);
  684 + break;
  685 +/*
671 686 Valor: QUERYMAPCOR
672 687  
673 688 Altera a cor de seleção.
... ...
ferramentas/convertews/index.js.php
... ... @@ -46,17 +46,17 @@ i3GEOF.converteMapaWS = {
46 46 divid {String} - id do div que receberá o conteudo HTML da ferramenta
47 47  
48 48 */
49   - html:function(divid,endereco){
  49 + html:function(divid,enderecowms,enderecowmc){
50 50 try{
51 51 var ins = '<p class="paragrafo" >Voc&ecirc; pode utilizar o endere&ccedil;o em softwares de geoprocessamento instalados em seu computador, como por exemplo, o <a href="http://www.openjump.org" target=blank >OpenJump</a> ou <a href="http://www.gvsig.gva.es/" target=blank > gvSig</a>' +
52 52 '<p class="paragrafo" >O "web service" criado, utiliza o padr&atilde;o WMS, conforme definido pelo OGC. A disponibilidade do endere&ccedil;o &eacute; tempor&aacute;ria, permanecendo ativa apenas no dia em que foi criado.' +
53   - '<p class="paragrafo" >O Web Map Context (WMC) pode ou não ser gerado dependendo da configuração do servidor onde o i3Geo está instalado. <a href="'+endereco+'&service=WMS&request=GetContext&version=1.1.0" target=_blank >Clique para obter o Web Map Context</a>'+
  53 + '<p class="paragrafo" >O Web Map Context (WMC) pode ou não ser gerado dependendo da configuração do servidor onde o i3Geo está instalado. <a href="'+enderecowmc+'" target=_blank >Clique para obter o Web Map Context</a>'+
54 54 '<p class="paragrafo" ><b>WMS: </b></p>' +
55 55 '<p class="paragrafo" > <textarea cols="65" rows="3" style=cursor:pointer onclick="javascript:this.select()">' +
56   - endereco + '</textarea></p>' +
  56 + enderecowms + '</textarea></p>' +
57 57 '<p class="paragrafo" >Para testar, utilize: ' +
58   - '<a href="' + endereco + '&request=getcapabilities&version=1.1.0&service=wms" target=blank >' +
59   - endereco + '&request=getcapabilities&version=1.1.0&service=wms';
  58 + '<a href="' + enderecowms + '&request=getcapabilities&version=1.1.0&service=wms" target=blank >' +
  59 + enderecowms + '&request=getcapabilities&version=1.1.0&service=wms';
60 60 $i(divid).innerHTML += ins;
61 61 i3GEOF.converteMapaWS.aguarde.visibility = "hidden";
62 62 }catch(e){alert(e);i3GEOF.converteMapaWS.aguarde.visibility = "hidden";}
... ... @@ -90,16 +90,18 @@ i3GEOF.converteMapaWS = {
90 90 i3GEOF.converteMapaWS.aguarde = $i("i3GEOF.converteMapaWS_imagemCabecalho").style;
91 91 i3GEOF.converteMapaWS.aguarde.visibility = "visible";
92 92 temp = function(retorno){
93   - var endereco = "Ocorreu um erro ao criar o WMS";
  93 + var enderecowms = "Ocorreu um erro ao criar o WMS",
  94 + enderecowmc = "Ocorreu um erro ao criar o WMS";
94 95 if (retorno.data != undefined){
95   - endereco = window.location.protocol+"//"+window.location.host+retorno.data+"&"+retorno.data+"&";
  96 + enderecowms = window.location.protocol+"//"+window.location.host+retorno.data.wms+"&"+retorno.data.wms+"&";
  97 + enderecowmc = window.location.protocol+"//"+window.location.host+retorno.data.wmc+"&"+retorno.data.wmc+"&";
96 98 }
97   - i3GEOF.converteMapaWS.html(divid,endereco);
  99 + i3GEOF.converteMapaWS.html(divid,enderecowms,enderecowmc);
98 100 };
99   - p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=convertews&h="+window.location.host;
  101 + p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=convertewmswmc&h="+window.location.host;
100 102 cp = new cpaint();
101 103 cp.set_response_type("JSON");
102   - cp.call(p,"converteWS",temp);
  104 + cp.call(p,"converteWMSWMC",temp);
103 105 }
104 106 };
105 107 <?php error_reporting(0);if(extension_loaded('zlib')){ob_end_flush();}?>
106 108 \ No newline at end of file
... ...