Commit ac086ba85891bb7a3a0803ae17e12dee0b51dac6

Authored by Edmar Moretti
1 parent eaef26d4

Conversão da ferramenta Distância entre Pontos para Bootstrap e correção de erro…

… na função de projeção dos dados para cálculo de distâncias
Showing 59 changed files with 77 additions and 43 deletions   Show diff stats
admin/admin.db
No preview for this file type
classesphp/classe_analise.php
... ... @@ -1270,12 +1270,13 @@ class Analise {
1270 1270 *
1271 1271 */
1272 1272 function distanciaptpt($temaorigem, $temadestino, $temaoverlay, $locaplic, $itemorigem = "", $itemdestino = "") {
1273   - // //error_reporting(0);
  1273 +
1274 1274 set_time_limit ( 180 );
1275 1275 // para manipular dbf
1276 1276 if ($this->dbaseExiste == false) {
1277 1277 include_once dirname ( __FILE__ ) . "/../pacotes/phpxbase/api_conversion.php";
1278 1278 }
  1279 + //error_reporting(E_ALL);
1279 1280 // define o nome do novo shapefile que será criado
1280 1281 $nomefinal = nomeRandomico ();
1281 1282 $nomeshp = $this->diretorio . "/" . $nomefinal;
... ... @@ -1318,6 +1319,8 @@ class Analise {
1318 1319 $projInObj = $layerorigem->getProjection ();
1319 1320 if ($projInObj == "") {
1320 1321 $projInObj = ms_newprojectionobj ( "proj=longlat,ellps=WGS84,datum=WGS84,no_defs" );
  1322 + } else {
  1323 + $projInObj = ms_newprojectionobj($projInObj);
1321 1324 }
1322 1325 $projOutObj = ms_newprojectionobj ( "proj=poly,ellps=GRS67,lat_0=" . $rect->miny . ",lon_0=" . $rect->minx . ",x_0=5000000,y_0=10000000" );
1323 1326 $origemdestino = array ();
... ... @@ -1327,6 +1330,7 @@ class Analise {
1327 1330 if (count ( $shapesdestino ) == 0) {
1328 1331 return "erro";
1329 1332 }
  1333 +
1330 1334 $novoshpf = ms_newShapefileObj ( $nomeshp, MS_SHP_ARC );
1331 1335 // cria o dbf
1332 1336 $def [] = array (
... ... @@ -1358,16 +1362,19 @@ class Analise {
1358 1362 $db = xbase_open ( $dbname, 2 );
1359 1363 else
1360 1364 $db = dbase_open ( $dbname, 2 );
  1365 +
1361 1366 foreach ( $shapesorigem as $sorigem ) {
1362 1367 if ($itemorigem != "") {
1363 1368 $valororigem = $sorigem->values [$itemorigem];
1364 1369 } else {
1365 1370 $valororigem = "";
1366 1371 }
  1372 +
1367 1373 foreach ( $shapesdestino as $sdestino ) {
1368 1374 $linha = ms_newLineObj ();
1369 1375 $linha->add ( $sorigem->getCentroid () );
1370 1376 $linha->add ( $sdestino->getCentroid () );
  1377 +
1371 1378 if ($itemdestino != "") {
1372 1379 $valordestino = $sdestino->values [$itemdestino];
1373 1380 } else {
... ... @@ -1376,8 +1383,11 @@ class Analise {
1376 1383 $ShapeObj = ms_newShapeObj ( MS_SHAPE_LINE );
1377 1384 $ShapeObj->add ( $linha );
1378 1385 $novoshpf->addShape ( $ShapeObj );
  1386 +
1379 1387 $ShapeObj->project ( $projInObj, $projOutObj );
  1388 +
1380 1389 $distancia = $ShapeObj->getLength ();
  1390 +
1381 1391 $registro = array (
1382 1392 $distancia,
1383 1393 $valororigem,
... ... @@ -1389,11 +1399,14 @@ class Analise {
1389 1399 dbase_add_record ( $db, $registro );
1390 1400 }
1391 1401 }
  1402 +
1392 1403 if ($this->dbaseExiste == false)
1393 1404 xbase_close ( $db );
1394 1405 else
1395 1406 dbase_close ( $db );
1396   - // adiciona no mapa atual o novo tema
  1407 +
  1408 +
  1409 + // adiciona no mapa atual o novo tema
1397 1410 $novolayer = criaLayer ( $this->mapa, MS_LAYER_LINE, MS_DEFAULT, ("Distancias (" . $nomefinal . ")"), $metaClasse = "SIM" );
1398 1411 $novolayer->set ( "data", $nomeshp . ".shp" );
1399 1412 $novolayer->setmetadata ( "DOWNLOAD", "SIM" );
... ...
css/i3geo7.css.php 100644 → 100755
ferramentas/distanciaptpt/index.js
... ... @@ -111,7 +111,7 @@ i3GEOF.distanciaptpt = {
111 111 };
112 112 janela = i3GEO.janela.cria(
113 113 "410px",
114   - "180px",
  114 + "240px",
115 115 "",
116 116 "",
117 117 "",
... ... @@ -171,7 +171,6 @@ i3GEOF.distanciaptpt = {
171 171 <DISTANCIAPTPT>
172 172 */
173 173 calcula: function(){
174   - try{
175 174 if(i3GEOF.distanciaptpt.aguarde.visibility === "visible")
176 175 {return;}
177 176 var distancia = $i("i3GEOFdistanciaptptdistancia").value,
... ... @@ -181,12 +180,13 @@ i3GEOF.distanciaptpt = {
181 180 p,
182 181 cp;
183 182 if ((distancia*1 > 0) && (temaOrigem != "") && (temaDestino != "")){
184   - i3GEOF.distanciaptpt.aguarde.visibility = "visible";
  183 + //i3GEOF.distanciaptpt.aguarde.visibility = "visible";
185 184 fim = function(retorno){
186 185 if (retorno.data==undefined )
187 186 {$i("i3GEOdistanciaptptfim").innerHTML = "<p class='paragrafo' >"+$trad('erroTempo',i3GEOF.distanciaptpt.dicionario);}
188   - else
189   - {i3GEO.atualiza();}
  187 + else{
  188 + i3GEO.atualiza();
  189 + }
190 190 i3GEOF.distanciaptpt.aguarde.visibility = "hidden";
191 191 };
192 192 p = i3GEO.configura.locaplic+"/ferramentas/distanciaptpt/exec.php?g_sid="+i3GEO.configura.sid+"&funcao=distanciaptpt&temaorigem="+temaOrigem+"&temadestino="+temaDestino+"&distancia="+distancia+"&itemorigem="+$i("i3GEOFdistanciaptptItemOrigem").value+"&itemdestino="+$i("i3GEOFdistanciaptptItemDestino").value+"&ext="+i3GEO.parametros.mapexten;
... ... @@ -194,10 +194,9 @@ i3GEOF.distanciaptpt = {
194 194 cp.set_response_type("JSON");
195 195 cp.call(p,"distanciaptpt",fim);
196 196 }
197   - else
198   - {$i("i3GEOdistanciaptptfim").innerHTML = $trad('erroParametro',i3GEOF.distanciaptpt.dicionario);}
199   - }
200   - catch(e){$i("i3GEOdistanciaptptfim").innerHTML = "<p class='paragrafo' >Erro. "+e;i3GEO.janela.fechaAguarde();i3GEOF.distanciaptpt.aguarde.visibility = "hidden";}
  197 + else{
  198 + $i("i3GEOdistanciaptptfim").innerHTML = $trad('erroParametro',i3GEOF.distanciaptpt.dicionario);
  199 + }
201 200 },
202 201 /*
203 202 Function: comboTemasOrigem
... ... @@ -214,7 +213,6 @@ i3GEOF.distanciaptpt = {
214 213 "i3GEOdistanciaptpttemasComSel",
215 214 function(retorno){
216 215 $i("i3GEOdistanciaptptSelTemasOrigem").innerHTML = retorno.dados;
217   - $i("i3GEOdistanciaptptSelTemasOrigem").style.display = "block";
218 216 if ($i("i3GEOdistanciaptpttemasComSel")){
219 217 $i("i3GEOdistanciaptpttemasComSel").onchange = function(){
220 218 i3GEO.mapa.ativaTema($i("i3GEOdistanciaptpttemasComSel").value);
... ... @@ -228,7 +226,10 @@ i3GEOF.distanciaptpt = {
228 226 "",
229 227 false,
230 228 "pontosSelecionados",
231   - " "
  229 + "",
  230 + false,
  231 + true,
  232 + "form-control comboTema"
232 233 );
233 234 },
234 235 /*
... ... @@ -246,7 +247,6 @@ i3GEOF.distanciaptpt = {
246 247 "i3GEOdistanciaptpttemas",
247 248 function(retorno){
248 249 $i("i3GEOdistanciaptptSelTemasDestino").innerHTML = retorno.dados;
249   - $i("i3GEOdistanciaptptSelTemasDestino").style.display = "block";
250 250 if ($i("i3GEOdistanciaptpttemas")){
251 251 $i("i3GEOdistanciaptpttemas").onchange = function(){
252 252 i3GEO.mapa.ativaTema($i("i3GEOdistanciaptpttemas").value);
... ... @@ -260,7 +260,10 @@ i3GEOF.distanciaptpt = {
260 260 "",
261 261 false,
262 262 "pontos",
263   - " "
  263 + "",
  264 + false,
  265 + true,
  266 + "form-control comboTema"
264 267 );
265 268 },
266 269 /*
... ... @@ -281,7 +284,11 @@ i3GEOF.distanciaptpt = {
281 284 $i("i3GEOondeItensTemaOrigem").innerHTML = retorno.dados;
282 285 $i("i3GEOondeItensTemaOrigem").style.display = "block";
283 286 },
284   - "i3GEOondeItensTemaOrigem"
  287 + "i3GEOondeItensTemaOrigem",
  288 + "",
  289 + "",
  290 + "",
  291 + "form-control comboTema"
285 292 );
286 293 },
287 294 /*
... ... @@ -302,7 +309,11 @@ i3GEOF.distanciaptpt = {
302 309 $i("i3GEOondeItensTemaDestino").innerHTML = retorno.dados;
303 310 $i("i3GEOondeItensTemaDestino").style.display = "block";
304 311 },
305   - "i3GEOondeItensTemaDestino"
  312 + "i3GEOondeItensTemaDestino",
  313 + "",
  314 + "",
  315 + "",
  316 + "form-control comboTema"
306 317 );
307 318 }
308 319 };
... ...
ferramentas/distanciaptpt/template_mst.html
1   -<div style='padding: 5px; background-color: #F2F2F2; top: 0px; left: 0px; display: block; width: 90%;' id='i3GEOdistanciaptptresultado'>
  1 +<div class='container-fluid' id='i3GEOdistanciaptptresultado'>
2 2 <div id='i3GEOFgradeDePontost0'>
3   - <img class='i3GeoExemploImg' src='{{{locaplic}}}/ferramentas/distanciaptpt/exemplo.png' />
4   - <p class='paragrafo'>{{{ajuda}}}
5   - <p class='paragrafo'>{{{ajuda2}}}
6   - <p class='paragrafo'>{{{ajuda3}}}
  3 + <img class="img-rounded pull-left" style="margin: 5px; width: 40px;" src='{{{locaplic}}}/ferramentas/distanciaptpt/exemplo.png' />
  4 + <h5>{{{ajuda}}}</h5>
  5 + <h5>{{{ajuda2}}}</h5>
  6 + <h5>{{{ajuda3}}}</h5>
7 7 </div>
8 8 <div id='i3GEOF.distanciaptpt.t1'>
9   - <p class='paragrafo'>
10   - {{{temaOrigem}}}</p>
11   - <div class='styled-select' id='i3GEOdistanciaptptSelTemasOrigem'></div>
12   - <br>
13   - <p class='paragrafo'>
14   - {{{temaDestino}}}</p>
15   - <div class='styled-select' id='i3GEOdistanciaptptSelTemasDestino'></div>
16   - <br>
17   - <p class='paragrafo'>
18   - {{{distMax}}}</p>
19   - <div class='i3geoForm i3geoFormIconeEdita'>
20   - <input type='text' value='100000' id='i3GEOFdistanciaptptdistancia'>
  9 + <div style="width: 100%;" class='form-group label-fixed condensed'>
  10 + <label class="control-label" for="">{{{temaOrigem}}}</label>
  11 + <div style="width: 100%;" class="input-group">
  12 + <div id='i3GEOdistanciaptptSelTemasOrigem'></div>
  13 + </div>
  14 + </div>
  15 + <div style="width: 100%;" class='form-group label-fixed condensed'>
  16 + <label class="control-label" for="">{{{temaDestino}}}</label>
  17 + <div style="width: 100%;" class="input-group">
  18 + <div id='i3GEOdistanciaptptSelTemasDestino'></div>
  19 + </div>
  20 + </div>
  21 + <div class='form-group label-fixed condensed' >
  22 + <label class="control-label" for="">{{{distMax}}}</label>
  23 + <input class="form-control input-lg" type='text' id='i3GEOFdistanciaptptdistancia' value='100000' />
21 24 </div>
22 25 </div>
23 26 <div id='i3GEOF.distanciaptpt.t2'>
24   - <p class='paragrafo'>{{{selecionaAtributos}}}</p>
25   - <p class='paragrafo'>{{{atributoOrigem}}}</p>
26   - <div class='styled-select' id='i3GEOondeItensTemaOrigem'>{{{aguarde}}}</div>
27   - <br>
28   - <p class='paragrafo'>{{{atributoDestino}}}</p>
29   - <div class='styled-select' id='i3GEOondeItensTemaDestino'>{{{aguarde}}}</div>
  27 + <h5>{{{selecionaAtributos}}}</h5>
  28 + <div style="width: 100%;" class='form-group label-fixed condensed'>
  29 + <label class="control-label" for="">{{{atributoOrigem}}}</label>
  30 + <div style="width: 100%;" class="input-group">
  31 + <div id='i3GEOondeItensTemaOrigem'></div>
  32 + </div>
  33 + </div>
  34 + <div style="width: 100%;" class='form-group label-fixed condensed'>
  35 + <label class="control-label" for="">{{{atributoDestino}}}</label>
  36 + <div style="width: 100%;" class="input-group">
  37 + <div id='i3GEOondeItensTemaDestino'></div>
  38 + </div>
  39 + </div>
  40 +
30 41 </div>
31 42 <div id='i3GEOF.distanciaptpt.t3'>
32   - <p class='paragrafo'>
33   - {{{msgTema}}} <br> <br> <input id='i3GEOdistanciaptptbotao1' type='button' value='{{{calcula}}}'/>
  43 + <button onclick="i3GEOF.distanciaptpt.calcula()" class='btn btn-primary btn-sm btn-raised'>{{{calcula}}}</button>
  44 + <h5 id='i3GEOdistanciaptptfim'></h5>
34 45 </div>
35 46 </div>
36   -<div style='top: 10px; left: 0px; display: block; width: 98%; color: red' id='i3GEOdistanciaptptfim'></div>
37 47 \ No newline at end of file
... ...
ferramentas/editorgm/editorgm_compacto.js 100644 → 100755
ferramentas/editorol/editorol_compacto.js 100644 → 100755
js/compactados/ajuda_compacto.js 100644 → 100755
js/compactados/analise_compacto.js 100644 → 100755
js/compactados/arvoredecamadas_compacto.js 100644 → 100755
js/compactados/arvoredetemas_compacto.js 100644 → 100755
js/compactados/base64_compacto.js 100644 → 100755
js/compactados/busca_compacto.js 100644 → 100755
js/compactados/caixaDeFerramentas_compacto.js 100644 → 100755
js/compactados/calculo_compacto.js 100644 → 100755
js/compactados/catalogoDir_compacto.js 100644 → 100755
js/compactados/catalogoEstrelas_compacto.js 100644 → 100755
js/compactados/catalogoInde_compacto.js 100644 → 100755
js/compactados/catalogoMapas_compacto.js 100644 → 100755
js/compactados/catalogoMenus_compacto.js 100644 → 100755
js/compactados/catalogoMetaestat_compacto.js 100644 → 100755
js/compactados/catalogoOgc_compacto.js 100644 → 100755
js/compactados/catalogoRegioes_compacto.js 100644 → 100755
js/compactados/catalogoSistemas_compacto.js 100644 → 100755
js/compactados/configura_compacto.js 100644 → 100755
js/compactados/coordenadas_compacto.js 100644 → 100755
js/compactados/desenho_compacto.js 100644 → 100755
js/compactados/dicionario_ajuda_compacto.js 100644 → 100755
js/compactados/dicionario_compacto.js 100644 → 100755
js/compactados/editor_compacto.js 100644 → 100755
js/compactados/eventos_compacto.js 100644 → 100755
js/compactados/guias_compacto.js 100644 → 100755
js/compactados/idioma_compacto.js 100644 → 100755
js/compactados/ini_i3geo_compacto.js 100644 → 100755
js/compactados/interface_compacto.js 100644 → 100755
js/compactados/janela_compacto.js 100644 → 100755
js/compactados/legenda_compacto.js 100644 → 100755
js/compactados/login_compacto.js 100644 → 100755
js/compactados/mapa_compacto.js 100644 → 100755
js/compactados/maparef_compacto.js 100644 → 100755
js/compactados/marcador_compacto.js 100644 → 100755
js/compactados/mustache.js 100644 → 100755
js/compactados/navega_compacto.js 100644 → 100755
js/compactados/php_compacto.js 100644 → 100755
js/compactados/plugini3geo_compacto.js 100644 → 100755
js/compactados/proj4js.js 100644 → 100755
js/compactados/social_compacto.js 100644 → 100755
js/compactados/tema_compacto.js 100644 → 100755
js/compactados/util_compacto.js 100644 → 100755
js/compactados/wicket.js 100644 → 100755
js/i3geo_tudo_compacto7.js.php 100644 → 100755
pacotes/cpaint/cpaint2_compacto.inc.js 100644 → 100755
pacotes/mobileesp/mdetect_compacto.js 100644 → 100755
pacotes/yui290/build/carousel/carousel_compacto.js 100644 → 100755
pacotes/yui290/build/container/container_compacto.js 100644 → 100755
pacotes/yui290/build/container/container_core_compacto.js 100644 → 100755
pacotes/yui290/build/resize/resize_compacto.js 100644 → 100755
pacotes/yui290/build/treeview/treeview_compacto.js 100644 → 100755
pacotes/yui290/build/utilities/utilities_compacto.js 100644 → 100755