Commit ac086ba85891bb7a3a0803ae17e12dee0b51dac6
1 parent
eaef26d4
Exists in
master
and in
7 other branches
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,12 +1270,13 @@ class Analise { | ||
1270 | * | 1270 | * |
1271 | */ | 1271 | */ |
1272 | function distanciaptpt($temaorigem, $temadestino, $temaoverlay, $locaplic, $itemorigem = "", $itemdestino = "") { | 1272 | function distanciaptpt($temaorigem, $temadestino, $temaoverlay, $locaplic, $itemorigem = "", $itemdestino = "") { |
1273 | - // //error_reporting(0); | 1273 | + |
1274 | set_time_limit ( 180 ); | 1274 | set_time_limit ( 180 ); |
1275 | // para manipular dbf | 1275 | // para manipular dbf |
1276 | if ($this->dbaseExiste == false) { | 1276 | if ($this->dbaseExiste == false) { |
1277 | include_once dirname ( __FILE__ ) . "/../pacotes/phpxbase/api_conversion.php"; | 1277 | include_once dirname ( __FILE__ ) . "/../pacotes/phpxbase/api_conversion.php"; |
1278 | } | 1278 | } |
1279 | + //error_reporting(E_ALL); | ||
1279 | // define o nome do novo shapefile que será criado | 1280 | // define o nome do novo shapefile que será criado |
1280 | $nomefinal = nomeRandomico (); | 1281 | $nomefinal = nomeRandomico (); |
1281 | $nomeshp = $this->diretorio . "/" . $nomefinal; | 1282 | $nomeshp = $this->diretorio . "/" . $nomefinal; |
@@ -1318,6 +1319,8 @@ class Analise { | @@ -1318,6 +1319,8 @@ class Analise { | ||
1318 | $projInObj = $layerorigem->getProjection (); | 1319 | $projInObj = $layerorigem->getProjection (); |
1319 | if ($projInObj == "") { | 1320 | if ($projInObj == "") { |
1320 | $projInObj = ms_newprojectionobj ( "proj=longlat,ellps=WGS84,datum=WGS84,no_defs" ); | 1321 | $projInObj = ms_newprojectionobj ( "proj=longlat,ellps=WGS84,datum=WGS84,no_defs" ); |
1322 | + } else { | ||
1323 | + $projInObj = ms_newprojectionobj($projInObj); | ||
1321 | } | 1324 | } |
1322 | $projOutObj = ms_newprojectionobj ( "proj=poly,ellps=GRS67,lat_0=" . $rect->miny . ",lon_0=" . $rect->minx . ",x_0=5000000,y_0=10000000" ); | 1325 | $projOutObj = ms_newprojectionobj ( "proj=poly,ellps=GRS67,lat_0=" . $rect->miny . ",lon_0=" . $rect->minx . ",x_0=5000000,y_0=10000000" ); |
1323 | $origemdestino = array (); | 1326 | $origemdestino = array (); |
@@ -1327,6 +1330,7 @@ class Analise { | @@ -1327,6 +1330,7 @@ class Analise { | ||
1327 | if (count ( $shapesdestino ) == 0) { | 1330 | if (count ( $shapesdestino ) == 0) { |
1328 | return "erro"; | 1331 | return "erro"; |
1329 | } | 1332 | } |
1333 | + | ||
1330 | $novoshpf = ms_newShapefileObj ( $nomeshp, MS_SHP_ARC ); | 1334 | $novoshpf = ms_newShapefileObj ( $nomeshp, MS_SHP_ARC ); |
1331 | // cria o dbf | 1335 | // cria o dbf |
1332 | $def [] = array ( | 1336 | $def [] = array ( |
@@ -1358,16 +1362,19 @@ class Analise { | @@ -1358,16 +1362,19 @@ class Analise { | ||
1358 | $db = xbase_open ( $dbname, 2 ); | 1362 | $db = xbase_open ( $dbname, 2 ); |
1359 | else | 1363 | else |
1360 | $db = dbase_open ( $dbname, 2 ); | 1364 | $db = dbase_open ( $dbname, 2 ); |
1365 | + | ||
1361 | foreach ( $shapesorigem as $sorigem ) { | 1366 | foreach ( $shapesorigem as $sorigem ) { |
1362 | if ($itemorigem != "") { | 1367 | if ($itemorigem != "") { |
1363 | $valororigem = $sorigem->values [$itemorigem]; | 1368 | $valororigem = $sorigem->values [$itemorigem]; |
1364 | } else { | 1369 | } else { |
1365 | $valororigem = ""; | 1370 | $valororigem = ""; |
1366 | } | 1371 | } |
1372 | + | ||
1367 | foreach ( $shapesdestino as $sdestino ) { | 1373 | foreach ( $shapesdestino as $sdestino ) { |
1368 | $linha = ms_newLineObj (); | 1374 | $linha = ms_newLineObj (); |
1369 | $linha->add ( $sorigem->getCentroid () ); | 1375 | $linha->add ( $sorigem->getCentroid () ); |
1370 | $linha->add ( $sdestino->getCentroid () ); | 1376 | $linha->add ( $sdestino->getCentroid () ); |
1377 | + | ||
1371 | if ($itemdestino != "") { | 1378 | if ($itemdestino != "") { |
1372 | $valordestino = $sdestino->values [$itemdestino]; | 1379 | $valordestino = $sdestino->values [$itemdestino]; |
1373 | } else { | 1380 | } else { |
@@ -1376,8 +1383,11 @@ class Analise { | @@ -1376,8 +1383,11 @@ class Analise { | ||
1376 | $ShapeObj = ms_newShapeObj ( MS_SHAPE_LINE ); | 1383 | $ShapeObj = ms_newShapeObj ( MS_SHAPE_LINE ); |
1377 | $ShapeObj->add ( $linha ); | 1384 | $ShapeObj->add ( $linha ); |
1378 | $novoshpf->addShape ( $ShapeObj ); | 1385 | $novoshpf->addShape ( $ShapeObj ); |
1386 | + | ||
1379 | $ShapeObj->project ( $projInObj, $projOutObj ); | 1387 | $ShapeObj->project ( $projInObj, $projOutObj ); |
1388 | + | ||
1380 | $distancia = $ShapeObj->getLength (); | 1389 | $distancia = $ShapeObj->getLength (); |
1390 | + | ||
1381 | $registro = array ( | 1391 | $registro = array ( |
1382 | $distancia, | 1392 | $distancia, |
1383 | $valororigem, | 1393 | $valororigem, |
@@ -1389,11 +1399,14 @@ class Analise { | @@ -1389,11 +1399,14 @@ class Analise { | ||
1389 | dbase_add_record ( $db, $registro ); | 1399 | dbase_add_record ( $db, $registro ); |
1390 | } | 1400 | } |
1391 | } | 1401 | } |
1402 | + | ||
1392 | if ($this->dbaseExiste == false) | 1403 | if ($this->dbaseExiste == false) |
1393 | xbase_close ( $db ); | 1404 | xbase_close ( $db ); |
1394 | else | 1405 | else |
1395 | dbase_close ( $db ); | 1406 | dbase_close ( $db ); |
1396 | - // adiciona no mapa atual o novo tema | 1407 | + |
1408 | + | ||
1409 | + // adiciona no mapa atual o novo tema | ||
1397 | $novolayer = criaLayer ( $this->mapa, MS_LAYER_LINE, MS_DEFAULT, ("Distancias (" . $nomefinal . ")"), $metaClasse = "SIM" ); | 1410 | $novolayer = criaLayer ( $this->mapa, MS_LAYER_LINE, MS_DEFAULT, ("Distancias (" . $nomefinal . ")"), $metaClasse = "SIM" ); |
1398 | $novolayer->set ( "data", $nomeshp . ".shp" ); | 1411 | $novolayer->set ( "data", $nomeshp . ".shp" ); |
1399 | $novolayer->setmetadata ( "DOWNLOAD", "SIM" ); | 1412 | $novolayer->setmetadata ( "DOWNLOAD", "SIM" ); |
ferramentas/distanciaptpt/index.js
@@ -111,7 +111,7 @@ i3GEOF.distanciaptpt = { | @@ -111,7 +111,7 @@ i3GEOF.distanciaptpt = { | ||
111 | }; | 111 | }; |
112 | janela = i3GEO.janela.cria( | 112 | janela = i3GEO.janela.cria( |
113 | "410px", | 113 | "410px", |
114 | - "180px", | 114 | + "240px", |
115 | "", | 115 | "", |
116 | "", | 116 | "", |
117 | "", | 117 | "", |
@@ -171,7 +171,6 @@ i3GEOF.distanciaptpt = { | @@ -171,7 +171,6 @@ i3GEOF.distanciaptpt = { | ||
171 | <DISTANCIAPTPT> | 171 | <DISTANCIAPTPT> |
172 | */ | 172 | */ |
173 | calcula: function(){ | 173 | calcula: function(){ |
174 | - try{ | ||
175 | if(i3GEOF.distanciaptpt.aguarde.visibility === "visible") | 174 | if(i3GEOF.distanciaptpt.aguarde.visibility === "visible") |
176 | {return;} | 175 | {return;} |
177 | var distancia = $i("i3GEOFdistanciaptptdistancia").value, | 176 | var distancia = $i("i3GEOFdistanciaptptdistancia").value, |
@@ -181,12 +180,13 @@ i3GEOF.distanciaptpt = { | @@ -181,12 +180,13 @@ i3GEOF.distanciaptpt = { | ||
181 | p, | 180 | p, |
182 | cp; | 181 | cp; |
183 | if ((distancia*1 > 0) && (temaOrigem != "") && (temaDestino != "")){ | 182 | if ((distancia*1 > 0) && (temaOrigem != "") && (temaDestino != "")){ |
184 | - i3GEOF.distanciaptpt.aguarde.visibility = "visible"; | 183 | + //i3GEOF.distanciaptpt.aguarde.visibility = "visible"; |
185 | fim = function(retorno){ | 184 | fim = function(retorno){ |
186 | if (retorno.data==undefined ) | 185 | if (retorno.data==undefined ) |
187 | {$i("i3GEOdistanciaptptfim").innerHTML = "<p class='paragrafo' >"+$trad('erroTempo',i3GEOF.distanciaptpt.dicionario);} | 186 | {$i("i3GEOdistanciaptptfim").innerHTML = "<p class='paragrafo' >"+$trad('erroTempo',i3GEOF.distanciaptpt.dicionario);} |
188 | - else | ||
189 | - {i3GEO.atualiza();} | 187 | + else{ |
188 | + i3GEO.atualiza(); | ||
189 | + } | ||
190 | i3GEOF.distanciaptpt.aguarde.visibility = "hidden"; | 190 | i3GEOF.distanciaptpt.aguarde.visibility = "hidden"; |
191 | }; | 191 | }; |
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; | 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,10 +194,9 @@ i3GEOF.distanciaptpt = { | ||
194 | cp.set_response_type("JSON"); | 194 | cp.set_response_type("JSON"); |
195 | cp.call(p,"distanciaptpt",fim); | 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 | Function: comboTemasOrigem | 202 | Function: comboTemasOrigem |
@@ -214,7 +213,6 @@ i3GEOF.distanciaptpt = { | @@ -214,7 +213,6 @@ i3GEOF.distanciaptpt = { | ||
214 | "i3GEOdistanciaptpttemasComSel", | 213 | "i3GEOdistanciaptpttemasComSel", |
215 | function(retorno){ | 214 | function(retorno){ |
216 | $i("i3GEOdistanciaptptSelTemasOrigem").innerHTML = retorno.dados; | 215 | $i("i3GEOdistanciaptptSelTemasOrigem").innerHTML = retorno.dados; |
217 | - $i("i3GEOdistanciaptptSelTemasOrigem").style.display = "block"; | ||
218 | if ($i("i3GEOdistanciaptpttemasComSel")){ | 216 | if ($i("i3GEOdistanciaptpttemasComSel")){ |
219 | $i("i3GEOdistanciaptpttemasComSel").onchange = function(){ | 217 | $i("i3GEOdistanciaptpttemasComSel").onchange = function(){ |
220 | i3GEO.mapa.ativaTema($i("i3GEOdistanciaptpttemasComSel").value); | 218 | i3GEO.mapa.ativaTema($i("i3GEOdistanciaptpttemasComSel").value); |
@@ -228,7 +226,10 @@ i3GEOF.distanciaptpt = { | @@ -228,7 +226,10 @@ i3GEOF.distanciaptpt = { | ||
228 | "", | 226 | "", |
229 | false, | 227 | false, |
230 | "pontosSelecionados", | 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,7 +247,6 @@ i3GEOF.distanciaptpt = { | ||
246 | "i3GEOdistanciaptpttemas", | 247 | "i3GEOdistanciaptpttemas", |
247 | function(retorno){ | 248 | function(retorno){ |
248 | $i("i3GEOdistanciaptptSelTemasDestino").innerHTML = retorno.dados; | 249 | $i("i3GEOdistanciaptptSelTemasDestino").innerHTML = retorno.dados; |
249 | - $i("i3GEOdistanciaptptSelTemasDestino").style.display = "block"; | ||
250 | if ($i("i3GEOdistanciaptpttemas")){ | 250 | if ($i("i3GEOdistanciaptpttemas")){ |
251 | $i("i3GEOdistanciaptpttemas").onchange = function(){ | 251 | $i("i3GEOdistanciaptpttemas").onchange = function(){ |
252 | i3GEO.mapa.ativaTema($i("i3GEOdistanciaptpttemas").value); | 252 | i3GEO.mapa.ativaTema($i("i3GEOdistanciaptpttemas").value); |
@@ -260,7 +260,10 @@ i3GEOF.distanciaptpt = { | @@ -260,7 +260,10 @@ i3GEOF.distanciaptpt = { | ||
260 | "", | 260 | "", |
261 | false, | 261 | false, |
262 | "pontos", | 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,7 +284,11 @@ i3GEOF.distanciaptpt = { | ||
281 | $i("i3GEOondeItensTemaOrigem").innerHTML = retorno.dados; | 284 | $i("i3GEOondeItensTemaOrigem").innerHTML = retorno.dados; |
282 | $i("i3GEOondeItensTemaOrigem").style.display = "block"; | 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,7 +309,11 @@ i3GEOF.distanciaptpt = { | ||
302 | $i("i3GEOondeItensTemaDestino").innerHTML = retorno.dados; | 309 | $i("i3GEOondeItensTemaDestino").innerHTML = retorno.dados; |
303 | $i("i3GEOondeItensTemaDestino").style.display = "block"; | 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 | <div id='i3GEOFgradeDePontost0'> | 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 | </div> | 7 | </div> |
8 | <div id='i3GEOF.distanciaptpt.t1'> | 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 | </div> | 24 | </div> |
22 | </div> | 25 | </div> |
23 | <div id='i3GEOF.distanciaptpt.t2'> | 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 | </div> | 41 | </div> |
31 | <div id='i3GEOF.distanciaptpt.t3'> | 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 | </div> | 45 | </div> |
35 | </div> | 46 | </div> |
36 | -<div style='top: 10px; left: 0px; display: block; width: 98%; color: red' id='i3GEOdistanciaptptfim'></div> | ||
37 | \ No newline at end of file | 47 | \ No newline at end of file |
pacotes/yui290/build/container/container_compacto.js
100644 → 100755
pacotes/yui290/build/container/container_core_compacto.js
100644 → 100755
pacotes/yui290/build/utilities/utilities_compacto.js
100644 → 100755