Commit 4f41aefc2d11b8351dda3a20d09d9a35fde3459b
1 parent
2e6d6c36
Exists in
master
and in
7 other branches
Correção no gerador de WMC
Showing
3 changed files
with
103 additions
and
13 deletions
Show diff stats
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ê pode utilizar o endereç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ão WMS, conforme definido pelo OGC. A disponibilidade do endereço é temporá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 | ... | ... |