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 | ... | ... |