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 211 $visiveis = explode(",",$visiveis);
212 212 }
213 213 $objOpenLayers = array();
  214 + if(!isset($servidor)){
  215 + $servidor = "../ogc.php";
  216 + }
  217 + /*
214 218 if(isset($servidor) && $servidor != "../ogc.php"){
215 219 $layers = $temas;
216 220 foreach($temas as $tema){
... ... @@ -219,128 +223,127 @@ if($temas != ""){
219 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 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 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 321 $opacidade = 1;
285 322 }
286 323 //
287 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 327 if(!empty($filtro)){
291 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 }
... ...