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,18 +21,18 @@ | ||
21 | */ | 21 | */ |
22 | 22 | ||
23 | /** | 23 | /** |
24 | - * | 24 | + * |
25 | * Licença | 25 | * Licença |
26 | - * | 26 | + * |
27 | * GPL2 | 27 | * GPL2 |
28 | - * | 28 | + * |
29 | * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | 29 | * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet |
30 | - * | 30 | + * |
31 | * Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | 31 | * Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com |
32 | - * | 32 | + * |
33 | * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença | 33 | * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença |
34 | * Pública Geral GNU conforme publicada pela Free Software Foundation; | 34 | * Pública Geral GNU conforme publicada pela Free Software Foundation; |
35 | - * | 35 | + * |
36 | * Este programa é distribuído na expectativa de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a | 36 | * Este programa é distribuído na expectativa de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a |
37 | * garantia implícita de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença | 37 | * garantia implícita de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença |
38 | * Pública Geral do GNU para mais detalhes. Você deve ter recebido uma cópia da Licença Pública Geral do | 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,19 +53,19 @@ i3GEO.analise = | ||
53 | }, | 53 | }, |
54 | /** | 54 | /** |
55 | * Classe: i3GEO.analise.dialogo | 55 | * Classe: i3GEO.analise.dialogo |
56 | - * | 56 | + * |
57 | * Abre as telas de diálogo das opções de análise | 57 | * Abre as telas de diálogo das opções de análise |
58 | - * | 58 | + * |
59 | * Exemplo: | 59 | * Exemplo: |
60 | - * | 60 | + * |
61 | * Para abrir a mensagem de diálogo de geração de buffer, utilize | 61 | * Para abrir a mensagem de diálogo de geração de buffer, utilize |
62 | - * | 62 | + * |
63 | * i3GEO.analise.dialogo.buffer() | 63 | * i3GEO.analise.dialogo.buffer() |
64 | */ | 64 | */ |
65 | dialogo : { | 65 | dialogo : { |
66 | /** | 66 | /** |
67 | * Function: markercluster | 67 | * Function: markercluster |
68 | - * | 68 | + * |
69 | * Ferramenta mapa agrupamento de pontos | 69 | * Ferramenta mapa agrupamento de pontos |
70 | */ | 70 | */ |
71 | markercluster : function() { | 71 | markercluster : function() { |
@@ -78,7 +78,7 @@ i3GEO.analise = | @@ -78,7 +78,7 @@ i3GEO.analise = | ||
78 | }, | 78 | }, |
79 | /** | 79 | /** |
80 | * Function: heatmap | 80 | * Function: heatmap |
81 | - * | 81 | + * |
82 | * Ferramenta mapa de calor | 82 | * Ferramenta mapa de calor |
83 | */ | 83 | */ |
84 | heatmap : function() { | 84 | heatmap : function() { |
@@ -91,11 +91,11 @@ i3GEO.analise = | @@ -91,11 +91,11 @@ i3GEO.analise = | ||
91 | }, | 91 | }, |
92 | /** | 92 | /** |
93 | * Function: saiku | 93 | * Function: saiku |
94 | - * | 94 | + * |
95 | * Ferramenta SAIKU em nova aba do navegador | 95 | * Ferramenta SAIKU em nova aba do navegador |
96 | */ | 96 | */ |
97 | saiku : function() { | 97 | saiku : function() { |
98 | - if(i3GEO.parametros.statusFerramentas && i3GEO.parametros.statusFerramentas.saiku === false){ | 98 | + if (i3GEO.parametros.statusFerramentas && i3GEO.parametros.statusFerramentas.saiku === false) { |
99 | i3GEO.janela.tempoMsg($trad("naoInstalado")); | 99 | i3GEO.janela.tempoMsg($trad("naoInstalado")); |
100 | return; | 100 | return; |
101 | } | 101 | } |
@@ -103,11 +103,11 @@ i3GEO.analise = | @@ -103,11 +103,11 @@ i3GEO.analise = | ||
103 | }, | 103 | }, |
104 | /** | 104 | /** |
105 | * Function: saikuMapa | 105 | * Function: saikuMapa |
106 | - * | 106 | + * |
107 | * Ferramenta SAIKU em uma janela interna | 107 | * Ferramenta SAIKU em uma janela interna |
108 | */ | 108 | */ |
109 | saikuMapa : function() { | 109 | saikuMapa : function() { |
110 | - if(i3GEO.parametros.statusFerramentas && i3GEO.parametros.statusFerramentas.saiku === false){ | 110 | + if (i3GEO.parametros.statusFerramentas && i3GEO.parametros.statusFerramentas.saiku === false) { |
111 | i3GEO.janela.tempoMsg($trad("naoInstalado")); | 111 | i3GEO.janela.tempoMsg($trad("naoInstalado")); |
112 | return; | 112 | return; |
113 | } | 113 | } |
@@ -119,7 +119,7 @@ i3GEO.analise = | @@ -119,7 +119,7 @@ i3GEO.analise = | ||
119 | "i3GEOF.saiku.iniciaJanelaFlutuante2()"); | 119 | "i3GEOF.saiku.iniciaJanelaFlutuante2()"); |
120 | }, | 120 | }, |
121 | /** | 121 | /** |
122 | - * | 122 | + * |
123 | * Ferramenta graficointerativo versao flash | 123 | * Ferramenta graficointerativo versao flash |
124 | */ | 124 | */ |
125 | graficoInterativo : function() { | 125 | graficoInterativo : function() { |
@@ -127,7 +127,7 @@ i3GEO.analise = | @@ -127,7 +127,7 @@ i3GEO.analise = | ||
127 | }, | 127 | }, |
128 | /** | 128 | /** |
129 | * Function: graficoInterativo1 | 129 | * Function: graficoInterativo1 |
130 | - * | 130 | + * |
131 | * Ferramenta gráfico interativo | 131 | * Ferramenta gráfico interativo |
132 | */ | 132 | */ |
133 | graficoInterativo1 : function() { | 133 | graficoInterativo1 : function() { |
@@ -140,7 +140,7 @@ i3GEO.analise = | @@ -140,7 +140,7 @@ i3GEO.analise = | ||
140 | }, | 140 | }, |
141 | /** | 141 | /** |
142 | * Function: linhaDoTempo | 142 | * Function: linhaDoTempo |
143 | - * | 143 | + * |
144 | * Ferramenta linha do tempo | 144 | * Ferramenta linha do tempo |
145 | */ | 145 | */ |
146 | linhaDoTempo : function() { | 146 | linhaDoTempo : function() { |
@@ -174,9 +174,15 @@ i3GEO.analise = | @@ -174,9 +174,15 @@ i3GEO.analise = | ||
174 | doc = document.frames("i3GEOF.linhaDoTempoi").document; | 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 | } catch (e) { | 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 | i3GEO.eventos.adicionaEventos("NAVEGAMAPA", [ | 188 | i3GEO.eventos.adicionaEventos("NAVEGAMAPA", [ |
@@ -190,7 +196,7 @@ i3GEO.analise = | @@ -190,7 +196,7 @@ i3GEO.analise = | ||
190 | }, | 196 | }, |
191 | /** | 197 | /** |
192 | * Function: perfil | 198 | * Function: perfil |
193 | - * | 199 | + * |
194 | * Ferramenta perfil | 200 | * Ferramenta perfil |
195 | */ | 201 | */ |
196 | perfil : function() { | 202 | perfil : function() { |
@@ -198,11 +204,11 @@ i3GEO.analise = | @@ -198,11 +204,11 @@ i3GEO.analise = | ||
198 | }, | 204 | }, |
199 | /** | 205 | /** |
200 | * Function: melhorcaminho | 206 | * Function: melhorcaminho |
201 | - * | 207 | + * |
202 | * Ferramenta melhor caminho | 208 | * Ferramenta melhor caminho |
203 | */ | 209 | */ |
204 | melhorcaminho : function() { | 210 | melhorcaminho : function() { |
205 | - if(i3GEO.parametros.statusFerramentas && i3GEO.parametros.statusFerramentas.melhorcaminho === false){ | 211 | + if (i3GEO.parametros.statusFerramentas && i3GEO.parametros.statusFerramentas.melhorcaminho === false) { |
206 | i3GEO.janela.tempoMsg($trad("naoInstalado")); | 212 | i3GEO.janela.tempoMsg($trad("naoInstalado")); |
207 | return; | 213 | return; |
208 | } | 214 | } |
@@ -210,7 +216,7 @@ i3GEO.analise = | @@ -210,7 +216,7 @@ i3GEO.analise = | ||
210 | }, | 216 | }, |
211 | /** | 217 | /** |
212 | * Function: gradePontos | 218 | * Function: gradePontos |
213 | - * | 219 | + * |
214 | * Ferramenta grade de pontos | 220 | * Ferramenta grade de pontos |
215 | */ | 221 | */ |
216 | gradePontos : function() { | 222 | gradePontos : function() { |
@@ -218,7 +224,7 @@ i3GEO.analise = | @@ -218,7 +224,7 @@ i3GEO.analise = | ||
218 | }, | 224 | }, |
219 | /** | 225 | /** |
220 | * Function: gradePol | 226 | * Function: gradePol |
221 | - * | 227 | + * |
222 | * Ferramenta grade de polígonos | 228 | * Ferramenta grade de polígonos |
223 | */ | 229 | */ |
224 | gradePol : function() { | 230 | gradePol : function() { |
@@ -226,7 +232,7 @@ i3GEO.analise = | @@ -226,7 +232,7 @@ i3GEO.analise = | ||
226 | }, | 232 | }, |
227 | /** | 233 | /** |
228 | * Function: gradeHex | 234 | * Function: gradeHex |
229 | - * | 235 | + * |
230 | * Ferramenta grade de hexágonos | 236 | * Ferramenta grade de hexágonos |
231 | */ | 237 | */ |
232 | gradeHex : function() { | 238 | gradeHex : function() { |
@@ -234,7 +240,7 @@ i3GEO.analise = | @@ -234,7 +240,7 @@ i3GEO.analise = | ||
234 | }, | 240 | }, |
235 | /** | 241 | /** |
236 | * Function: analisaGeometrias | 242 | * Function: analisaGeometrias |
237 | - * | 243 | + * |
238 | * Ferramenta de análise de geometrias | 244 | * Ferramenta de análise de geometrias |
239 | */ | 245 | */ |
240 | analisaGeometrias : function() { | 246 | analisaGeometrias : function() { |
@@ -247,7 +253,7 @@ i3GEO.analise = | @@ -247,7 +253,7 @@ i3GEO.analise = | ||
247 | }, | 253 | }, |
248 | /** | 254 | /** |
249 | * Function: pontosdistri | 255 | * Function: pontosdistri |
250 | - * | 256 | + * |
251 | * Ferramenta de cálculo de distribuição de pontos | 257 | * Ferramenta de cálculo de distribuição de pontos |
252 | */ | 258 | */ |
253 | pontosdistri : function() { | 259 | pontosdistri : function() { |
@@ -260,7 +266,7 @@ i3GEO.analise = | @@ -260,7 +266,7 @@ i3GEO.analise = | ||
260 | }, | 266 | }, |
261 | /** | 267 | /** |
262 | * Function: pontoempoligono | 268 | * Function: pontoempoligono |
263 | - * | 269 | + * |
264 | * Ferramenta ponto em polígono | 270 | * Ferramenta ponto em polígono |
265 | */ | 271 | */ |
266 | pontoempoligono : function() { | 272 | pontoempoligono : function() { |
@@ -273,7 +279,7 @@ i3GEO.analise = | @@ -273,7 +279,7 @@ i3GEO.analise = | ||
273 | }, | 279 | }, |
274 | /** | 280 | /** |
275 | * Function: centromassa | 281 | * Function: centromassa |
276 | - * | 282 | + * |
277 | * Ferramenta centro médio | 283 | * Ferramenta centro médio |
278 | */ | 284 | */ |
279 | centromassa : function() { | 285 | centromassa : function() { |
@@ -286,7 +292,7 @@ i3GEO.analise = | @@ -286,7 +292,7 @@ i3GEO.analise = | ||
286 | }, | 292 | }, |
287 | /** | 293 | /** |
288 | * Function: nptPol | 294 | * Function: nptPol |
289 | - * | 295 | + * |
290 | * Ferramenta número de pontos em polígono | 296 | * Ferramenta número de pontos em polígono |
291 | */ | 297 | */ |
292 | nptPol : function() { | 298 | nptPol : function() { |
@@ -299,7 +305,7 @@ i3GEO.analise = | @@ -299,7 +305,7 @@ i3GEO.analise = | ||
299 | }, | 305 | }, |
300 | /** | 306 | /** |
301 | * Function: buffer | 307 | * Function: buffer |
302 | - * | 308 | + * |
303 | * Ferramenta buffer | 309 | * Ferramenta buffer |
304 | */ | 310 | */ |
305 | buffer : function() { | 311 | buffer : function() { |
@@ -312,7 +318,7 @@ i3GEO.analise = | @@ -312,7 +318,7 @@ i3GEO.analise = | ||
312 | }, | 318 | }, |
313 | /** | 319 | /** |
314 | * Function: distanciaptpt | 320 | * Function: distanciaptpt |
315 | - * | 321 | + * |
316 | * Ferramenta distância entre pontos | 322 | * Ferramenta distância entre pontos |
317 | */ | 323 | */ |
318 | distanciaptpt : function() { | 324 | distanciaptpt : function() { |
@@ -325,7 +331,7 @@ i3GEO.analise = | @@ -325,7 +331,7 @@ i3GEO.analise = | ||
325 | }, | 331 | }, |
326 | /** | 332 | /** |
327 | * Function: centroide | 333 | * Function: centroide |
328 | - * | 334 | + * |
329 | * Ferramenta centróide | 335 | * Ferramenta centróide |
330 | */ | 336 | */ |
331 | centroide : function() { | 337 | centroide : function() { |
@@ -338,7 +344,7 @@ i3GEO.analise = | @@ -338,7 +344,7 @@ i3GEO.analise = | ||
338 | }, | 344 | }, |
339 | /** | 345 | /** |
340 | * Function: dissolve | 346 | * Function: dissolve |
341 | - * | 347 | + * |
342 | * Ferramenta dissolve bordas comuns | 348 | * Ferramenta dissolve bordas comuns |
343 | */ | 349 | */ |
344 | dissolve : function() { | 350 | dissolve : function() { |
@@ -351,7 +357,7 @@ i3GEO.analise = | @@ -351,7 +357,7 @@ i3GEO.analise = | ||
351 | }, | 357 | }, |
352 | /** | 358 | /** |
353 | * Function: agrupaElementos | 359 | * Function: agrupaElementos |
354 | - * | 360 | + * |
355 | * Ferramenta agrupa elementos | 361 | * Ferramenta agrupa elementos |
356 | */ | 362 | */ |
357 | agrupaElementos : function() { | 363 | agrupaElementos : function() { |
@@ -365,7 +371,7 @@ i3GEO.analise = | @@ -365,7 +371,7 @@ i3GEO.analise = | ||
365 | }, | 371 | }, |
366 | /** | 372 | /** |
367 | * Section: medeDistancia | 373 | * Section: medeDistancia |
368 | - * | 374 | + * |
369 | * Ativa e controla a opção de medição de distâncias. A medida é feita quando o | 375 | * Ativa e controla a opção de medição de distâncias. A medida é feita quando o |
370 | * usuário clica no mapa com esta opção ativa. Quando o botão e acionado, abre-se a janela que mostra o | 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 | * resultado da medida, o ícone que segue o mouse é alterado. Para mostrar o resultado do cálculo, é | 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,7 +392,7 @@ i3GEO.analise = | ||
386 | ultimaMedida : "", | 392 | ultimaMedida : "", |
387 | /** | 393 | /** |
388 | * Function: inicia | 394 | * Function: inicia |
389 | - * | 395 | + * |
390 | * Inicia a operação de medição, abrindo a janela de resultados e criando os componentes | 396 | * Inicia a operação de medição, abrindo a janela de resultados e criando os componentes |
391 | * necessários. São registrados os eventos de clique sobre o mapa e fechamento da janela de resultados | 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,19 +414,30 @@ i3GEO.analise = | ||
408 | novoel = document.createElement("div"); | 414 | novoel = document.createElement("div"); |
409 | novoel.id = "mostradistancia"; | 415 | novoel.id = "mostradistancia"; |
410 | ins = | 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 | + '<div class="bd" style="text-align:left;padding:3px;" >' | 421 | + '<div class="bd" style="text-align:left;padding:3px;" >' |
414 | + '<div style="text-align:left;padding:3px;" id="mostradistancia_calculo" ></div>' | 422 | + '<div style="text-align:left;padding:3px;" id="mostradistancia_calculo" ></div>' |
415 | + '<div style="text-align:left;padding:3px;" id="mostradistancia_calculo_movel" ></div>' | 423 | + '<div style="text-align:left;padding:3px;" id="mostradistancia_calculo_movel" ></div>' |
416 | + '<div style="text-align:left;font-size:10px" >' | 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 | + '<tr><td></td><td></td>' | 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 | novoel.innerHTML = ins; | 441 | novoel.innerHTML = ins; |
425 | novoel.style.borderColor = "gray"; | 442 | novoel.style.borderColor = "gray"; |
426 | document.body.appendChild(novoel); | 443 | document.body.appendChild(novoel); |
@@ -496,146 +513,162 @@ i3GEO.analise = | @@ -496,146 +513,162 @@ i3GEO.analise = | ||
496 | * Funcoes especificas da interface openlayers | 513 | * Funcoes especificas da interface openlayers |
497 | */ | 514 | */ |
498 | openlayers : { | 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 | * Inicializa o processo Cria a variavel para guardar os pontos Executa a funcao de inicializacao do desenho, que cria o | 526 | * Inicializa o processo Cria a variavel para guardar os pontos Executa a funcao de inicializacao do desenho, que cria o |
501 | * layer para receber os graficos | 527 | * layer para receber os graficos |
502 | */ | 528 | */ |
503 | inicia : function() { | 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 | i3GEO.desenho[i3GEO.Interface["ATUAL"]].inicia(); | 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,22 +687,30 @@ i3GEO.analise = | ||
654 | * atributo "origem" Os raios e pontos sao sempre removidos | 687 | * atributo "origem" Os raios e pontos sao sempre removidos |
655 | */ | 688 | */ |
656 | fechaJanela : function() { | 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 | temp = window.confirm($trad("x94")); | 707 | temp = window.confirm($trad("x94")); |
665 | if (temp) { | 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 | * Mostra a totalizacao das linhas ja digitalizadas | 716 | * Mostra a totalizacao das linhas ja digitalizadas |
@@ -678,8 +719,19 @@ i3GEO.analise = | @@ -678,8 +719,19 @@ i3GEO.analise = | ||
678 | var mostra = $i("mostradistancia_calculo"), texto; | 719 | var mostra = $i("mostradistancia_calculo"), texto; |
679 | if (mostra) { | 720 | if (mostra) { |
680 | texto = | 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 | mostra.innerHTML = texto; | 735 | mostra.innerHTML = texto; |
684 | } | 736 | } |
685 | }, | 737 | }, |
@@ -690,8 +742,19 @@ i3GEO.analise = | @@ -690,8 +742,19 @@ i3GEO.analise = | ||
690 | var mostra = $i("mostradistancia_calculo_movel"), texto; | 742 | var mostra = $i("mostradistancia_calculo_movel"), texto; |
691 | if (mostra) { | 743 | if (mostra) { |
692 | texto = | 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 | mostra.innerHTML = texto; | 758 | mostra.innerHTML = texto; |
696 | } | 759 | } |
697 | } | 760 | } |
@@ -885,8 +948,19 @@ i3GEO.analise = | @@ -885,8 +948,19 @@ i3GEO.analise = | ||
885 | var mostra = $i("mostradistancia_calculo"), texto; | 948 | var mostra = $i("mostradistancia_calculo"), texto; |
886 | if (mostra) { | 949 | if (mostra) { |
887 | texto = | 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 | mostra.innerHTML = texto; | 964 | mostra.innerHTML = texto; |
891 | } | 965 | } |
892 | }, | 966 | }, |
@@ -897,8 +971,19 @@ i3GEO.analise = | @@ -897,8 +971,19 @@ i3GEO.analise = | ||
897 | var mostra = $i("mostradistancia_calculo_movel"), texto; | 971 | var mostra = $i("mostradistancia_calculo_movel"), texto; |
898 | if (mostra) { | 972 | if (mostra) { |
899 | texto = | 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 | mostra.innerHTML = texto; | 987 | mostra.innerHTML = texto; |
903 | } | 988 | } |
904 | } | 989 | } |
@@ -998,9 +1083,15 @@ i3GEO.analise = | @@ -998,9 +1083,15 @@ i3GEO.analise = | ||
998 | if (temp) { | 1083 | if (temp) { |
999 | i3GEO.desenho.googleearth.removePlacemark("divGeometriasTemp"); | 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 | * Mostra a totalizacao das linhas ja digitalizadas | 1097 | * Mostra a totalizacao das linhas ja digitalizadas |
@@ -1009,8 +1100,19 @@ i3GEO.analise = | @@ -1009,8 +1100,19 @@ i3GEO.analise = | ||
1009 | var mostra = $i("mostradistancia_calculo"), texto; | 1100 | var mostra = $i("mostradistancia_calculo"), texto; |
1010 | if (mostra) { | 1101 | if (mostra) { |
1011 | texto = | 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 | mostra.innerHTML = texto; | 1116 | mostra.innerHTML = texto; |
1015 | } | 1117 | } |
1016 | }, | 1118 | }, |
@@ -1021,8 +1123,19 @@ i3GEO.analise = | @@ -1021,8 +1123,19 @@ i3GEO.analise = | ||
1021 | var mostra = $i("mostradistancia_calculo_movel"), texto; | 1123 | var mostra = $i("mostradistancia_calculo_movel"), texto; |
1022 | if (mostra) { | 1124 | if (mostra) { |
1023 | texto = | 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 | mostra.innerHTML = texto; | 1139 | mostra.innerHTML = texto; |
1027 | } | 1140 | } |
1028 | } | 1141 | } |
@@ -1030,14 +1143,14 @@ i3GEO.analise = | @@ -1030,14 +1143,14 @@ i3GEO.analise = | ||
1030 | }, | 1143 | }, |
1031 | /** | 1144 | /** |
1032 | * Section: medeArea | 1145 | * Section: medeArea |
1033 | - * | 1146 | + * |
1034 | * Ativa e controla a opão de medição de área. | 1147 | * Ativa e controla a opão de medição de área. |
1035 | - * | 1148 | + * |
1036 | * A medida é feita quando o usuário clica no mapa com esta opção ativa | 1149 | * A medida é feita quando o usuário clica no mapa com esta opção ativa |
1037 | - * | 1150 | + * |
1038 | * Quando o botão é acionado, abre-se a janela que mostra o resultado da medida, o ícone que segue o mouse | 1151 | * Quando o botão é acionado, abre-se a janela que mostra o resultado da medida, o ícone que segue o mouse |
1039 | * é alterado. | 1152 | * é alterado. |
1040 | - * | 1153 | + * |
1041 | * Para mostrar o resultado do cálculo, é incluido um div específico. | 1154 | * Para mostrar o resultado do cálculo, é incluido um div específico. |
1042 | */ | 1155 | */ |
1043 | medeArea : { | 1156 | medeArea : { |
@@ -1055,10 +1168,10 @@ i3GEO.analise = | @@ -1055,10 +1168,10 @@ i3GEO.analise = | ||
1055 | ultimaMedida : "", | 1168 | ultimaMedida : "", |
1056 | /** | 1169 | /** |
1057 | * Function: inicia | 1170 | * Function: inicia |
1058 | - * | 1171 | + * |
1059 | * Inicia a operação de medição, abrindo a janela de resultados e criando os componentes | 1172 | * Inicia a operação de medição, abrindo a janela de resultados e criando os componentes |
1060 | * necessários | 1173 | * necessários |
1061 | - * | 1174 | + * |
1062 | * São registrados os eventos de clique sobre o mapa e fechamento da janela de resultados | 1175 | * São registrados os eventos de clique sobre o mapa e fechamento da janela de resultados |
1063 | */ | 1176 | */ |
1064 | inicia : function() { | 1177 | inicia : function() { |
@@ -1075,14 +1188,17 @@ i3GEO.analise = | @@ -1075,14 +1188,17 @@ i3GEO.analise = | ||
1075 | novoel = document.createElement("div"); | 1188 | novoel = document.createElement("div"); |
1076 | novoel.id = "mostraarea"; | 1189 | novoel.id = "mostraarea"; |
1077 | ins = | 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 | + '"/ajuda_usuario.php?idcategoria=6&idajuda=51" ><b> </b></a></div></div>' | 1194 | + '"/ajuda_usuario.php?idcategoria=6&idajuda=51" ><b> </b></a></div></div>' |
1080 | + '<div class="bd" style="text-align:left;padding:3px;font-size:10px" >' | 1195 | + '<div class="bd" style="text-align:left;padding:3px;font-size:10px" >' |
1081 | // + '<label class=paragrafo style="float:left;top:5px;position:relative;">Estilo:</label>' | 1196 | // + '<label class=paragrafo style="float:left;top:5px;position:relative;">Estilo:</label>' |
1082 | // + '<div class=styled-select style="width:70px;">' + i3GEO.desenho.caixaEstilos() + '</div><br>' | 1197 | // + '<div class=styled-select style="width:70px;">' + i3GEO.desenho.caixaEstilos() + '</div><br>' |
1083 | + '<div style="text-align:left;padding:3px;font-size:10px" id="mostraarea_calculo" ></div>' | 1198 | + '<div style="text-align:left;padding:3px;font-size:10px" id="mostraarea_calculo" ></div>' |
1084 | + '<div style="text-align:left;padding:3px;font-size:10px" id="mostraarea_calculo_parcial" ></div>' | 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 | novoel.innerHTML = ins; | 1202 | novoel.innerHTML = ins; |
1087 | novoel.style.borderColor = "gray"; | 1203 | novoel.style.borderColor = "gray"; |
1088 | document.body.appendChild(novoel); | 1204 | document.body.appendChild(novoel); |
@@ -1332,9 +1448,24 @@ i3GEO.analise = | @@ -1332,9 +1448,24 @@ i3GEO.analise = | ||
1332 | var mostra = $i("mostraarea_calculo"), texto; | 1448 | var mostra = $i("mostraarea_calculo"), texto; |
1333 | if (mostra) { | 1449 | if (mostra) { |
1334 | texto = | 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 | mostra.innerHTML = texto; | 1469 | mostra.innerHTML = texto; |
1339 | i3GEO.analise.medeArea.ultimaMedida = (area / 1000000).toFixed(3) + " km2"; | 1470 | i3GEO.analise.medeArea.ultimaMedida = (area / 1000000).toFixed(3) + " km2"; |
1340 | } | 1471 | } |
@@ -1346,10 +1477,29 @@ i3GEO.analise = | @@ -1346,10 +1477,29 @@ i3GEO.analise = | ||
1346 | var mostra = $i("mostraarea_calculo_parcial"), texto; | 1477 | var mostra = $i("mostraarea_calculo_parcial"), texto; |
1347 | if (mostra) { | 1478 | if (mostra) { |
1348 | texto = | 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 | mostra.innerHTML = texto; | 1503 | mostra.innerHTML = texto; |
1354 | } | 1504 | } |
1355 | } | 1505 | } |
@@ -1523,9 +1673,24 @@ i3GEO.analise = | @@ -1523,9 +1673,24 @@ i3GEO.analise = | ||
1523 | var mostra = $i("mostraarea_calculo"), texto; | 1673 | var mostra = $i("mostraarea_calculo"), texto; |
1524 | if (mostra) { | 1674 | if (mostra) { |
1525 | texto = | 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 | mostra.innerHTML = texto; | 1694 | mostra.innerHTML = texto; |
1530 | i3GEO.analise.medeArea.ultimaMedida = (area / 1000000).toFixed(3) + " km2"; | 1695 | i3GEO.analise.medeArea.ultimaMedida = (area / 1000000).toFixed(3) + " km2"; |
1531 | } | 1696 | } |
@@ -1537,10 +1702,29 @@ i3GEO.analise = | @@ -1537,10 +1702,29 @@ i3GEO.analise = | ||
1537 | var mostra = $i("mostraarea_calculo_parcial"), texto; | 1702 | var mostra = $i("mostraarea_calculo_parcial"), texto; |
1538 | if (mostra) { | 1703 | if (mostra) { |
1539 | texto = | 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 | mostra.innerHTML = texto; | 1728 | mostra.innerHTML = texto; |
1545 | } | 1729 | } |
1546 | } | 1730 | } |