Commit cb46e1466d0cb39a8298afb3f5c20708364f8894
1 parent
45224a0a
Exists in
master
and in
7 other branches
Ferramenta de cálculo de custo
Showing
7 changed files
with
770 additions
and
0 deletions
Show diff stats
... | ... | @@ -0,0 +1,30 @@ |
1 | +<?php | |
2 | +/** | |
3 | + * Carrega os programas javascript necessarios para a ferramenta | |
4 | + * Esse programa e usado na tag <script> ou com a funcao scripttag do i3Geo | |
5 | + * Alem de carregar os scripts, carrega tambem o template no formato MUSTACHE, definindo a variavel | |
6 | + * javascript i3GEOF.melhorcaminho.MUSTACHE | |
7 | + * O template e substituido pelos valores definidos em index.js no momento da inicializacao da ferramenta | |
8 | + */ | |
9 | +if(extension_loaded('zlib')){ | |
10 | + ob_start('ob_gzhandler'); | |
11 | +} | |
12 | +header("Content-type: text/javascript"); | |
13 | +include("index.js"); | |
14 | +include("dicionario.js"); | |
15 | +echo "\n"; | |
16 | +/** | |
17 | + * Inclui o template mustache do HTML usado para criar o conteudo da janela | |
18 | + */ | |
19 | +echo 'i3GEOF.melhorcaminho.MUSTACHE = "'; | |
20 | +$texto = file_get_contents("template_mst.html"); | |
21 | +$texto = str_replace("\n", "", $texto); | |
22 | +$texto = str_replace("\r", "", $texto); | |
23 | +$texto = str_replace("\t", "", $texto); | |
24 | +$texto = str_replace('"', "'", $texto); | |
25 | +echo $texto; | |
26 | +echo '";'; | |
27 | +if(extension_loaded('zlib')){ | |
28 | + ob_end_flush(); | |
29 | +} | |
30 | +?> | |
0 | 31 | \ No newline at end of file | ... | ... |
... | ... | @@ -0,0 +1,58 @@ |
1 | +//+$trad(1,i3GEOF.gradeDePoligonos.dicionario)+ | |
2 | +i3GEOF.melhorcaminho.dicionario = { | |
3 | + 'ajuda' : [ { | |
4 | + pt : "O melhor caminho é calculado sobre uma imagem raster. Os valores dos pixels serão considerados como o custo.", | |
5 | + en : "", | |
6 | + es : "" | |
7 | + } ], | |
8 | + 'ajuda2' : [ { | |
9 | + pt : "O cálculo é feito a partir de um ponto inicial e um final. Esses dois pontos podem ser apontados no mapa ou pode ser utilizada uma camada já existente no mapa.", | |
10 | + en : "", | |
11 | + es : "" | |
12 | + } ], | |
13 | + 'ajuda3' : [ { | |
14 | + pt : "O resultado do cálculo será incluído no mapa como uma nova camada com dados no formato shapefile.", | |
15 | + en : "", | |
16 | + es : "" | |
17 | + } ], | |
18 | + 'raster' : [ { | |
19 | + pt : "Escolha o tema que contém a imagem raster que será utilizada para traçar o melhor caminho", | |
20 | + en : "", | |
21 | + es : "" | |
22 | + } ], | |
23 | + 'temas' : [ { | |
24 | + pt : "Escolha o tema que será utilizado para obter o ponto inicial e final. No caso de tema pontual, serão considerados o primeiro e o último ponto. No caso de tema linear, serão considerados o primeiro e o último nó. No caso de tema poligonal, serão considerados o primeiro nó e o centróide. <br>Você pode pular essa etapa caso queira escolher os pontos clicando no mapa.", | |
25 | + en : "", | |
26 | + es : "" | |
27 | + } ], | |
28 | + 'grau' : [ { | |
29 | + pt : "Grau", | |
30 | + en : "", | |
31 | + es : "" | |
32 | + } ], | |
33 | + 'minuto' : [ { | |
34 | + pt : "Minuto", | |
35 | + en : "", | |
36 | + es : "" | |
37 | + } ], | |
38 | + 'segundo' : [ { | |
39 | + pt : "Segundo", | |
40 | + en : "", | |
41 | + es : "" | |
42 | + } ], | |
43 | + 'coord' : [ { | |
44 | + pt : "Coordenadas do ponto inicial superior esquerdo (utilize o sinal negativo no grau quando ao sul do equador e a oeste). <b>Você pode clicar no mapa para pegar o ponto.</b>", | |
45 | + en : "", | |
46 | + es : "" | |
47 | + } ], | |
48 | + 'pti' : [ { | |
49 | + pt : "Ponto inicial (A). Você pode clicar no mapa ou digitar novos valores", | |
50 | + en : "", | |
51 | + es : "" | |
52 | + } ], | |
53 | + 'ptf' : [ { | |
54 | + pt : "Ponto final (B). Você pode clicar no mapa ou digitar novos valores", | |
55 | + en : "", | |
56 | + es : "" | |
57 | + } ] | |
58 | +}; | ... | ... |
... | ... | @@ -0,0 +1,48 @@ |
1 | +<?php | |
2 | +include_once(dirname(__FILE__)."/../inicia.php"); | |
3 | +// | |
4 | +//faz a busca da função que deve ser executada | |
5 | +// | |
6 | +$retorno = ""; //string que será retornada ao browser via JSON | |
7 | +switch (strtoupper($funcao)) | |
8 | +{ | |
9 | + case "SHAPE2PONTOS": | |
10 | + $mapa = ms_newMapObj($map_file); | |
11 | + $layer = $mapa->getlayerbyname($tema); | |
12 | + $shapes = retornaShapesMapext($layer,$mapa); | |
13 | + | |
14 | + //quando ponto 0 | |
15 | + if($layer->type == 0){ | |
16 | + $objLine = $shapes[0]->line; | |
17 | + $pontoA = $objLine0(0); | |
18 | + $objLine = $shapes[count($shapes) - 1]->line; | |
19 | + $pontoB = $objLine(0); | |
20 | + } | |
21 | + //quando linha 1 | |
22 | + if($layer->type == 1){ | |
23 | + $objLine = $shapes[0]->line; | |
24 | + $pontoA = $objLine->point(0); | |
25 | + $pontoB = $objLine->point($objLine->numpoints - 1); | |
26 | + } | |
27 | + //quando poligono 2 | |
28 | + if($layer->type == 2){ | |
29 | + $objLine = $shapes[0]->line(0); | |
30 | + $pontoA = $objLine->point(0); | |
31 | + $pontoB = $shapes[0]->getCentroid(); | |
32 | + } | |
33 | + $retorno = array( | |
34 | + "ax"=>$pontoA->x, | |
35 | + "ay"=>$pontoA->y, | |
36 | + "bx"=>$pontoB->x, | |
37 | + "by"=>$pontoB->y | |
38 | + ); | |
39 | + break; | |
40 | +} | |
41 | +if (!connection_aborted()){ | |
42 | + if(isset($map_file) && isset($postgis_mapa) && $map_file != "") | |
43 | + restauraCon($map_file,$postgis_mapa); | |
44 | + cpjson($retorno); | |
45 | +} | |
46 | +else | |
47 | +{exit();} | |
48 | +?> | |
0 | 49 | \ No newline at end of file | ... | ... |
14.3 KB
... | ... | @@ -0,0 +1,380 @@ |
1 | +/* | |
2 | +Title: Melhor caminho | |
3 | + | |
4 | +Calcula o melhor caminho entre dois pontos com base em uma imagem raster | |
5 | + | |
6 | +Arquivo: | |
7 | + | |
8 | +i3geo/ferramentas/melhorcaminho/index.js.php | |
9 | + | |
10 | +Licenca: | |
11 | + | |
12 | +GPL2 | |
13 | + | |
14 | +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
15 | + | |
16 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | |
17 | +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | |
18 | + | |
19 | +Este programa é software livre; você pode redistribuí-lo | |
20 | +e/ou modificá-lo sob os termos da Licença Pública Geral | |
21 | +GNU conforme publicada pela Free Software Foundation; | |
22 | + | |
23 | +Este programa é distribuído na expectativa de que seja útil, | |
24 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
25 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
26 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | |
27 | +Você deve ter recebido uma cópia da Licença Pública Geral do | |
28 | +GNU junto com este programa; se não, escreva para a | |
29 | +Free Software Foundation, Inc., no endereço | |
30 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
31 | +*/ | |
32 | + | |
33 | +if(typeof(i3GEOF) === 'undefined'){ | |
34 | + var i3GEOF = {}; | |
35 | +} | |
36 | +/* | |
37 | +Classe: i3GEOF.melhorcaminho | |
38 | + | |
39 | +*/ | |
40 | +i3GEOF.melhorcaminho = { | |
41 | + /* | |
42 | + Variavel: aguarde | |
43 | + | |
44 | + Estilo do objeto DOM com a imagem de aguarde existente no cabeçalho da janela. | |
45 | + */ | |
46 | + aguarde: "", | |
47 | + COORDENADASTEMA: "", | |
48 | + /* | |
49 | + Para efeitos de compatibilidade antes da versão 4.7 que não tinha dicionário | |
50 | + */ | |
51 | + criaJanelaFlutuante: function(){ | |
52 | + i3GEOF.melhorcaminho.iniciaDicionario(); | |
53 | + }, | |
54 | + /* | |
55 | + Function: iniciaDicionario | |
56 | + | |
57 | + Carrega o dicionário e chama a função que inicia a ferramenta | |
58 | + | |
59 | + O Javascript é carregado com o id i3GEOF.nomedaferramenta.dicionario_script | |
60 | + */ | |
61 | + iniciaDicionario: function(){ | |
62 | + if(typeof(i3GEOF.melhorcaminho.dicionario) === 'undefined'){ | |
63 | + i3GEO.util.scriptTag( | |
64 | + i3GEO.configura.locaplic+"/ferramentas/melhorcaminho/dicionario.js", | |
65 | + "i3GEOF.melhorcaminho.iniciaJanelaFlutuante()", | |
66 | + "i3GEOF.melhorcaminho.dicionario_script" | |
67 | + ); | |
68 | + } | |
69 | + else{ | |
70 | + i3GEOF.melhorcaminho.iniciaJanelaFlutuante(); | |
71 | + } | |
72 | + }, | |
73 | + /* | |
74 | + Function: inicia | |
75 | + | |
76 | + Inicia a ferramenta. É chamado por criaJanelaFlutuante | |
77 | + | |
78 | + Parametro: | |
79 | + | |
80 | + iddiv {String} - id do div que receberá o conteudo HTML da ferramenta | |
81 | + */ | |
82 | + inicia: function(iddiv){ | |
83 | + try{ | |
84 | + i3GEO.util.mudaCursor(i3GEO.configura.cursores,"default",i3GEO.Interface.IDMAPA,i3GEO.configura.locaplic); | |
85 | + $i(iddiv).innerHTML += i3GEOF.melhorcaminho.html(); | |
86 | + i3GEOF.melhorcaminho.t0(); | |
87 | + } | |
88 | + catch(erro){i3GEO.janela.tempoMsg(erro);} | |
89 | + }, | |
90 | + /* | |
91 | + Function: html | |
92 | + | |
93 | + Gera o código html para apresentação das opções da ferramenta | |
94 | + | |
95 | + Retorno: | |
96 | + | |
97 | + String com o código html | |
98 | + */ | |
99 | + html:function(){ | |
100 | + var ins = ''; | |
101 | + ins += '<div style="padding:5px;background-color:#F2F2F2;top:0px;left:0px;display:block;width:98%;" id="i3GEOmelhorcaminhoresultado" >'; | |
102 | + ins += '</div>'; | |
103 | + ins += '<div style="top:10px;left:0px;display:block;width:98%;color:red" id="i3GEOmelhorcaminhofim" >'; | |
104 | + ins += '</div>'; | |
105 | + return ins; | |
106 | + }, | |
107 | + /* | |
108 | + Function: iniciaJanelaFlutuante | |
109 | + | |
110 | + Cria a janela flutuante para controle da ferramenta. | |
111 | + */ | |
112 | + iniciaJanelaFlutuante: function(){ | |
113 | + var minimiza,cabecalho,janela,divid,titulo,temp; | |
114 | + if($i("i3GEOF.melhorcaminho")){ | |
115 | + return; | |
116 | + } | |
117 | + //cria a janela flutuante | |
118 | + titulo = $trad("melhorcaminho")+" <a class=ajuda_usuario target=_blank href='" + i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=14' > </a>"; | |
119 | + cabecalho = function(){ | |
120 | + i3GEO.barraDeBotoes.execBotao("pan"); | |
121 | + }; | |
122 | + minimiza = function(){ | |
123 | + i3GEO.janela.minimiza("i3GEOF.melhorcaminho"); | |
124 | + }; | |
125 | + janela = i3GEO.janela.cria( | |
126 | + "400px", | |
127 | + "190px", | |
128 | + "", | |
129 | + "", | |
130 | + "", | |
131 | + titulo, | |
132 | + "i3GEOF.melhorcaminho", | |
133 | + false, | |
134 | + "hd", | |
135 | + cabecalho, | |
136 | + minimiza, | |
137 | + "", | |
138 | + false, | |
139 | + i3GEO.configura.locaplic+"/imagens/oxygen/16x16/accessories-calculator.png" | |
140 | + ); | |
141 | + divid = janela[2].id; | |
142 | + janela[0].setFooter("<div id=i3GEOF.melhorcaminho_rodape style=background-color:#F2F2F2; ></div>"); | |
143 | + i3GEOF.melhorcaminho.aguarde = $i("i3GEOF.melhorcaminho_imagemCabecalho").style; | |
144 | + i3GEOF.melhorcaminho.inicia(divid); | |
145 | + temp = function(){ | |
146 | + i3GEO.eventos.cliquePerm.ativa(); | |
147 | + i3GEO.eventos.removeEventos("MOUSECLIQUE",["i3GEOF.melhorcaminho.capturaPontoA()","i3GEOF.melhorcaminho.capturaPontoB()"]); | |
148 | + }; | |
149 | + YAHOO.util.Event.addListener(janela[0].close, "click", temp); | |
150 | + }, | |
151 | + t0: function() | |
152 | + { | |
153 | + var ins = "<img class=i3GeoExemploImg src='"+i3GEO.configura.locaplic+"/ferramentas/melhorcaminho/exemplo.png' />" + | |
154 | + "<p class='paragrafo' >"+$trad('ajuda',i3GEOF.melhorcaminho.dicionario) + | |
155 | + "<p class='paragrafo'>"+$trad('ajuda2',i3GEOF.melhorcaminho.dicionario) + | |
156 | + "<p class='paragrafo'>"+$trad('ajuda3',i3GEOF.melhorcaminho.dicionario); | |
157 | + i3GEO.util.proximoAnterior("","i3GEOF.melhorcaminho.t1()",ins,"i3GEOF.melhorcaminho.t0","i3GEOmelhorcaminhoresultado",true,"i3GEOF.melhorcaminho_rodape"); | |
158 | + }, | |
159 | + t1: function(){ | |
160 | + var ins = "<p class='paragrafo'>"+$trad('raster',i3GEOF.melhorcaminho.dicionario) +" :<br>" + | |
161 | + "<div class='styled-select' id='i3GEOmelhorcaminhoDivRaster'></div>" + | |
162 | + "<br>"; | |
163 | + i3GEO.util.proximoAnterior("i3GEOF.melhorcaminho.t0()","i3GEOF.melhorcaminho.t2()",ins,"i3GEOF.melhorcaminho.t1","i3GEOmelhorcaminhoresultado",true,"i3GEOF.melhorcaminho_rodape"); | |
164 | + i3GEOF.melhorcaminho.comboTemasRaster(); | |
165 | + }, | |
166 | + t2: function(){ | |
167 | + var ins = "<p class='paragrafo'>"+$trad('temas',i3GEOF.melhorcaminho.dicionario) +" :<br>" + | |
168 | + "<div class='styled-select' id='i3GEOmelhorcaminhoDivTema'></div>" + | |
169 | + "<br>"; | |
170 | + i3GEO.util.proximoAnterior("i3GEOF.melhorcaminho.t1()","i3GEOF.melhorcaminho.t3()",ins,"i3GEOF.melhorcaminho.t2","i3GEOmelhorcaminhoresultado",true,"i3GEOF.melhorcaminho_rodape"); | |
171 | + i3GEOF.melhorcaminho.comboTemas(); | |
172 | + }, | |
173 | + t3: function(){ | |
174 | + var ins = "<p class='paragrafo'><b>"+$trad('pti',i3GEOF.melhorcaminho.dicionario)+"</b>"; | |
175 | + ins += "<p class='paragrafo'>X (long): "; | |
176 | + ins += $trad('grau',i3GEOF.melhorcaminho.dicionario)+" - "+$trad('minuto',i3GEOF.melhorcaminho.dicionario)+" - "+$trad('segundo',i3GEOF.melhorcaminho.dicionario)+"</p>"; | |
177 | + ins += "<div class='i3geoForm100 i3geoFormIconeEdita' style='float:left;' ><input id='i3GEOmelhorcaminhoxg' title='grau' type=text value='1'/></div>"; | |
178 | + ins += "<div class='i3geoForm100 i3geoFormIconeEdita' style='float:left;margin-left:10px;margin-right:10px;' ><input id='i3GEOmelhorcaminhoxm' title='minuto' type=text value='00'/></div>"; | |
179 | + ins += "<div class='i3geoForm100 i3geoFormIconeEdita' style='margin-left:10px;' ><input id='i3GEOmelhorcaminhoxs' title='segundo' type=text value='00.00'/></div>"; | |
180 | + | |
181 | + ins += "<br><p class='paragrafo'>Y (lat): "; | |
182 | + ins += $trad('grau',i3GEOF.melhorcaminho.dicionario)+" - "+$trad('minuto',i3GEOF.melhorcaminho.dicionario)+" - "+$trad('segundo',i3GEOF.melhorcaminho.dicionario)+"</p>"; | |
183 | + ins += "<div class='i3geoForm100 i3geoFormIconeEdita' style='float:left;' ><input id='i3GEOmelhorcaminhoyg' title='grau' type=text value='1'/></div>"; | |
184 | + ins += "<div class='i3geoForm100 i3geoFormIconeEdita' style='float:left;margin-left:10px;' ><input id='i3GEOmelhorcaminhoym' title='minuto' type=text value='00'/></div>"; | |
185 | + ins += "<div class='i3geoForm100 i3geoFormIconeEdita' style='float:left;margin-left:10px;' ><input id='i3GEOmelhorcaminhoys' title='segundo' type=text value='00.00'/></div>"; | |
186 | + | |
187 | + i3GEO.util.proximoAnterior("i3GEOF.melhorcaminho.t2()","i3GEOF.melhorcaminho.t4()",ins,"i3GEOF.melhorcaminho.t3","i3GEOmelhorcaminhoresultado",true,"i3GEOF.melhorcaminho_rodape"); | |
188 | + i3GEO.eventos.cliquePerm.desativa(); | |
189 | + i3GEO.eventos.adicionaEventos("MOUSECLIQUE",["i3GEOF.melhorcaminho.capturaPontoA()"]); | |
190 | + //calcula as coordenadas em DD | |
191 | + dms = i3GEO.calculo.dd2dms(retorno.data.ax,retorno.data.ay); | |
192 | + dmsx = dms[0].split(" "); | |
193 | + dmsy = dms[1].split(" "); | |
194 | + $i("i3GEOmelhorcaminhoxg").value = dmsx[0]; | |
195 | + $i("i3GEOmelhorcaminhoxm").value = dmsx[1]; | |
196 | + $i("i3GEOmelhorcaminhoxs").value = dmsx[2]; | |
197 | + $i("i3GEOmelhorcaminhoyg").value = dmsy[0]; | |
198 | + $i("i3GEOmelhorcaminhoym").value = dmsy[1]; | |
199 | + $i("i3GEOmelhorcaminhoys").value = dmsy[2]; | |
200 | + }, | |
201 | + t4: function(){ | |
202 | + var ins = "<p class='paragrafo'><b>"+$trad('ptf',i3GEOF.melhorcaminho.dicionario)+"</b>"; | |
203 | + ins += "<p class='paragrafo'>X (long): "; | |
204 | + ins += $trad('grau',i3GEOF.melhorcaminho.dicionario)+" - "+$trad('minuto',i3GEOF.melhorcaminho.dicionario)+" - "+$trad('segundo',i3GEOF.melhorcaminho.dicionario)+"</p>"; | |
205 | + ins += "<div class='i3geoForm100 i3geoFormIconeEdita' style='float:left;' ><input id='i3GEOmelhorcaminhoixg' title='grau' type=text value='1'/></div>"; | |
206 | + ins += "<div class='i3geoForm100 i3geoFormIconeEdita' style='float:left;margin-left:10px;margin-right:10px;' ><input id='i3GEOmelhorcaminhoixm' title='minuto' type=text value='00'/></div>"; | |
207 | + ins += "<div class='i3geoForm100 i3geoFormIconeEdita' style='margin-left:10px;' ><input id='i3GEOmelhorcaminhoixs' title='segundo' type=text value='00.00'/></div>"; | |
208 | + | |
209 | + ins += "<br><p class='paragrafo'>Y (lat): "; | |
210 | + ins += $trad('grau',i3GEOF.melhorcaminho.dicionario)+" - "+$trad('minuto',i3GEOF.melhorcaminho.dicionario)+" - "+$trad('segundo',i3GEOF.melhorcaminho.dicionario)+"</p>"; | |
211 | + ins += "<div class='i3geoForm100 i3geoFormIconeEdita' style='float:left;' ><input id='i3GEOmelhorcaminhoiyg' title='grau' type=text value='1'/></div>"; | |
212 | + ins += "<div class='i3geoForm100 i3geoFormIconeEdita' style='float:left;margin-left:10px;' ><input id='i3GEOmelhorcaminhoiym' title='minuto' type=text value='00'/></div>"; | |
213 | + ins += "<div class='i3geoForm100 i3geoFormIconeEdita' style='float:left;margin-left:10px;' ><input id='i3GEOmelhorcaminhoiys' title='segundo' type=text value='00.00'/></div>"; | |
214 | + | |
215 | + i3GEO.util.proximoAnterior("i3GEOF.melhorcaminho.t3()","i3GEOF.melhorcaminho.t5()",ins,"i3GEOF.melhorcaminho.t4","i3GEOmelhorcaminhoresultado",true,"i3GEOF.melhorcaminho_rodape"); | |
216 | + | |
217 | + i3GEO.eventos.cliquePerm.desativa(); | |
218 | + i3GEO.eventos.adicionaEventos("MOUSECLIQUE",["i3GEOF.melhorcaminho.capturaPontoB()"]); | |
219 | + //calcula as coordenadas em DD | |
220 | + dms = i3GEO.calculo.dd2dms(retorno.data.bx,retorno.data.by); | |
221 | + dmsx = dms[0].split(" "); | |
222 | + dmsy = dms[1].split(" "); | |
223 | + $i("i3GEOmelhorcaminhoixg").value = dmsx[0]; | |
224 | + $i("i3GEOmelhorcaminhoixm").value = dmsx[1]; | |
225 | + $i("i3GEOmelhorcaminhoixs").value = dmsx[2]; | |
226 | + $i("i3GEOmelhorcaminhoiyg").value = dmsy[0]; | |
227 | + $i("i3GEOmelhorcaminhoiym").value = dmsy[1]; | |
228 | + $i("i3GEOmelhorcaminhoiys").value = dmsy[2]; | |
229 | + }, | |
230 | + t5: function(){ | |
231 | + var ins = "<p class='paragrafo'><b>"+$trad('numero',i3GEOF.melhorcaminho.dicionario)+"</b>"; | |
232 | + ins += "<p class='paragrafo'>X</p>"; | |
233 | + ins += "<div class='i3geoForm i3geoFormIconeEdita' ><input id='i3GEOmelhorcaminhonptx' title='pontos em x' type=text value='10'/></div>"; | |
234 | + ins += "<br><p class='paragrafo'>Y"; | |
235 | + ins += "<div class='i3geoForm i3geoFormIconeEdita' ><input id='i3GEOmelhorcaminhonpty' title='pontos em y' type=text value='10'/></div>"; | |
236 | + | |
237 | + i3GEO.util.proximoAnterior("i3GEOF.melhorcaminho.t2()","i3GEOF.melhorcaminho.t4()",ins,"i3GEOF.melhorcaminho.t3","i3GEOmelhorcaminhoresultado",true,"i3GEOF.melhorcaminho_rodape"); | |
238 | + }, | |
239 | + t6: function(){ | |
240 | + var b,ins = "<p class='paragrafo'><b>"+$trad('adicionaTema',i3GEOF.melhorcaminho.dicionario)+"</b>"; | |
241 | + ins += "<p class='paragrafo'><input id=i3GEOmelhorcaminhobotao1 size=18 class=executar type='button' value='"+$trad('criaGrade',i3GEOF.melhorcaminho.dicionario)+"' />"; | |
242 | + | |
243 | + i3GEO.util.proximoAnterior("i3GEOF.melhorcaminho.t3()","",ins,"i3GEOF.melhorcaminho.t4","i3GEOmelhorcaminhoresultado",true,"i3GEOF.melhorcaminho_rodape"); | |
244 | + b = new YAHOO.widget.Button( | |
245 | + "i3GEOmelhorcaminhobotao1", | |
246 | + {onclick:{fn: i3GEOF.melhorcaminho.criaGrade}} | |
247 | + ); | |
248 | + b.addClass("rodar"); | |
249 | + }, | |
250 | + comboTemasRaster: function(){ | |
251 | + i3GEO.util.comboTemas( | |
252 | + "i3GEOmelhorcaminhoRaster", | |
253 | + function(retorno){ | |
254 | + $i("i3GEOmelhorcaminhoDivRaster").innerHTML = retorno.dados; | |
255 | + $i("i3GEOmelhorcaminhoDivRaster").style.display = "block"; | |
256 | + }, | |
257 | + "i3GEOmelhorcaminhoDivRaster", | |
258 | + "", | |
259 | + false, | |
260 | + "raster", | |
261 | + " " | |
262 | + ); | |
263 | + }, | |
264 | + comboTemas: function(){ | |
265 | + i3GEO.util.comboTemas( | |
266 | + "i3GEOmelhorcaminhoTema", | |
267 | + function(retorno){ | |
268 | + $i("i3GEOmelhorcaminhoDivTema").innerHTML = retorno.dados; | |
269 | + $i("i3GEOmelhorcaminhoDivTema").style.display = "block"; | |
270 | + if ($i("i3GEOmelhorcaminhoTema")){ | |
271 | + $i("i3GEOmelhorcaminhoTema").onchange = function(){ | |
272 | + //captura o ponto inicial e final | |
273 | + i3GEOF.melhorcaminho.shape2pontos($i("i3GEOmelhorcaminhoTema").value); | |
274 | + }; | |
275 | + } | |
276 | + }, | |
277 | + "i3GEOmelhorcaminhoDivTema", | |
278 | + "", | |
279 | + false, | |
280 | + "naoraster", | |
281 | + " " | |
282 | + ); | |
283 | + }, | |
284 | + shape2pontos: function(tema){ | |
285 | + var p, par, retorno | |
286 | + p = i3GEO.configura.locaplic + "/ferramentas/melhorcaminho/exec.php?g_sid="+i3GEO.configura.sid; | |
287 | + par = "funcao=shape2pontos&tema=" + tema; | |
288 | + retorno = function(retorno) { | |
289 | + var dms,dmsx,dmsy; | |
290 | + i3GEO.janela.fechaAguarde("shape2pontos"); | |
291 | + i3GEOF.melhorcaminho.COORDENADASTEMA = retorno.data; | |
292 | + i3GEOF.melhorcaminho.t3(); | |
293 | + }; | |
294 | + i3GEO.janela.abreAguarde("shape2pontos", $trad("o1")); | |
295 | + cpJSON.call(p, "foo", retorno, par); | |
296 | + }, | |
297 | + capturaPontoA: function(){ | |
298 | + i3GEO.eventos.cliqueCapturaPt( | |
299 | + "i3GEOmelhorcaminhoxg", | |
300 | + "i3GEOmelhorcaminhoxm", | |
301 | + "i3GEOmelhorcaminhoxs", | |
302 | + "i3GEOmelhorcaminhoyg", | |
303 | + "i3GEOmelhorcaminhoym", | |
304 | + "i3GEOmelhorcaminhoys" | |
305 | + ); | |
306 | + }, | |
307 | + capturaPontoB: function(){ | |
308 | + i3GEO.eventos.cliqueCapturaPt( | |
309 | + "i3GEOmelhorcaminhoixg", | |
310 | + "i3GEOmelhorcaminhoixm", | |
311 | + "i3GEOmelhorcaminhoixs", | |
312 | + "i3GEOmelhorcaminhoiyg", | |
313 | + "i3GEOmelhorcaminhoiym", | |
314 | + "i3GEOmelhorcaminhoiys" | |
315 | + ); | |
316 | + }, | |
317 | + /* | |
318 | + Function: criaGrade | |
319 | + | |
320 | + Cria a grade e adiciona um novo tema ao mapa | |
321 | + | |
322 | + Veja: | |
323 | + | |
324 | + <GRADEDEPOL> | |
325 | + */ | |
326 | + criaGrade: function(){ | |
327 | + try{ | |
328 | + if(i3GEOF.melhorcaminho.aguarde.visibility === "visible") | |
329 | + {return;} | |
330 | + i3GEOF.melhorcaminho.aguarde.visibility = "visible"; | |
331 | + var dx,dy,ix,iy,nptx,npty,fim,p,cp,proj="nao"; | |
332 | + if(!$i("i3GEOmelhorcaminhoProj").checked){ | |
333 | + dx = i3GEO.calculo.dms2dd($i("i3GEOmelhorcaminhoxg").value,$i("i3GEOmelhorcaminhoxm").value,$i("i3GEOmelhorcaminhoxs").value); | |
334 | + dy = i3GEO.calculo.dms2dd($i("i3GEOmelhorcaminhoyg").value,$i("i3GEOmelhorcaminhoym").value,$i("i3GEOmelhorcaminhoys").value); | |
335 | + } | |
336 | + else{ | |
337 | + proj = "sim"; | |
338 | + dx = $i("i3GEOmelhorcaminhoxg").value; | |
339 | + dy = $i("i3GEOmelhorcaminhoyg").value; | |
340 | + } | |
341 | + ix = i3GEO.calculo.dms2dd($i("i3GEOmelhorcaminhoixg").value,$i("i3GEOmelhorcaminhoixm").value,$i("i3GEOmelhorcaminhoixs").value); | |
342 | + iy = i3GEO.calculo.dms2dd($i("i3GEOmelhorcaminhoiyg").value,$i("i3GEOmelhorcaminhoiym").value,$i("i3GEOmelhorcaminhoiys").value); | |
343 | + nptx = $i("i3GEOmelhorcaminhonptx").value; | |
344 | + npty = $i("i3GEOmelhorcaminhonpty").value; | |
345 | + if ((dx == 0) || (dy == 0)) | |
346 | + {i3GEO.janela.tempoMsg($trad('msg',i3GEOF.melhorcaminho.dicionario));return;} | |
347 | + if ((nptx == 0) || (npty == 0)) | |
348 | + {i3GEO.janela.tempoMsg($trad('msg2',i3GEOF.melhorcaminho.dicionario));return;} | |
349 | + if (nptx * npty > 10000) | |
350 | + {i3GEO.janela.tempoMsg($trad('msg2',i3GEOF.melhorcaminho.dicionario));return;} | |
351 | + fim = function(retorno){ | |
352 | + i3GEOF.melhorcaminho.aguarde.visibility = "hidden"; | |
353 | + if (retorno.data == undefined ) | |
354 | + {$i("i3GEOmelhorcaminhofim").innerHTML = "<p class='paragrafo'>Erro. ";} | |
355 | + else | |
356 | + {i3GEO.atualiza("");} | |
357 | + }; | |
358 | + p = i3GEO.configura.locaplic+"/ferramentas/melhorcaminho/exec.php?g_sid="+i3GEO.configura.sid+"&proj="+proj+"&funcao=gradedepol&xdd="+dx+"&ydd="+dy+"&px="+ix+"&py="+iy+"&nptx="+nptx+"&npty="+npty; | |
359 | + cp = new cpaint(); | |
360 | + cp.set_response_type("JSON"); | |
361 | + cp.call(p,"melhorcaminho",fim); | |
362 | + } | |
363 | + catch(e){$i("i3GEOmelhorcaminhofim").innerHTML = "<p class='paragrafo' >Erro. "+e;i3GEOF.melhorcaminho.aguarde.visibility = "hidden";} | |
364 | + }, | |
365 | + /* | |
366 | + Function: capturaPonto | |
367 | + | |
368 | + Captura um ponto no mapa e preenche os campos de coordenadas de início da grade | |
369 | + */ | |
370 | + capturaPonto: function(){ | |
371 | + i3GEO.eventos.cliqueCapturaPt( | |
372 | + "i3GEOmelhorcaminhoixg", | |
373 | + "i3GEOmelhorcaminhoixm", | |
374 | + "i3GEOmelhorcaminhoixs", | |
375 | + "i3GEOmelhorcaminhoiyg", | |
376 | + "i3GEOmelhorcaminhoiym", | |
377 | + "i3GEOmelhorcaminhoiys" | |
378 | + ); | |
379 | + } | |
380 | +}; | ... | ... |
... | ... | @@ -0,0 +1,2 @@ |
1 | +<div style='padding: 5px; background-color: #F2F2F2; top: 0px; left: 0px; display: block; width: 98%;' id='i3GEOmelhorcaminhoresultado'></div> | |
2 | +<div style='top: 10px; left: 0px; display: block; width: 98%; color: red' id='i3GEOmelhorcaminhofim'></div> | |
0 | 3 | \ No newline at end of file | ... | ... |
... | ... | @@ -0,0 +1,252 @@ |
1 | +<?php | |
2 | +//Utilize para testar a carga de uma ferramenta | |
3 | +//exemplo: http://localhost/i3geo/ferramentas/teste.phtml?f=i3GEO.analise.dialogo.melhorcaminho() | |
4 | +?> | |
5 | + | |
6 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/strict.dtd"> | |
7 | +<html> | |
8 | +<head> | |
9 | +<meta http-equiv="Category" content="i3Geo Mapa interativo MMA geoprocessamento sig mobile"> | |
10 | +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> | |
11 | +<title>i3GEO - OpenLayers</title> | |
12 | +<script src="../classesjs/i3geonaocompacto.js"></script> | |
13 | +<script src="../pacotes/openlayers/OpenLayers2131.js.php"></script> | |
14 | +<link rel="stylesheet" type="text/css" href="../css/black.css"> | |
15 | +<style> | |
16 | +.olControlEditingToolbar1 div { | |
17 | + background-image: url(../mashups/openlayers.png); | |
18 | + background-repeat: no-repeat; | |
19 | + float: right; | |
20 | + right: 50px; | |
21 | + height: 29px; | |
22 | + margin: 2px; | |
23 | + width: 29px; | |
24 | + cursor: pointer; | |
25 | + top: 10px; | |
26 | +} | |
27 | +</style> | |
28 | +</head> | |
29 | +<body id="i3geo" style='margin-left: 7px; background: white;'> | |
30 | + <!-- inclui o nome do usuario logado --> | |
31 | + <div id="i3GEONomeLogin" style="position: absolute; left: 10px; top: 12px; font-size: 11px; z-index: 50000"></div> | |
32 | + <table id='mst' summary="" style='display: none;' width=100% cellspacing='0'> | |
33 | + <tr> | |
34 | + <td id="contemMenu" style="background: black; height: 30px; text-align: right; border-width: 0pt 0pt 1px; border-color: rgb(240, 240, 240)"> | |
35 | + <!--menu suspenso--> | |
36 | + <div id="menus" style="height: 30px;"></div> | |
37 | + </td> | |
38 | + </tr> | |
39 | + <tr> | |
40 | + <td style="vertical-align: top; border-width: 0px;"> | |
41 | + <table width="100%" style="vertical-align: top; border-width: 0px"> | |
42 | + <tr> | |
43 | + <td class=verdeclaro id=contemImg> | |
44 | + <div id=corpoMapa style="position: relative; background-image: url('../imagens/i3geo1bw.jpg');"></div> | |
45 | + </td> | |
46 | + </tr> | |
47 | + </table> | |
48 | + </td> | |
49 | + </tr> | |
50 | + <tr> | |
51 | + <td> | |
52 | + <table style="width: 100%; height: 28px"> | |
53 | + <tr> | |
54 | + <td class=fundoRodape style="width: 25%"> | |
55 | + <!-- aqui será incluída a escala numérica --> | |
56 | + <div id=escala style="margin: auto; text-align: right; left: 15px;"></div> | |
57 | + </td> | |
58 | + <td class=fundoRodape style="width: 5%"></td> | |
59 | + <td class=fundoRodape style="width: 40%"> | |
60 | + <!-- aqui será incluído o gadget que mostra a coordenada geográfica da posição do mouse --> | |
61 | + <div id=localizarxy style="margin: auto; text-align: left; font-size: 10px; display: inline-table"></div> | |
62 | + </td> | |
63 | + <td class=fundoRodape style="width: 20%"> | |
64 | + <!-- botão de compartilhamento em redes sociais--> | |
65 | + <!--<div id=i3GEOcompartilhar style="width: 170px; margin: auto; text-align: left; padding-top: 1px"></div> --> | |
66 | + <!-- aqui será incluído o contador de tempo quando o temporizador de redesenho do mapa estiver ativo --> | |
67 | + <div id=tempoRedesenho style="z-index: 100; position: absolute; top: 0px; color: green; background-color: black; width: 50px; display: none"></div> | |
68 | + </td> | |
69 | + <!-- aqui serão incluídas as bandeiras que permitem a troca de idioma --> | |
70 | + <td class=fundoRodape style="width: 10%;"> | |
71 | + <div id=seletorIdiomas style="right: 15px;"></div> | |
72 | + </td> | |
73 | + </tr> | |
74 | + </table> | |
75 | + </td> | |
76 | + </tr> | |
77 | + </table> | |
78 | + <table id="i3GEOlogoMarca" style='margin: 0px auto; box-shadow: 0 1px 13px gray; border-radius: 5px;'> | |
79 | + <tr> | |
80 | + <td style="height: 30px"> | |
81 | + <div id=versaoi3geo></div> | |
82 | + <h2 style="font-weight: normal; font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif;">i3Geo - Software livre para criação de mapas interativos e geoprocessamento</h2> | |
83 | + <h3 style="font-weight: normal; font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif;">Baseado no Mapserver, é licenciado sob GPL e integra o Portal do Software Público Brasileiro</h3> | |
84 | + </td> | |
85 | + </tr> | |
86 | + <tr> | |
87 | + <td style="padding: 10px;"> | |
88 | + <img style="width: 560px; height: 81px" alt="" src='../imagens/logo_inicio.png'> | |
89 | + </td> | |
90 | + </tr> | |
91 | + <tr> | |
92 | + <td> | |
93 | + <!-- | |
94 | + <script id="ohloh" type="text/javascript" src="http://www.ohloh.net/p/150688/widgets/project_users.js?style=red"></script> | |
95 | + --> | |
96 | + </td> | |
97 | + </tr> | |
98 | + </table> | |
99 | + | |
100 | + <div id="i3GEOguiaMovel" style="visibility: hidden; position: absolute; display: block; border: 0px solid white; text-align: left; z-index: 2000; background-color: none"> | |
101 | + <div style="cursor: pointer; position: absolute; top: 50%; margin-top: -65px; width: 30px; z-index: 5000; left: 18px; background-color: lightgray; border: 1px solid lightgray; border-radius: 5px; opacity: 0.8;box-shadow:-1px 0px 1px 1px rgba(200, 200, 200, 0.81)"> | |
102 | + <!-- <img src='../imagens/openbars1.png' style="width: 48px; position: absolute; left: -16px; height: 418px; top: -160px;">--> | |
103 | + <div id="iconeGuia_temas" ></div> | |
104 | + <div id="iconeGuia_adiciona" style="margin-top: 3px;"></div> | |
105 | + <div id="iconeGuia_legenda" style="margin-top: 3px;"></div> | |
106 | + </div> | |
107 | + | |
108 | + <!-- | |
109 | + <img id="i3GEOguiaMovelPuxador" onclick='i3GEO.guias.guiaMovel.abreFecha()' style='z-index:2;border:solid 0px white;left:0px;position:absolute;top:0px' width='0px' src='../imagens/openbars.png' > | |
110 | + --> | |
111 | + <div id="i3GEOguiaMovelMolde" style="top: 0px; box-shadow: 0 2px 10px 0 #888888; position: absolute; display: none; border: 0px solid white; text-align: left; z-index: 1000; background-color: gray"> | |
112 | + <!-- | |
113 | + <div id="i3GEOguiaMovelIcones" style='overflow:none;left:0px;display:none;position:absolute;top:0px;text-align:center;height:0px;width:0px;border:solid 0px white;background-color:white' ></div> | |
114 | + --> | |
115 | + <div id="i3GEOguiaMovelConteudo" style='top: 10px; overflow: auto; display: none; position: absolute; border-color: gray; border-width: 0px 0 0px 0px; left: 0px; height: 0px; background-color: white'> | |
116 | + <div id='guia1obj' style='display: none;'> | |
117 | + <!-- Esta div acrescenta a opção de busca rápida, caso vc queira colocá-la em um lugar específico --> | |
118 | + <div style='left:5px;top:10px;width:150px;' id=buscaRapida ></div> | |
119 | + <!-- Esta div acrescenta a lista de propriedades do mapa --> | |
120 | + <div id=listaPropriedades style='top: 15px;'></div> | |
121 | + <!-- Esta div acrescenta a lista de de camadas do tipo 'baselayers' específicas da interface Openlayers. Veja também a opção i3GEO.Interface.openlayers.GADGETS.LayerSwitcher --> | |
122 | + <div id=listaLayersBase style='top: 15px;'></div> | |
123 | + <!-- Esta div acrescenta a lista de de camadas disponíveis no mapa atual --> | |
124 | + <div id=listaTemas style='top: 15px;'></div> | |
125 | + </div> | |
126 | + <div id='guia2obj' style='display: none;'> | |
127 | + Aguarde... | |
128 | + <img alt="" src="../imagens/branco.gif" width=248 /> | |
129 | + </div> | |
130 | + <div id='guia4obj' style='display: none; text-align: left'> | |
131 | + <div id='legenda' style='text-align: left'></div> | |
132 | + </div> | |
133 | + <!-- | |
134 | + <div id='guia5obj' style='display:none;text-align:left'><div id='banners' style='overflow:auto;text-align:left'>Aguarde...</div></div> | |
135 | + --> | |
136 | + </div> | |
137 | + </div> | |
138 | + </div> | |
139 | + <script> | |
140 | + i3GEO.configura.locaplic = i3GEO.util.protocolo() + "://" | |
141 | + + window.location.host + "/i3geo"; | |
142 | + i3GEO.configura.autotamanho = false; | |
143 | + i3GEO.Interface.ATUAL = "openlayers"; | |
144 | + i3GEO.Interface.IDCORPO = "contemImg"; | |
145 | + i3GEO.gadgets.PARAMETROS.mostraMenuSuspenso.permiteLogin = true; | |
146 | + | |
147 | + i3GEO.Interface.openlayers.TILES = true; | |
148 | + | |
149 | + i3GEO.configura.guardaExtensao = false; | |
150 | + i3GEO.gadgets.PARAMETROS.mostraMenuSuspenso.finaliza = 'if($i("omenudataInterface1")){i3GEOoMenuBar.getMenuItem("omenudataInterface1").cfg.setProperty("text", " ");}'; | |
151 | + | |
152 | + i3GEO.cria(); | |
153 | + i3GEO.configura.mapaRefDisplay = "none"; | |
154 | + i3GEO.barraDeBotoes.TIPO = "olhodepeixe"; | |
155 | + //ajusta o deslocamento da barra de botoes | |
156 | + i3GEO.barraDeBotoes.OFFSET = 11; | |
157 | + //ajusta a posicao da barra de botoes no IE | |
158 | + if(navm){ | |
159 | + i3GEO.barraDeBotoes.OFFSET = 5; | |
160 | + } | |
161 | + if(chro){ | |
162 | + i3GEO.barraDeBotoes.OFFSET = 15; | |
163 | + } | |
164 | + | |
165 | + i3GEO.configura.oMenuData["submenus"]["janelas"] = []; | |
166 | + i3GEO.ajuda.ATIVAJANELA = false; | |
167 | + i3GEO.idioma.IDSELETOR = "seletorIdiomas"; | |
168 | + | |
169 | + //i3GEO.arvoreDeTemas.TIPOBOTAO = "radio"; | |
170 | + i3GEO.arvoreDeTemas.OPCOESADICIONAIS.comentarios = true; | |
171 | + i3GEO.arvoreDeCamadas.VERIFICAABRANGENCIATEMAS = true; | |
172 | + i3GEO.arvoreDeCamadas.MOSTRALISTAKML = false; | |
173 | + i3GEO.mapa.AUTORESIZE = true; | |
174 | + i3GEO.guias.TIPO = "movel"; | |
175 | + i3GEO.guias.guiaMovel.config.topGuiaMovel = 36; | |
176 | + i3GEO.janela.ativaAlerta(); | |
177 | + i3GEO.finaliza = function() { | |
178 | + if ($i("i3GEOlogoMarca")) { | |
179 | + $i("i3GEOlogoMarca").style.display = "none"; | |
180 | + } | |
181 | + i3GEO.mapa.insereDobraPagina("googlemaps", | |
182 | + "../imagens/dobragooglemaps.png" | |
183 | + ); | |
184 | + }; | |
185 | + i3GEO.finalizaAPI = function() { | |
186 | + <?php echo $_GET["f"].";";?> | |
187 | + }; | |
188 | + //indica se a opcao de navegacao nas pastas do servidor sera ativada | |
189 | + i3GEO.arvoreDeTemas.OPCOESADICIONAIS.navegacaoDir = true; | |
190 | + i3GEO.janela.TRANSICAOSUAVE = true; | |
191 | + | |
192 | + OpenLayers.ImgPath = "../pacotes/openlayers/img/"; | |
193 | + (function() { | |
194 | + var oce = new OpenLayers.Layer.ArcGIS93Rest( | |
195 | + "ESRI Ocean Basemap", | |
196 | + "http://server.arcgisonline.com/ArcGIS/rest/services/Ocean_Basemap/MapServer/export", | |
197 | + { | |
198 | + format : "jpeg" | |
199 | + }, { | |
200 | + isBaseLayer : true, | |
201 | + visibility : false | |
202 | + }); | |
203 | + var ims = new OpenLayers.Layer.ArcGIS93Rest( | |
204 | + "ESRI Imagery World 2D", | |
205 | + "http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer/export", | |
206 | + { | |
207 | + format : "jpeg" | |
208 | + }, { | |
209 | + isBaseLayer : true, | |
210 | + visibility : false | |
211 | + }); | |
212 | + var wsm = new OpenLayers.Layer.ArcGIS93Rest( | |
213 | + "ESRI World Street Map", | |
214 | + "http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer/export", | |
215 | + { | |
216 | + format : "jpeg" | |
217 | + }, { | |
218 | + isBaseLayer : true, | |
219 | + visibility : false | |
220 | + }); | |
221 | + var bra = new OpenLayers.Layer.WMS( | |
222 | + "Base carto MMA", | |
223 | + "http://mapas.mma.gov.br/cgi-bin/mapserv?map=/opt/www/html/webservices/baseraster.map", | |
224 | + { | |
225 | + layers : "baseraster", | |
226 | + srs : "EPSG:4618", | |
227 | + format : "image/png", | |
228 | + isBaseLayer : false | |
229 | + }, { | |
230 | + isBaseLayer : true, | |
231 | + visibility : false | |
232 | + }); | |
233 | + | |
234 | + var tms = new OpenLayers.Layer.TMS("OSGEO", | |
235 | + "http://tilecache.osgeo.org/wms-c/Basic.py/", { | |
236 | + layername : "basic", | |
237 | + type : "png", | |
238 | + // set if different than the bottom left of map.maxExtent | |
239 | + tileOrigin : new OpenLayers.LonLat(-180, -90), | |
240 | + isBaseLayer : true, | |
241 | + visibility : false | |
242 | + }); | |
243 | + | |
244 | + i3GEO.Interface.openlayers.LAYERSADICIONAIS = [ oce, ims, wsm, tms, | |
245 | + bra ]; | |
246 | + })(); | |
247 | + i3GEO.configura.sid = ""; | |
248 | + i3GEO.inicia(); | |
249 | + | |
250 | + </script> | |
251 | +</body> | |
252 | +</html> | ... | ... |