Commit ec18d2cdc3dea8f0d1d92d1a6b5a1a4ae00aa5b3
1 parent
844ba2b6
Exists in
master
and in
7 other branches
Inclusão da biblioteca Proj4 e incorporação na ferramenta de apresentação de coordenadas
Showing
5 changed files
with
504 additions
and
80 deletions
Show diff stats
classesjs/classe_coordenadas.js
... | ... | @@ -37,7 +37,125 @@ Inclui elementos especiais no mapa para apresentação de coordenadas |
37 | 37 | */ |
38 | 38 | i3GEO.coordenadas = { |
39 | 39 | /* |
40 | - Propriedade: PARAMETROS | |
40 | + Propriedade: formato | |
41 | + | |
42 | + Formato de apresentação das coordenadas | |
43 | + | |
44 | + Type: | |
45 | + {string} | |
46 | + | |
47 | + Default: | |
48 | + "lista" | |
49 | + | |
50 | + Valores: | |
51 | + | |
52 | + bloco - mostra apenas um dos tipos e uma caixa de seleção | |
53 | + | |
54 | + separado - mostra todos os tipos em lugares diferentes conforme o valor de idhtml | |
55 | + | |
56 | + lista - mostra cada tipo em um lugar diferente conforme o valor de idhtml | |
57 | + */ | |
58 | + formato: "bloco", //bloco,separado,lista,janela | |
59 | + /* | |
60 | + Propriedade: padrao | |
61 | + | |
62 | + Indica qual tipo de coordenada é mostrado como padrão. Deve existir em i3GEO.coordenadas.config | |
63 | + | |
64 | + Default: | |
65 | + "geoProj" | |
66 | + */ | |
67 | + padrao: "geoProj", //so faz sentido se formato for bloco | |
68 | + /* | |
69 | + Propriedade: defOrigem | |
70 | + | |
71 | + CRS que define a projeção original das coordenadas capturadas na tela. Deve ser o mesmo | |
72 | + parâmetro definido no mapfile de inicialização do mapa (veja em i3geo/aplicmap/geral1.map ou geral1windows.map) | |
73 | + | |
74 | + Default: | |
75 | + "+proj=longlat +ellps=GRS67 +no_defs" | |
76 | + */ | |
77 | + defOrigem: "+proj=longlat +ellps=GRS67 +no_defs", //sad69 geo | |
78 | + /* | |
79 | + Propriedade: config | |
80 | + | |
81 | + Define as configurações de cada tipo de coordenada mostrada | |
82 | + | |
83 | + Para alterar os parâmetros ou acrescentar novas projeções, altere esse objeto por meio de javascript | |
84 | + | |
85 | + Para mais detalhes, veja i3geo/classesjs/classe_coordenada.js | |
86 | + | |
87 | + Para desativar a apresentação de uma projeção altere o valor de "ativo". | |
88 | + */ | |
89 | + config: { | |
90 | + "geoProj":{ | |
91 | + idhtml: "localizarxy", | |
92 | + tipo: "geo", | |
93 | + titulo: "Geo", | |
94 | + ativo: true, | |
95 | + defepsg: "" | |
96 | + }, | |
97 | + "policonicaSad69":{ | |
98 | + idhtml: "localizarxy", | |
99 | + tipo: "metrica", | |
100 | + titulo: "Policônica SAD-69", | |
101 | + ativo: true, | |
102 | + defepsg: "+proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=10000000 +ellps=aust_SA +units=m +no_defs" | |
103 | + }, | |
104 | + "utmSad69Proj":{ | |
105 | + idhtml: "localizarxy", | |
106 | + tipo: "utm", | |
107 | + titulo: "UTM Sad-69", | |
108 | + ativo: true, | |
109 | + defepsg: "", | |
110 | + zona:{ | |
111 | + "19N":"+proj=utm +zone=19 +ellps=aust_SA +units=m +no_defs", | |
112 | + "20N":"+proj=utm +zone=20 +ellps=aust_SA +units=m +no_defs", | |
113 | + "21N":"+proj=utm +zone=21 +ellps=aust_SA +units=m +no_defs", | |
114 | + "22N":"+proj=utm +zone=22 +ellps=aust_SA +units=m +no_defs", | |
115 | + "17S":"+proj=utm +zone=17 +south +ellps=aust_SA +units=m +no_defs", | |
116 | + "18S":"+proj=utm +zone=18 +south +ellps=aust_SA +units=m +no_defs", | |
117 | + "19S":"+proj=utm +zone=19 +south +ellps=aust_SA +units=m +no_defs", | |
118 | + "20S":"+proj=utm +zone=20 +south +ellps=aust_SA +units=m +no_defs", | |
119 | + "21S":"+proj=utm +zone=21 +south +ellps=aust_SA +units=m +no_defs", | |
120 | + "22S":"+proj=utm +zone=22 +south +ellps=aust_SA +units=m +no_defs", | |
121 | + "23S":"+proj=utm +zone=23 +south +ellps=aust_SA +units=m +no_defs", | |
122 | + "24S":"+proj=utm +zone=24 +south +ellps=aust_SA +units=m +no_defs", | |
123 | + "25S":"+proj=utm +zone=25 +south +ellps=aust_SA +units=m +no_defs" | |
124 | + } | |
125 | + }, | |
126 | + "utmSirgas2000Proj":{ | |
127 | + idhtml: "localizarxy", | |
128 | + tipo: "utm", | |
129 | + titulo: "UTM Sirgas 2000", | |
130 | + ativo: true, | |
131 | + defepsg: "", | |
132 | + zona:{ | |
133 | + "11N":"+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
134 | + "12N":"+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
135 | + "13N":"+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
136 | + "14N":"+proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
137 | + "15N":"+proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
138 | + "16N":"+proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
139 | + "17N":"+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
140 | + "18N":"+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
141 | + "19N":"+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
142 | + "20N":"+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
143 | + "21N":"+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
144 | + "22N":"+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
145 | + "17S":"+proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
146 | + "18S":"+proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
147 | + "19S":"+proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
148 | + "20S":"+proj=utm +zone=20 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
149 | + "21S":"+proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
150 | + "22S":"+proj=utm +zone=22 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
151 | + "23S":"+proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
152 | + "24S":"+proj=utm +zone=24 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs", | |
153 | + "25S":"+proj=utm +zone=25 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs" | |
154 | + } | |
155 | + } | |
156 | + }, | |
157 | + /* | |
158 | + Propriedade: PARAMETROS (depreciado) | |
41 | 159 | |
42 | 160 | Parametros de inicialização dos componentes. |
43 | 161 | |
... | ... | @@ -45,11 +163,9 @@ i3GEO.coordenadas = { |
45 | 163 | |
46 | 164 | Você pode acessar os parâmetros da seguinte forma: |
47 | 165 | |
48 | - i3GEO.coordenadas.PARAMETROS.mostraCoordenadasUTM.idhtml = ""; | |
49 | - | |
50 | - Para evitar o funcionamento de um componente, experimente utilizar o seguinte exemplo: | |
166 | + i3GEO.coordenadas.PARAMETROS.mostraCoordenadas.idhtml = ""; | |
51 | 167 | |
52 | - i3GEO.coordenadas.PARAMETROS.mostraCoordenadasUTM.idhtml = ""; | |
168 | + Nas versões anteriores à 4.5 do i3Geo utilizava-se um | |
53 | 169 | |
54 | 170 | Default: |
55 | 171 | |
... | ... | @@ -71,17 +187,16 @@ i3GEO.coordenadas = { |
71 | 187 | "mostraCoordenadasUTM": |
72 | 188 | {idhtml:"localizarxy"}, |
73 | 189 | "mostraCoordenadasGEO": |
74 | - {idhtml:"localizarxy"} | |
190 | + {idhtml:"localizarxy"} | |
75 | 191 | }, |
76 | 192 | /* |
77 | 193 | Function: mostraCoordenadasUTM |
78 | 194 | |
79 | - Obtém as coordenadas UTM da posição do mouse sobre o mapa. | |
195 | + Obtém e mostra as coordenadas UTM da posição do mouse sobre o mapa por meio de um cálculo realizado no servidor. | |
80 | 196 | |
81 | - As coordenadas são obtidas por meio de uma chamada AJAX. | |
197 | + Essa função deixou de ser utilizada na versão 4.5 do i3Geo. | |
82 | 198 | |
83 | - Para o funcionamento correto é necessário incluir essa função no evento que identifica quando o mouse | |
84 | - está estacionado sobre o mapa. Por default isso já é feito pelo i3Geo. | |
199 | + As coordenadas são obtidas por meio de uma chamada AJAX. | |
85 | 200 | |
86 | 201 | Se você não quer essa função no mapa, elimine o elemento HTML existente no mapa que contenha o |
87 | 202 | id definido em i3GEO.coordenadas.PARAMETROS (mostraCoordenadasUTM) ou altere a variável i3GEO.eventos.MOUSEPARADO |
... | ... | @@ -154,10 +269,10 @@ i3GEO.coordenadas = { |
154 | 269 | /* |
155 | 270 | Function: mostraCoordenadasGEO |
156 | 271 | |
157 | - Obtém as coordenadas Geográficas da posição do mouse sobre o mapa. | |
272 | + Obtém e mostra as coordenadas Geográficas da posição do mouse sobre o mapa. | |
158 | 273 | |
159 | - Se você não quer essa função no mapa, elimine o elemento HTML existente no mapa que contenha o | |
160 | - id definido em i3GEO.coordenadas.PARAMETROS (localizarxy) | |
274 | + Se você não quer essa função no mapa, elimine o elemento HTML que contenha o | |
275 | + id definido em i3GEO.coordenadas.PARAMETROS, por default é "localizarxy" | |
161 | 276 | |
162 | 277 | Parametro: |
163 | 278 | |
... | ... | @@ -167,50 +282,314 @@ i3GEO.coordenadas = { |
167 | 282 | mostraCoordenadasGEO: function(id){ |
168 | 283 | if(typeof(console) !== 'undefined'){console.info("i3GEO.coordenadas.mostraCoordenadasGEO()");} |
169 | 284 | try{ |
170 | - // | |
171 | - //ativa o evento que preenche os campos de coordenadas | |
172 | - // | |
173 | 285 | var ins,temp; |
174 | 286 | if(arguments.length === 0 || id === "" || id == undefined) |
175 | 287 | {id = i3GEO.coordenadas.PARAMETROS.mostraCoordenadasGEO.idhtml;} |
176 | 288 | else |
177 | 289 | {i3GEO.coordenadas.PARAMETROS.mostraCoordenadasGEO.idhtml = id;} |
178 | 290 | if($i(id)){ |
179 | - if(!$i("xm")){ | |
180 | - ins = "<table style='text-align:center'><tr>" + | |
181 | - "<td>X: </td>" + | |
182 | - "<td>"+$inputText(id,"315","xg","grau","3","-00")+" </td>" + | |
183 | - "<td>"+$inputText("","","xm","minuto","3","00")+" </td>" + | |
184 | - "<td>"+$inputText("","","xs","segundo","5","00.00")+" </td>" + | |
185 | - "<td>Y:"+$inputText("","","yg","grau","3","-00")+" </td>" + | |
186 | - "<td>"+$inputText("","","ym","minuto","3","00")+" </td>" + | |
187 | - "<td>"+$inputText("","","ys","segundo","5","00.00")+"</td>"; | |
188 | - temp = 'var xxx = i3GEO.calculo.dms2dd($i("xg").value,$i("xm").value,$i("xs").value);' + | |
189 | - 'var yyy = i3GEO.calculo.dms2dd($i("yg").value,$i("ym").value,$i("ys").value);' + | |
190 | - 'i3GEO.navega.zoomponto(i3GEO.configura.locaplic,i3GEO.configura.sid,xxx,yyy);'; | |
191 | - ins += "<td><img class='tic' title='zoom' onclick='"+temp+"' src='"+i3GEO.util.$im("branco.gif")+"' id=procurarxy /></td>" + | |
192 | - "</tr></table>"; | |
193 | - $i(id).innerHTML = ins; | |
194 | - atualizaLocalizarxy = function(){ | |
195 | - try{ | |
196 | - var x = objposicaocursor.dmsx.split(" "); | |
197 | - var y = objposicaocursor.dmsy.split(" "); | |
198 | - $i("xg").value = x[0]; | |
199 | - $i("xm").value = x[1]; | |
200 | - $i("xs").value = x[2]; | |
201 | - $i("yg").value = y[0]; | |
202 | - $i("ym").value = y[1]; | |
203 | - $i("ys").value = y[2]; | |
204 | - } | |
205 | - catch(m){ | |
206 | - if(typeof(console) !== 'undefined'){console.error(m);} | |
207 | - } | |
291 | + if(!$i("coordgeotabela")){ | |
292 | + $i(id).innerHTML = i3GEO.coordenadas.criaMascaraDMS("coordgeotabela"); | |
293 | + atualizaLocalizarGeo = function(){ | |
294 | + var temp = $i("coordgeotabela"); | |
295 | + if(temp && temp.style.display === "block") | |
296 | + {i3GEO.coordenadas.atualizaGeo(objposicaocursor.dmsx,objposicaocursor.dmsy,"coordgeotabela");} | |
208 | 297 | }; |
209 | - if(i3GEO.eventos.MOUSEMOVE.toString().search("atualizaLocalizarxy()") < 0) | |
210 | - {i3GEO.eventos.MOUSEMOVE.push("atualizaLocalizarxy()");} | |
298 | + if(i3GEO.eventos.MOUSEMOVE.toString().search("atualizaLocalizarGeo()") < 0) | |
299 | + {i3GEO.eventos.MOUSEMOVE.push("atualizaLocalizarGeo()");} | |
211 | 300 | } |
212 | 301 | } |
213 | 302 | } |
214 | 303 | catch(e){alert("mostraCoordenadasGeo: "+e.description);} |
304 | + }, | |
305 | + /* | |
306 | + Function: geo2zonaUtm | |
307 | + | |
308 | + Determina qual é a zona UTM de um par de coordenadas geográficas | |
309 | + | |
310 | + Parametros: | |
311 | + | |
312 | + long - longitude em décimos de grau | |
313 | + | |
314 | + Return: | |
315 | + | |
316 | + {number} - zona UTM | |
317 | + */ | |
318 | + geo2zonaUtm: function(long){ | |
319 | + long = (long * 1) + 180; | |
320 | + long = long / 6; | |
321 | + return parseInt(long,10) + 1; | |
322 | + }, | |
323 | + /* | |
324 | + Function: criaMascaraDMS | |
325 | + | |
326 | + Cria uma tabela para mostrar as coordenadas no padrão grau minuto e segundo | |
327 | + | |
328 | + A tabela criada receberá o id = prefixo | |
329 | + | |
330 | + Parametro: | |
331 | + | |
332 | + prefixo {string} - prefixo para batizar os ids dos elementos que serão criados | |
333 | + | |
334 | + Retorno: | |
335 | + | |
336 | + {string} - html com a tabela | |
337 | + */ | |
338 | + criaMascaraDMS: function(prefixo,titulo,caixa){ | |
339 | + var ins = "<table id="+prefixo+" style=display:block;text-align:center ><tr style='border-bottom:2px solid white' >" + | |
340 | + "<td style=width:150px;text-align:right >"+titulo+" X: </td>" + | |
341 | + "<td>"+$inputText("","315",prefixo+"xg","grau","3","-00")+" </td>" + | |
342 | + "<td>"+$inputText("","",prefixo+"xm","minuto","3","00")+" </td>" + | |
343 | + "<td>"+$inputText("","",prefixo+"xs","segundo","5","00.00")+" </td>" + | |
344 | + "<td>Y:"+$inputText("","",prefixo+"yg","grau","3","-00")+" </td>" + | |
345 | + "<td>"+$inputText("","",prefixo+"ym","minuto","3","00")+" </td>" + | |
346 | + "<td>"+$inputText("","",prefixo+"ys","segundo","5","00.00")+"</td>"; | |
347 | + temp = 'var '+prefixo+'xxx = i3GEO.calculo.dms2dd($i("'+prefixo+'xg").value,$i("'+prefixo+'xm").value,$i("'+prefixo+'xs").value);' + | |
348 | + 'var '+prefixo+'yyy = i3GEO.calculo.dms2dd($i("'+prefixo+'yg").value,$i("'+prefixo+'ym").value,$i("'+prefixo+'ys").value);' + | |
349 | + 'i3GEO.navega.zoomponto(i3GEO.configura.locaplic,i3GEO.configura.sid,'+prefixo+'xxx,'+prefixo+'yyy);'; | |
350 | + ins += '<td><img class=tic title=zoom onclick="'+temp+'" src="'+i3GEO.util.$im("branco.gif")+'" /></td>' + | |
351 | + "<td>"+caixa+"<td>" + | |
352 | + "</tr></table>"; | |
353 | + return ins; | |
354 | + }, | |
355 | + /* | |
356 | + Function: atualizaGeo | |
357 | + | |
358 | + Atualiza os valores em uma tabela do tipo DMS | |
359 | + | |
360 | + Parametros: | |
361 | + | |
362 | + dmsx {string} - valors de longitude em "d m s" | |
363 | + | |
364 | + dmsy {string} - valors de latitude em "d m s" | |
365 | + | |
366 | + prefixo {string} - prefixo da tabela (veja criaMascaraDMS) | |
367 | + | |
368 | + */ | |
369 | + atualizaGeo: function(dmsx,dmsy,prefixo){ | |
370 | + var x = dmsx.split(" "), | |
371 | + y = dmsy.split(" "); | |
372 | + $i(prefixo+"xg").value = x[0]; | |
373 | + $i(prefixo+"xm").value = x[1]; | |
374 | + $i(prefixo+"xs").value = x[2]; | |
375 | + $i(prefixo+"yg").value = y[0]; | |
376 | + $i(prefixo+"ym").value = y[1]; | |
377 | + $i(prefixo+"ys").value = y[2]; | |
378 | + }, | |
379 | + /* | |
380 | + Function: criaMascaraMetrica | |
381 | + | |
382 | + Cria uma tabela para mostrar as coordenadas no padrão métrico (x e y) | |
383 | + | |
384 | + A tabela criada receberá o id prefixo+"tabela" | |
385 | + | |
386 | + Parametro: | |
387 | + | |
388 | + prefixo {string} - prefixo para batizar os ids dos elementos que serão criados | |
389 | + | |
390 | + cixa {string} - (opcional) caixa de seleção de tipos | |
391 | + | |
392 | + Retorno: | |
393 | + | |
394 | + {string} - html com a tabela | |
395 | + */ | |
396 | + criaMascaraMetrica: function(prefixo,titulo,caixa){ | |
397 | + var ins = "<table id="+prefixo+" style=display:block;text-align:center ><tr style='border-bottom:2px solid white' >" + | |
398 | + "<td style=width:150px;text-align:right >"+titulo+" X: </td>" + | |
399 | + "<td>"+$inputText("","",prefixo+"X","X","12","00")+" </td>" + | |
400 | + "<td>Y:"+$inputText("","",prefixo+"Y","Y","12","00")+" </td>" + | |
401 | + "<td>Zn:"+$inputText("","",prefixo+"ZN","Zona","2","--")+" </td>" + | |
402 | + "<td>"+caixa+"<td>" + | |
403 | + "</tr></table>"; | |
404 | + return ins; | |
405 | + }, | |
406 | + /* | |
407 | + Function: atualizaProj4 | |
408 | + | |
409 | + Atualiza os valores em uma tabela do tipo x e y com base na biblioteca Proj4 | |
410 | + | |
411 | + http://trac.osgeo.org/proj4js/wiki/UserGuide | |
412 | + | |
413 | + Parametros: | |
414 | + | |
415 | + configProj {string} | |
416 | + | |
417 | + */ | |
418 | + atualizaProj4: function(configProj){ | |
419 | + eval("temp = i3GEO.coordenadas.config."+configProj+";"); | |
420 | + try{ | |
421 | + if($i(configProj).style.display == "none") | |
422 | + {return;} | |
423 | + } | |
424 | + catch(e){} | |
425 | + if(temp.tipo === "metrica"){ | |
426 | + var destino = temp.defepsg; | |
427 | + } | |
428 | + if(temp.tipo === "utm"){ | |
429 | + var zona = i3GEO.coordenadas.geo2zonaUtm(objposicaocursor.ddx); | |
430 | + $i(configProj+"ZN").value = zona | |
431 | + if(objposicaocursor.ddy*1 > 0) | |
432 | + {var destino = temp.zona[zona+"N"];} | |
433 | + else | |
434 | + {var destino = temp.zona[zona+"S"];} | |
435 | + if(destino == undefined){ | |
436 | + i3GEO.util.defineValor(configProj+"X","value","?"); | |
437 | + i3GEO.util.defineValor(configProj+"Y","value","?"); | |
438 | + return; | |
439 | + } | |
440 | + } | |
441 | + Proj4js.defs = { | |
442 | + 'ORIGEM' : i3GEO.coordenadas.defOrigem, | |
443 | + 'DESTINO': destino | |
444 | + }; | |
445 | + var source = new Proj4js.Proj("ORIGEM"), | |
446 | + dest = new Proj4js.Proj("DESTINO"), | |
447 | + p = new Proj4js.Point(objposicaocursor.ddx,objposicaocursor.ddy); | |
448 | + Proj4js.transform(source, dest, p); | |
449 | + i3GEO.util.defineValor(configProj+"X","value",p.x); | |
450 | + i3GEO.util.defineValor(configProj+"Y","value",p.y); | |
451 | + }, | |
452 | + /* | |
453 | + Function: ativaBloco | |
454 | + | |
455 | + Mostra um tipo de coordenada e esconde os outros. | |
456 | + | |
457 | + Mostra o que estiver definido em i3GEO.coordenadas.padrao | |
458 | + */ | |
459 | + ativaBloco: function(){ | |
460 | + var tipos = i3GEO.util.listaChaves(i3GEO.coordenadas.config), | |
461 | + n = tipos.length, | |
462 | + temp, | |
463 | + i = 0; | |
464 | + // | |
465 | + //cria o HTML e a caixa de seleção | |
466 | + // | |
467 | + for(i=0;i<n;i++){ | |
468 | + eval("temp = i3GEO.coordenadas.config."+tipos[i]+";"); | |
469 | + if(temp.ativo === true){ | |
470 | + if(tipos[i] == i3GEO.coordenadas.padrao) | |
471 | + {$i(tipos[i]).style.display = "block";} | |
472 | + else | |
473 | + {$i(tipos[i]).style.display = "none";} | |
474 | + } | |
475 | + } | |
476 | + }, | |
477 | + /* | |
478 | + Function: mudaTipo | |
479 | + | |
480 | + Muda o tipo de coordenada que está sendo mostrada no formato "bloco". | |
481 | + | |
482 | + Parametro: | |
483 | + | |
484 | + tipo {string} - tipo de coordenada | |
485 | + */ | |
486 | + mudaTipo: function(obj){ | |
487 | + if(obj.value === "janela"){ | |
488 | + i3GEO.coordenadas.formato = "janela"; | |
489 | + i3GEO.coordenadas.mostraCoordenadas(); | |
490 | + return; | |
491 | + } | |
492 | + i3GEO.coordenadas.padrao = obj.value; | |
493 | + obj.selectedIndex = 0; | |
494 | + i3GEO.coordenadas.ativaBloco(); | |
495 | + }, | |
496 | + /* | |
497 | + Function: mostraCoordenadas | |
498 | + | |
499 | + Constrói o conjunto de elementos HTML para mostrar as coordenadas e define as funções de atualização. | |
500 | + */ | |
501 | + mostraCoordenadas: function(){ | |
502 | + try{ | |
503 | + var tipos = i3GEO.util.listaChaves(i3GEO.coordenadas.config), | |
504 | + n = tipos.length, | |
505 | + temp, | |
506 | + ins = "", | |
507 | + onde = "", | |
508 | + i = 0, | |
509 | + caixa = "<select onchange='javascript:i3GEO.coordenadas.mudaTipo(this);' style='font-size:10px;height:15px;width:50px;' ><option>---</option><option value='janela' >janela</option>"; | |
510 | + // | |
511 | + //cria a caixa de seleção | |
512 | + // | |
513 | + for(i=0;i<n;i++){ | |
514 | + eval("temp = i3GEO.coordenadas.config."+tipos[i]+";"); | |
515 | + if(temp.ativo === true){ | |
516 | + caixa += "<option value='"+tipos[i]+"'>"+temp.titulo+"</option>"; | |
517 | + } | |
518 | + } | |
519 | + caixa += "</select>"; | |
520 | + if(i3GEO.coordenadas.formato !== "bloco") | |
521 | + {caixa = "";} | |
522 | + // | |
523 | + //cria o HTML | |
524 | + // | |
525 | + for(i=0;i<n;i++){ | |
526 | + eval("temp = i3GEO.coordenadas.config."+tipos[i]+";"); | |
527 | + if(temp.ativo === true){ | |
528 | + if(temp.tipo === "geo"){ | |
529 | + ins += i3GEO.coordenadas.criaMascaraDMS(tipos[i],temp.titulo,caixa); | |
530 | + if(i3GEO.coordenadas.formato === "separado"){ | |
531 | + try{$i(temp.idhtml).innerHTML = ins;} | |
532 | + catch(e){} | |
533 | + ins = ""; | |
534 | + } | |
535 | + else | |
536 | + {onde = temp.idhtml;} | |
537 | + } | |
538 | + else{ | |
539 | + ins += i3GEO.coordenadas.criaMascaraMetrica(tipos[i],temp.titulo,caixa); | |
540 | + } | |
541 | + } | |
542 | + } | |
543 | + if(i3GEO.coordenadas.formato === "janela"){ | |
544 | + var janela = i3GEO.janela.cria( | |
545 | + "450px", | |
546 | + "90px", | |
547 | + "", | |
548 | + "", | |
549 | + "", | |
550 | + "Coordenadas aproximadas", | |
551 | + "i3GEOJanelaCoordenadas", | |
552 | + false, | |
553 | + "hd", | |
554 | + "", | |
555 | + "" | |
556 | + ); | |
557 | + temp = $i("i3GEOJanelaCoordenadas_corpo"); | |
558 | + temp.style.backgroundColor = "white"; | |
559 | + temp.style.textAlign = "left"; | |
560 | + temp = $i("i3GEOJanelaCoordenadas"); | |
561 | + temp.onmouseover = ""; | |
562 | + temp.onmouseout = ""; | |
563 | + if($i(onde)) | |
564 | + {$i(onde).innerHTML = "";} | |
565 | + onde = "i3GEOJanelaCoordenadas_corpo"; | |
566 | + } | |
567 | + if($i(onde)) | |
568 | + {$i(onde).innerHTML = ins;} | |
569 | + // | |
570 | + //aplica as funções de movimentação do mouse | |
571 | + // | |
572 | + for(i=0;i<n;i++){ | |
573 | + eval("temp = i3GEO.coordenadas.config."+tipos[i]+";"); | |
574 | + if(temp.ativo === true){ | |
575 | + if(temp.tipo === "geo"){ | |
576 | + atualizaLocalizarGeo = function(id){ | |
577 | + temp = $i(id); | |
578 | + if(temp && temp.style.display == "block") | |
579 | + {i3GEO.coordenadas.atualizaGeo(objposicaocursor.dmsx,objposicaocursor.dmsy,id);} | |
580 | + }; | |
581 | + if(i3GEO.eventos.MOUSEMOVE.toString().search("atualizaLocalizarGeo('"+tipos[i]+"')") < 0) | |
582 | + {i3GEO.eventos.MOUSEMOVE.push("atualizaLocalizarGeo('"+tipos[i]+"')");} | |
583 | + } | |
584 | + else{ | |
585 | + if(i3GEO.eventos.MOUSEMOVE.toString().search("i3GEO.coordenadas.atualizaProj4('"+tipos[i]+"')") < 0) | |
586 | + {i3GEO.eventos.MOUSEMOVE.push("i3GEO.coordenadas.atualizaProj4('"+tipos[i]+"')");} | |
587 | + } | |
588 | + } | |
589 | + } | |
590 | + if(i3GEO.coordenadas.formato === "bloco") | |
591 | + {i3GEO.coordenadas.ativaBloco();} | |
592 | + } | |
593 | + catch(e){} | |
215 | 594 | } |
216 | 595 | }; |
217 | 596 | \ No newline at end of file | ... | ... |
classesjs/classe_interface.js
... | ... | @@ -467,8 +467,7 @@ i3GEO.Interface = { |
467 | 467 | objmapaparado = "nao"; //utilizado para verificar se o mouse esta parado |
468 | 468 | i3GEO.gadgets.mostraMenuSuspenso(); |
469 | 469 | i3GEO.eventos.ativa(i); |
470 | - i3GEO.coordenadas.mostraCoordenadasGEO(); | |
471 | - i3GEO.coordenadas.mostraCoordenadasUTM(); | |
470 | + i3GEO.coordenadas.mostraCoordenadas(); | |
472 | 471 | i3GEO.gadgets.mostraEscalaNumerica(); |
473 | 472 | i3GEO.gadgets.mostraEscalaGrafica(); |
474 | 473 | i3GEO.gadgets.visual.inicia(); |
... | ... | @@ -774,8 +773,7 @@ i3GEO.Interface = { |
774 | 773 | } |
775 | 774 | |
776 | 775 | }; |
777 | - i3GEO.coordenadas.mostraCoordenadasGEO(); | |
778 | - i3GEO.coordenadas.mostraCoordenadasUTM(); | |
776 | + i3GEO.coordenadas.mostraCoordenadas(); | |
779 | 777 | montaMapa(); |
780 | 778 | //i3GEO.php.openlayers(montaMapa); |
781 | 779 | i3GEO.gadgets.mostraMenuSuspenso(); |
... | ... | @@ -1207,8 +1205,7 @@ i3GEO.Interface = { |
1207 | 1205 | i3GEO.gadgets.mostraInserirKml(); |
1208 | 1206 | i3GEO.Interface.googlemaps.ativaBotoes(); |
1209 | 1207 | i3GEO.eventos.ativa($i(i3GEO.Interface.IDMAPA)); |
1210 | - i3GEO.coordenadas.mostraCoordenadasGEO(); | |
1211 | - i3GEO.coordenadas.mostraCoordenadasUTM(); | |
1208 | + i3GEO.coordenadas.mostraCoordenadas(); | |
1212 | 1209 | i3GEO.gadgets.mostraEscalaNumerica(); |
1213 | 1210 | i3GEO.gadgets.mostraMenuSuspenso(); |
1214 | 1211 | i3GEO.idioma.mostraSeletor(); | ... | ... |
classesjs/compactajs.php
... | ... | @@ -96,6 +96,7 @@ packer("../pacotes/balloon-tooltips/htdocs/js/balloon.js","../pacotes/balloon-to |
96 | 96 | //gera um único js para a inicialização do I3Geo |
97 | 97 | // |
98 | 98 | $jsfiles = array( |
99 | +"../pacotes/proj4js/lib/proj4js-compressed.js", | |
99 | 100 | "../pacotes/cpaint/cpaint2_compacto.inc.js", |
100 | 101 | "../pacotes/yui270/build/yahoo/yahoo-min.js", |
101 | 102 | "../pacotes/yui270/build/yahoo-dom-event/yahoo-dom-event.js", | ... | ... |
classesjs/i3geonaocompacto.js
... | ... | @@ -14,6 +14,7 @@ for (var i = 0; i < scripts.length; i++) { |
14 | 14 | } |
15 | 15 | var allScriptTags = ""; |
16 | 16 | var jsfiles = new Array( |
17 | +"../pacotes/proj4js/lib/proj4js-compressed.js", | |
17 | 18 | "../pacotes/yui270/build/yahoo/yahoo-min.js", |
18 | 19 | "../pacotes/yui270/build/yahoo-dom-event/yahoo-dom-event.js", |
19 | 20 | "../pacotes/yui270/build/dom/dom-min.js", | ... | ... |
ferramentas/epsg.txt
1 | -# Geográfica SAD69 | |
1 | +# Geográfica SAD69 GRS67 4291 | |
2 | 2 | <4291> +proj=longlat +ellps=GRS67 +no_defs no_defs <> |
3 | +# Geográfica SAD69 aust_SA 4618 (mais recente) | |
4 | +<4618> +proj=longlat +ellps=aust_SA +no_defs <> | |
3 | 5 | # WGS 84 |
4 | 6 | <4326> +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs no_defs <> |
5 | 7 | # Corrego Alegre / UTM zone 21S |
... | ... | @@ -14,29 +16,73 @@ |
14 | 16 | <22525> +proj=utm +zone=25 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs <> |
15 | 17 | # SAD69 / Brazil Polyconic |
16 | 18 | <29101> +proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=10000000 +ellps=aust_SA +units=m +no_defs <> |
17 | -# SAD69 / UTM zone 19N | |
18 | -<29119> +proj=utm +zone=19 +ellps=GRS67 +units=m +no_defs <> | |
19 | -# SAD69 / UTM zone 20N | |
20 | -<29120> +proj=utm +zone=20 +ellps=GRS67 +units=m +no_defs <> | |
21 | -# SAD69 / UTM zone 21N | |
22 | -<29121> +proj=utm +zone=21 +ellps=GRS67 +units=m +no_defs <> | |
23 | -# SAD69 / UTM zone 22N | |
24 | -<29122> +proj=utm +zone=22 +ellps=GRS67 +units=m +no_defs <> | |
25 | -# SAD69 / UTM zone 17S | |
26 | -<29177> +proj=utm +zone=17 +south +ellps=GRS67 +units=m +no_defs <> | |
27 | -# SAD69 / UTM zone 18S | |
28 | -<29178> +proj=utm +zone=18 +south +ellps=GRS67 +units=m +no_defs <> | |
29 | -# SAD69 / UTM zone 19S | |
30 | -<29179> +proj=utm +zone=19 +south +ellps=GRS67 +units=m +no_defs <> | |
31 | -# SAD69 / UTM zone 20S | |
32 | -<29180> +proj=utm +zone=20 +south +ellps=GRS67 +units=m +no_defs <> | |
33 | -# SAD69 / UTM zone 21S | |
34 | -<29181> +proj=utm +zone=21 +south +ellps=GRS67 +units=m +no_defs <> | |
35 | -# SAD69 / UTM zone 22S | |
36 | -<29182> +proj=utm +zone=22 +south +ellps=GRS67 +units=m +no_defs <> | |
37 | -# SAD69 / UTM zone 23S | |
38 | -<29183> +proj=utm +zone=23 +south +ellps=GRS67 +units=m +no_defs <> | |
39 | -# SAD69 / UTM zone 24S | |
40 | -<29184> +proj=utm +zone=24 +south +ellps=GRS67 +units=m +no_defs <> | |
41 | -# SAD69 / UTM zone 25S | |
42 | -<29185> +proj=utm +zone=25 +south +ellps=GRS67 +units=m +no_defs <> | |
19 | +# SAD69 / UTM zone 18N | |
20 | +<29168> +proj=utm +zone=18 +ellps=aust_SA +units=m +no_defs <> | |
21 | +# SAD69 / UTM zone 19N | |
22 | +<29169> +proj=utm +zone=19 +ellps=aust_SA +units=m +no_defs <> | |
23 | +# SAD69 / UTM zone 20N | |
24 | +<29170> +proj=utm +zone=20 +ellps=aust_SA +units=m +no_defs <> | |
25 | +# SAD69 / UTM zone 21N | |
26 | +<29171> +proj=utm +zone=21 +ellps=aust_SA +units=m +no_defs <> | |
27 | +# SAD69 / UTM zone 22N | |
28 | +<29172> +proj=utm +zone=22 +ellps=aust_SA +units=m +no_defs <> | |
29 | +# SAD69 / UTM zone 17S | |
30 | +<29187> +proj=utm +zone=17 +south +ellps=aust_SA +units=m +no_defs <> | |
31 | +# SAD69 / UTM zone 18S | |
32 | +<29188> +proj=utm +zone=18 +south +ellps=aust_SA +units=m +no_defs <> | |
33 | +# SAD69 / UTM zone 19S | |
34 | +<29189> +proj=utm +zone=19 +south +ellps=aust_SA +units=m +no_defs <> | |
35 | +# SAD69 / UTM zone 20S | |
36 | +<29190> +proj=utm +zone=20 +south +ellps=aust_SA +units=m +no_defs <> | |
37 | +# SAD69 / UTM zone 21S | |
38 | +<29191> +proj=utm +zone=21 +south +ellps=aust_SA +units=m +no_defs <> | |
39 | +# SAD69 / UTM zone 22S | |
40 | +<29192> +proj=utm +zone=22 +south +ellps=aust_SA +units=m +no_defs <> | |
41 | +# SAD69 / UTM zone 23S | |
42 | +<29193> +proj=utm +zone=23 +south +ellps=aust_SA +units=m +no_defs <> | |
43 | +# SAD69 / UTM zone 24S | |
44 | +<29194> +proj=utm +zone=24 +south +ellps=aust_SA +units=m +no_defs <> | |
45 | +# SAD69 / UTM zone 25S | |
46 | +<29195> +proj=utm +zone=25 +south +ellps=aust_SA +units=m +no_defs <> | |
47 | +# SIRGAS 2000 / UTM zone 11N | |
48 | +<31965> +proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
49 | +# SIRGAS 2000 / UTM zone 12N | |
50 | +<31966> +proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
51 | +# SIRGAS 2000 / UTM zone 13N | |
52 | +<31967> +proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
53 | +# SIRGAS 2000 / UTM zone 14N | |
54 | +<31968> +proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
55 | +# SIRGAS 2000 / UTM zone 15N | |
56 | +<31969> +proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
57 | +# SIRGAS 2000 / UTM zone 16N | |
58 | +<31970> +proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
59 | +# SIRGAS 2000 / UTM zone 17N | |
60 | +<31971> +proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
61 | +# SIRGAS 2000 / UTM zone 18N | |
62 | +<31972> +proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
63 | +# SIRGAS 2000 / UTM zone 19N | |
64 | +<31973> +proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
65 | +# SIRGAS 2000 / UTM zone 20N | |
66 | +<31974> +proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
67 | +# SIRGAS 2000 / UTM zone 21N | |
68 | +<31975> +proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
69 | +# SIRGAS 2000 / UTM zone 22N | |
70 | +<31976> +proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
71 | +# SIRGAS 2000 / UTM zone 17S | |
72 | +<31977> +proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
73 | +# SIRGAS 2000 / UTM zone 18S | |
74 | +<31978> +proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
75 | +# SIRGAS 2000 / UTM zone 19S | |
76 | +<31979> +proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
77 | +# SIRGAS 2000 / UTM zone 20S | |
78 | +<31980> +proj=utm +zone=20 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
79 | +# SIRGAS 2000 / UTM zone 21S | |
80 | +<31981> +proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
81 | +# SIRGAS 2000 / UTM zone 22S | |
82 | +<31982> +proj=utm +zone=22 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
83 | +# SIRGAS 2000 / UTM zone 23S | |
84 | +<31983> +proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
85 | +# SIRGAS 2000 / UTM zone 24S | |
86 | +<31984> +proj=utm +zone=24 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
87 | +# SIRGAS 2000 / UTM zone 25S | |
88 | +<31985> +proj=utm +zone=25 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> | |
43 | 89 | \ No newline at end of file | ... | ... |