Commit efcda52dfbedceecb3b7fb59efd8413bb3aa83e3
1 parent
805aa566
Exists in
master
and in
7 other branches
--no commit message
Showing
7 changed files
with
52 additions
and
41 deletions
Show diff stats
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 >Área</option>'; |
170 | 170 | ins += ' <option value=perimetro >Perí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ça</option>'; |
178 | 178 | ins += ' <option value=symdifference >Diferenç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ções de análise sã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(); | ... | ... |