Commit 3496eb03466102c54b129d6b5f7772e9dd87a0a5

Authored by Edmar Moretti
1 parent 18598180

Adicionada opção de análise de distâncias entre pontos no menu de análise

classesphp/classe_analise.php
... ... @@ -597,15 +597,137 @@ $locaplic - Localização do I3geo.
597 597 return(implode(" ",$nomesitens));
598 598 }
599 599 /*
600   -function - criaBuffer
  600 +function: distanciaptpt
  601 +
  602 +Calcula a distancia entre um ponto de origem e os pontos em um tema.
  603 +
  604 +São considerados apenas os pontos dentro de um tema de overlay.
  605 +
  606 +parameters:
  607 +
  608 +temaorigem - nome do layer com o ponto de origem
  609 +
  610 +temadestino - nome od tema com os pontos de destino
  611 +
  612 +temaoverlay - tema que será utilizado para selecionar o tema de destino
  613 +
  614 +locapli - endereço da aplicação i3geo
  615 +*/
  616 +function distanciaptpt($temaorigem,$temadestino,$temaoverlay,$locaplic)
  617 +{
  618 + //error_reporting(E_ALL);
  619 + //para manipular dbf
  620 + require_once "../pacotes/phpxbase/api_conversion.php";
  621 + //define o nome do novo shapefile que será criado
  622 + $nomefinal = nomeRandomico();
  623 + $nomeshp = $this->diretorio."/".$nomefinal;
  624 + if (file_exists(($this->arquivo)."qy"))
  625 + {$this->mapa->loadquery(($this->arquivo)."qy");}
  626 + else
  627 + {return "errox";}
  628 + $layerorigem = $this->mapa->getlayerbyname($temaorigem);
  629 + $layerdestino = $this->mapa->getlayerbyname($temadestino);
  630 + $layeroverlay = $this->mapa->getlayerbyname($temaoverlay);
  631 + if (@$layerorigem->open() == MS_SUCCESS)
  632 + {
  633 + $layerorigem->open();
  634 + $res_count = $layerorigem->getNumresults();
  635 + for ($i = 0; $i < $res_count; $i++)
  636 + {
  637 + $result = $layerorigem->getResult($i);
  638 + $shp_index = $result->shapeindex;
  639 + $shapesorigem[] = $layerorigem->getshape(-1, $shp_index);
  640 + }
  641 + $layerorigem->close();
  642 + }
  643 + else
  644 + {return "erro";}
  645 + $layeroverlay->queryByrect($this->mapa->extent);
  646 + $layerdestino->queryByFeatures($layeroverlay->index);
  647 + if (@$layerdestino->open() == MS_SUCCESS)
  648 + {
  649 + $layerdestino->open();
  650 + $res_count = $layerdestino->getNumresults();
  651 + for ($i = 0; $i < $res_count; $i++)
  652 + {
  653 + $result = $layerdestino->getResult($i);
  654 + $shp_index = $result->shapeindex;
  655 + $shapesdestino[] = $layerdestino->getshape(-1, $shp_index);
  656 + }
  657 + $layerdestino->close();
  658 + }
  659 + else
  660 + {return "erro";}
  661 + $rect = $this->mapa->extent;
  662 + $projInObj = $layerorigem->getProjection();
  663 + if ($projInObj == "")
  664 + {$projInObj = ms_newprojectionobj("proj=latlong");}
  665 + $projOutObj = ms_newprojectionobj("proj=poly,ellps=GRS67,lat_0=".$rect->miny.",lon_0=".$rect->minx.",x_0=5000000,y_0=10000000");
  666 + $origemdestino = array();
  667 + if (count($shapesorigem)==0){return "erro";}
  668 + if (count($shapesdestino)==0){return "erro";}
  669 + $novoshpf = ms_newShapefileObj($nomeshp, MS_SHP_ARC);
  670 + // cria o dbf
  671 + $def[] = array("dist_m","N","10");
  672 + $db = xbase_create($nomeshp.".dbf", $def);
  673 + //acrescenta os pontos no novo shapefile
  674 + $dbname = $nomeshp.".dbf";
  675 + foreach ($shapesorigem as $sorigem)
  676 + {
  677 + foreach ($shapesdestino as $sdestino)
  678 + {
  679 + $linha = ms_newLineObj();
  680 + $linha->add($sorigem->getCentroid());
  681 + $linha->add($sdestino->getCentroid());
  682 + $ShapeObj = ms_newShapeObj(MS_SHAPE_LINE);
  683 + $ShapeObj->add($linha);
  684 + $novoshpf->addShape($ShapeObj);
  685 + $ShapeObj->project($projInObj, $projOutObj);
  686 + $distancia = array();
  687 + $distancia[] = $ShapeObj->getLength();
  688 + xbase_add_record($db,$distancia);
  689 + $linha->free();
  690 + $ShapeObj->free();
  691 + }
  692 + }
  693 + $novoshpf->free();
  694 + xbase_close($db);
  695 + //adiciona no mapa atual o novo tema
  696 + if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN'))
  697 + {$mapt = ms_newMapObj($locaplic."\\aplicmap\\novotema.map");}
  698 + else
  699 + {$mapt = ms_newMapObj($locaplic."/aplicmap/novotema.map");}
  700 + $novolayer = criaLayer($this->mapa,MS_LAYER_LINE,MS_DEFAULT,("Distancias (".$nomefinal.")"),$metaClasse="SIM");
  701 + $novolayer->set("data",$nomeshp.".shp");
  702 + $novolayer->setmetadata("DOWNLOAD","SIM");
  703 + $novolayer->set("template","none.htm");
  704 + $classe = $novolayer->getclass(0);
  705 + $estilo = $classe->getstyle(0);
  706 + $estilo->set("symbolname","linha");
  707 + $estilo->set("size",4);
  708 + $cor = $estilo->color;
  709 + $cor->setrgb(255,210,0);
  710 + //limpa selecao
  711 + //if (file_exists(($this->arquivo)."qy"))
  712 + //{unlink (($this->arquivo)."qy");}
  713 + return($nomeshp.".shp");
  714 +}
  715 +/*
  716 +function: criaBuffer
601 717  
602 718 Gera entorno (buffer) nos elementos selecionados de um tema.
603 719  
604 720 Salva o mapa acrescentando um novo layer com o buffer.
605 721  
  722 +Parameters:
  723 +
606 724 $distancia - Distância em km.
607 725  
608 726 $locaplic - Localização do I3geo.
  727 +
  728 +return:
  729 +
  730 +nome do layer criado com o buffer.
609 731 */
610 732 function criaBuffer($distancia,$locaplic)
611 733 {
... ... @@ -632,7 +754,7 @@ $locaplic - Localização do I3geo.
632 754 //calcula a extensão geografica
633 755 $rect = $shape->bounds;
634 756 $projInObj = ms_newprojectionobj("proj=latlong");
635   - $projOutObj = ms_newprojectionobj("proj=poly,ellps=GRS67,lat_0=0,lon_0=".$rect->minx.",x_0=5000000,y_0=10000000");
  757 + $projOutObj = ms_newprojectionobj("proj=poly,ellps=GRS67,lat_0=".$rect->miny.",lon_0=".$rect->minx.",x_0=5000000,y_0=10000000");
636 758 $poPoint = ms_newpointobj();
637 759 $poPoint->setXY($rect->minx, $rect->miny);
638 760 $dd1 = ms_newpointobj();
... ... @@ -680,10 +802,16 @@ $locaplic - Localização do I3geo.
680 802 $novolayer->set("data",$nomeshp.".shp");
681 803 $novolayer->setmetadata("DOWNLOAD","SIM");
682 804 $novolayer->set("template","none.htm");
683   - //limpa selecao
684   - if (file_exists(($this->arquivo)."qy"))
685   - {unlink (($this->arquivo)."qy");}
686   - return("ok");
  805 + $classe = $novolayer->getclass(0);
  806 + $estilo = $classe->getstyle(0);
  807 + $estilo->set("symbolname","p4");
  808 + $estilo->set("size",5);
  809 + $cor = $estilo->color;
  810 + $cor->setrgb(255,0,0);
  811 + $coro = $estilo->outlinecolor;
  812 + $coro->setrgb(255,0,0);
  813 +
  814 + return($novolayer->name);
687 815 }
688 816 /*
689 817 function - criaCentroide
... ...
classesphp/classe_mapa.php
... ... @@ -401,8 +401,12 @@ tema
401 401 nome
402 402  
403 403 */
404   - function listaTemasTipo($tipo)
  404 + function listaTemasTipo($tipo,$selecao="nao")
405 405 {
  406 + if (($selecao=="sim") && (file_exists(($this->arquivo)."qy")))
  407 + {
  408 + $this->mapa->loadquery(($this->arquivo)."qy");
  409 + }
406 410 foreach($this->layers as $layer)
407 411 {
408 412 if (($layer->isvisible()) && ($layer->getmetadata("ESCONDIDO") == ""))
... ... @@ -420,7 +424,14 @@ nome
420 424 {
421 425 if (!(array_search(($layer->type),$tipos) === FALSE))
422 426 {
423   - $final[] = array("tema"=>$layer->name,"nome"=>(pegaNome($layer,"UTF-8")));
  427 + if($selecao == "sim")
  428 + {
  429 + $res_count = $layer->getNumresults();
  430 + if ($res_count > 0)
  431 + {$final[] = array("tema"=>$layer->name,"nome"=>(pegaNome($layer,"UTF-8")));}
  432 + }
  433 + else
  434 + {$final[] = array("tema"=>$layer->name,"nome"=>(pegaNome($layer,"UTF-8")));}
424 435 }
425 436 }
426 437 return $final;
... ...
classesphp/mapa_controle.php
... ... @@ -584,7 +584,8 @@ Include:
584 584 case "listatemasTipo":
585 585 include("classe_mapa.php");
586 586 $m = new Mapa($map_file);
587   - $resultado = $m->listaTemasTipo($tipo);
  587 + if(!isset($selecao)){$selecao = "nao";}
  588 + $resultado = $m->listaTemasTipo($tipo,$selecao);
588 589 $cp->set_data($resultado);
589 590 break;
590 591 /*
... ... @@ -1071,6 +1072,26 @@ Include:
1071 1072 $m = new Analise($map_file,$tema);
1072 1073 $cp->set_data($m->criaBuffer($distancia,$locaplic));
1073 1074 $m->salva();
  1075 + //limpa selecao
  1076 + if (file_exists($map_file."qy"))
  1077 + {unlink ($map_file."qy");}
  1078 + break;
  1079 +/*
  1080 +Property - distanciaptpt
  1081 +
  1082 +Calcula a distancia entre um ponto de origem e os pontos em um tema.
  1083 +
  1084 +São considerados apenas os pontos próximos definidos por um buffer.
  1085 +
  1086 +Include:
  1087 +<classe_analise.php>
  1088 +*/
  1089 + case "distanciaptpt":
  1090 + include("classe_analise.php");
  1091 + $m = new Analise($map_file,$temaorigem);
  1092 + $temaoverlay = $m->criaBuffer($distancia,$locaplic);
  1093 + $cp->set_data($m->distanciaptpt($temaorigem,$temadestino,$temaoverlay,$locaplic));
  1094 + $m->salva();
1074 1095 break;
1075 1096 /*
1076 1097 Property - criaCentroide
... ...
ferramentas/funcoes.js
... ... @@ -446,10 +446,15 @@ function comboTemasLocais(id,funcao,onde)
446 446 cp.call(g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listatemaslocais","listaTemasLocais",monta);
447 447 }
448 448 //lista temas do tipo ponto
449   -function comboTemasPt(id,funcao,onde)
  449 +function comboTemasPt(id,funcao,onde,selecao)
450 450 {
451 451 if (arguments.length == 3)
452   - $i(onde).innerHTML="<span style=color:red;font-size:10px; >buscando temas...</span>";
  452 + {
  453 + $i(onde).innerHTML="<span style=color:red;font-size:10px; >buscando temas...</span>";
  454 + var selecao = "nao";
  455 + }
  456 + if (arguments.length == 2)
  457 + {var selecao = "nao";}
453 458 var monta = function(retorno)
454 459 {
455 460 if (retorno.data != undefined)
... ... @@ -473,7 +478,7 @@ function comboTemasPt(id,funcao,onde)
473 478 var cp = new cpaint();
474 479 //cp.set_debug(2)
475 480 cp.set_response_type("JSON");
476   - cp.call(g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listatemasTipo&tipo=ponto","listaTemasTipo",monta);
  481 + cp.call(g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listatemasTipo&tipo=ponto&selecao="+selecao,"listaTemasTipo",monta);
477 482 }
478 483 //lista temas do tipo poligonal
479 484 function comboTemasPol(id,funcao,onde)
... ...
ferramentas/funcoes_compacto.js
... ... @@ -55,12 +55,14 @@ document.body.style.backgroundColor=&quot;#F0F0F0&quot;;function aguarde(tipo){ if(tipo==&quot;
55 55 else{var temp={dados:'<div class=alerta >Nenhum tema local dispon&iacute;vel.</div>',tipo:"mensagem"};}}
56 56 else{var temp={dados:'<div class=erro >Ocorreu um erro</erro>',tipo:"erro"};}
57 57 eval("funcao(temp)");}
58   - var cp=new cpaint(); cp.set_response_type("JSON"); cp.call(g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listatemaslocais","listaTemasLocais",monta);}function comboTemasPt(id,funcao,onde){ if(arguments.length==3) $i(onde).innerHTML="<span style=color:red;font-size:10px;>buscando temas...</span>"; var monta=function(retorno){ if(retorno.data !=undefined){ if(retorno.data.length > 0){ comboTemas="<select id="+id+" >"; comboTemas+="<option value=''>----</option>"; for(i=0;i<retorno.data.length;i++){comboTemas+="<option value="+retorno.data[i].tema+" >"+retorno.data[i].nome+"</option>";}
  58 + var cp=new cpaint(); cp.set_response_type("JSON"); cp.call(g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listatemaslocais","listaTemasLocais",monta);}function comboTemasPt(id,funcao,onde,selecao){ if(arguments.length==3){ $i(onde).innerHTML="<span style=color:red;font-size:10px;>buscando temas...</span>"; var selecao="nao";}
  59 + if(arguments.length==2){var selecao="nao";}
  60 + var monta=function(retorno){ if(retorno.data !=undefined){ if(retorno.data.length > 0){ comboTemas="<select id="+id+" >"; comboTemas+="<option value=''>----</option>"; for(i=0;i<retorno.data.length;i++){comboTemas+="<option value="+retorno.data[i].tema+" >"+retorno.data[i].nome+"</option>";}
59 61 comboTemas+="</select>"; var temp={dados:comboTemas,tipo:"dados"};}
60 62 else{var temp={dados:'<div class=alerta >Nenhum tema de pontos dispon&iacute;vel.</div>',tipo:"mensagem"};}}
61 63 else{var temp={dados:'<div class=erro >Ocorreu um erro</div>',tipo:"erro"};}
62 64 eval("funcao(temp)");}
63   - var cp=new cpaint(); cp.set_response_type("JSON"); cp.call(g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listatemasTipo&tipo=ponto","listaTemasTipo",monta);}function comboTemasPol(id,funcao,onde){ if(arguments.length==3) $i(onde).innerHTML="<span style=color:red;font-size:10px;>buscando temas...</span>"; var monta=function(retorno){ if(retorno.data !=undefined){ if(retorno.data.length > 0){ comboTemas="<select id="+id+" >"; comboTemas+="<option value=''>----</option>"; for(i=0;i<retorno.data.length;i++){comboTemas+="<option value="+retorno.data[i].tema+" >"+retorno.data[i].nome+"</option>";}
  65 + var cp=new cpaint(); cp.set_response_type("JSON"); cp.call(g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listatemasTipo&tipo=ponto&selecao="+selecao,"listaTemasTipo",monta);}function comboTemasPol(id,funcao,onde){ if(arguments.length==3) $i(onde).innerHTML="<span style=color:red;font-size:10px;>buscando temas...</span>"; var monta=function(retorno){ if(retorno.data !=undefined){ if(retorno.data.length > 0){ comboTemas="<select id="+id+" >"; comboTemas+="<option value=''>----</option>"; for(i=0;i<retorno.data.length;i++){comboTemas+="<option value="+retorno.data[i].tema+" >"+retorno.data[i].nome+"</option>";}
64 66 comboTemas+="</select>"; var temp={dados:comboTemas,tipo:"dados"};}
65 67 else{var temp={dados:'<div class=alerta >Nenhum tema de pol&iacute;gonos dispon&iacute;vel.</div>',tipo:"mensagem"};}}
66 68 else{var temp={dados:'<div class=erro >Ocorreu um erro</erro>',tipo:"erro"};}
... ...
ferramentas/i3geo_tudo_compacto.js
... ... @@ -56,12 +56,14 @@ document.body.style.backgroundColor=&quot;#F0F0F0&quot;;function aguarde(tipo){ if(tipo==&quot;
56 56 else{var temp={dados:'<div class=alerta >Nenhum tema local dispon&iacute;vel.</div>',tipo:"mensagem"};}}
57 57 else{var temp={dados:'<div class=erro >Ocorreu um erro</erro>',tipo:"erro"};}
58 58 eval("funcao(temp)");}
59   - var cp=new cpaint(); cp.set_response_type("JSON"); cp.call(g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listatemaslocais","listaTemasLocais",monta);}function comboTemasPt(id,funcao,onde){ if(arguments.length==3) $i(onde).innerHTML="<span style=color:red;font-size:10px;>buscando temas...</span>"; var monta=function(retorno){ if(retorno.data !=undefined){ if(retorno.data.length > 0){ comboTemas="<select id="+id+" >"; comboTemas+="<option value=''>----</option>"; for(i=0;i<retorno.data.length;i++){comboTemas+="<option value="+retorno.data[i].tema+" >"+retorno.data[i].nome+"</option>";}
  59 + var cp=new cpaint(); cp.set_response_type("JSON"); cp.call(g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listatemaslocais","listaTemasLocais",monta);}function comboTemasPt(id,funcao,onde,selecao){ if(arguments.length==3){ $i(onde).innerHTML="<span style=color:red;font-size:10px;>buscando temas...</span>"; var selecao="nao";}
  60 + if(arguments.length==2){var selecao="nao";}
  61 + var monta=function(retorno){ if(retorno.data !=undefined){ if(retorno.data.length > 0){ comboTemas="<select id="+id+" >"; comboTemas+="<option value=''>----</option>"; for(i=0;i<retorno.data.length;i++){comboTemas+="<option value="+retorno.data[i].tema+" >"+retorno.data[i].nome+"</option>";}
60 62 comboTemas+="</select>"; var temp={dados:comboTemas,tipo:"dados"};}
61 63 else{var temp={dados:'<div class=alerta >Nenhum tema de pontos dispon&iacute;vel.</div>',tipo:"mensagem"};}}
62 64 else{var temp={dados:'<div class=erro >Ocorreu um erro</div>',tipo:"erro"};}
63 65 eval("funcao(temp)");}
64   - var cp=new cpaint(); cp.set_response_type("JSON"); cp.call(g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listatemasTipo&tipo=ponto","listaTemasTipo",monta);}function comboTemasPol(id,funcao,onde){ if(arguments.length==3) $i(onde).innerHTML="<span style=color:red;font-size:10px;>buscando temas...</span>"; var monta=function(retorno){ if(retorno.data !=undefined){ if(retorno.data.length > 0){ comboTemas="<select id="+id+" >"; comboTemas+="<option value=''>----</option>"; for(i=0;i<retorno.data.length;i++){comboTemas+="<option value="+retorno.data[i].tema+" >"+retorno.data[i].nome+"</option>";}
  66 + var cp=new cpaint(); cp.set_response_type("JSON"); cp.call(g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listatemasTipo&tipo=ponto&selecao="+selecao,"listaTemasTipo",monta);}function comboTemasPol(id,funcao,onde){ if(arguments.length==3) $i(onde).innerHTML="<span style=color:red;font-size:10px;>buscando temas...</span>"; var monta=function(retorno){ if(retorno.data !=undefined){ if(retorno.data.length > 0){ comboTemas="<select id="+id+" >"; comboTemas+="<option value=''>----</option>"; for(i=0;i<retorno.data.length;i++){comboTemas+="<option value="+retorno.data[i].tema+" >"+retorno.data[i].nome+"</option>";}
65 67 comboTemas+="</select>"; var temp={dados:comboTemas,tipo:"dados"};}
66 68 else{var temp={dados:'<div class=alerta >Nenhum tema de pol&iacute;gonos dispon&iacute;vel.</div>',tipo:"mensagem"};}}
67 69 else{var temp={dados:'<div class=erro >Ocorreu um erro</erro>',tipo:"erro"};}
... ...
ferramentas/i3geo_tudo_compacto.js.php
... ... @@ -56,12 +56,14 @@ document.body.style.backgroundColor=&quot;#F0F0F0&quot;;function aguarde(tipo){ if(tipo==&quot;
56 56 else{var temp={dados:'<div class=alerta >Nenhum tema local dispon&iacute;vel.</div>',tipo:"mensagem"};}}
57 57 else{var temp={dados:'<div class=erro >Ocorreu um erro</erro>',tipo:"erro"};}
58 58 eval("funcao(temp)");}
59   - var cp=new cpaint(); cp.set_response_type("JSON"); cp.call(g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listatemaslocais","listaTemasLocais",monta);}function comboTemasPt(id,funcao,onde){ if(arguments.length==3) $i(onde).innerHTML="<span style=color:red;font-size:10px;>buscando temas...</span>"; var monta=function(retorno){ if(retorno.data !=undefined){ if(retorno.data.length > 0){ comboTemas="<select id="+id+" >"; comboTemas+="<option value=''>----</option>"; for(i=0;i<retorno.data.length;i++){comboTemas+="<option value="+retorno.data[i].tema+" >"+retorno.data[i].nome+"</option>";}
  59 + var cp=new cpaint(); cp.set_response_type("JSON"); cp.call(g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listatemaslocais","listaTemasLocais",monta);}function comboTemasPt(id,funcao,onde,selecao){ if(arguments.length==3){ $i(onde).innerHTML="<span style=color:red;font-size:10px;>buscando temas...</span>"; var selecao="nao";}
  60 + if(arguments.length==2){var selecao="nao";}
  61 + var monta=function(retorno){ if(retorno.data !=undefined){ if(retorno.data.length > 0){ comboTemas="<select id="+id+" >"; comboTemas+="<option value=''>----</option>"; for(i=0;i<retorno.data.length;i++){comboTemas+="<option value="+retorno.data[i].tema+" >"+retorno.data[i].nome+"</option>";}
60 62 comboTemas+="</select>"; var temp={dados:comboTemas,tipo:"dados"};}
61 63 else{var temp={dados:'<div class=alerta >Nenhum tema de pontos dispon&iacute;vel.</div>',tipo:"mensagem"};}}
62 64 else{var temp={dados:'<div class=erro >Ocorreu um erro</div>',tipo:"erro"};}
63 65 eval("funcao(temp)");}
64   - var cp=new cpaint(); cp.set_response_type("JSON"); cp.call(g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listatemasTipo&tipo=ponto","listaTemasTipo",monta);}function comboTemasPol(id,funcao,onde){ if(arguments.length==3) $i(onde).innerHTML="<span style=color:red;font-size:10px;>buscando temas...</span>"; var monta=function(retorno){ if(retorno.data !=undefined){ if(retorno.data.length > 0){ comboTemas="<select id="+id+" >"; comboTemas+="<option value=''>----</option>"; for(i=0;i<retorno.data.length;i++){comboTemas+="<option value="+retorno.data[i].tema+" >"+retorno.data[i].nome+"</option>";}
  66 + var cp=new cpaint(); cp.set_response_type("JSON"); cp.call(g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listatemasTipo&tipo=ponto&selecao="+selecao,"listaTemasTipo",monta);}function comboTemasPol(id,funcao,onde){ if(arguments.length==3) $i(onde).innerHTML="<span style=color:red;font-size:10px;>buscando temas...</span>"; var monta=function(retorno){ if(retorno.data !=undefined){ if(retorno.data.length > 0){ comboTemas="<select id="+id+" >"; comboTemas+="<option value=''>----</option>"; for(i=0;i<retorno.data.length;i++){comboTemas+="<option value="+retorno.data[i].tema+" >"+retorno.data[i].nome+"</option>";}
65 67 comboTemas+="</select>"; var temp={dados:comboTemas,tipo:"dados"};}
66 68 else{var temp={dados:'<div class=alerta >Nenhum tema de pol&iacute;gonos dispon&iacute;vel.</div>',tipo:"mensagem"};}}
67 69 else{var temp={dados:'<div class=erro >Ocorreu um erro</erro>',tipo:"erro"};}
... ...