Commit aa736ba260c73a2300724dfbc347df9276a868c6
1 parent
946a1c7a
Exists in
master
and in
7 other branches
Adaptação da rotina de cálculo de distância para OL3
Showing
1 changed file
with
412 additions
and
228 deletions
Show diff stats
js/analise.js
| ... | ... | @@ -21,18 +21,18 @@ |
| 21 | 21 | */ |
| 22 | 22 | |
| 23 | 23 | /** |
| 24 | - * | |
| 24 | + * | |
| 25 | 25 | * Licença |
| 26 | - * | |
| 26 | + * | |
| 27 | 27 | * GPL2 |
| 28 | - * | |
| 28 | + * | |
| 29 | 29 | * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet |
| 30 | - * | |
| 30 | + * | |
| 31 | 31 | * Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com |
| 32 | - * | |
| 32 | + * | |
| 33 | 33 | * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença |
| 34 | 34 | * Pública Geral GNU conforme publicada pela Free Software Foundation; |
| 35 | - * | |
| 35 | + * | |
| 36 | 36 | * Este programa é distribuído na expectativa de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a |
| 37 | 37 | * garantia implícita de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença |
| 38 | 38 | * Pública Geral do GNU para mais detalhes. Você deve ter recebido uma cópia da Licença Pública Geral do |
| ... | ... | @@ -53,19 +53,19 @@ i3GEO.analise = |
| 53 | 53 | }, |
| 54 | 54 | /** |
| 55 | 55 | * Classe: i3GEO.analise.dialogo |
| 56 | - * | |
| 56 | + * | |
| 57 | 57 | * Abre as telas de diálogo das opções de análise |
| 58 | - * | |
| 58 | + * | |
| 59 | 59 | * Exemplo: |
| 60 | - * | |
| 60 | + * | |
| 61 | 61 | * Para abrir a mensagem de diálogo de geração de buffer, utilize |
| 62 | - * | |
| 62 | + * | |
| 63 | 63 | * i3GEO.analise.dialogo.buffer() |
| 64 | 64 | */ |
| 65 | 65 | dialogo : { |
| 66 | 66 | /** |
| 67 | 67 | * Function: markercluster |
| 68 | - * | |
| 68 | + * | |
| 69 | 69 | * Ferramenta mapa agrupamento de pontos |
| 70 | 70 | */ |
| 71 | 71 | markercluster : function() { |
| ... | ... | @@ -78,7 +78,7 @@ i3GEO.analise = |
| 78 | 78 | }, |
| 79 | 79 | /** |
| 80 | 80 | * Function: heatmap |
| 81 | - * | |
| 81 | + * | |
| 82 | 82 | * Ferramenta mapa de calor |
| 83 | 83 | */ |
| 84 | 84 | heatmap : function() { |
| ... | ... | @@ -91,11 +91,11 @@ i3GEO.analise = |
| 91 | 91 | }, |
| 92 | 92 | /** |
| 93 | 93 | * Function: saiku |
| 94 | - * | |
| 94 | + * | |
| 95 | 95 | * Ferramenta SAIKU em nova aba do navegador |
| 96 | 96 | */ |
| 97 | 97 | saiku : function() { |
| 98 | - if(i3GEO.parametros.statusFerramentas && i3GEO.parametros.statusFerramentas.saiku === false){ | |
| 98 | + if (i3GEO.parametros.statusFerramentas && i3GEO.parametros.statusFerramentas.saiku === false) { | |
| 99 | 99 | i3GEO.janela.tempoMsg($trad("naoInstalado")); |
| 100 | 100 | return; |
| 101 | 101 | } |
| ... | ... | @@ -103,11 +103,11 @@ i3GEO.analise = |
| 103 | 103 | }, |
| 104 | 104 | /** |
| 105 | 105 | * Function: saikuMapa |
| 106 | - * | |
| 106 | + * | |
| 107 | 107 | * Ferramenta SAIKU em uma janela interna |
| 108 | 108 | */ |
| 109 | 109 | saikuMapa : function() { |
| 110 | - if(i3GEO.parametros.statusFerramentas && i3GEO.parametros.statusFerramentas.saiku === false){ | |
| 110 | + if (i3GEO.parametros.statusFerramentas && i3GEO.parametros.statusFerramentas.saiku === false) { | |
| 111 | 111 | i3GEO.janela.tempoMsg($trad("naoInstalado")); |
| 112 | 112 | return; |
| 113 | 113 | } |
| ... | ... | @@ -119,7 +119,7 @@ i3GEO.analise = |
| 119 | 119 | "i3GEOF.saiku.iniciaJanelaFlutuante2()"); |
| 120 | 120 | }, |
| 121 | 121 | /** |
| 122 | - * | |
| 122 | + * | |
| 123 | 123 | * Ferramenta graficointerativo versao flash |
| 124 | 124 | */ |
| 125 | 125 | graficoInterativo : function() { |
| ... | ... | @@ -127,7 +127,7 @@ i3GEO.analise = |
| 127 | 127 | }, |
| 128 | 128 | /** |
| 129 | 129 | * Function: graficoInterativo1 |
| 130 | - * | |
| 130 | + * | |
| 131 | 131 | * Ferramenta gráfico interativo |
| 132 | 132 | */ |
| 133 | 133 | graficoInterativo1 : function() { |
| ... | ... | @@ -140,7 +140,7 @@ i3GEO.analise = |
| 140 | 140 | }, |
| 141 | 141 | /** |
| 142 | 142 | * Function: linhaDoTempo |
| 143 | - * | |
| 143 | + * | |
| 144 | 144 | * Ferramenta linha do tempo |
| 145 | 145 | */ |
| 146 | 146 | linhaDoTempo : function() { |
| ... | ... | @@ -174,9 +174,15 @@ i3GEO.analise = |
| 174 | 174 | doc = document.frames("i3GEOF.linhaDoTempoi").document; |
| 175 | 175 | } |
| 176 | 176 | } |
| 177 | - doc.getElementById("tl") ? window.parent["i3GEOF.linhaDoTempoi"].carregaDados() : i3GEO.eventos.removeEventos("NAVEGAMAPA",["i3GEO.analise.atualizaLinhaDoTempo()"]); | |
| 177 | + doc.getElementById("tl") ? window.parent["i3GEOF.linhaDoTempoi"].carregaDados() : i3GEO.eventos.removeEventos( | |
| 178 | + "NAVEGAMAPA", | |
| 179 | + [ | |
| 180 | + "i3GEO.analise.atualizaLinhaDoTempo()" | |
| 181 | + ]); | |
| 178 | 182 | } catch (e) { |
| 179 | - i3GEO.eventos.removeEventos("NAVEGAMAPA",["i3GEO.analise.atualizaLinhaDoTempo()"]); | |
| 183 | + i3GEO.eventos.removeEventos("NAVEGAMAPA", [ | |
| 184 | + "i3GEO.analise.atualizaLinhaDoTempo()" | |
| 185 | + ]); | |
| 180 | 186 | } |
| 181 | 187 | }; |
| 182 | 188 | i3GEO.eventos.adicionaEventos("NAVEGAMAPA", [ |
| ... | ... | @@ -190,7 +196,7 @@ i3GEO.analise = |
| 190 | 196 | }, |
| 191 | 197 | /** |
| 192 | 198 | * Function: perfil |
| 193 | - * | |
| 199 | + * | |
| 194 | 200 | * Ferramenta perfil |
| 195 | 201 | */ |
| 196 | 202 | perfil : function() { |
| ... | ... | @@ -198,11 +204,11 @@ i3GEO.analise = |
| 198 | 204 | }, |
| 199 | 205 | /** |
| 200 | 206 | * Function: melhorcaminho |
| 201 | - * | |
| 207 | + * | |
| 202 | 208 | * Ferramenta melhor caminho |
| 203 | 209 | */ |
| 204 | 210 | melhorcaminho : function() { |
| 205 | - if(i3GEO.parametros.statusFerramentas && i3GEO.parametros.statusFerramentas.melhorcaminho === false){ | |
| 211 | + if (i3GEO.parametros.statusFerramentas && i3GEO.parametros.statusFerramentas.melhorcaminho === false) { | |
| 206 | 212 | i3GEO.janela.tempoMsg($trad("naoInstalado")); |
| 207 | 213 | return; |
| 208 | 214 | } |
| ... | ... | @@ -210,7 +216,7 @@ i3GEO.analise = |
| 210 | 216 | }, |
| 211 | 217 | /** |
| 212 | 218 | * Function: gradePontos |
| 213 | - * | |
| 219 | + * | |
| 214 | 220 | * Ferramenta grade de pontos |
| 215 | 221 | */ |
| 216 | 222 | gradePontos : function() { |
| ... | ... | @@ -218,7 +224,7 @@ i3GEO.analise = |
| 218 | 224 | }, |
| 219 | 225 | /** |
| 220 | 226 | * Function: gradePol |
| 221 | - * | |
| 227 | + * | |
| 222 | 228 | * Ferramenta grade de polígonos |
| 223 | 229 | */ |
| 224 | 230 | gradePol : function() { |
| ... | ... | @@ -226,7 +232,7 @@ i3GEO.analise = |
| 226 | 232 | }, |
| 227 | 233 | /** |
| 228 | 234 | * Function: gradeHex |
| 229 | - * | |
| 235 | + * | |
| 230 | 236 | * Ferramenta grade de hexágonos |
| 231 | 237 | */ |
| 232 | 238 | gradeHex : function() { |
| ... | ... | @@ -234,7 +240,7 @@ i3GEO.analise = |
| 234 | 240 | }, |
| 235 | 241 | /** |
| 236 | 242 | * Function: analisaGeometrias |
| 237 | - * | |
| 243 | + * | |
| 238 | 244 | * Ferramenta de análise de geometrias |
| 239 | 245 | */ |
| 240 | 246 | analisaGeometrias : function() { |
| ... | ... | @@ -247,7 +253,7 @@ i3GEO.analise = |
| 247 | 253 | }, |
| 248 | 254 | /** |
| 249 | 255 | * Function: pontosdistri |
| 250 | - * | |
| 256 | + * | |
| 251 | 257 | * Ferramenta de cálculo de distribuição de pontos |
| 252 | 258 | */ |
| 253 | 259 | pontosdistri : function() { |
| ... | ... | @@ -260,7 +266,7 @@ i3GEO.analise = |
| 260 | 266 | }, |
| 261 | 267 | /** |
| 262 | 268 | * Function: pontoempoligono |
| 263 | - * | |
| 269 | + * | |
| 264 | 270 | * Ferramenta ponto em polígono |
| 265 | 271 | */ |
| 266 | 272 | pontoempoligono : function() { |
| ... | ... | @@ -273,7 +279,7 @@ i3GEO.analise = |
| 273 | 279 | }, |
| 274 | 280 | /** |
| 275 | 281 | * Function: centromassa |
| 276 | - * | |
| 282 | + * | |
| 277 | 283 | * Ferramenta centro médio |
| 278 | 284 | */ |
| 279 | 285 | centromassa : function() { |
| ... | ... | @@ -286,7 +292,7 @@ i3GEO.analise = |
| 286 | 292 | }, |
| 287 | 293 | /** |
| 288 | 294 | * Function: nptPol |
| 289 | - * | |
| 295 | + * | |
| 290 | 296 | * Ferramenta número de pontos em polígono |
| 291 | 297 | */ |
| 292 | 298 | nptPol : function() { |
| ... | ... | @@ -299,7 +305,7 @@ i3GEO.analise = |
| 299 | 305 | }, |
| 300 | 306 | /** |
| 301 | 307 | * Function: buffer |
| 302 | - * | |
| 308 | + * | |
| 303 | 309 | * Ferramenta buffer |
| 304 | 310 | */ |
| 305 | 311 | buffer : function() { |
| ... | ... | @@ -312,7 +318,7 @@ i3GEO.analise = |
| 312 | 318 | }, |
| 313 | 319 | /** |
| 314 | 320 | * Function: distanciaptpt |
| 315 | - * | |
| 321 | + * | |
| 316 | 322 | * Ferramenta distância entre pontos |
| 317 | 323 | */ |
| 318 | 324 | distanciaptpt : function() { |
| ... | ... | @@ -325,7 +331,7 @@ i3GEO.analise = |
| 325 | 331 | }, |
| 326 | 332 | /** |
| 327 | 333 | * Function: centroide |
| 328 | - * | |
| 334 | + * | |
| 329 | 335 | * Ferramenta centróide |
| 330 | 336 | */ |
| 331 | 337 | centroide : function() { |
| ... | ... | @@ -338,7 +344,7 @@ i3GEO.analise = |
| 338 | 344 | }, |
| 339 | 345 | /** |
| 340 | 346 | * Function: dissolve |
| 341 | - * | |
| 347 | + * | |
| 342 | 348 | * Ferramenta dissolve bordas comuns |
| 343 | 349 | */ |
| 344 | 350 | dissolve : function() { |
| ... | ... | @@ -351,7 +357,7 @@ i3GEO.analise = |
| 351 | 357 | }, |
| 352 | 358 | /** |
| 353 | 359 | * Function: agrupaElementos |
| 354 | - * | |
| 360 | + * | |
| 355 | 361 | * Ferramenta agrupa elementos |
| 356 | 362 | */ |
| 357 | 363 | agrupaElementos : function() { |
| ... | ... | @@ -365,7 +371,7 @@ i3GEO.analise = |
| 365 | 371 | }, |
| 366 | 372 | /** |
| 367 | 373 | * Section: medeDistancia |
| 368 | - * | |
| 374 | + * | |
| 369 | 375 | * Ativa e controla a opção de medição de distâncias. A medida é feita quando o |
| 370 | 376 | * usuário clica no mapa com esta opção ativa. Quando o botão e acionado, abre-se a janela que mostra o |
| 371 | 377 | * resultado da medida, o ícone que segue o mouse é alterado. Para mostrar o resultado do cálculo, é |
| ... | ... | @@ -386,7 +392,7 @@ i3GEO.analise = |
| 386 | 392 | ultimaMedida : "", |
| 387 | 393 | /** |
| 388 | 394 | * Function: inicia |
| 389 | - * | |
| 395 | + * | |
| 390 | 396 | * Inicia a operação de medição, abrindo a janela de resultados e criando os componentes |
| 391 | 397 | * necessários. São registrados os eventos de clique sobre o mapa e fechamento da janela de resultados |
| 392 | 398 | */ |
| ... | ... | @@ -408,19 +414,30 @@ i3GEO.analise = |
| 408 | 414 | novoel = document.createElement("div"); |
| 409 | 415 | novoel.id = "mostradistancia"; |
| 410 | 416 | ins = |
| 411 | - '<div class="hd" style="font-size:11px"><div class="i3GeoTituloJanela">'+$trad("distAprox")+'<a class=ajuda_usuario target=_blank href="' | |
| 412 | - + i3GEO.configura.locaplic + '/ajuda_usuario.php?idcategoria=6&idajuda=50" ><b> </b></a></div></div>' | |
| 417 | + '<div class="hd" style="font-size:11px"><div class="i3GeoTituloJanela">' + $trad("distAprox") | |
| 418 | + + '<a class=ajuda_usuario target=_blank href="' | |
| 419 | + + i3GEO.configura.locaplic | |
| 420 | + + '/ajuda_usuario.php?idcategoria=6&idajuda=50" ><b> </b></a></div></div>' | |
| 413 | 421 | + '<div class="bd" style="text-align:left;padding:3px;" >' |
| 414 | 422 | + '<div style="text-align:left;padding:3px;" id="mostradistancia_calculo" ></div>' |
| 415 | 423 | + '<div style="text-align:left;padding:3px;" id="mostradistancia_calculo_movel" ></div>' |
| 416 | 424 | + '<div style="text-align:left;font-size:10px" >' |
| 417 | - + '<span style="color:navy;cursor:pointer;text-align:left;" >' + '<table class="lista7" style="width:250px">' + '<tr>' | |
| 418 | - + '<td><input style="cursor:pointer" type="checkbox" id="pararraios" checked /></td>' + '<td>Raios</td>' | |
| 419 | - + '<td> </td>' + '<td><input style="cursor:pointer" type="checkbox" id="parartextos" checked /></td>' | |
| 420 | - + '<td>Textos<td>' + '<td> Estilo:</td>' + '<td><div class=styled-select style="width:85px;">' | |
| 421 | - + i3GEO.desenho.caixaEstilos() + '</div></td></tr>' | |
| 425 | + + '<span style="color:navy;cursor:pointer;text-align:left;" >' | |
| 426 | + + '<table class="lista7" style="width:250px">' | |
| 427 | + + '<tr>' | |
| 428 | + + '<td><input style="cursor:pointer" type="checkbox" id="pararraios" checked /></td>' | |
| 429 | + + '<td>Raios</td>' | |
| 430 | + + '<td> </td>' | |
| 431 | + + '<td><input style="cursor:pointer" type="checkbox" id="parartextos" checked /></td>' | |
| 432 | + + '<td>Textos<td>' | |
| 433 | + + '<td> Estilo:</td>' | |
| 434 | + + '<td><div class=styled-select style="width:85px;">' | |
| 435 | + + i3GEO.desenho.caixaEstilos() | |
| 436 | + + '</div></td></tr>' | |
| 422 | 437 | + '<tr><td></td><td></td>' |
| 423 | - + '<td></td><td></td><td></td><td></td><td> <input id=i3GEObotaoPerfil size="22" type="button" value="perfil"></td><td> <input id=i3GEObotaoDistWkt size="22" type="button" value="incorporar"></td></tr></table></span>' + '</div>' + '</div>'; | |
| 438 | + + '<td></td><td></td><td></td><td></td><td> <input id=i3GEObotaoPerfil size="22" type="button" value="perfil"></td><td> <input id=i3GEObotaoDistWkt size="22" type="button" value="incorporar"></td></tr></table></span>' | |
| 439 | + + '</div>' | |
| 440 | + + '</div>'; | |
| 424 | 441 | novoel.innerHTML = ins; |
| 425 | 442 | novoel.style.borderColor = "gray"; |
| 426 | 443 | document.body.appendChild(novoel); |
| ... | ... | @@ -496,146 +513,162 @@ i3GEO.analise = |
| 496 | 513 | * Funcoes especificas da interface openlayers |
| 497 | 514 | */ |
| 498 | 515 | openlayers : { |
| 516 | + draw : "", | |
| 517 | + featureListener : null, | |
| 518 | + //numero de pontos da geometria atual | |
| 519 | + //utilizado para saber se houve um clique ou nao | |
| 520 | + numpontos : 0, | |
| 521 | + removeControle : function() { | |
| 522 | + i3geoOL.removeInteraction(i3GEO.analise.medeDistancia.openlayers.draw); | |
| 523 | + i3GEO.analise.medeDistancia.openlayers.draw = ""; | |
| 524 | + }, | |
| 499 | 525 | /** |
| 500 | 526 | * Inicializa o processo Cria a variavel para guardar os pontos Executa a funcao de inicializacao do desenho, que cria o |
| 501 | 527 | * layer para receber os graficos |
| 502 | 528 | */ |
| 503 | 529 | inicia : function() { |
| 504 | - var linha, estilo = i3GEO.desenho.estilos[i3GEO.desenho.estiloPadrao], controle = | |
| 505 | - i3geoOL.getControlsBy("id", "i3GeoMedeDistancia"); | |
| 530 | + var m = i3GEO.analise.medeDistancia.openlayers; | |
| 506 | 531 | i3GEO.desenho[i3GEO.Interface["ATUAL"]].inicia(); |
| 507 | - i3GEO.analise.medeDistancia.pontos = { | |
| 508 | - xpt : [], | |
| 509 | - ypt : [], | |
| 510 | - dist : [] | |
| 511 | - }; | |
| 512 | - if (controle.length === 0) { | |
| 513 | - linha = | |
| 514 | - new OpenLayers.Control.DrawFeature(i3GEO.desenho.layergrafico, OpenLayers.Handler.Path, { | |
| 515 | - autoActivate : true, | |
| 516 | - id : "i3GeoMedeDistancia", | |
| 517 | - type : OpenLayers.Control.TYPE_TOOL, | |
| 518 | - callbacks : { | |
| 519 | - done : function(feature) { | |
| 520 | - var t, f = new OpenLayers.Feature.Vector(feature, { | |
| 521 | - origem : "medeDistancia" | |
| 522 | - }, { | |
| 523 | - graphicName : "square", | |
| 524 | - pointRadius : 10, | |
| 525 | - graphicOpacity : 1, | |
| 526 | - strokeWidth : estilo.linewidth, | |
| 527 | - strokeColor : estilo.linecolor | |
| 528 | - }); | |
| 529 | - i3GEO.desenho.layergrafico.addFeatures([ | |
| 530 | - f | |
| 531 | - ]); | |
| 532 | - if (i3GEO.Interface) { | |
| 533 | - i3GEO.Interface.openlayers.sobeLayersGraficos(); | |
| 534 | - } | |
| 535 | - i3GEO.analise.medeDistancia.openlayers.mostraParcial(0, 0, 0); | |
| 536 | - i3GEO.analise.medeDistancia.ultimoWkt = i3GEO.analise.medeDistancia.pontos2wkt(); | |
| 537 | - t = i3GEO.analise.medeDistancia.openlayers.somaDist(); | |
| 538 | - t = t.toFixed(3) + " km"; | |
| 539 | - i3GEO.analise.medeDistancia.ultimaMedida = t; | |
| 540 | - i3GEO.analise.medeDistancia.openlayers.inicia(); | |
| 541 | - }, | |
| 542 | - modify : function(point) { | |
| 543 | - var n, x1, y1, x2, y2, trecho, parcial, direcao; | |
| 544 | - n = i3GEO.analise.medeDistancia.pontos.ypt.length; | |
| 545 | - if (n > 0) { | |
| 546 | - x1 = i3GEO.analise.medeDistancia.pontos.xpt[n - 1]; | |
| 547 | - y1 = i3GEO.analise.medeDistancia.pontos.ypt[n - 1]; | |
| 548 | - x2 = point.x; | |
| 549 | - y2 = point.y; | |
| 550 | - // projeta | |
| 551 | - if (i3GEO.Interface.openlayers.googleLike) { | |
| 552 | - temp = i3GEO.util.extOSM2Geo(x1 + " " + y1 + " " + x2 + " " + y2); | |
| 553 | - temp = temp.split(" "); | |
| 554 | - x1 = temp[0]; | |
| 555 | - y1 = temp[1]; | |
| 556 | - x2 = temp[2]; | |
| 557 | - y2 = temp[3]; | |
| 558 | - } | |
| 559 | - trecho = i3GEO.calculo.distancia(x1, y1, x2, y2); | |
| 560 | - parcial = i3GEO.analise.medeDistancia.openlayers.somaDist(); | |
| 561 | - direcao = i3GEO.calculo.direcao(x1, y1, x2, y2); | |
| 562 | - direcao = i3GEO.calculo.dd2dms(direcao, direcao); | |
| 563 | - direcao = direcao[0]; | |
| 564 | - i3GEO.analise.medeDistancia.openlayers.mostraParcial(trecho, parcial, direcao); | |
| 565 | - } | |
| 566 | - }, | |
| 567 | - point : function(point) { | |
| 568 | - var n, x1, y1, x2, y2, trecho, temp, circ, label, raio, pontoRaio, | |
| 569 | - // registra os pontos e calcula a distancia | |
| 570 | - total = 0; | |
| 571 | - i3GEO.analise.medeDistancia.pontos.xpt.push(point.x); | |
| 572 | - i3GEO.analise.medeDistancia.pontos.ypt.push(point.y); | |
| 573 | - i3GEO.analise.pontos.xpt.push(point.x); | |
| 574 | - i3GEO.analise.pontos.ypt.push(point.y); | |
| 575 | - n = i3GEO.analise.medeDistancia.pontos.ypt.length; | |
| 576 | - if (n > 1) { | |
| 577 | - x1 = i3GEO.analise.medeDistancia.pontos.xpt[n - 2]; | |
| 578 | - y1 = i3GEO.analise.medeDistancia.pontos.ypt[n - 2]; | |
| 579 | - x2 = point.x; | |
| 580 | - y2 = point.y; | |
| 581 | - raio = point.distanceTo(new OpenLayers.Geometry.Point(x1, y1)); | |
| 582 | - pontoRaio = new OpenLayers.Geometry.Point(x1, y1); | |
| 583 | - // projeta | |
| 584 | - if (i3GEO.Interface.openlayers.googleLike) { | |
| 585 | - temp = i3GEO.util.extOSM2Geo(x1 + " " + y1 + " " + x2 + " " + y2); | |
| 586 | - temp = temp.split(" "); | |
| 587 | - x1 = temp[0]; | |
| 588 | - y1 = temp[1]; | |
| 589 | - x2 = temp[2]; | |
| 590 | - y2 = temp[3]; | |
| 591 | - } | |
| 592 | - trecho = i3GEO.calculo.distancia(x1, y1, x2, y2); | |
| 593 | - i3GEO.analise.medeDistancia.pontos.dist.push(trecho); | |
| 594 | - total = i3GEO.analise.medeDistancia.openlayers.somaDist(); | |
| 595 | - i3GEO.analise.medeDistancia.openlayers.mostraTotal(trecho, total); | |
| 596 | - // raio | |
| 597 | - if ($i("pararraios") && $i("pararraios").checked === true) { | |
| 598 | - circ = | |
| 599 | - new OpenLayers.Feature.Vector(OpenLayers.Geometry.Polygon.createRegularPolygon( | |
| 600 | - pontoRaio, | |
| 601 | - raio, | |
| 602 | - 30), { | |
| 603 | - origem : "medeDistanciaExcluir" | |
| 604 | - }, { | |
| 605 | - fill : false, | |
| 606 | - strokeColor : estilo.circcolor, | |
| 607 | - strokeWidth : 1 | |
| 608 | - }); | |
| 609 | - i3GEO.desenho.layergrafico.addFeatures([ | |
| 610 | - circ | |
| 611 | - ]); | |
| 612 | - } | |
| 613 | - // desenha ponto | |
| 614 | - if ($i("parartextos") && $i("parartextos").checked === true) { | |
| 615 | - label = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(point.x, point.y), { | |
| 616 | - origem : "medeDistanciaExcluir" | |
| 617 | - }, { | |
| 618 | - graphicName : "square", | |
| 619 | - pointRadius : 3, | |
| 620 | - strokeColor : "black", | |
| 621 | - graphicOpacity : 1, | |
| 622 | - strokeWidth : 1, | |
| 623 | - fillColor : "white", | |
| 624 | - label : trecho.toFixed(3), | |
| 625 | - labelAlign : "rb", | |
| 626 | - fontColor : estilo.textcolor, | |
| 627 | - fontSize : 12, | |
| 628 | - fontWeight : "bold" | |
| 629 | - }); | |
| 630 | - i3GEO.desenho.layergrafico.addFeatures([ | |
| 631 | - label | |
| 632 | - ]); | |
| 633 | - } | |
| 634 | - } | |
| 635 | - } | |
| 636 | - } | |
| 532 | + m.removeControle(); | |
| 533 | + m.draw = new ol.interaction.Draw({ | |
| 534 | + type : "LineString" | |
| 535 | + }); | |
| 536 | + i3GEO.Interface.openlayers.interacoes[0].setActive(false); | |
| 537 | + m.draw.on("drawend", function(evt) { | |
| 538 | + evt.feature.setProperties({ | |
| 539 | + origem : "medeDistancia" | |
| 540 | + }); | |
| 541 | + var m = i3GEO.analise.medeDistancia.openlayers; | |
| 542 | + i3GEO.desenho.layergrafico.getSource().addFeature(evt.feature); | |
| 543 | + m.draw.setActive(false); | |
| 544 | + m.draw.setActive(true); | |
| 545 | + }); | |
| 546 | + i3GEO.analise.medeDistancia.openlayers.draw.on('drawstart', function(evt) { | |
| 547 | + i3GEO.analise.medeDistancia.pontos = { | |
| 548 | + xpt : [], | |
| 549 | + ypt : [], | |
| 550 | + dist : [] | |
| 551 | + }; | |
| 552 | + // set sketch | |
| 553 | + var m = i3GEO.analise.medeDistancia.openlayers, | |
| 554 | + sketch = evt.feature; | |
| 555 | + | |
| 556 | + m.numpontos = 1; | |
| 557 | + | |
| 558 | + m.featureListener = sketch.getGeometry().on('change', function(evt) { | |
| 559 | + var ponto, | |
| 560 | + geom = evt.target, | |
| 561 | + coords = geom.getCoordinates(); | |
| 562 | + n = coords.length, | |
| 563 | + m = i3GEO.analise.medeDistancia.openlayers; | |
| 564 | + ponto = new ol.geom.Point(coords[n-1]); | |
| 565 | + if(m.numpontos === n-1){ | |
| 566 | + //clicou | |
| 567 | + m.numpontos = n; | |
| 568 | + m.point(ponto); | |
| 569 | + } | |
| 570 | + else{ | |
| 571 | + m.modify(ponto); | |
| 572 | + } | |
| 573 | + }); | |
| 574 | + }); | |
| 575 | + i3geoOL.addInteraction(m.draw); | |
| 576 | + }, | |
| 577 | + modify : function(point) { | |
| 578 | + var n, x1, y1, x2, y2, trecho, parcial, direcao, | |
| 579 | + coord = point.getCoordinates(); | |
| 580 | + n = i3GEO.analise.medeDistancia.pontos.ypt.length; | |
| 581 | + if (n > 0) { | |
| 582 | + x1 = i3GEO.analise.medeDistancia.pontos.xpt[n - 1]; | |
| 583 | + y1 = i3GEO.analise.medeDistancia.pontos.ypt[n - 1]; | |
| 584 | + x2 = coord[0]; | |
| 585 | + y2 = coord[1]; | |
| 586 | + // projeta | |
| 587 | + if (i3GEO.Interface.openlayers.googleLike) { | |
| 588 | + temp = i3GEO.util.extOSM2Geo(x1 + " " + y1 + " " + x2 + " " + y2); | |
| 589 | + temp = temp.split(" "); | |
| 590 | + x1 = temp[0]; | |
| 591 | + y1 = temp[1]; | |
| 592 | + x2 = temp[2]; | |
| 593 | + y2 = temp[3]; | |
| 594 | + } | |
| 595 | + trecho = i3GEO.calculo.distancia(x1, y1, x2, y2); | |
| 596 | + parcial = i3GEO.analise.medeDistancia.openlayers.somaDist(); | |
| 597 | + direcao = i3GEO.calculo.direcao(x1, y1, x2, y2); | |
| 598 | + direcao = i3GEO.calculo.dd2dms(direcao, direcao); | |
| 599 | + direcao = direcao[0]; | |
| 600 | + i3GEO.analise.medeDistancia.openlayers.mostraParcial(trecho, parcial, direcao); | |
| 601 | + } | |
| 602 | + }, | |
| 603 | + point : function(point) { | |
| 604 | + var n, x1, y1, x2, y2, trecho, temp, circ, label, raio, pontoRaio, | |
| 605 | + coord = point.getCoordinates(); | |
| 606 | + total = 0; | |
| 607 | + i3GEO.analise.medeDistancia.pontos.xpt.push(coord[0]); | |
| 608 | + i3GEO.analise.medeDistancia.pontos.ypt.push(coord[1]); | |
| 609 | + i3GEO.analise.pontos.xpt.push(coord[0]); | |
| 610 | + i3GEO.analise.pontos.ypt.push(coord[1]); | |
| 611 | + n = i3GEO.analise.medeDistancia.pontos.ypt.length; | |
| 612 | + if (n > 1) { | |
| 613 | + x1 = i3GEO.analise.medeDistancia.pontos.xpt[n - 2]; | |
| 614 | + y1 = i3GEO.analise.medeDistancia.pontos.ypt[n - 2]; | |
| 615 | + x2 = coord[0]; | |
| 616 | + y2 = coord[1]; | |
| 617 | + //raio = point.distanceTo(new OpenLayers.Geometry.Point(x1, y1)); | |
| 618 | + //pontoRaio = new OpenLayers.Geometry.Point(x1, y1); | |
| 619 | + // projeta | |
| 620 | + if (i3GEO.Interface.openlayers.googleLike) { | |
| 621 | + temp = i3GEO.util.extOSM2Geo(x1 + " " + y1 + " " + x2 + " " + y2); | |
| 622 | + temp = temp.split(" "); | |
| 623 | + x1 = temp[0]; | |
| 624 | + y1 = temp[1]; | |
| 625 | + x2 = temp[2]; | |
| 626 | + y2 = temp[3]; | |
| 627 | + } | |
| 628 | + trecho = i3GEO.calculo.distancia(x1, y1, x2, y2); | |
| 629 | + i3GEO.analise.medeDistancia.pontos.dist.push(trecho); | |
| 630 | + total = i3GEO.analise.medeDistancia.openlayers.somaDist(); | |
| 631 | + i3GEO.analise.medeDistancia.openlayers.mostraTotal(trecho, total); | |
| 632 | + /* | |
| 633 | + // raio | |
| 634 | + if ($i("pararraios") && $i("pararraios").checked === true) { | |
| 635 | + circ = | |
| 636 | + new OpenLayers.Feature.Vector(OpenLayers.Geometry.Polygon.createRegularPolygon( | |
| 637 | + pontoRaio, | |
| 638 | + raio, | |
| 639 | + 30), { | |
| 640 | + origem : "medeDistanciaExcluir" | |
| 641 | + }, { | |
| 642 | + fill : false, | |
| 643 | + strokeColor : estilo.circcolor, | |
| 644 | + strokeWidth : 1 | |
| 645 | + }); | |
| 646 | + i3GEO.desenho.layergrafico.addFeatures([ | |
| 647 | + circ | |
| 648 | + ]); | |
| 649 | + } | |
| 650 | + // desenha ponto | |
| 651 | + if ($i("parartextos") && $i("parartextos").checked === true) { | |
| 652 | + label = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(point.x, point.y), { | |
| 653 | + origem : "medeDistanciaExcluir" | |
| 654 | + }, { | |
| 655 | + graphicName : "square", | |
| 656 | + pointRadius : 3, | |
| 657 | + strokeColor : "black", | |
| 658 | + graphicOpacity : 1, | |
| 659 | + strokeWidth : 1, | |
| 660 | + fillColor : "white", | |
| 661 | + label : trecho.toFixed(3), | |
| 662 | + labelAlign : "rb", | |
| 663 | + fontColor : estilo.textcolor, | |
| 664 | + fontSize : 12, | |
| 665 | + fontWeight : "bold" | |
| 637 | 666 | }); |
| 638 | - i3geoOL.addControl(linha); | |
| 667 | + i3GEO.desenho.layergrafico.addFeatures([ | |
| 668 | + label | |
| 669 | + ]); | |
| 670 | + } | |
| 671 | + */ | |
| 639 | 672 | } |
| 640 | 673 | }, |
| 641 | 674 | /** |
| ... | ... | @@ -654,22 +687,30 @@ i3GEO.analise = |
| 654 | 687 | * atributo "origem" Os raios e pontos sao sempre removidos |
| 655 | 688 | */ |
| 656 | 689 | fechaJanela : function() { |
| 657 | - var temp, controle = i3geoOL.getControlsBy("id", "i3GeoMedeDistancia"), f = | |
| 658 | - i3GEO.desenho.layergrafico.getFeaturesByAttribute("origem", "medeDistancia"); | |
| 659 | - if (controle.length > 0) { | |
| 660 | - controle[0].deactivate(); | |
| 661 | - i3geoOL.removeControl(controle[0]); | |
| 690 | + var m = i3GEO.analise.medeDistancia.openlayers; | |
| 691 | + ol.Observable.unByKey(m.featureListener); | |
| 692 | + m.featureListener = null; | |
| 693 | + m.removeControle(); | |
| 694 | + m.numpontos = 0; | |
| 695 | + i3GEO.eventos.cliquePerm.ativa(); | |
| 696 | + | |
| 697 | + var features, n, f, i, remover = [], temp; | |
| 698 | + features = i3GEO.desenho.layergrafico.getSource().getFeatures(); | |
| 699 | + n = features.length; | |
| 700 | + for (i = 0; i < n; i++) { | |
| 701 | + f = features[i]; | |
| 702 | + if (f.getProperties().origem === "medeDistancia" || f.getProperties().origem === "medeDistanciaExcluir") { | |
| 703 | + remover.push(f); | |
| 704 | + } | |
| 662 | 705 | } |
| 663 | - if (f && f.length > 0) { | |
| 706 | + if (remover.length > 0) { | |
| 664 | 707 | temp = window.confirm($trad("x94")); |
| 665 | 708 | if (temp) { |
| 666 | - i3GEO.desenho.layergrafico.destroyFeatures(f); | |
| 709 | + for (r in remover) { | |
| 710 | + i3GEO.desenho.layergrafico.getSource().removeFeature(remover[r]); | |
| 711 | + } | |
| 667 | 712 | } |
| 668 | 713 | } |
| 669 | - f = i3GEO.desenho.layergrafico.getFeaturesByAttribute("origem", "medeDistanciaExcluir"); | |
| 670 | - if (f && f.length > 0) { | |
| 671 | - i3GEO.desenho.layergrafico.destroyFeatures(f); | |
| 672 | - } | |
| 673 | 714 | }, |
| 674 | 715 | /** |
| 675 | 716 | * Mostra a totalizacao das linhas ja digitalizadas |
| ... | ... | @@ -678,8 +719,19 @@ i3GEO.analise = |
| 678 | 719 | var mostra = $i("mostradistancia_calculo"), texto; |
| 679 | 720 | if (mostra) { |
| 680 | 721 | texto = |
| 681 | - "<b>" + $trad("x96") + ":</b> " + total.toFixed(3) + " km" + "<br><b>" + $trad("x96") + ":</b> " | |
| 682 | - + (total * 1000).toFixed(2) + " m" + "<br>" + $trad("x25") + ": " + i3GEO.calculo.metododistancia; | |
| 722 | + "<b>" + $trad("x96") | |
| 723 | + + ":</b> " | |
| 724 | + + total.toFixed(3) | |
| 725 | + + " km" | |
| 726 | + + "<br><b>" | |
| 727 | + + $trad("x96") | |
| 728 | + + ":</b> " | |
| 729 | + + (total * 1000).toFixed(2) | |
| 730 | + + " m" | |
| 731 | + + "<br>" | |
| 732 | + + $trad("x25") | |
| 733 | + + ": " | |
| 734 | + + i3GEO.calculo.metododistancia; | |
| 683 | 735 | mostra.innerHTML = texto; |
| 684 | 736 | } |
| 685 | 737 | }, |
| ... | ... | @@ -690,8 +742,19 @@ i3GEO.analise = |
| 690 | 742 | var mostra = $i("mostradistancia_calculo_movel"), texto; |
| 691 | 743 | if (mostra) { |
| 692 | 744 | texto = |
| 693 | - "<b>" + $trad("x95") + ":</b> " + trecho.toFixed(3) + " km" + "<br><b>" + $trad("x97") + ":</b> " | |
| 694 | - + (parcial + trecho).toFixed(3) + " km" + "<br><b>" + $trad("x23") + " (DMS):</b> " + direcao; | |
| 745 | + "<b>" + $trad("x95") | |
| 746 | + + ":</b> " | |
| 747 | + + trecho.toFixed(3) | |
| 748 | + + " km" | |
| 749 | + + "<br><b>" | |
| 750 | + + $trad("x97") | |
| 751 | + + ":</b> " | |
| 752 | + + (parcial + trecho).toFixed(3) | |
| 753 | + + " km" | |
| 754 | + + "<br><b>" | |
| 755 | + + $trad("x23") | |
| 756 | + + " (DMS):</b> " | |
| 757 | + + direcao; | |
| 695 | 758 | mostra.innerHTML = texto; |
| 696 | 759 | } |
| 697 | 760 | } |
| ... | ... | @@ -885,8 +948,19 @@ i3GEO.analise = |
| 885 | 948 | var mostra = $i("mostradistancia_calculo"), texto; |
| 886 | 949 | if (mostra) { |
| 887 | 950 | texto = |
| 888 | - "<b>" + $trad("x96") + ":</b> " + total.toFixed(3) + " km" + "<br><b>" + $trad("x96") + ":</b> " | |
| 889 | - + (total * 1000).toFixed(2) + " m" + "<br>" + $trad("x25") + ": " + i3GEO.calculo.metododistancia; | |
| 951 | + "<b>" + $trad("x96") | |
| 952 | + + ":</b> " | |
| 953 | + + total.toFixed(3) | |
| 954 | + + " km" | |
| 955 | + + "<br><b>" | |
| 956 | + + $trad("x96") | |
| 957 | + + ":</b> " | |
| 958 | + + (total * 1000).toFixed(2) | |
| 959 | + + " m" | |
| 960 | + + "<br>" | |
| 961 | + + $trad("x25") | |
| 962 | + + ": " | |
| 963 | + + i3GEO.calculo.metododistancia; | |
| 890 | 964 | mostra.innerHTML = texto; |
| 891 | 965 | } |
| 892 | 966 | }, |
| ... | ... | @@ -897,8 +971,19 @@ i3GEO.analise = |
| 897 | 971 | var mostra = $i("mostradistancia_calculo_movel"), texto; |
| 898 | 972 | if (mostra) { |
| 899 | 973 | texto = |
| 900 | - "<b>" + $trad("x95") + ":</b> " + trecho.toFixed(3) + " km" + "<br><b>" + $trad("x97") + ":</b> " | |
| 901 | - + (parcial + trecho).toFixed(3) + " km" + "<br><b>" + $trad("x23") + " (DMS):</b> " + direcao; | |
| 974 | + "<b>" + $trad("x95") | |
| 975 | + + ":</b> " | |
| 976 | + + trecho.toFixed(3) | |
| 977 | + + " km" | |
| 978 | + + "<br><b>" | |
| 979 | + + $trad("x97") | |
| 980 | + + ":</b> " | |
| 981 | + + (parcial + trecho).toFixed(3) | |
| 982 | + + " km" | |
| 983 | + + "<br><b>" | |
| 984 | + + $trad("x23") | |
| 985 | + + " (DMS):</b> " | |
| 986 | + + direcao; | |
| 902 | 987 | mostra.innerHTML = texto; |
| 903 | 988 | } |
| 904 | 989 | } |
| ... | ... | @@ -998,9 +1083,15 @@ i3GEO.analise = |
| 998 | 1083 | if (temp) { |
| 999 | 1084 | i3GEO.desenho.googleearth.removePlacemark("divGeometriasTemp"); |
| 1000 | 1085 | } |
| 1001 | - i3GEO.eventos.removeEventos("MOUSECLIQUE",["i3GEO.analise.medeDistancia.googleearth.clique()"]); | |
| 1002 | - i3GEO.eventos.removeEventos("MOUSEMOVE",["i3GEO.analise.medeDistancia.movimento.googleearth()"]); | |
| 1003 | - i3GEO.eventos.removeEventos("NAVEGAMAPA",["i3GEO.analise.medeDistancia.fechaJanela()"]); | |
| 1086 | + i3GEO.eventos.removeEventos("MOUSECLIQUE", [ | |
| 1087 | + "i3GEO.analise.medeDistancia.googleearth.clique()" | |
| 1088 | + ]); | |
| 1089 | + i3GEO.eventos.removeEventos("MOUSEMOVE", [ | |
| 1090 | + "i3GEO.analise.medeDistancia.movimento.googleearth()" | |
| 1091 | + ]); | |
| 1092 | + i3GEO.eventos.removeEventos("NAVEGAMAPA", [ | |
| 1093 | + "i3GEO.analise.medeDistancia.fechaJanela()" | |
| 1094 | + ]); | |
| 1004 | 1095 | }, |
| 1005 | 1096 | /** |
| 1006 | 1097 | * Mostra a totalizacao das linhas ja digitalizadas |
| ... | ... | @@ -1009,8 +1100,19 @@ i3GEO.analise = |
| 1009 | 1100 | var mostra = $i("mostradistancia_calculo"), texto; |
| 1010 | 1101 | if (mostra) { |
| 1011 | 1102 | texto = |
| 1012 | - "<b>" + $trad("x96") + ":</b> " + total.toFixed(3) + " km" + "<br><b>" + $trad("x96") + ":</b> " | |
| 1013 | - + (total * 1000).toFixed(2) + " m" + "<br>" + $trad("x25") + ": " + i3GEO.calculo.metododistancia; | |
| 1103 | + "<b>" + $trad("x96") | |
| 1104 | + + ":</b> " | |
| 1105 | + + total.toFixed(3) | |
| 1106 | + + " km" | |
| 1107 | + + "<br><b>" | |
| 1108 | + + $trad("x96") | |
| 1109 | + + ":</b> " | |
| 1110 | + + (total * 1000).toFixed(2) | |
| 1111 | + + " m" | |
| 1112 | + + "<br>" | |
| 1113 | + + $trad("x25") | |
| 1114 | + + ": " | |
| 1115 | + + i3GEO.calculo.metododistancia; | |
| 1014 | 1116 | mostra.innerHTML = texto; |
| 1015 | 1117 | } |
| 1016 | 1118 | }, |
| ... | ... | @@ -1021,8 +1123,19 @@ i3GEO.analise = |
| 1021 | 1123 | var mostra = $i("mostradistancia_calculo_movel"), texto; |
| 1022 | 1124 | if (mostra) { |
| 1023 | 1125 | texto = |
| 1024 | - "<b>" + $trad("x95") + ":</b> " + trecho.toFixed(3) + " km" + "<br><b>" + $trad("x97") + ":</b> " | |
| 1025 | - + (parcial + trecho).toFixed(3) + " km" + "<br><b>" + $trad("x23") + " (DMS):</b> " + direcao; | |
| 1126 | + "<b>" + $trad("x95") | |
| 1127 | + + ":</b> " | |
| 1128 | + + trecho.toFixed(3) | |
| 1129 | + + " km" | |
| 1130 | + + "<br><b>" | |
| 1131 | + + $trad("x97") | |
| 1132 | + + ":</b> " | |
| 1133 | + + (parcial + trecho).toFixed(3) | |
| 1134 | + + " km" | |
| 1135 | + + "<br><b>" | |
| 1136 | + + $trad("x23") | |
| 1137 | + + " (DMS):</b> " | |
| 1138 | + + direcao; | |
| 1026 | 1139 | mostra.innerHTML = texto; |
| 1027 | 1140 | } |
| 1028 | 1141 | } |
| ... | ... | @@ -1030,14 +1143,14 @@ i3GEO.analise = |
| 1030 | 1143 | }, |
| 1031 | 1144 | /** |
| 1032 | 1145 | * Section: medeArea |
| 1033 | - * | |
| 1146 | + * | |
| 1034 | 1147 | * Ativa e controla a opão de medição de área. |
| 1035 | - * | |
| 1148 | + * | |
| 1036 | 1149 | * A medida é feita quando o usuário clica no mapa com esta opção ativa |
| 1037 | - * | |
| 1150 | + * | |
| 1038 | 1151 | * Quando o botão é acionado, abre-se a janela que mostra o resultado da medida, o ícone que segue o mouse |
| 1039 | 1152 | * é alterado. |
| 1040 | - * | |
| 1153 | + * | |
| 1041 | 1154 | * Para mostrar o resultado do cálculo, é incluido um div específico. |
| 1042 | 1155 | */ |
| 1043 | 1156 | medeArea : { |
| ... | ... | @@ -1055,10 +1168,10 @@ i3GEO.analise = |
| 1055 | 1168 | ultimaMedida : "", |
| 1056 | 1169 | /** |
| 1057 | 1170 | * Function: inicia |
| 1058 | - * | |
| 1171 | + * | |
| 1059 | 1172 | * Inicia a operação de medição, abrindo a janela de resultados e criando os componentes |
| 1060 | 1173 | * necessários |
| 1061 | - * | |
| 1174 | + * | |
| 1062 | 1175 | * São registrados os eventos de clique sobre o mapa e fechamento da janela de resultados |
| 1063 | 1176 | */ |
| 1064 | 1177 | inicia : function() { |
| ... | ... | @@ -1075,14 +1188,17 @@ i3GEO.analise = |
| 1075 | 1188 | novoel = document.createElement("div"); |
| 1076 | 1189 | novoel.id = "mostraarea"; |
| 1077 | 1190 | ins = |
| 1078 | - '<div class="hd" ><div class="i3GeoTituloJanela">'+$trad("areaAprox")+'<a class=ajuda_usuario target=_blank href="' + i3GEO.configura.locaplic | |
| 1191 | + '<div class="hd" ><div class="i3GeoTituloJanela">' + $trad("areaAprox") | |
| 1192 | + + '<a class=ajuda_usuario target=_blank href="' | |
| 1193 | + + i3GEO.configura.locaplic | |
| 1079 | 1194 | + '"/ajuda_usuario.php?idcategoria=6&idajuda=51" ><b> </b></a></div></div>' |
| 1080 | 1195 | + '<div class="bd" style="text-align:left;padding:3px;font-size:10px" >' |
| 1081 | 1196 | // + '<label class=paragrafo style="float:left;top:5px;position:relative;">Estilo:</label>' |
| 1082 | 1197 | // + '<div class=styled-select style="width:70px;">' + i3GEO.desenho.caixaEstilos() + '</div><br>' |
| 1083 | 1198 | + '<div style="text-align:left;padding:3px;font-size:10px" id="mostraarea_calculo" ></div>' |
| 1084 | 1199 | + '<div style="text-align:left;padding:3px;font-size:10px" id="mostraarea_calculo_parcial" ></div>' |
| 1085 | - + '<br><input id=i3GEObotaoAreaWkt size="22" type="button" value="incorporar">' + '</div>'; | |
| 1200 | + + '<br><input id=i3GEObotaoAreaWkt size="22" type="button" value="incorporar">' | |
| 1201 | + + '</div>'; | |
| 1086 | 1202 | novoel.innerHTML = ins; |
| 1087 | 1203 | novoel.style.borderColor = "gray"; |
| 1088 | 1204 | document.body.appendChild(novoel); |
| ... | ... | @@ -1332,9 +1448,24 @@ i3GEO.analise = |
| 1332 | 1448 | var mostra = $i("mostraarea_calculo"), texto; |
| 1333 | 1449 | if (mostra) { |
| 1334 | 1450 | texto = |
| 1335 | - "<b>" + $trad("d21at") + ":</b> " + (area / 1000000).toFixed(3) + " km2" + "<br><b>" + $trad("d21at") | |
| 1336 | - + ":</b> " + (area / 10000).toFixed(2) + " ha" + "<br><b>" + $trad("x98") + ":</b> " + (per).toFixed(2) | |
| 1337 | - + " km" + "<br>" + $trad("x25") + ": " + i3GEO.calculo.metododistancia; | |
| 1451 | + "<b>" + $trad("d21at") | |
| 1452 | + + ":</b> " | |
| 1453 | + + (area / 1000000).toFixed(3) | |
| 1454 | + + " km2" | |
| 1455 | + + "<br><b>" | |
| 1456 | + + $trad("d21at") | |
| 1457 | + + ":</b> " | |
| 1458 | + + (area / 10000).toFixed(2) | |
| 1459 | + + " ha" | |
| 1460 | + + "<br><b>" | |
| 1461 | + + $trad("x98") | |
| 1462 | + + ":</b> " | |
| 1463 | + + (per).toFixed(2) | |
| 1464 | + + " km" | |
| 1465 | + + "<br>" | |
| 1466 | + + $trad("x25") | |
| 1467 | + + ": " | |
| 1468 | + + i3GEO.calculo.metododistancia; | |
| 1338 | 1469 | mostra.innerHTML = texto; |
| 1339 | 1470 | i3GEO.analise.medeArea.ultimaMedida = (area / 1000000).toFixed(3) + " km2"; |
| 1340 | 1471 | } |
| ... | ... | @@ -1346,10 +1477,29 @@ i3GEO.analise = |
| 1346 | 1477 | var mostra = $i("mostraarea_calculo_parcial"), texto; |
| 1347 | 1478 | if (mostra) { |
| 1348 | 1479 | texto = |
| 1349 | - "<b>" + $trad("d21at") + ":</b> " + (area / 1000000).toFixed(3) + " km2" + "<br><b>" + $trad("d21at") | |
| 1350 | - + ":</b> " + (area / 10000).toFixed(2) + " ha" + "<br><b>" + $trad("x95") + ":</b> " + trecho.toFixed(3) | |
| 1351 | - + " km" + "<br><b>" + $trad("x98") + ":</b> " + (per).toFixed(3) + " km" + "<br><b>" + $trad("x23") | |
| 1352 | - + " (DMS):</b> " + direcao; | |
| 1480 | + "<b>" + $trad("d21at") | |
| 1481 | + + ":</b> " | |
| 1482 | + + (area / 1000000).toFixed(3) | |
| 1483 | + + " km2" | |
| 1484 | + + "<br><b>" | |
| 1485 | + + $trad("d21at") | |
| 1486 | + + ":</b> " | |
| 1487 | + + (area / 10000).toFixed(2) | |
| 1488 | + + " ha" | |
| 1489 | + + "<br><b>" | |
| 1490 | + + $trad("x95") | |
| 1491 | + + ":</b> " | |
| 1492 | + + trecho.toFixed(3) | |
| 1493 | + + " km" | |
| 1494 | + + "<br><b>" | |
| 1495 | + + $trad("x98") | |
| 1496 | + + ":</b> " | |
| 1497 | + + (per).toFixed(3) | |
| 1498 | + + " km" | |
| 1499 | + + "<br><b>" | |
| 1500 | + + $trad("x23") | |
| 1501 | + + " (DMS):</b> " | |
| 1502 | + + direcao; | |
| 1353 | 1503 | mostra.innerHTML = texto; |
| 1354 | 1504 | } |
| 1355 | 1505 | } |
| ... | ... | @@ -1523,9 +1673,24 @@ i3GEO.analise = |
| 1523 | 1673 | var mostra = $i("mostraarea_calculo"), texto; |
| 1524 | 1674 | if (mostra) { |
| 1525 | 1675 | texto = |
| 1526 | - "<b>" + $trad("d21at") + ":</b> " + (area / 1000000).toFixed(3) + " km2" + "<br><b>" + $trad("d21at") | |
| 1527 | - + ":</b> " + (area / 10000).toFixed(2) + " ha" + "<br><b>" + $trad("x98") + ":</b> " + (per).toFixed(2) | |
| 1528 | - + " km" + "<br>" + $trad("x25") + ": " + i3GEO.calculo.metododistancia; | |
| 1676 | + "<b>" + $trad("d21at") | |
| 1677 | + + ":</b> " | |
| 1678 | + + (area / 1000000).toFixed(3) | |
| 1679 | + + " km2" | |
| 1680 | + + "<br><b>" | |
| 1681 | + + $trad("d21at") | |
| 1682 | + + ":</b> " | |
| 1683 | + + (area / 10000).toFixed(2) | |
| 1684 | + + " ha" | |
| 1685 | + + "<br><b>" | |
| 1686 | + + $trad("x98") | |
| 1687 | + + ":</b> " | |
| 1688 | + + (per).toFixed(2) | |
| 1689 | + + " km" | |
| 1690 | + + "<br>" | |
| 1691 | + + $trad("x25") | |
| 1692 | + + ": " | |
| 1693 | + + i3GEO.calculo.metododistancia; | |
| 1529 | 1694 | mostra.innerHTML = texto; |
| 1530 | 1695 | i3GEO.analise.medeArea.ultimaMedida = (area / 1000000).toFixed(3) + " km2"; |
| 1531 | 1696 | } |
| ... | ... | @@ -1537,10 +1702,29 @@ i3GEO.analise = |
| 1537 | 1702 | var mostra = $i("mostraarea_calculo_parcial"), texto; |
| 1538 | 1703 | if (mostra) { |
| 1539 | 1704 | texto = |
| 1540 | - "<b>" + $trad("d21at") + ":</b> " + (area / 1000000).toFixed(3) + " km2" + "<br><b>" + $trad("d21at") | |
| 1541 | - + ":</b> " + (area / 10000).toFixed(2) + " ha" + "<br><b>" + $trad("x95") + ":</b> " + trecho.toFixed(3) | |
| 1542 | - + " km" + "<br><b>" + $trad("x98") + ":</b> " + (per).toFixed(3) + " km" + "<br><b>" + $trad("x23") | |
| 1543 | - + " (DMS):</b> " + direcao; | |
| 1705 | + "<b>" + $trad("d21at") | |
| 1706 | + + ":</b> " | |
| 1707 | + + (area / 1000000).toFixed(3) | |
| 1708 | + + " km2" | |
| 1709 | + + "<br><b>" | |
| 1710 | + + $trad("d21at") | |
| 1711 | + + ":</b> " | |
| 1712 | + + (area / 10000).toFixed(2) | |
| 1713 | + + " ha" | |
| 1714 | + + "<br><b>" | |
| 1715 | + + $trad("x95") | |
| 1716 | + + ":</b> " | |
| 1717 | + + trecho.toFixed(3) | |
| 1718 | + + " km" | |
| 1719 | + + "<br><b>" | |
| 1720 | + + $trad("x98") | |
| 1721 | + + ":</b> " | |
| 1722 | + + (per).toFixed(3) | |
| 1723 | + + " km" | |
| 1724 | + + "<br><b>" | |
| 1725 | + + $trad("x23") | |
| 1726 | + + " (DMS):</b> " | |
| 1727 | + + direcao; | |
| 1544 | 1728 | mostra.innerHTML = texto; |
| 1545 | 1729 | } |
| 1546 | 1730 | } | ... | ... |