Commit 525d98da2dbbe8b7ac61df54c0407459cd91d6e4
1 parent
31d3495a
Exists in
master
and in
7 other branches
Incluidos dois novos parâmetros de inicialização o ms_criamapa.php que permitem …
…a inclusão de linhas e polígonos, semelhante ao parâmetro pontos (veja no wiki do portal a documentação de como usar)
Showing
1 changed file
with
334 additions
and
133 deletions
Show diff stats
ms_criamapa.php
... | ... | @@ -142,22 +142,11 @@ $_SESSION["utilizacgi"] = $utilizacgi_; |
142 | 142 | //pega todas as variáveis da sessão |
143 | 143 | // |
144 | 144 | foreach(array_keys($_SESSION) as $k) |
145 | -{ | |
146 | - eval("\$".$k."='".$_SESSION[$k]."';"); | |
147 | -} | |
145 | +{eval("\$".$k."='".$_SESSION[$k]."';");} | |
148 | 146 | // |
149 | 147 | //monta a apresentação do aguarde |
150 | 148 | // |
151 | -if (!isset($interface)) | |
152 | -{ | |
153 | - echo "<html><head>"; | |
154 | - echo '<div id="aguarde">'; | |
155 | - echo '<p class=paguarde style="font-family: Verdana, Arial, Helvetica, sans-serif;color:black;text-align:center;font-size:12pt"><b>'.$mensagemInicia.'</b><br> Aguarde...criando o mapa</p>'; | |
156 | - echo "<center><img src='".$caminho."imagens/i3geo1.jpg'><br><br>"; | |
157 | - echo "<center><img src='".$caminho."imagens/mapserv.png'><br><br>"; | |
158 | - echo "<center><a href='http://mapas.mma.gov.br/download' target=blank ><img src='".$caminho."imagens/somerights20_pt.gif' ></a>"; | |
159 | - echo '<BODY bgcolor="white" style="background-color:white">'; | |
160 | -} | |
149 | +mostraAguarde(); | |
161 | 150 | // |
162 | 151 | //define os arquivos .map conforme o tipo de sistema operacional |
163 | 152 | // |
... | ... | @@ -195,26 +184,7 @@ $_SESSION["imgdir"] = $diretorios[2]; |
195 | 184 | // |
196 | 185 | //cria arquivos para impedir a leitura dos diretórios temporários |
197 | 186 | // |
198 | -if (!file_exists($dir_tmp."/index.htm")) | |
199 | -{ | |
200 | - $f = fopen($dir_tmp."/index.htm",x); | |
201 | - fclose($f); | |
202 | - $f = fopen($dir_tmp."/index.html",x); | |
203 | - fclose($f); | |
204 | - $f = fopen($dir_tmp."/".$diretorios[1]."/index.html",x); | |
205 | - fclose($f); | |
206 | - $f = fopen($dir_tmp."/".$diretorios[1]."/index.htm",x); | |
207 | - fclose($f); | |
208 | - $f = fopen($dir_tmp."/".$diretorios[2]."/index.html",x); | |
209 | - fclose($f); | |
210 | - $f = fopen($dir_tmp."/".$diretorios[2]."/index.htm",x); | |
211 | - fclose($f); | |
212 | -} | |
213 | -if (!file_exists($dir_tmp."/index.htm")) | |
214 | -{ | |
215 | - echo "Erro. Não foi possível gravar no diretório temporário"; | |
216 | - exit; | |
217 | -} | |
187 | +criaIndex(); | |
218 | 188 | // |
219 | 189 | //cria os objetos map |
220 | 190 | // |
... | ... | @@ -239,45 +209,10 @@ ms_ResetErrorList(); |
239 | 209 | // |
240 | 210 | //verifica a lista de temas da inicializacao, adicionando-os se necessário |
241 | 211 | // |
242 | -if (!isset($temasa)){$temasa = $estadosl;} | |
243 | -$temasa = str_replace(','," ",$temasa); | |
244 | -$alayers = explode(" ",$temasa); | |
245 | -foreach ($alayers as $arqt) | |
246 | -{ | |
247 | - $arqtemp = ""; | |
248 | - $arqt = trim($arqt); | |
249 | - if ($arqt == "") | |
250 | - {continue;} | |
251 | - if (file_exists($arqt)) | |
252 | - {$arqtemp = $arqt;} | |
253 | - if ((strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) && (file_exists($temasaplic."\\".$arqt.".map"))) | |
254 | - {$arqtemp = $temasaplic."\\".$arqt.".map";} | |
255 | - elseif (file_exists($temasaplic."/".$arqt.".map")) | |
256 | - {$arqtemp = $temasaplic."/".$arqt.".map";} | |
257 | - if ((strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) && (file_exists($temasdir."\\".$arqt.".map"))) | |
258 | - {$arqtemp = $temasdir."\\".$arqt.".map";} | |
259 | - elseif (file_exists($temasdir."/".$arqt.".map")) | |
260 | - {$arqtemp = $temasdir."/".$arqt.".map";} | |
261 | - if ($arqtemp == "") | |
262 | - {echo "<br>Impossível acessar tema $arqtemp";} | |
263 | - else | |
264 | - { | |
265 | - if (!@ms_newMapObj($arqtemp)) | |
266 | - {echo "<br>Problemas com a camada $arqtemp<br>";} | |
267 | - else | |
268 | - { | |
269 | - $maptemp = @ms_newMapObj($arqtemp); | |
270 | - for($i=0;$i<($maptemp->numlayers);$i++) | |
271 | - { | |
272 | - $layern = $maptemp->getLayer($i); | |
273 | - $layern->setmetadata("NOMEORIGINAL",$layern->name); | |
274 | - if ($layern->name == "estadosl") | |
275 | - {$layern->set("data",$temasaplic."/dados/estados.shp");} | |
276 | - ms_newLayerObj($mapn, $layern); | |
277 | - } | |
278 | - } | |
279 | - } | |
280 | -} | |
212 | +incluiTemasIniciais(); | |
213 | +// | |
214 | +//verifica erros | |
215 | +// | |
281 | 216 | $error = ms_GetErrorObj(); |
282 | 217 | while($error && $error->code != MS_NOERR) |
283 | 218 | { |
... | ... | @@ -288,19 +223,10 @@ ms_ResetErrorList(); |
288 | 223 | // |
289 | 224 | //liga os temas definidos em $layers |
290 | 225 | // |
291 | -if (isset($layers)) | |
292 | -{ | |
293 | - $layers = str_replace(','," ",$layers); | |
294 | - $lista = explode(" ", $layers); | |
295 | - foreach ($lista as $l) | |
296 | - { | |
297 | - $arqt = trim($l); | |
298 | - if ($l == "") | |
299 | - {continue;} | |
300 | - if(@$mapn->getLayerByName($l)) | |
301 | - {$layern = $mapn->getLayerByName($l);$layern->set("status",MS_DEFAULT);} | |
302 | - } | |
303 | -} | |
226 | +ligaTemas(); | |
227 | +// | |
228 | +//verifica erros | |
229 | +// | |
304 | 230 | $error = ms_GetErrorObj(); |
305 | 231 | while($error && $error->code != MS_NOERR) |
306 | 232 | { |
... | ... | @@ -377,9 +303,208 @@ while($error && $error->code != MS_NOERR) |
377 | 303 | $error = $error->next(); |
378 | 304 | } |
379 | 305 | ms_ResetErrorList(); |
306 | +// | |
380 | 307 | //inclui pontos via url |
308 | +// | |
381 | 309 | if (isset($pontos)) |
310 | +{inserePontosUrl();} | |
311 | +$error = ms_GetErrorObj(); | |
312 | +while($error && $error->code != MS_NOERR) | |
313 | +{ | |
314 | + printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message); | |
315 | + $error = $error->next(); | |
316 | +} | |
317 | +ms_ResetErrorList(); | |
318 | +// | |
319 | +//inclui linhas via url | |
320 | +// | |
321 | +if (isset($linhas)) | |
322 | +{insereLinhasUrl();} | |
323 | +$error = ms_GetErrorObj(); | |
324 | +while($error && $error->code != MS_NOERR) | |
325 | +{ | |
326 | + printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message); | |
327 | + $error = $error->next(); | |
328 | +} | |
329 | +ms_ResetErrorList(); | |
330 | +// | |
331 | +//inclui pontos via url | |
332 | +// | |
333 | +if (isset($poligonos)) | |
334 | +{inserePoligonosUrl();} | |
335 | +$error = ms_GetErrorObj(); | |
336 | +while($error && $error->code != MS_NOERR) | |
337 | +{ | |
338 | + printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message); | |
339 | + $error = $error->next(); | |
340 | +} | |
341 | +ms_ResetErrorList(); | |
342 | +// | |
343 | +//se vc quiser parar o script aqui, para verificar erros, descomente a linha abaixo | |
344 | +// | |
345 | +//exit; | |
346 | +// | |
347 | +//verifica os dados de cada layer | |
348 | +// | |
349 | +$mapa = ms_newMapObj($tmpfname); | |
350 | +$path = $mapa->shapepath; | |
351 | +for($i=0;$i<($mapa->numlayers);$i++) | |
352 | +{ | |
353 | + $layer = $mapa->getLayer($i); | |
354 | + $ok = true; | |
355 | + if ($layer->connection == "") | |
356 | + { | |
357 | + $ok = false; | |
358 | + $d = $layer->data; | |
359 | + if((file_exists($d)) || (file_exists($d.".shp"))) | |
360 | + {$ok = true;} | |
361 | + else | |
362 | + { | |
363 | + if((file_exists($path."/".$d)) || (file_exists($path."/".$d.".shp"))) | |
364 | + {$ok = true;} | |
365 | + } | |
366 | + } | |
367 | + if ($ok == false) | |
368 | + {$layer->set("status",MS_OFF);} | |
369 | +} | |
370 | +$mapa->save($tmpfname); | |
371 | +// | |
372 | +//obtem o IP do usuário e registra no banco de dados | |
373 | +//essa função pode ser comentada sem prejuízos ao funcionamento do I3Geo | |
374 | +require_once($caminho."ms_registraip.php"); | |
375 | +// | |
376 | +// gera a url para abrir o mapa | |
377 | +// interface = arquivo html que será aberto | |
378 | +// | |
379 | +if ($interface != "mashup") | |
380 | +{ | |
381 | + if (count(explode(".php",$interface)) > 1) | |
382 | + { | |
383 | + if (file_exists($caminho."aplicmap/".$interface)) | |
384 | + {include_once($caminho."aplicmap/".$interface);} | |
385 | + else | |
386 | + {include_once($interface);} | |
387 | + exit; | |
388 | + } | |
389 | + else | |
390 | + { | |
391 | + if (file_exists($caminho."aplicmap/".$interface)) | |
392 | + {$urln = $caminho."aplicmap/".$interface."?".session_id();} | |
393 | + else | |
394 | + {$urln = $interface."?".session_id();} | |
395 | + //header("Location:".$urln); | |
396 | + echo "<meta http-equiv='refresh' content='0;url=$urln'>"; | |
397 | + } | |
398 | +} | |
399 | +////////////////////////////////////////////////////////////////////////////// | |
400 | +//funções | |
401 | +///////////////////////////////////////////////////////////////////////////// | |
402 | + | |
403 | +function ligaTemas() | |
404 | +{ | |
405 | + global $layers,$mapn; | |
406 | + if (isset($layers)) | |
407 | + { | |
408 | + $layers = str_replace(','," ",$layers); | |
409 | + $lista = explode(" ", $layers); | |
410 | + foreach ($lista as $l) | |
411 | + { | |
412 | + $arqt = trim($l); | |
413 | + if ($l == "") | |
414 | + {continue;} | |
415 | + if(@$mapn->getLayerByName($l)) | |
416 | + {$layern = $mapn->getLayerByName($l);$layern->set("status",MS_DEFAULT);} | |
417 | + } | |
418 | + } | |
419 | +} | |
420 | + | |
421 | +function incluiTemasIniciais() | |
422 | +{ | |
423 | + global $temasa,$estadosl,$temasaplic,$temasdir,$mapn; | |
424 | + if (!isset($temasa)){$temasa = $estadosl;} | |
425 | + $temasa = str_replace(','," ",$temasa); | |
426 | + $alayers = explode(" ",$temasa); | |
427 | + foreach ($alayers as $arqt) | |
428 | + { | |
429 | + $arqtemp = ""; | |
430 | + $arqt = trim($arqt); | |
431 | + if ($arqt == "") | |
432 | + {continue;} | |
433 | + if (file_exists($arqt)) | |
434 | + {$arqtemp = $arqt;} | |
435 | + if ((strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) && (file_exists($temasaplic."\\".$arqt.".map"))) | |
436 | + {$arqtemp = $temasaplic."\\".$arqt.".map";} | |
437 | + elseif (file_exists($temasaplic."/".$arqt.".map")) | |
438 | + {$arqtemp = $temasaplic."/".$arqt.".map";} | |
439 | + if ((strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) && (file_exists($temasdir."\\".$arqt.".map"))) | |
440 | + {$arqtemp = $temasdir."\\".$arqt.".map";} | |
441 | + elseif (file_exists($temasdir."/".$arqt.".map")) | |
442 | + {$arqtemp = $temasdir."/".$arqt.".map";} | |
443 | + if ($arqtemp == "") | |
444 | + {echo "<br>Impossível acessar tema $arqtemp";} | |
445 | + else | |
446 | + { | |
447 | + if (!@ms_newMapObj($arqtemp)) | |
448 | + {echo "<br>Problemas com a camada $arqtemp<br>";} | |
449 | + else | |
450 | + { | |
451 | + $maptemp = @ms_newMapObj($arqtemp); | |
452 | + for($i=0;$i<($maptemp->numlayers);$i++) | |
453 | + { | |
454 | + $layern = $maptemp->getLayer($i); | |
455 | + $layern->setmetadata("NOMEORIGINAL",$layern->name); | |
456 | + if ($layern->name == "estadosl") | |
457 | + {$layern->set("data",$temasaplic."/dados/estados.shp");} | |
458 | + ms_newLayerObj(&$mapn, $layern); | |
459 | + } | |
460 | + } | |
461 | + } | |
462 | + } | |
463 | +} | |
464 | + | |
465 | +function criaIndex() | |
382 | 466 | { |
467 | + global $dir_tmp,$diretorios; | |
468 | + if (!file_exists($dir_tmp."/index.htm")) | |
469 | + { | |
470 | + $f = fopen($dir_tmp."/index.htm",x); | |
471 | + fclose($f); | |
472 | + $f = fopen($dir_tmp."/index.html",x); | |
473 | + fclose($f); | |
474 | + $f = fopen($dir_tmp."/".$diretorios[1]."/index.html",x); | |
475 | + fclose($f); | |
476 | + $f = fopen($dir_tmp."/".$diretorios[1]."/index.htm",x); | |
477 | + fclose($f); | |
478 | + $f = fopen($dir_tmp."/".$diretorios[2]."/index.html",x); | |
479 | + fclose($f); | |
480 | + $f = fopen($dir_tmp."/".$diretorios[2]."/index.htm",x); | |
481 | + fclose($f); | |
482 | + } | |
483 | + if (!file_exists($dir_tmp."/index.htm")) | |
484 | + { | |
485 | + echo "Erro. Não foi possível gravar no diretório temporário"; | |
486 | + exit; | |
487 | + } | |
488 | +} | |
489 | + | |
490 | +function mostraAguarde() | |
491 | +{ | |
492 | + global $interface,$caminho,$mensagemInicia; | |
493 | + if (!isset($interface)) | |
494 | + { | |
495 | + echo "<html><head>"; | |
496 | + echo '<div id="aguarde">'; | |
497 | + echo '<p class=paguarde style="font-family: Verdana, Arial, Helvetica, sans-serif;color:black;text-align:center;font-size:12pt"><b>'.$mensagemInicia.'</b><br> Aguarde...criando o mapa</p>'; | |
498 | + echo "<center><img src='".$caminho."imagens/i3geo1.jpg'><br><br>"; | |
499 | + echo "<center><img src='".$caminho."imagens/mapserv.png'><br><br>"; | |
500 | + echo "<center><a href='http://mapas.mma.gov.br/download' target=blank ><img src='".$caminho."imagens/somerights20_pt.gif' ></a>"; | |
501 | + echo '<BODY bgcolor="white" style="background-color:white">'; | |
502 | + } | |
503 | +} | |
504 | + | |
505 | +function inserePontosUrl() | |
506 | +{ | |
507 | + global $pontos,$nometemapontos,$dir_tmp,$imgdir,$tmpfname,$locaplic; | |
383 | 508 | require_once "pacotes/phpxbase/api_conversion.php"; |
384 | 509 | if (!isset($nometemapontos)) |
385 | 510 | {$nometemapontos="Pontos";} |
... | ... | @@ -433,68 +558,144 @@ if (isset($pontos)) |
433 | 558 | $cor->setRGB(255,0,0); |
434 | 559 | $salvo = $mapa->save($tmpfname); |
435 | 560 | } |
436 | -$error = ms_GetErrorObj(); | |
437 | -while($error && $error->code != MS_NOERR) | |
438 | -{ | |
439 | - printf("<br>Error in %s: %s<br>\n", $error->routine, $error->message); | |
440 | - $error = $error->next(); | |
441 | -} | |
442 | -ms_ResetErrorList(); | |
443 | 561 | // |
444 | -//se vc quiser para o script aqui, para verificar erros, descomente a linha abaixo | |
445 | -// | |
446 | -//exit; | |
447 | -// | |
448 | -//verifica os dados de cada layer | |
562 | +//as linhas devem ter os pontos separados por espaços e cada linha separada por vírgula | |
449 | 563 | // |
450 | -$mapa = ms_newMapObj($tmpfname); | |
451 | -$path = $mapa->shapepath; | |
452 | -for($i=0;$i<($mapa->numlayers);$i++) | |
564 | +function insereLinhasUrl() | |
453 | 565 | { |
454 | - $layer = $mapa->getLayer($i); | |
455 | - $ok = true; | |
456 | - if ($layer->connection == "") | |
566 | + global $linhas,$nometemalinhas,$dir_tmp,$imgdir,$tmpfname,$locaplic; | |
567 | + require_once "pacotes/phpxbase/api_conversion.php"; | |
568 | + if (!isset($nometemalinhas)) | |
569 | + {$nometemalinhas="Linhas";} | |
570 | + if ($nometemalinhas == "") | |
571 | + {$nometemalinhas="Linhas";} | |
572 | + // | |
573 | + //cria o shape file | |
574 | + // | |
575 | + $tipol = MS_SHP_ARC; | |
576 | + $nomeshp = $dir_tmp."/".$imgdir."/linhains"; | |
577 | + // cria o dbf | |
578 | + $def = array(); | |
579 | + $items = array("COORD"); | |
580 | + foreach ($items as $ni) | |
581 | + {$def[] = array($ni,"C","254");} | |
582 | + xbase_create($nomeshp.".dbf", $def); | |
583 | + $dbname = $nomeshp.".dbf"; | |
584 | + $db=xbase_open($dbname,2); | |
585 | + $novoshpf = ms_newShapefileObj($nomeshp, $tipol); | |
586 | + $linhas = explode(",",trim($linhas)); | |
587 | + $pontosLinhas = array(); //guarda os pontos de cada linha em arrays | |
588 | + foreach ($linhas as $l) | |
457 | 589 | { |
458 | - $ok = false; | |
459 | - $d = $layer->data; | |
460 | - if((file_exists($d)) || (file_exists($d.".shp"))) | |
461 | - {$ok = true;} | |
462 | - else | |
590 | + $tempPTs = explode(" ",trim($l)); | |
591 | + $temp = array(); | |
592 | + foreach ($tempPTs as $p) | |
593 | + if (is_numeric($p)){$temp[] = $p;} | |
594 | + $pontosLinhas[] = $temp; | |
595 | + } | |
596 | + foreach ($pontosLinhas as $ptsl) | |
597 | + { | |
598 | + $linhas = $ptsl; | |
599 | + $shape = ms_newShapeObj($tipol); | |
600 | + $linha = ms_newLineObj(); | |
601 | + $reg = array(); | |
602 | + $reg[] = ""; | |
603 | + for ($ci = 0;$ci < count($linhas);$ci=$ci+2) | |
463 | 604 | { |
464 | - if((file_exists($path."/".$d)) || (file_exists($path."/".$d.".shp"))) | |
465 | - {$ok = true;} | |
605 | + $linha->addXY($linhas[$ci],$linhas[$ci+1]); | |
606 | + $shape->add($linha); | |
466 | 607 | } |
608 | + $novoshpf->addShape($shape); | |
609 | + xbase_add_record($db,$reg); | |
467 | 610 | } |
468 | - if ($ok == false) | |
469 | - {$layer->set("status",MS_OFF);} | |
611 | + $novoshpf->free(); | |
612 | + xbase_close($db); | |
613 | + //adiciona o layer | |
614 | + $mapa = ms_newMapObj($tmpfname); | |
615 | + $layer = ms_newLayerObj($mapa); | |
616 | + $layer->set("name","linhains"); | |
617 | + $layer->set("data",$nomeshp); | |
618 | + $layer->setmetadata("tema",$nometemalinhas); | |
619 | + $layer->setmetadata("classe","sim"); | |
620 | + $layer->set("type",MS_LAYER_LINE); | |
621 | + $layer->set("status",MS_DEFAULT); | |
622 | + $classe = ms_newClassObj($layer); | |
623 | + $estilo = ms_newStyleObj($classe); | |
624 | + $estilo->set("symbolname","linha"); | |
625 | + $estilo->set("size",3); | |
626 | + $cor = $estilo->color; | |
627 | + $cor->setRGB(255,0,0); | |
628 | + $salvo = $mapa->save($tmpfname); | |
470 | 629 | } |
471 | -$mapa->save($tmpfname); | |
472 | -// | |
473 | -//obtem o IP do usuário e registra no banco de dados | |
474 | -//essa função pode ser comentada sem prejuízos ao funcionamento do I3Geo | |
475 | -require_once($caminho."ms_registraip.php"); | |
476 | 630 | // |
477 | -// gera a url para abrir o mapa | |
478 | -// interface = arquivo html que será aberto | |
631 | +//os polígonos devem ter os pontos separados por espaços e cada polígono separado por vírgula | |
479 | 632 | // |
480 | -if ($interface != "mashup") | |
633 | +function inserePoligonosUrl() | |
481 | 634 | { |
482 | - if (count(explode(".php",$interface)) > 1) | |
635 | + global $poligonos,$nometemapoligonos,$dir_tmp,$imgdir,$tmpfname,$locaplic; | |
636 | + require_once "pacotes/phpxbase/api_conversion.php"; | |
637 | + if (!isset($nometemapoligonos)) | |
638 | + {$nometemapoligonos="Poligonos";} | |
639 | + if ($nometemapoligonos == "") | |
640 | + {$nometemapoligonos="Poligonos";} | |
641 | + // | |
642 | + //cria o shape file | |
643 | + // | |
644 | + $tipol = MS_SHP_POLYGON; | |
645 | + $nomeshp = $dir_tmp."/".$imgdir."/poligonosins"; | |
646 | + // cria o dbf | |
647 | + $def = array(); | |
648 | + $items = array("COORD"); | |
649 | + foreach ($items as $ni) | |
650 | + {$def[] = array($ni,"C","254");} | |
651 | + xbase_create($nomeshp.".dbf", $def); | |
652 | + $dbname = $nomeshp.".dbf"; | |
653 | + $db=xbase_open($dbname,2); | |
654 | + $novoshpf = ms_newShapefileObj($nomeshp, $tipol); | |
655 | + $linhas = explode(",",trim($poligonos)); | |
656 | + $pontosLinhas = array(); //guarda os pontos de cada linha em arrays | |
657 | + foreach ($linhas as $l) | |
483 | 658 | { |
484 | - if (file_exists($caminho."aplicmap/".$interface)) | |
485 | - {include_once($caminho."aplicmap/".$interface);} | |
486 | - else | |
487 | - {include_once($interface);} | |
488 | - exit; | |
659 | + $tempPTs = explode(" ",trim($l)); | |
660 | + $temp = array(); | |
661 | + foreach ($tempPTs as $p) | |
662 | + if (is_numeric($p)){$temp[] = $p;} | |
663 | + $pontosLinhas[] = $temp; | |
489 | 664 | } |
490 | - else | |
665 | + foreach ($pontosLinhas as $ptsl) | |
491 | 666 | { |
492 | - if (file_exists($caminho."aplicmap/".$interface)) | |
493 | - {$urln = $caminho."aplicmap/".$interface."?".session_id();} | |
494 | - else | |
495 | - {$urln = $interface."?".session_id();} | |
496 | - //header("Location:".$urln); | |
497 | - echo "<meta http-equiv='refresh' content='0;url=$urln'>"; | |
667 | + $linhas = $ptsl; | |
668 | + $shape = ms_newShapeObj($tipol); | |
669 | + $linha = ms_newLineObj(); | |
670 | + $reg = array(); | |
671 | + $reg[] = ""; | |
672 | + for ($ci = 0;$ci < count($linhas);$ci=$ci+2) | |
673 | + { | |
674 | + $linha->addXY($linhas[$ci],$linhas[$ci+1]); | |
675 | + | |
676 | + } | |
677 | + $shape->add($linha); | |
678 | + $novoshpf->addShape($shape); | |
679 | + xbase_add_record($db,$reg); | |
498 | 680 | } |
681 | + $novoshpf->free(); | |
682 | + xbase_close($db); | |
683 | + //adiciona o layer | |
684 | + $mapa = ms_newMapObj($tmpfname); | |
685 | + $layer = ms_newLayerObj($mapa); | |
686 | + $layer->set("name","linhains"); | |
687 | + $layer->set("data",$nomeshp); | |
688 | + $layer->setmetadata("tema",$nometemapoligonos); | |
689 | + $layer->setmetadata("classe","sim"); | |
690 | + $layer->set("type",MS_LAYER_POLYGON); | |
691 | + $layer->set("transparency","50"); | |
692 | + $layer->set("status",MS_DEFAULT); | |
693 | + $classe = ms_newClassObj($layer); | |
694 | + $estilo = ms_newStyleObj($classe); | |
695 | + //$estilo->set("symbolname","linha"); | |
696 | + //$estilo->set("size",3); | |
697 | + $cor = $estilo->color; | |
698 | + $cor->setRGB(255,0,0); | |
699 | + $salvo = $mapa->save($tmpfname); | |
499 | 700 | } |
500 | 701 | ?> |
501 | 702 | \ No newline at end of file | ... | ... |