Commit b1712d973b0889e29345947c8aa64848192f3b7a
1 parent
6d78cf48
Exists in
master
and in
7 other branches
Inclusão de projeto gvsig no testamapfile
Showing
1 changed file
with
102 additions
and
106 deletions
Show diff stats
testamapfile.php
| ... | ... | @@ -91,7 +91,7 @@ if ($tipo == "") |
| 91 | 91 | $combo = "<br><select onchange='roda()' id=nomemap ><option value=''>Escolha o arquivo para testar</option>"; |
| 92 | 92 | foreach ($arqs["arquivos"] as $arq){ |
| 93 | 93 | $temp = explode(".",$arq); |
| 94 | - if($temp[1] == "map"){ | |
| 94 | + if($temp[1] == "map" || $temp[1] == "gvp"){ | |
| 95 | 95 | $combo .= "<option value='".$temp[0]."'>".$temp[0]."</option>"; |
| 96 | 96 | } |
| 97 | 97 | } |
| ... | ... | @@ -108,13 +108,9 @@ if (isset($map) && $map != "") |
| 108 | 108 | if (!isset($iniciar)){$iniciar = 0;} |
| 109 | 109 | foreach ($arqs["arquivos"] as $arq) |
| 110 | 110 | { |
| 111 | - if (($conta >= $iniciar) && ($conta < $iniciar+10)) | |
| 112 | - { | |
| 113 | - $temp = explode(".",$arq); | |
| 114 | - if($temp[1] == "map") | |
| 111 | + if (($conta >= $iniciar) && ($conta < $iniciar+10)){ | |
| 112 | + //arquivos php so sao validos se estiverem em i3geo/temas | |
| 115 | 113 | verifica($arq,$solegenda); |
| 116 | - else | |
| 117 | - {echo "<br>Arquivo <i>$map</i> não é válido. <br>";} | |
| 118 | 114 | } |
| 119 | 115 | $conta++; |
| 120 | 116 | } |
| ... | ... | @@ -126,28 +122,25 @@ if (isset($map) && $map != "") |
| 126 | 122 | echo '</div>'; |
| 127 | 123 | echo '<script>if(screen.availWidth > 700){document.getElementById("divGeral").style.width = "700px";}</script>'; |
| 128 | 124 | echo '</body></html>'; |
| 129 | -function verifica($map,$solegenda) | |
| 130 | -{ | |
| 125 | +function verifica($map,$solegenda){ | |
| 131 | 126 | global $tipo,$locaplic,$postgis_mapa,$versao,$base; |
| 132 | 127 | $mapUrl = $map; |
| 133 | - if ($tipo == "mini" && file_exists('temas/miniaturas/'.$map.".mini.png")) | |
| 134 | - { | |
| 128 | + if ($tipo == "mini" && file_exists('temas/miniaturas/'.$map.".mini.png")){ | |
| 135 | 129 | Header("Content-type: image/png"); |
| 136 | 130 | ImagePng(ImageCreateFromPNG('temas/miniaturas/'.$map.".mini.png")); |
| 137 | 131 | exit; |
| 138 | 132 | } |
| 139 | - if ($tipo == "grande" && file_exists('temas/miniaturas/'.$map.".grande.png")) | |
| 140 | - { | |
| 133 | + if ($tipo == "grande" && file_exists('temas/miniaturas/'.$map.".grande.png")){ | |
| 141 | 134 | Header("Content-type: image/png"); |
| 142 | 135 | ImagePng(ImageCreateFromPNG('temas/miniaturas/'.$map.".grande.png")); |
| 143 | 136 | exit; |
| 144 | 137 | } |
| 145 | 138 | ms_ResetErrorList(); |
| 146 | 139 | $tema = ""; |
| 147 | - if(file_exists($map)) | |
| 148 | - {$tema = $map;} | |
| 149 | - else | |
| 150 | - { | |
| 140 | + if(file_exists($map)){ | |
| 141 | + $tema = $map; | |
| 142 | + } | |
| 143 | + else{ | |
| 151 | 144 | $map = str_replace("\\","/",$map); |
| 152 | 145 | $map = basename($map); |
| 153 | 146 | if (file_exists('temas/'.$map)) |
| ... | ... | @@ -156,21 +149,26 @@ function verifica($map,$solegenda) |
| 156 | 149 | {$tema = 'temas/'.$map.".map";} |
| 157 | 150 | if (file_exists('temas/'.$map.'.php')) |
| 158 | 151 | {$tema = 'temas/'.$map.".php";} |
| 152 | + if (file_exists('temas/'.$map.'.gvp')) | |
| 153 | + {$tema = 'temas/'.$map.".gvp";} | |
| 159 | 154 | } |
| 160 | - if(($tipo == "") || ($tipo == "todos")) | |
| 161 | - {echo "<hr><br><br><span style='color:red' ><b>Testando: $tema </span><pre></b>";} | |
| 162 | - if(!file_exists($tema)) | |
| 163 | - {$tema = $locaplic."/".$tema;} | |
| 164 | - if(!file_exists($tema)) | |
| 165 | - {echo "Arquivo ".$map." não encontrado.";exit;} | |
| 166 | - if ($tema != "") | |
| 167 | - { | |
| 155 | + if(($tipo == "") || ($tipo == "todos")){ | |
| 156 | + echo "<hr><br><br><span style='color:red' ><b>Testando: $tema </span><pre></b>"; | |
| 157 | + } | |
| 158 | + if(!file_exists($tema)){ | |
| 159 | + $tema = $locaplic."/".$tema; | |
| 160 | + } | |
| 161 | + if(!file_exists($tema)){ | |
| 162 | + echo "Arquivo ".$map." não encontrado."; | |
| 163 | + exit; | |
| 164 | + } | |
| 165 | + if ($tema != ""){ | |
| 168 | 166 | if($base == "" or !isset($base)){ |
| 169 | 167 | $base = ""; |
| 170 | - if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) | |
| 171 | - {$base = $locaplic."/aplicmap/geral1windowsv".$versao.".map";} | |
| 172 | - else | |
| 173 | - { | |
| 168 | + if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')){ | |
| 169 | + $base = $locaplic."/aplicmap/geral1windowsv".$versao.".map"; | |
| 170 | + } | |
| 171 | + else{ | |
| 174 | 172 | if($base == "" && file_exists('/var/www/i3geo/aplicmap/geral1debianv'.$versao.'.map')){ |
| 175 | 173 | $base = "/var/www/i3geo/aplicmap/geral1debianv".$versao.".map"; |
| 176 | 174 | } |
| ... | ... | @@ -180,38 +178,35 @@ function verifica($map,$solegenda) |
| 180 | 178 | if($base == "" && file_exists('/opt/www/html/i3geo/aplicmap/geral1fedorav'.$versao.'.map')){ |
| 181 | 179 | $base = "/opt/www/html/i3geo/aplicmap/geral1v".$versao.".map"; |
| 182 | 180 | } |
| 183 | - if($base == "") | |
| 184 | - {$base = $locaplic."/aplicmap/geral1v".$versao.".map";} | |
| 181 | + if($base == ""){ | |
| 182 | + $base = $locaplic."/aplicmap/geral1v".$versao.".map"; | |
| 183 | + } | |
| 185 | 184 | } |
| 186 | 185 | } |
| 187 | 186 | else{ |
| 188 | - if(!file_exists($base)) | |
| 189 | - {$base = $locaplic."/aplicmap/".$base;} | |
| 187 | + if(!file_exists($base)){ | |
| 188 | + $base = $locaplic."/aplicmap/".$base; | |
| 189 | + } | |
| 190 | 190 | } |
| 191 | 191 | //echo $base;exit; |
| 192 | 192 | $mapa = ms_newMapObj($base); |
| 193 | - | |
| 194 | 193 | error_reporting(0); |
| 195 | 194 | $numlayers = $mapa->numlayers; |
| 196 | - for ($i=0;$i < $numlayers;$i++) | |
| 197 | - { | |
| 195 | + for ($i=0;$i < $numlayers;$i++){ | |
| 198 | 196 | $layern = $mapa->getlayer($i); |
| 199 | - if (!empty($postgis_mapa)) | |
| 200 | - { | |
| 201 | - if ($layern->connectiontype == MS_POSTGIS) | |
| 202 | - { | |
| 197 | + if (!empty($postgis_mapa)){ | |
| 198 | + if ($layern->connectiontype == MS_POSTGIS){ | |
| 203 | 199 | $lcon = $layern->connection; |
| 204 | - if (($lcon == " ") || ($lcon == "") || (in_array($lcon,array_keys($postgis_mapa)))) | |
| 205 | - { | |
| 200 | + if (($lcon == " ") || ($lcon == "") || (in_array($lcon,array_keys($postgis_mapa)))){ | |
| 206 | 201 | if(($lcon == " ") || ($lcon == "")) //para efeitos de compatibilidade |
| 207 | 202 | {$layern->set("connection",$postgis_mapa);} |
| 208 | - else | |
| 209 | - {$layern->set("connection",$postgis_mapa[$lcon]);} | |
| 203 | + else{ | |
| 204 | + $layern->set("connection",$postgis_mapa[$lcon]); | |
| 205 | + } | |
| 210 | 206 | } |
| 211 | 207 | } |
| 212 | 208 | } |
| 213 | 209 | } |
| 214 | - | |
| 215 | 210 | if(!stristr($tema, '.php') === FALSE){ |
| 216 | 211 | echo "<br>Arquivo <i>$tema</i> é um programa PHP. O teste pode não funcionar.<br>"; |
| 217 | 212 | include_once($locaplic."/".$tema); |
| ... | ... | @@ -222,15 +217,15 @@ function verifica($map,$solegenda) |
| 222 | 217 | $pegarext = str_replace("temas/","",$pegarext); |
| 223 | 218 | eval($pegarext."(\$mapa);"); |
| 224 | 219 | } |
| 225 | - else{ | |
| 220 | + if(!stristr($tema, '.map') === FALSE){ | |
| 226 | 221 | if(file_exists($mapUrl)){ |
| 227 | - if(@ms_newMapObj($mapUrl)) | |
| 228 | - {$nmapa = ms_newMapObj($mapUrl);} | |
| 222 | + if(@ms_newMapObj($mapUrl)){ | |
| 223 | + $nmapa = ms_newMapObj($mapUrl); | |
| 224 | + } | |
| 229 | 225 | else{ |
| 230 | 226 | echo "Erro no arquivo $mapUrl <br>"; |
| 231 | 227 | $error = ms_GetErrorObj(); |
| 232 | - while($error && $error->code != MS_NOERR) | |
| 233 | - { | |
| 228 | + while($error && $error->code != MS_NOERR){ | |
| 234 | 229 | printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message); |
| 235 | 230 | $error = $error->next(); |
| 236 | 231 | } |
| ... | ... | @@ -238,17 +233,14 @@ function verifica($map,$solegenda) |
| 238 | 233 | } |
| 239 | 234 | } |
| 240 | 235 | else{ |
| 241 | - if(@ms_newMapObj($locaplic."/".$tema)) | |
| 242 | - { | |
| 236 | + if(@ms_newMapObj($locaplic."/".$tema)){ | |
| 243 | 237 | $nmapa = ms_newMapObj($locaplic."/".$tema); |
| 244 | 238 | } |
| 245 | - else | |
| 246 | - { | |
| 239 | + else{ | |
| 247 | 240 | echo "erro no arquivo $map <br>"; |
| 248 | 241 | echo "Obs.: em alguns testes o mapfile pode falhar se o endereço dos arquivos de símbolos estiverem <br>definidos de forma relativa ao invés de absoluta. Nesses casos, ao abrir o i3Geo, <br>o mapfile poderá funcionar. <br>"; |
| 249 | 242 | $error = ms_GetErrorObj(); |
| 250 | - while($error && $error->code != MS_NOERR) | |
| 251 | - { | |
| 243 | + while($error && $error->code != MS_NOERR){ | |
| 252 | 244 | printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message); |
| 253 | 245 | $error = $error->next(); |
| 254 | 246 | } |
| ... | ... | @@ -257,18 +249,14 @@ function verifica($map,$solegenda) |
| 257 | 249 | } |
| 258 | 250 | $numlayers = $nmapa->numlayers; |
| 259 | 251 | $dados = ""; |
| 260 | - for ($i=0;$i < $numlayers;$i++) | |
| 261 | - { | |
| 252 | + for ($i=0;$i < $numlayers;$i++){ | |
| 262 | 253 | $layern = $mapa->getlayer($i); |
| 263 | 254 | $layern->set("status",MS_DEFAULT); |
| 264 | - if (!empty($postgis_mapa)) | |
| 265 | - { | |
| 266 | - if ($layern->connectiontype == MS_POSTGIS) | |
| 267 | - { | |
| 255 | + if (!empty($postgis_mapa)){ | |
| 256 | + if ($layern->connectiontype == MS_POSTGIS){ | |
| 268 | 257 | $lcon = $layern->connection; |
| 269 | 258 | error_reporting(0); |
| 270 | - if (($lcon == " ") || ($lcon == "") || (in_array($lcon,array_keys($postgis_mapa)))) | |
| 271 | - { | |
| 259 | + if (($lcon == " ") || ($lcon == "") || (in_array($lcon,array_keys($postgis_mapa)))){ | |
| 272 | 260 | if(($lcon == " ") || ($lcon == "")) //para efeitos de compatibilidade |
| 273 | 261 | {$layern->set("connection",$postgis_mapa);} |
| 274 | 262 | else |
| ... | ... | @@ -282,51 +270,69 @@ function verifica($map,$solegenda) |
| 282 | 270 | $tipotemp = $layern->type; |
| 283 | 271 | $tiporep = $layern->getmetadata("tipooriginal"); |
| 284 | 272 | $layern->set("type",MS_LAYER_POLYGON); |
| 285 | - if ($tiporep == "linear") | |
| 286 | - {$layern->set("type",MS_LAYER_LINE);} | |
| 287 | - if ($tiporep == "pontual") | |
| 288 | - {$layern->set("type",MS_LAYER_POINT);} | |
| 273 | + if ($tiporep == "linear"){ | |
| 274 | + $layern->set("type",MS_LAYER_LINE); | |
| 275 | + } | |
| 276 | + if ($tiporep == "pontual"){ | |
| 277 | + $layern->set("type",MS_LAYER_POINT); | |
| 278 | + } | |
| 289 | 279 | $sld = $layern->generateSLD(); |
| 290 | - if($sld != "") | |
| 291 | - $layern->setmetadata("wms_sld_body",str_replace('"',"'",$sld)); | |
| 280 | + if($sld != ""){ | |
| 281 | + $layern->setmetadata("wms_sld_body",str_replace('"',"'",$sld)); | |
| 282 | + } | |
| 292 | 283 | $layern->set("type",$tipotemp); |
| 293 | 284 | } |
| 294 | 285 | ms_newLayerObj($mapa, $layern); |
| 295 | - if ($layern->data == "") | |
| 296 | - $dados = $layern->connection; | |
| 297 | - else | |
| 298 | - $dados = $layern->data; | |
| 299 | - $pegarext = $teman; | |
| 286 | + if ($layern->data == ""){ | |
| 287 | + $dados = $layern->connection; | |
| 288 | + } | |
| 289 | + else{ | |
| 290 | + $dados = $layern->data; | |
| 291 | + } | |
| 292 | + $pegarext = $layern->name; | |
| 300 | 293 | } |
| 294 | + zoomTema($pegarext,$mapa); | |
| 301 | 295 | } |
| 302 | - zoomTema($pegarext,$mapa); | |
| 303 | - if ($tipo == "mini") | |
| 304 | - { | |
| 296 | + if(!stristr($tema, '.gvp') === FALSE){ | |
| 297 | + if(file_exists($mapUrl)){ | |
| 298 | + $gvsiggvp = $mapUrl; | |
| 299 | + } | |
| 300 | + else{ | |
| 301 | + $gvsiggvp = $locaplic."/".$tema; | |
| 302 | + } | |
| 303 | + include_once($locaplic."/pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php"); | |
| 304 | + $gm = new gvsig2mapfile($gvsiggvp); | |
| 305 | + $gvsigview = $gm->getViewsNames(); | |
| 306 | + $gvsigview = $gvsigview[0]; | |
| 307 | + $dataView = $gm->getViewData($gvsigview); | |
| 308 | + $numlayers = $mapn->numlayers; | |
| 309 | + $next = $dataView["extent"]; | |
| 310 | + $ext = $mapa->extent; | |
| 311 | + $ext->setextent($next[0],$next[1],$next[2],$next[3]); | |
| 312 | + $mapa = $gm->addLayers($mapa,$gvsigview,$dataView["layerNames"]); | |
| 313 | + } | |
| 314 | + if ($tipo == "mini"){ | |
| 305 | 315 | $mapa->setsize(50,50); |
| 306 | 316 | $sca = $mapa->scalebar; |
| 307 | 317 | $sca->set("status",MS_OFF); |
| 308 | 318 | } |
| 309 | - if ($tipo == "grande") | |
| 310 | - { | |
| 319 | + if ($tipo == "grande"){ | |
| 311 | 320 | $mapa->setsize(300,300); |
| 312 | 321 | $sca = $mapa->scalebar; |
| 313 | 322 | $sca->set("status",MS_OFF); |
| 314 | 323 | } |
| 315 | - if($tipo == "todos") | |
| 316 | - { | |
| 324 | + if($tipo == "todos"){ | |
| 317 | 325 | $mapa->setsize(150,150); |
| 318 | 326 | $sca = $mapa->scalebar; |
| 319 | 327 | $sca->set("status",MS_OFF); |
| 320 | 328 | } |
| 321 | 329 | $objImagem = @$mapa->draw(); |
| 322 | 330 | $objImagemLegenda = @$mapa->drawLegend(); |
| 323 | - if (!$objImagem) | |
| 324 | - { | |
| 331 | + if (!$objImagem){ | |
| 325 | 332 | echo "Problemas ao gerar o mapa<br>"; |
| 326 | 333 | $error = ""; |
| 327 | 334 | $error = ms_GetErrorObj(); |
| 328 | - while($error && $error->code != MS_NOERR) | |
| 329 | - { | |
| 335 | + while($error && $error->code != MS_NOERR){ | |
| 330 | 336 | echo "<br>Error in %s: %s<br>", $error->routine, $error->message; |
| 331 | 337 | $error = $error->next(); |
| 332 | 338 | } |
| ... | ... | @@ -341,38 +347,32 @@ function verifica($map,$solegenda) |
| 341 | 347 | $nomel = ($objImagemLegenda->imagepath).nomeRandomico()."testel.png"; |
| 342 | 348 | $objImagemLegenda->saveImage($nomel); |
| 343 | 349 | $nomerl = ($objImagemLegenda->imageurl).basename($nomel); |
| 344 | - if(($tipo == "") || ($tipo == "todos")) | |
| 345 | - { | |
| 350 | + if(($tipo == "") || ($tipo == "todos")){ | |
| 346 | 351 | if($solegenda == "nao") |
| 347 | 352 | {echo "<img src=".$nomer." /><br>";} |
| 348 | 353 | echo "<img src=".$nomerl." />"; |
| 349 | - if($tipo == "todos") | |
| 350 | - { | |
| 351 | - echo "<br>".$dados."<br>"; | |
| 354 | + if($tipo == "todos"){ | |
| 355 | + echo "<br>".$dados."<br>"; | |
| 352 | 356 | } |
| 353 | - if($map != "todos") | |
| 354 | - { | |
| 357 | + if($map != "todos"){ | |
| 355 | 358 | echo "<br>Erros:<br>"; |
| 356 | 359 | $error = ""; |
| 357 | 360 | $error = ms_GetErrorObj(); |
| 358 | - while($error && $error->code != MS_NOERR) | |
| 359 | - { | |
| 361 | + while($error && $error->code != MS_NOERR){ | |
| 360 | 362 | echo "<br>Error in %s: %s<br>", $error->routine, $error->message; |
| 361 | 363 | $error = $error->next(); |
| 362 | 364 | } |
| 363 | 365 | } |
| 364 | 366 | |
| 365 | 367 | } |
| 366 | - else | |
| 367 | - { | |
| 368 | + else{ | |
| 368 | 369 | Header("Content-type: image/png"); |
| 369 | 370 | ImagePng(ImageCreateFromPNG($nomec)); |
| 370 | 371 | } |
| 371 | 372 | //$objImagem->free(); |
| 372 | 373 | } |
| 373 | 374 | } |
| 374 | -function zoomTema($nomelayer,&$mapa) | |
| 375 | -{ | |
| 375 | +function zoomTema($nomelayer,&$mapa){ | |
| 376 | 376 | $layer = $mapa->getlayerbyname($nomelayer); |
| 377 | 377 | if($layer->data == "" && $layer->connection == "") |
| 378 | 378 | {return;} |
| ... | ... | @@ -385,23 +385,19 @@ function zoomTema($nomelayer,&$mapa) |
| 385 | 385 | $ct = $layer->connectiontype; |
| 386 | 386 | if(($ret == "") && ($ct != 1)) |
| 387 | 387 | {return;} |
| 388 | - if ($ret == "") | |
| 389 | - { | |
| 388 | + if ($ret == ""){ | |
| 390 | 389 | $ret = $layer->getextent(); |
| 391 | 390 | //reprojeta o retangulo |
| 392 | - if (($prjTema != "") && ($prjMapa != $prjTema)) | |
| 393 | - { | |
| 391 | + if (($prjTema != "") && ($prjMapa != $prjTema)){ | |
| 394 | 392 | $projInObj = ms_newprojectionobj($prjTema); |
| 395 | 393 | $projOutObj = ms_newprojectionobj($prjMapa); |
| 396 | 394 | $ret->project($projInObj, $projOutObj); |
| 397 | 395 | } |
| 398 | 396 | $extatual->setextent($ret->minx,$ret->miny,$ret->maxx,$ret->maxy); |
| 399 | 397 | } |
| 400 | - else | |
| 401 | - { | |
| 398 | + else{ | |
| 402 | 399 | $ret = explode(" ",$ret); |
| 403 | 400 | $extatual->setextent($ret[0],$ret[1],$ret[2],$ret[3]); |
| 404 | 401 | } |
| 405 | 402 | } |
| 406 | - | |
| 407 | 403 | ?> | ... | ... |