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,7 +1227,9 @@ Transforma o mapa atual em um web service. | ||
| 1227 | O novo map file é armazenado no mesmo diretório do map file original. | 1227 | O novo map file é armazenado no mesmo diretório do map file original. |
| 1228 | 1228 | ||
| 1229 | Parametros: | 1229 | Parametros: |
| 1230 | + | ||
| 1230 | $locmapserv - localização do CGI do mapserver | 1231 | $locmapserv - localização do CGI do mapserver |
| 1232 | + | ||
| 1231 | $h - host name | 1233 | $h - host name |
| 1232 | 1234 | ||
| 1233 | Return: | 1235 | Return: |
| @@ -1240,11 +1242,11 @@ Endereço do WMS | @@ -1240,11 +1242,11 @@ Endereço do WMS | ||
| 1240 | $nomeurl = $locmapserv."?map=".$nomews; | 1242 | $nomeurl = $locmapserv."?map=".$nomews; |
| 1241 | $w = $this->mapa->web; | 1243 | $w = $this->mapa->web; |
| 1242 | $w->set("template",""); | 1244 | $w->set("template",""); |
| 1243 | - // adiciona os parametros no nivel do mapa | 1245 | + //adiciona os parametros no nivel do mapa |
| 1244 | $this->mapa->setmetadata("wms_title","I3Geo"); | 1246 | $this->mapa->setmetadata("wms_title","I3Geo"); |
| 1245 | $this->mapa->setmetadata("wms_onlineresource","http://".$h.$nomeurl); | 1247 | $this->mapa->setmetadata("wms_onlineresource","http://".$h.$nomeurl); |
| 1246 | $this->mapa->setmetadata("wms_srs","EPSG:4291"); | 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 | foreach ($this->layers as $layer) | 1250 | foreach ($this->layers as $layer) |
| 1249 | { | 1251 | { |
| 1250 | $n = pegaNome($layer); | 1252 | $n = pegaNome($layer); |
| @@ -1253,7 +1255,7 @@ Endereço do WMS | @@ -1253,7 +1255,7 @@ Endereço do WMS | ||
| 1253 | $layer->setmetadata("wms_srs","EPSG:4291 EPSG:4326"); | 1255 | $layer->setmetadata("wms_srs","EPSG:4291 EPSG:4326"); |
| 1254 | //$layer->setmetadata("wms_getcontext_enabled","1"); | 1256 | //$layer->setmetadata("wms_getcontext_enabled","1"); |
| 1255 | $layer->setmetadata("WMS_INCLUDE_ITEMS","all"); | 1257 | $layer->setmetadata("WMS_INCLUDE_ITEMS","all"); |
| 1256 | - $layer->setmetadata("wms_onlineresource","http://".$h.$nomeurl); | 1258 | + //$layer->setmetadata("wms_onlineresource","http://".$h.$nomeurl); |
| 1257 | $layer->set("status","ON"); | 1259 | $layer->set("status","ON"); |
| 1258 | $layer->set("template","none.htm"); | 1260 | $layer->set("template","none.htm"); |
| 1259 | $layer->setmetadata("gml_include_items","all"); | 1261 | $layer->setmetadata("gml_include_items","all"); |
| @@ -1268,6 +1270,77 @@ Endereço do WMS | @@ -1268,6 +1270,77 @@ Endereço do WMS | ||
| 1268 | return($nomeurl); | 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 | Method: adicionaTemaGeoRSS | 1344 | Method: adicionaTemaGeoRSS |
| 1272 | 1345 | ||
| 1273 | Adiciona um canal GeoRSS como um tema no mapa. | 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,6 +668,21 @@ Converte o mapa atual em um wms. | ||
| 668 | $retorno = $m->converteWS($locmapserv,$h); | 668 | $retorno = $m->converteWS($locmapserv,$h); |
| 669 | break; | 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 | Valor: QUERYMAPCOR | 686 | Valor: QUERYMAPCOR |
| 672 | 687 | ||
| 673 | Altera a cor de seleção. | 688 | Altera a cor de seleção. |
ferramentas/convertews/index.js.php
| @@ -46,17 +46,17 @@ i3GEOF.converteMapaWS = { | @@ -46,17 +46,17 @@ i3GEOF.converteMapaWS = { | ||
| 46 | divid {String} - id do div que receberá o conteudo HTML da ferramenta | 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 | try{ | 50 | try{ |
| 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>' + | 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 | '<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.' + | 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 | '<p class="paragrafo" ><b>WMS: </b></p>' + | 54 | '<p class="paragrafo" ><b>WMS: </b></p>' + |
| 55 | '<p class="paragrafo" > <textarea cols="65" rows="3" style=cursor:pointer onclick="javascript:this.select()">' + | 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 | '<p class="paragrafo" >Para testar, utilize: ' + | 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 | $i(divid).innerHTML += ins; | 60 | $i(divid).innerHTML += ins; |
| 61 | i3GEOF.converteMapaWS.aguarde.visibility = "hidden"; | 61 | i3GEOF.converteMapaWS.aguarde.visibility = "hidden"; |
| 62 | }catch(e){alert(e);i3GEOF.converteMapaWS.aguarde.visibility = "hidden";} | 62 | }catch(e){alert(e);i3GEOF.converteMapaWS.aguarde.visibility = "hidden";} |
| @@ -90,16 +90,18 @@ i3GEOF.converteMapaWS = { | @@ -90,16 +90,18 @@ i3GEOF.converteMapaWS = { | ||
| 90 | i3GEOF.converteMapaWS.aguarde = $i("i3GEOF.converteMapaWS_imagemCabecalho").style; | 90 | i3GEOF.converteMapaWS.aguarde = $i("i3GEOF.converteMapaWS_imagemCabecalho").style; |
| 91 | i3GEOF.converteMapaWS.aguarde.visibility = "visible"; | 91 | i3GEOF.converteMapaWS.aguarde.visibility = "visible"; |
| 92 | temp = function(retorno){ | 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 | if (retorno.data != undefined){ | 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 | cp = new cpaint(); | 102 | cp = new cpaint(); |
| 101 | cp.set_response_type("JSON"); | 103 | cp.set_response_type("JSON"); |
| 102 | - cp.call(p,"converteWS",temp); | 104 | + cp.call(p,"converteWMSWMC",temp); |
| 103 | } | 105 | } |
| 104 | }; | 106 | }; |
| 105 | <?php error_reporting(0);if(extension_loaded('zlib')){ob_end_flush();}?> | 107 | <?php error_reporting(0);if(extension_loaded('zlib')){ob_end_flush();}?> |
| 106 | \ No newline at end of file | 108 | \ No newline at end of file |