Commit efcda52dfbedceecb3b7fb59efd8413bb3aa83e3

Authored by Edmar Moretti
1 parent 805aa566

--no commit message

admin/admin.db
No preview for this file type
classesphp/classe_analise.php
... ... @@ -98,7 +98,7 @@ $ext - Extensão geográfica do mapa
98 98 $this->mapa = ms_newMapObj($map_file);
99 99 $this->arquivo = $map_file;
100 100 if($tema != "" && @$this->mapa->getlayerbyname($tema))
101   - $this->layer = $this->mapa->getlayerbyname($tema);
  101 + {$this->layer = $this->mapa->getlayerbyname($tema);}
102 102 $this->nome = $tema;
103 103 $this->diretorio = dirname($this->arquivo);
104 104 if($ext && $ext != ""){
... ... @@ -949,9 +949,9 @@ $locaplic - Localização do I3geo.
949 949 {
950 950 set_time_limit(180);
951 951 if(file_exists($this->locaplic."/pacotes/phpxbase/api_conversion.php"))
952   - include_once($this->locaplic."/pacotes/phpxbase/api_conversion.php");
  952 + {include_once($this->locaplic."/pacotes/phpxbase/api_conversion.php");}
953 953 else
954   - include_once "../pacotes/phpxbase/api_conversion.php";
  954 + {include_once "../pacotes/phpxbase/api_conversion.php";}
955 955 $layerPt = $this->mapa->getlayerbyname($temaPt);
956 956 $layerPt->set("template","none.htm");
957 957 $layerPt->set("tolerance",0);
... ... @@ -967,7 +967,6 @@ $locaplic - Localização do I3geo.
967 967 {
968 968 if($layerPt->getProjection() == "" )
969 969 {$layerPt->setProjection("init=epsg:4291");}
970   - $layerPt->setProjection("init=epsg:4291");
971 970 }
972 971 $layerPt->queryByrect($this->mapa->extent);
973 972 }
... ... @@ -976,17 +975,16 @@ $locaplic - Localização do I3geo.
976 975 //pega um shape especifico
977 976 $sopen = $layerPt->open();
978 977 if($sopen == MS_FAILURE){return "erro";}
  978 + $spts = array();
979 979 for ($i = 0; $i < $res_count; ++$i)
980 980 {
981 981 $result = $layerPt->getResult($i);
982 982 $shp_index = $result->shapeindex;
983 983 $shape = $layerPt->getfeature($shp_index,-1);
984   - $pontos[] = $shape;
  984 + $spts[] = $shape;
985 985 }
986 986 $layerPt->close();
987 987 //gera o novo arquivo shape file
988   - // cria o shapefile
989   - $novoshpf = ms_newShapefileObj($nomeshp, MS_SHP_POINT);
990 988 // cria o dbf
991 989 $def = array();
992 990 foreach ($itemspt as $ni)
... ... @@ -994,16 +992,26 @@ $locaplic - Localização do I3geo.
994 992 //pega os itens dos temas poligonais
995 993 $layersPol = array();
996 994 $temas = explode(",",$temasPo);
997   - foreach ($temas as $tema)
998   - {
999   - $l = $this->mapa->getlayerbyname($tema);
1000   - $layers[] = $l;
1001   - }
  995 + $layers = array();
1002 996 $nomesitens = array(); //guarda os nomes dos temas e seus itens
1003 997 $conta = 0;
1004   - foreach ($layers as $layer)
  998 + $listaItens = array();
  999 + foreach ($temas as $tema)
1005 1000 {
  1001 + $layer = $this->mapa->getlayerbyname($tema);
  1002 + $layer->set("template","none.htm");
  1003 + $layer->set("status",MS_DEFAULT);
  1004 + if($layer->type == MS_LAYER_RASTER)
  1005 + {
  1006 + $lineo = $spts[0]->line(0);
  1007 + $pt = $lineo->point(0);
  1008 + $layer->queryByPoint($pt, 0, 0);
  1009 + }
  1010 + $layers[] = $layer;
1006 1011 $items = pegaItens($layer);
  1012 + if(!$items)
  1013 + {return "erro ao obter a lista de itens do tema $layer->name";}
  1014 + $listaItens[$layer->name] = $items;
1007 1015 foreach ($items as $ni)
1008 1016 {
1009 1017 $def[] = array("I".$conta,"C","254");
... ... @@ -1011,22 +1019,21 @@ $locaplic - Localização do I3geo.
1011 1019 $conta = $conta + 1;
1012 1020 }
1013 1021 }
1014   - if(!function_exists(dbase_create))
  1022 + if(!function_exists("dbase_create"))
1015 1023 {$db = xbase_create($nomeshp.".dbf", $def);xbase_close($db);}
1016 1024 else
1017 1025 {$db = dbase_create($nomeshp.".dbf", $def);dbase_close($db);}
1018 1026 //acrescenta os pontos no novo shapefile
1019 1027 $dbname = $nomeshp.".dbf";
1020   - $db=xbase_open($dbname,2);
1021   - foreach($pontos as $ponto)
  1028 + $db=xbase_open($dbname,2);
  1029 + // cria o shapefile
  1030 + $novoshpf = ms_newShapefileObj($nomeshp, MS_SHP_POINT);
  1031 + foreach($spts as $spt)
1022 1032 {
1023   - $sopen = $layerPt->open();
1024   - if($sopen == MS_FAILURE){return "erro";}
1025 1033 foreach ($itemspt as $ni)
1026   - {$reg[] = $ponto->values[$ni];}
1027   - $layerPt->close();
1028   - $novoshpf->addShape($ponto);
1029   - $lineo = $ponto->line(0);
  1034 + {$reg[] = $spt->values[$ni];}
  1035 + $novoshpf->addShape($spt);
  1036 + $lineo = $spt->line(0);
1030 1037 $pt = $lineo->point(0);
1031 1038 //faz a pesquisa
1032 1039 foreach ($layers as $layer)
... ... @@ -1035,8 +1042,7 @@ $locaplic - Localização do I3geo.
1035 1042 $layer->set("toleranceunits",MS_PIXELS);
1036 1043 $layer->set("tolerance",1);
1037 1044 $ident = @$layer->queryByPoint($pt, 0, 0);
1038   - $itens = pegaItens($layer);
1039   - $res_count = $layer->getNumresults();
  1045 + $itens = $listaItens[$layer->name];
1040 1046 $sopen = $layer->open();
1041 1047 if($sopen == MS_FAILURE){return "erro";}
1042 1048 if ($res_count > 0)
... ...
classesphp/classe_atributos.php
... ... @@ -778,7 +778,7 @@ $listaDeTemas - (opcional) Lista com os códigos dos temas que serão identificado
778 778 {
779 779 $l = $this->mapa->getlayerbyname($tema);
780 780 if($l->status == MS_DEFAULT)
781   - $novalista[] = $tema;
  781 + {$novalista[] = $tema;}
782 782 $listatemas = $novalista;
783 783 }
784 784 }
... ... @@ -1036,7 +1036,7 @@ $listaDeTemas - (opcional) Lista com os códigos dos temas que serão identificado
1036 1036 else
1037 1037 {
1038 1038 $descisarray = pegaItens($layer);
1039   - $itsarray = pegaItens($layer);
  1039 + $itsarray = $descisarray;
1040 1040 $lksarray = array();
1041 1041 }
1042 1042 }
... ... @@ -1213,7 +1213,7 @@ $listaDeTemas - (opcional) Lista com os códigos dos temas que serão identificado
1213 1213 {
1214 1214 $layer->set("toleranceunits",MS_PIXELS);
1215 1215 $layer->set("tolerance",$resolucao);
1216   - $ident = @$layer->queryByPoint($pt, 0, 0); //0.01);
  1216 + $ident = @$layer->queryByPoint($pt, 0, 0); //0.01);
1217 1217 }
1218 1218 //error_reporting(E_ALL);
1219 1219 if (($layer->type == MS_LAYER_POINT) || ($layer->type == MS_LAYER_LINE) || ($layer->type == MS_LAYER_CHART))
... ... @@ -1238,6 +1238,7 @@ $listaDeTemas - (opcional) Lista com os códigos dos temas que serão identificado
1238 1238 $locimg = $layer->getmetadata("IMGLOC"); //indica o local onde estão os ícones
1239 1239 $tips = $layer->getmetadata("TIP");
1240 1240 $itensLayer = pegaItens($layer);
  1241 + //var_dump($itensLayer);exit;
1241 1242 $nitens = count($itensLayer);
1242 1243 if($itens == "")
1243 1244 {$itens = $itensLayer;}
... ...
classesphp/funcoes_gerais.php
... ... @@ -1337,9 +1337,10 @@ function pegaItens($layer)
1337 1337 {
1338 1338 $sopen = $layer->open();
1339 1339 if($sopen != MS_FAILURE)
1340   - $items = $layer->getItems();
  1340 + {$items = $layer->getItems();}
1341 1341 else
1342   - $items = array();
  1342 + {$items = array();}
  1343 + $layer->close();
1343 1344 return $items;
1344 1345 }
1345 1346 /*
... ... @@ -1359,7 +1360,8 @@ Retorno:
1359 1360 */
1360 1361 function buscaRapida($servico,$palavra)
1361 1362 {
1362   - if (function_exists('ereg'))
  1363 + //error_reporting(E_ALL);
  1364 + if(!function_exists('preg_match'))
1363 1365 {
1364 1366 include_once('../pacotes/SOAPdepreciado/nusoap.php');
1365 1367 new Xsoapclient($servico."?wsdl","wsdl");
... ... @@ -1369,7 +1371,6 @@ function buscaRapida($servico,$palavra)
1369 1371 include_once('../pacotes/SOAP/nusoap.php');
1370 1372 $soapclient = new nusoap_client($servico);
1371 1373 }
1372   -
1373 1374 $vv = "erro";
1374 1375 $vv = $soapclient->call("procurar",array("palavra"=>$palavra,"tipoBusca"=>"qualquer"));
1375 1376 if($vv == ""){$vv = "erro";}
... ...
classesphp/mapa_controle.php
... ... @@ -403,7 +403,7 @@ Salva o mapa acrescentando um novo layer com o resultado.
403 403 case "PONTOEMPOLIGONO":
404 404 include_once("classe_analise.php");
405 405 copiaSeguranca($map_file);
406   - $m = new Analise($map_file,$tema,$locaplic,$ext);
  406 + $m = new Analise($map_file,$temaPt,$locaplic,$ext);
407 407 if($interface == "googlemaps")
408 408 {
409 409 $projMapa = $m->mapa->getProjection();
... ...
ferramentas/analisageometrias/index.js.php
... ... @@ -138,7 +138,7 @@ i3GEOF.analisaGeometrias = {
138 138 ins += '<div id=i3GEOinseregraficoguiasYUI class="yui-navset" style="top:0px;cursor:pointer;left:0px;">';
139 139 ins += ' <ul class="yui-nav" style="border-width:0pt 0pt 0px;border-color:rgb(240,240,240);border-bottom-color:white;">';
140 140 ins += ' <li><a href="#ancora"><em><div id="i3GEOanalisageometrias1" style="text-align:center;left:0px;" >Capturar</div></em></a></li>';
141   - ins += ' <li><a href="#ancora"><em><div id="i3GEOanalisageometrias2" style="text-align:center;left:0px;" >Listar</div></em></a></li>';
  141 + ins += ' <li><a href="#ancora"><em><div id="i3GEOanalisageometrias2" style="text-align:center;left:0px;" >Listar e escolher</div></em></a></li>';
142 142 ins += ' <li><a href="#ancora"><em><div id="i3GEOanalisageometrias3" style="text-align:center;left:0px;" >Analisar</div></em></a></li>';
143 143 ins += ' </ul>';
144 144 ins += '</div>';
... ... @@ -168,7 +168,7 @@ i3GEOF.analisaGeometrias = {
168 168 ins += ' <option value="" selected >---</option>';
169 169 ins += ' <option value=area >&Aacute;rea</option>';
170 170 ins += ' <option value=perimetro >Per&iacute;metro</option>';
171   - ins += ' </select><input id=i3GEOanalisageometriasbotaocalculo type=button value=" "/></p>';
  171 + ins += ' </select><input id=i3GEOanalisageometriasbotaocalculo type=button value="Aplicar"/></p>';
172 172 ins += ' <p class=paragrafo >Operações que criam novas geometrias a partir de duas ou mais geometrias:';
173 173 ins += ' <p class=paragrafo ><select id=i3GEOanalisageometriasselecaofuncoes style="position:relative;top:-3px;" >';
174 174 ins += ' <option value="" selected >---</option>';
... ... @@ -177,13 +177,13 @@ i3GEOF.analisaGeometrias = {
177 177 ins += ' <option value=difference >Diferen&ccedil;a</option>';
178 178 ins += ' <option value=symdifference >Diferen&ccedil;a inversa</option>';
179 179 ins += ' <option value=convexhull >Convexo</option>';
180   - ins += ' </select><input id=i3GEOanalisageometriasbotaofuncoes type=button value=" "/></p>';
  180 + ins += ' </select><input id=i3GEOanalisageometriasbotaofuncoes type=button value="Aplicar"/></p>';
181 181 ins += ' <p class=paragrafo >Operações que atuam sobre uma única geometria:';
182 182 ins += ' <p class=paragrafo ><select id=i3GEOanalisageometriasselecaofuncoes1 style="position:relative;top:-3px;" >';
183 183 ins += ' <option value="" selected >---</option>';
184 184 ins += ' <option value=convexhull >Convexo</option>';
185 185 ins += ' <option value=boundary >Entorno</option>';
186   - ins += ' </select><input id=i3GEOanalisageometriasbotaofuncoes1 type=button value=" "/></p>';
  186 + ins += ' </select><input id=i3GEOanalisageometriasbotaofuncoes1 type=button value="Aplicar"/></p>';
187 187 ins += ' <div id=i3GEOanalisageometriasmen2 style="text-align:left;left:0px" >';
188 188 ins += ' <p class=paragrafo >As opera&ccedil;&otilde;es de an&aacute;lise s&atilde;o executadas sobre as geometrias selecionadas.';
189 189 ins += ' <p class=paragrafo >Para maiores informações, veja: <a href="http://www.opengeospatial.org/standards/sfs" target=blank >OGC</a>, <a href="http://postgis.refractions.net/docs/ch06.html" target=blank >PostGis, </a>e <a href="http://www.vividsolutions.com/jts/tests/index.html" target=blank >JTS</a>';
... ... @@ -232,6 +232,7 @@ i3GEOF.analisaGeometrias = {
232 232 };
233 233 YAHOO.util.Event.addListener(janela[0].close, "click", temp);
234 234 i3GEOF.analisaGeometrias.inicia(divid);
  235 + i3GEO.util.mudaCursor(i3GEO.configura.cursores,"pointer",i3GEO.Interface.IDMAPA,i3GEO.configura.locaplic);
235 236 },
236 237 /*
237 238 Function: ativaFoco
... ...
ferramentas/centromassa/index.js.php
... ... @@ -182,18 +182,20 @@ i3GEOF.centromassa = {
182 182 i3GEO.util.comboTemas(
183 183 "i3GEOFcentromassaPontos",
184 184 function(retorno){
185   - $i("i3GEOcentromassaDivPontos").innerHTML = retorno.dados;
  185 + $i("i3GEOcentromassaDivPontos").innerHTML = retorno.dados;
  186 + var c = $i("i3GEOFcentromassaPontos");
186 187 $i("i3GEOcentromassaDivPontos").style.display = "block";
187   - if ($i("i3GEOFcentromassaPontos")){
188   - $i("i3GEOFcentromassaPontos").onchange = function(){
  188 + if (c){
  189 + c.onchange = function(){
189 190 $i("i3GEOondeItens").style.display = "block";
190 191 $i("i3GEOondeItens").innerHTML = "Aguarde...";
191   - i3GEO.mapa.ativaTema($i("i3GEOcentromassaPontos").value);
  192 + i3GEO.mapa.ativaTema(c.value);
192 193 i3GEOF.centromassa.comboItens();
193 194 };
194 195 }
195 196 if(i3GEO.temaAtivo !== ""){
196   - $i("i3GEOFcentromassaPontos").value = i3GEO.temaAtivo;
  197 + if(c)
  198 + {c.value = i3GEO.temaAtivo;}
197 199 $i("i3GEOondeItens").style.display = "block";
198 200 $i("i3GEOondeItens").innerHTML = "Aguarde...";
199 201 i3GEOF.centromassa.comboItens();
... ...