Commit 05af80d923065913ff1e30cb05c83fb16138c98c

Authored by Edmar Moretti
1 parent 6ba7779e

Adição de novos parâmetros no mashup OpenLayers para permitir escolher o tema de…

… fundo. Correção na camada de fundo Landsat e adição de novas
mashups/index.html
@@ -28,6 +28,8 @@ conter um grande número de funcionalidades.</p> @@ -28,6 +28,8 @@ conter um grande número de funcionalidades.</p>
28 <p>Exemplo: todas as opções e um tema adicionado <a href='openlayers.php?temas=biomashp&largura=600'>openlayers.php?temas=biomashp&largura=600</a></p> 28 <p>Exemplo: todas as opções e um tema adicionado <a href='openlayers.php?temas=biomashp&largura=600'>openlayers.php?temas=biomashp&largura=600</a></p>
29 <p>Exemplo: Botões principais e barra de zoom maior <a href='openlayers.php?temas=biomashp&largura=600&botoes=pan,zoombox,zoomtot,distancia,area,identifica&numzoomlevels=10'>openlayers.php?temas=biomashp&largura=600&botoes=pan,zoombox,zoomtot,distancia,area,identifica&numzoomlevels=10</a> 29 <p>Exemplo: Botões principais e barra de zoom maior <a href='openlayers.php?temas=biomashp&largura=600&botoes=pan,zoombox,zoomtot,distancia,area,identifica&numzoomlevels=10'>openlayers.php?temas=biomashp&largura=600&botoes=pan,zoombox,zoomtot,distancia,area,identifica&numzoomlevels=10</a>
30 <p>Exemplo: Inclusão de pontos <a href='openlayers.php?temas=biomashp&largura=600&pontos=-54 -12 -56 -15'>openlayers.php?temas=biomashp&largura=600&pontos=-54 -12 -56 -15 30 <p>Exemplo: Inclusão de pontos <a href='openlayers.php?temas=biomashp&largura=600&pontos=-54 -12 -56 -15'>openlayers.php?temas=biomashp&largura=600&pontos=-54 -12 -56 -15
  31 +<p>Exemplo: Camada adicional como fundo <a href='openlayers.php?temas=biomashp&largura=600&fundo=biomashp'>openlayers.php?temas=biomashp&largura=600&fundo=biomashp
  32 +
31 </body> 33 </body>
32 <script> 34 <script>
33 /* 35 /*
mashups/openlayers.js.php
@@ -20,11 +20,23 @@ i3GEOOL = { @@ -20,11 +20,23 @@ i3GEOOL = {
20 "http://labs.metacarta.com/wms/vmap0", 20 "http://labs.metacarta.com/wms/vmap0",
21 {layers: 'basic'} 21 {layers: 'basic'}
22 ), 22 ),
23 - jpl_wms: new OpenLayers.Layer.WMS(  
24 - "NASA Global Mosaic",  
25 - "http://t1.hypercube.telascience.org/cgi-bin/landsat7",  
26 - {layers: "landsat7"} 23 + jpl_wms: new OpenLayers.Layer.WMS( "NASA Global Mosaic", "http://wms.jpl.nasa.gov/wms.cgi", {layers: "modis,global_mosaic"},{singleTile:true}),
  24 +
  25 + osm_wms: new OpenLayers.Layer.WMS(
  26 + "Open Street Map",
  27 + "http://full.wms.geofabrik.de/std/demo_key?",
  28 + {layers: ""}
  29 + ),
  30 + top_wms: new OpenLayers.Layer.WMS(
  31 + "Toponímia MMA",
  32 + "http://mapas.mma.gov.br/cgi-bin/mapserv?map=/opt/www/html/webservices/baseref.map&",
  33 + {layers: "base",FORMAT:'image/png'}
27 ), 34 ),
  35 + est_wms: new OpenLayers.Layer.WMS(
  36 + "Estados do Brasil",
  37 + "http://mapas.mma.gov.br/i3geo/ogc.php?tema=estadosl&",
  38 + {layers: "estadosl",FORMAT:'image/png'}
  39 + ),
28 layergrafico: new OpenLayers.Layer.Vector("Edição",{displayInLayerSwitcher:true,visibility:true}), 40 layergrafico: new OpenLayers.Layer.Vector("Edição",{displayInLayerSwitcher:true,visibility:true}),
29 layersIniciais: [<?php 41 layersIniciais: [<?php
30 if(isset($objOpenLayers) && $objOpenLayers != "") 42 if(isset($objOpenLayers) && $objOpenLayers != "")
@@ -53,20 +65,16 @@ i3GEOOL = { @@ -53,20 +65,16 @@ i3GEOOL = {
53 }), 65 }),
54 inicia: function(){ 66 inicia: function(){
55 var alayers = []; 67 var alayers = [];
56 - if(i3GEOOL.ol_mma != ""){  
57 - i3GEOOL.ol_mma.transitionEffect = "resize";  
58 - alayers.push(i3GEOOL.ol_mma);  
59 - }  
60 - if(i3GEOOL.ol_wms != ""){  
61 - i3GEOOL.ol_wms.transitionEffect = "resize";  
62 - i3GEOOL.ol_wms.setVisibility(false);  
63 - alayers.push(i3GEOOL.ol_wms);  
64 - }  
65 - if(i3GEOOL.jpl_wms != ""){  
66 - i3GEOOL.jpl_wms.transitionEffect = "resize";  
67 - alayers.push(i3GEOOL.jpl_wms);  
68 - i3GEOOL.jpl_wms.setVisibility(false); 68 + <?php
  69 + foreach($fundo as $f){
  70 + echo "try{";
  71 + echo "i3GEOOL.".$f.".transitionEffect = 'resize';";
  72 + echo "i3GEOOL.".$f.".setVisibility(false);";
  73 + echo "alayers.push(i3GEOOL.".$f.");";
  74 + echo "}catch(e){}";
69 } 75 }
  76 + echo "try{alayers[0].setVisibility(true);}catch(e){}";
  77 + ?>
70 i3GEOOL.mapa.addLayers(alayers); 78 i3GEOOL.mapa.addLayers(alayers);
71 79
72 if(i3GEOOL.layersIniciais != ""){ 80 if(i3GEOOL.layersIniciais != ""){
mashups/openlayers.php
1 <?php error_reporting(0);if(extension_loaded('zlib')){ob_start('ob_gzhandler');} header("Content-type: text/html"); ?> 1 <?php error_reporting(0);if(extension_loaded('zlib')){ob_start('ob_gzhandler');} header("Content-type: text/html"); ?>
2 <?php 2 <?php
3 -/*  
4 -Parametros:  
5 -  
6 -temas - lista com os temas (mapfiles) do i3Geo que serão incluídos no mapa  
7 -  
8 -numzoomlevels - número de níveis de zoom, default=6  
9 -  
10 -maxextent - extensão geográfica do mapa  
11 -  
12 -controles - lista separada por "," com os nomes dos controles que serão adicionados ao mapa. Se não for definido, todos os controles serão adicionados.  
13 -  
14 -botoes - lista com os nomes dos botoes que serão adicionados ao mapa. Se não for definido, todos os botões serão adicionados  
15 -  
16 -servidor - endereco do servidor OGC utilizado. Por default é "../ogc.php" o que força o uso do i3geo local  
17 -  
18 -largura - lagura do mapa em pixels  
19 -  
20 -altura - altura do mapa em pixels  
21 -  
22 -pontos - lista de coordenadas x e y que serão incluídas como marcas no mapa  
23 -  
24 -marca - nome do arquivo que contém a imagem que será utilizada para mostrar as coordenadas  
25 -*/  
26 include_once("../classesphp/pega_variaveis.php"); 3 include_once("../classesphp/pega_variaveis.php");
27 include_once("../classesphp/carrega_ext.php"); 4 include_once("../classesphp/carrega_ext.php");
28 error_reporting(0); 5 error_reporting(0);
@@ -133,6 +110,18 @@ else{ @@ -133,6 +110,18 @@ else{
133 } 110 }
134 $botoes = "{".implode(",",$objBotoes)."}"; 111 $botoes = "{".implode(",",$objBotoes)."}";
135 // 112 //
  113 +//define a lista de layers do tipo baselayers
  114 +//$fundo é um array com a lista dos nomes possíveis ou passados pela url
  115 +//cada um deve ser definido em openlayers.js.php
  116 +//
  117 +if(isset($fundo) && $fundo != ""){
  118 + $fundo = str_replace(","," ",$fundo);
  119 + $fundo = explode(" ",$fundo);
  120 +}
  121 +else{
  122 + $fundo = array("est_wms","ol_mma","ol_wms","jpl_wms","osm_wms","top_wms");
  123 +}
  124 +//
136 //define quais os layers que comporão o mapa 125 //define quais os layers que comporão o mapa
137 // 126 //
138 if($temas != "") 127 if($temas != "")
@@ -157,7 +146,12 @@ if($temas != &quot;&quot;) @@ -157,7 +146,12 @@ if($temas != &quot;&quot;)
157 $layern = $maptemp->getLayer($i); 146 $layern = $maptemp->getLayer($i);
158 $layers[] = $layern->name; 147 $layers[] = $layern->name;
159 } 148 }
160 - $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.($layern->getmetadata("tema")).'", "../ogc.php?tema='.$tema.'&",{layers:"'.implode(",",$layers).'",transparent: "true", format: "image/png"},{isBaseLayer:false})'; 149 + $ebase = "false";
  150 + if(in_array($tema,$fundo))
  151 + {
  152 + $ebase = "true";
  153 + }
  154 + $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.($layern->getmetadata("tema")).'", "../ogc.php?tema='.$tema.'&",{layers:"'.implode(",",$layers).'",transparent: "true", format: "image/png"},{isBaseLayer:'.$ebase.'})';
161 } 155 }
162 else 156 else
163 {echo $tema." não foi encontrado.<br>";} 157 {echo $tema." não foi encontrado.<br>";}
@@ -178,7 +172,19 @@ Parâmetros: @@ -178,7 +172,19 @@ Parâmetros:
178 altura - altura do mapa em pixels 172 altura - altura do mapa em pixels
179 pontos - lista de coordenadas x e y que serão incluídas como marcas no mapa 173 pontos - lista de coordenadas x e y que serão incluídas como marcas no mapa
180 marca - nome do arquivo que contém a imagem que será utilizada para mostrar as coordenadas 174 marca - nome do arquivo que contém a imagem que será utilizada para mostrar as coordenadas
181 - 175 +
  176 + fundo - lista com os nomes, separados por ',' dos layers que serão usados como fundo para o mapa. Se não for definido,
  177 + será usado o default. O primeiro da lista será o fundo ativo. Se na lista de temas de fundo estiver algum
  178 + tema incluido com o parametro 'temas', esses serão incluídos como temas de fundo.
  179 + Os seguintes fundos podem usados nessa lista:
  180 +
  181 + ol_mma - base cartográfica do Brasil
  182 + ol_wms - base mundial da Meta Carta
  183 + jpl_wms - mosaico de imagens de satélite
  184 + osm_wms - base do open Street Map
  185 + top_wms - toponímia do servidor do MMA usado no mapa de referência
  186 + est_wms - estados do Brasil
  187 +
182 controles - lista com os nomes dos controles que serão adicionados ao mapa. Se não for definido, todos os controles serão adicionados 188 controles - lista com os nomes dos controles que serão adicionados ao mapa. Se não for definido, todos os controles serão adicionados
183 navigation 189 navigation
184 panzoombar 190 panzoombar
@@ -100,7 +100,8 @@ verificar os serviços disponíveis. @@ -100,7 +100,8 @@ verificar os serviços disponíveis.
100 <p><b>Lista de serviços cadastrados (clique para selecionar)</b><br> 100 <p><b>Lista de serviços cadastrados (clique para selecionar)</b><br>
101 <div class=listaServico id=resultadoRSSws ></div> 101 <div class=listaServico id=resultadoRSSws ></div>
102 </div> 102 </div>
103 -<script src="ferramentas/i3geo_tudo_compacto45.js.php" type="text/javascript"></script> 103 +<script src="ferramentas/i3geo_tudo_compacto.js.php" type="text/javascript"></script>
  104 +<script src="classesjs/i3geo_tudo_compacto45.js.php" type="text/javascript"></script>
104 </body> 105 </body>
105 <script> 106 <script>
106 /* 107 /*
@@ -143,7 +144,7 @@ Por exemplo @@ -143,7 +144,7 @@ Por exemplo
143 i3geo/wscliente.htm?wms,endereco_servico 144 i3geo/wscliente.htm?wms,endereco_servico
144 145
145 */ 146 */
146 -var g_locaplic = protocolo()+"://"+window.location.host+"/i3geo"; 147 +var g_locaplic = i3GEO.util.protocolo()+"://"+window.location.host+"/i3geo";
147 var i3geo_wscliente_configura = new i3geo_wscliente_configura 148 var i3geo_wscliente_configura = new i3geo_wscliente_configura
148 ( 149 (
149 g_locaplic, 150 g_locaplic,