| @@ -0,0 +1,380 @@ |
| @@ -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
| +}; |