Commit c30565e25e1610ca22e5cdd043f0f19db17b974c

Authored by Edmar Moretti
1 parent 76627213

Ajustes para funcionar no preview do editor de mapfiles

Showing 1 changed file with 102 additions and 99 deletions   Show diff stats
mashups/openlayers.php
@@ -211,6 +211,10 @@ if($temas != ""){ @@ -211,6 +211,10 @@ if($temas != ""){
211 $visiveis = explode(",",$visiveis); 211 $visiveis = explode(",",$visiveis);
212 } 212 }
213 $objOpenLayers = array(); 213 $objOpenLayers = array();
  214 + if(!isset($servidor)){
  215 + $servidor = "../ogc.php";
  216 + }
  217 + /*
214 if(isset($servidor) && $servidor != "../ogc.php"){ 218 if(isset($servidor) && $servidor != "../ogc.php"){
215 $layers = $temas; 219 $layers = $temas;
216 foreach($temas as $tema){ 220 foreach($temas as $tema){
@@ -219,128 +223,127 @@ if($temas != ""){ @@ -219,128 +223,127 @@ if($temas != ""){
219 $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tema.'", "'.$servidor.'?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{isBaseLayer:false})'; 223 $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tema.'", "'.$servidor.'?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{isBaseLayer:false})';
220 } 224 }
221 } 225 }
222 - else{  
223 - foreach($temas as $tema){  
224 - if(file_exists($locaplic."/temas/".$tema.".gvp")){  
225 - include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php");  
226 - $gm = new gvsig2mapfile($locaplic."/temas/".$tema.".gvp");  
227 - $gvsigview = $gm->getViewsNames();  
228 - $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$gvsigview[0].'", "../ogc.php?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{layers:"'.$tema.'",transparent: "true", format: "image/png"},{singleTile:false,visibility:true,isBaseLayer:false})'; 226 + */
  227 + foreach($temas as $tema){
  228 + if(file_exists($locaplic."/temas/".$tema.".gvp")){
  229 + include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php");
  230 + $gm = new gvsig2mapfile($locaplic."/temas/".$tema.".gvp");
  231 + $gvsigview = $gm->getViewsNames();
  232 + $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$gvsigview[0].'", "'.$servidor.'?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{layers:"'.$tema.'",transparent: "true", format: "image/png"},{singleTile:false,visibility:true,isBaseLayer:false})';
  233 + }
  234 + else{
  235 + $nomeMap = "";
  236 + if(file_exists($locaplic."/temas/".$tema.".map")){
  237 + $nomeMap = $locaplic."/temas/".$tema.".map";
229 } 238 }
230 else{ 239 else{
231 - $nomeMap = "";  
232 - if(file_exists($locaplic."/temas/".$tema.".map")){  
233 - $nomeMap = $locaplic."/temas/".$tema.".map"; 240 + if(file_exists($tema)){
  241 + $nomeMap = $tema;
234 } 242 }
235 else{ 243 else{
236 - if(file_exists($tema)){  
237 - $nomeMap = $tema; 244 + // acontece caso o mapfile tenha sido gerado na pasta
  245 + // temporaria por algum sistema
  246 + if(file_exists($dir_tmp."/".$tema.".map")){
  247 + $nomeMap = $dir_tmp."/".$tema.".map";
238 } 248 }
239 - else{  
240 - // acontece caso o mapfile tenha sido gerado na pasta  
241 - // temporaria por algum sistema  
242 - if(file_exists($dir_tmp."/".$tema.".map")){  
243 - $nomeMap = $dir_tmp."/".$tema.".map"; 249 + }
  250 + }
  251 + if($nomeMap != ""){
  252 + $layersNomes = array();
  253 + $layers = array();
  254 + $maptemp = @ms_newMapObj($nomeMap);
  255 + if($maptemp){
  256 + $nlayers = $maptemp->numlayers;
  257 + for($i=0;$i<($nlayers);++$i) {
  258 + $layern = $maptemp->getLayer($i);
  259 + if($layern->getmetadata("PLUGINI3GEO") != ""){
  260 + //obtem os dados necessarios para iniciar o plugin
  261 + $temasPluginI3Geo[] = array(
  262 + "name"=>$layern->name,
  263 + "tema"=>$layern->getmetadata("tema"),
  264 + "plugin"=>$layern->getmetadata("PLUGINI3GEO"),
  265 + "cache"=>strtoupper($layern->getmetadata("cache")),
  266 + "transitioneffect"=>strtoupper($layern->getmetadata("transitioneffect"))
  267 + );
  268 + }
  269 + else{
  270 + $layersNomes[] = $layern->name;
  271 + $layers[] = $layern;
244 } 272 }
245 } 273 }
246 - }  
247 - if($nomeMap != ""){  
248 - $layersNomes = array();  
249 - $layers = array();  
250 - $maptemp = @ms_newMapObj($nomeMap);  
251 - if($maptemp){  
252 - $nlayers = $maptemp->numlayers;  
253 - for($i=0;$i<($nlayers);++$i) {  
254 - $layern = $maptemp->getLayer($i);  
255 - if($layern->getmetadata("PLUGINI3GEO") != ""){  
256 - //obtem os dados necessarios para iniciar o plugin  
257 - $temasPluginI3Geo[] = array(  
258 - "name"=>$layern->name,  
259 - "tema"=>$layern->getmetadata("tema"),  
260 - "plugin"=>$layern->getmetadata("PLUGINI3GEO"),  
261 - "cache"=>strtoupper($layern->getmetadata("cache")),  
262 - "transitioneffect"=>strtoupper($layern->getmetadata("transitioneffect"))  
263 - );  
264 - }  
265 - else{  
266 - $layersNomes[] = $layern->name;  
267 - $layers[] = $layern;  
268 - } 274 + $nomeLayer = implode(",",$layersNomes);
  275 + $tituloLayer = $layern->getmetadata("tema");
  276 + $ebase = "false";
  277 + if(isset($fundo) && $fundo != ""){
  278 + if(in_array($tema,$fundo)){
  279 + $ebase = "true";
269 } 280 }
270 - $nomeLayer = implode(",",$layersNomes);  
271 - $tituloLayer = $layern->getmetadata("tema");  
272 - $ebase = "false";  
273 - if(isset($fundo) && $fundo != ""){  
274 - if(in_array($tema,$fundo)){  
275 - $ebase = "true";  
276 - } 281 + }
  282 + $visivel = "false";
  283 + if(in_array($tema,$visiveis)){
  284 + $visivel = "true";
  285 + }
  286 + if($nlayers == 1 && strtoupper($layern->getmetadata("cache")) == "SIM" && $layern->getmetadata("PLUGINI3GEO") == ""){
  287 + if($layern->type != 2 && $layern->type != 3){
  288 + $opacidade = 1;
  289 + }
  290 + //
  291 + //verifica se deve aplicar filtro
  292 + //
  293 + $filtro = $_GET["map_layer_".$layern->name."_filter"];
  294 + if(!empty($filtro)){
  295 + $DESLIGACACHE = "sim";
  296 + $nocache = "map_layer_".$layern->name."_filter=".$filtro."&".$nocache;
277 } 297 }
278 - $visivel = "false";  
279 - if(in_array($tema,$visiveis)){  
280 - $visivel = "true"; 298 + $teffect = 'transitionEffect: "resize",';
  299 + if(strtoupper($layern->getmetadata("transitioneffect")) == "NAO"){
  300 + $teffect = 'transitionEffect: null,';
281 } 301 }
282 - if($nlayers == 1 && strtoupper($layern->getmetadata("cache")) == "SIM" && $layern->getmetadata("PLUGINI3GEO") == ""){  
283 - if($layern->type != 2 && $layern->type != 3){ 302 + // nesse caso o layer e adicionado como TMS
  303 + // tms leva os parametros do TMS
  304 + $objOpenLayers[] = 'new OpenLayers.Layer.TMS("'.$tituloLayer.'", "'.$servidor.'?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'",{'.$teffect.' tileOrigin: new OpenLayers.LonLat(-180, -90),opacity:'.$opacidade.',serviceVersion:"&tms=",visibility:'.$visivel.',isBaseLayer:'.$ebase.',layername:"'.$nomeLayer.'",type:"png"})';
  305 + // cria um clone WMS para efeitos de getfeatureinfo
  306 + $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "'.$servidor.'?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{cloneTMS:"'.$nomeLayer.'",layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{displayInLayerSwitcher:false,transitionEffect : null,singleTile:true,visibility:false,isBaseLayer:false})';
  307 + }
  308 + else{
  309 + foreach($layers as $l){
  310 + $singleTile = "false";
  311 + if(strtoupper($l->getmetadata("TILES")) == "NAO"){
  312 + $singleTile = "true";
  313 + }
  314 + $tituloLayer = $l->getmetadata("tema");
  315 + $nomeLayer = $l->name;
  316 + $visivel = "false";
  317 + if($l->status == MS_DEFAULT || in_array($tema,$visiveis)){
  318 + $visivel = "true";
  319 + }
  320 + if($l->type != 2 && $l->type != 3){
284 $opacidade = 1; 321 $opacidade = 1;
285 } 322 }
286 // 323 //
287 //verifica se deve aplicar filtro 324 //verifica se deve aplicar filtro
288 // 325 //
289 - $filtro = $_GET["map_layer_".$layern->name."_filter"]; 326 + $filtro = $_GET["map_layer_".$l->name."_filter"];
290 if(!empty($filtro)){ 327 if(!empty($filtro)){
291 $DESLIGACACHE = "sim"; 328 $DESLIGACACHE = "sim";
292 - $nocache = "map_layer_".$layern->name."_filter=".$filtro."&".$nocache; 329 + $nocache = "map_layer_".$l->name."_filter=".$filtro."&".$nocache;
293 } 330 }
294 - $teffect = 'transitionEffect: "resize",';  
295 - if(strtoupper($layern->getmetadata("transitioneffect")) == "NAO"){  
296 - $teffect = 'transitionEffect: null,'; 331 + $teffect = 'transitionEffect: "resize",';
  332 + if(strtoupper($l->getmetadata("transitioneffect")) == "NAO"){
  333 + $teffect = 'transitionEffect: null,';
297 } 334 }
298 - // nesse caso o layer e adicionado como TMS  
299 - // tms leva os parametros do TMS  
300 - $objOpenLayers[] = 'new OpenLayers.Layer.TMS("'.$tituloLayer.'", "../ogc.php?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'",{'.$teffect.' tileOrigin: new OpenLayers.LonLat(-180, -90),opacity:'.$opacidade.',serviceVersion:"&tms=",visibility:'.$visivel.',isBaseLayer:'.$ebase.',layername:"'.$nomeLayer.'",type:"png"})';  
301 - // cria um clone WMS para efeitos de getfeatureinfo  
302 - $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "../ogc.php?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{cloneTMS:"'.$nomeLayer.'",layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{displayInLayerSwitcher:false,transitionEffect : null,singleTile:true,visibility:false,isBaseLayer:false})';  
303 - }  
304 - else{  
305 - foreach($layers as $l){  
306 - $singleTile = "false";  
307 - if(strtoupper($l->getmetadata("TILES")) == "NAO"){  
308 - $singleTile = "true";  
309 - }  
310 - $tituloLayer = $l->getmetadata("tema");  
311 - $nomeLayer = $l->name;  
312 - $visivel = "false";  
313 - if($l->status == MS_DEFAULT || in_array($tema,$visiveis)){  
314 - $visivel = "true";  
315 - }  
316 - if($l->type != 2 && $l->type != 3){  
317 - $opacidade = 1;  
318 - }  
319 - //  
320 - //verifica se deve aplicar filtro  
321 - //  
322 - $filtro = $_GET["map_layer_".$l->name."_filter"];  
323 - if(!empty($filtro)){  
324 - $DESLIGACACHE = "sim";  
325 - $nocache = "map_layer_".$l->name."_filter=".$filtro."&".$nocache;  
326 - }  
327 - $teffect = 'transitionEffect: "resize",';  
328 - if(strtoupper($l->getmetadata("transitioneffect")) == "NAO"){  
329 - $teffect = 'transitionEffect: null,';  
330 - }  
331 - if($tituloLayer != ""){  
332 - $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "../ogc.php?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{opacity:'.$opacidade.',layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{'.$teffect.' singleTile:'.$singleTile.',visibility:'.$visivel.',isBaseLayer:'.$ebase.'})';  
333 - }  
334 - else{  
335 - $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "../ogc.php?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{opacity:'.$opacidade.',layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{'.$teffect.' displayInLayerSwitcher:false,singleTile:'.$singleTile.',visibility:'.$visivel.',isBaseLayer:'.$ebase.'})';  
336 - } 335 + if($tituloLayer != ""){
  336 + $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "'.$servidor.'?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{opacity:'.$opacidade.',layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{'.$teffect.' singleTile:'.$singleTile.',visibility:'.$visivel.',isBaseLayer:'.$ebase.'})';
  337 + }
  338 + else{
  339 + $objOpenLayers[] = 'new OpenLayers.Layer.WMS( "'.$tituloLayer.'", "'.$servidor.'?'.$nocache.'tema='.$tema.'&DESLIGACACHE='.$DESLIGACACHE.'&",{opacity:'.$opacidade.',layers:"'.$nomeLayer.'",transparent: "true", format: "image/png"},{'.$teffect.' displayInLayerSwitcher:false,singleTile:'.$singleTile.',visibility:'.$visivel.',isBaseLayer:'.$ebase.'})';
337 } 340 }
338 } 341 }
339 } 342 }
340 } 343 }
341 - else{  
342 - echo $tema." n&atilde;o foi encontrado.<br>";  
343 - } 344 + }
  345 + else{
  346 + echo $tema." n&atilde;o foi encontrado.<br>";
344 } 347 }
345 } 348 }
346 } 349 }