Commit 63378c88262a24e1ea344d01e6fdf857a0c34f42
1 parent
03e1d98a
Exists in
master
and in
7 other branches
Incluída função de cálculo de direção entre dois pontos (i3geo.calculo.direcao).…
… A janela da ferramenta de cálculo de distâncias agora mostra também a direção.
Showing
7 changed files
with
237 additions
and
11 deletions
Show diff stats
classesjs/classe_analise.js
| ... | ... | @@ -210,7 +210,7 @@ i3GEO.analise = { |
| 210 | 210 | } |
| 211 | 211 | |
| 212 | 212 | YAHOO.namespace("janelaDocamede.xp"); |
| 213 | - YAHOO.janelaDocamede.xp.panel = new YAHOO.widget.Panel("mostradistancia", {width:220,fixedcenter: false, constraintoviewport: true, underlay:"none", close:true, visible:true, draggable:true, modal:false } ); | |
| 213 | + YAHOO.janelaDocamede.xp.panel = new YAHOO.widget.Panel("mostradistancia", {width:300,fixedcenter: false, constraintoviewport: true, underlay:"none", close:true, visible:true, draggable:true, modal:false } ); | |
| 214 | 214 | YAHOO.janelaDocamede.xp.panel.render(); |
| 215 | 215 | YAHOO.janelaDocamede.xp.panel.moveTo(imagemxi+150,imagemyi); |
| 216 | 216 | YAHOO.util.Event.addListener(YAHOO.janelaDocamede.xp.panel.close, "click", i3GEO.analise.medeDistancia.fechaJanela); |
| ... | ... | @@ -274,6 +274,9 @@ i3GEO.analise = { |
| 274 | 274 | var n = pontosdistobj.xpt.length; |
| 275 | 275 | if (n > 0){ |
| 276 | 276 | var d = i3GEO.calculo.distancia(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy); |
| 277 | + var r = i3GEO.calculo.direcao(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy); | |
| 278 | + var r = i3GEO.calculo.dd2dms(r,r); | |
| 279 | + var r = r[0]; | |
| 277 | 280 | if (i3GEO.parametros.mapscale > 500000) |
| 278 | 281 | {var d = parseInt(d);} |
| 279 | 282 | else{ |
| ... | ... | @@ -284,8 +287,9 @@ i3GEO.analise = { |
| 284 | 287 | d = d * 1; |
| 285 | 288 | } |
| 286 | 289 | var da = d + pontosdistobj.dist[n-1]; |
| 287 | - if ($i("mostradistancia_calculo")) | |
| 288 | - {$i("mostradistancia_calculo").innerHTML = " Dist acum.= "+da+" atual= "+d+" km";} | |
| 290 | + if ($i("mostradistancia_calculo")){ | |
| 291 | + $i("mostradistancia_calculo").innerHTML = " Dist acum.= "+da+" atual= "+d+" km <br> Direção (DMS)= "+r; | |
| 292 | + } | |
| 289 | 293 | i3GEO.desenho.aplica("resizeLinha",pontosdistobj.linhas[n-1],n); |
| 290 | 294 | } |
| 291 | 295 | } | ... | ... |
classesjs/classe_calculo.js
| ... | ... | @@ -324,6 +324,18 @@ i3GEO.calculo = { |
| 324 | 324 | var d = R * c; |
| 325 | 325 | return d; |
| 326 | 326 | }, |
| 327 | + direcao: function(lon1,lat1,lon2,lat2){ | |
| 328 | + lat1 = lat1 * (Math.PI / 180); | |
| 329 | + lat2 = lat2 * (Math.PI / 180); | |
| 330 | + var dLon = (lon2-lon1) * (Math.PI / 180); | |
| 331 | + var y = Math.sin(dLon) * Math.cos(lat2); | |
| 332 | + var x = Math.cos(lat1)*Math.sin(lat2) - | |
| 333 | + Math.sin(lat1)*Math.cos(lat2)*Math.cos(dLon); | |
| 334 | + var r = Math.atan2(y, x); | |
| 335 | + var r = r * 180 / Math.PI; | |
| 336 | + var r = r + 360; | |
| 337 | + return r % 360; | |
| 338 | + }, | |
| 327 | 339 | /* |
| 328 | 340 | Function: rect2ext |
| 329 | 341 | ... | ... |
classesjs/compactados/classe_analise_compacto.js
| 1 | -if(typeof(i3GEO)=='undefined'){i3GEO=new Array()}i3GEO.analise={dialogo:{gradePontos:function(){i3GEO.janela.cria("400px","250px",i3GEO.configura.locaplic+"/ferramentas/gradepontos/index.htm","","","Grade de pontos <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=15' > </a>")},gradePol:function(){i3GEO.janela.cria("400px","250px",i3GEO.configura.locaplic+"/ferramentas/gradepol/index.htm","","","Grade de polígonos <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=14' > </a>")},gradeHex:function(){i3GEO.janela.cria("400px","250px",i3GEO.configura.locaplic+"/ferramentas/gradehex/index.htm","","","Grade de hexágonos <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=16' > </a>")},analisaGeometrias:function(){g_tipoacao="selecao";i3GEO.temaAtivo="";i3GEO.janela.cria("500px","400px",i3GEO.configura.locaplic+'/ferramentas/analisageometrias/index.htm',"","","Análise de geometrias <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=23' > </a>")},pontosdistri:function(){if(i3GEO.parametros.r=="nao"){alert("Opção não disponível")}else{i3GEO.janela.cria("400px","300px",i3GEO.configura.locaplic+"/ferramentas/pontosdistri/index.htm","","","Distribuição de pontos <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=20' > </a>")}},pontoempoligono:function(){i3GEO.janela.cria("400px","250px",i3GEO.configura.locaplic+"/ferramentas/pontoempoligono/index.htm","","","Ponto em polígono <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=18' > </a>")},nptPol:function(){i3GEO.janela.cria("400px","200px",i3GEO.configura.locaplic+"/ferramentas/nptpol/index.htm","","","Pontos por polígono <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=19' > </a>")},buffer:function(){i3GEO.janela.cria("400px","180px",i3GEO.configura.locaplic+"/ferramentas/buffer/index.htm","","","Entorno <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=24' > </a>")},distanciaptpt:function(){i3GEO.janela.cria("400px","220px",i3GEO.configura.locaplic+"/ferramentas/distanciaptpt/index.htm","","","Distância <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=17' > </a>")},centroide:function(){i3GEO.janela.cria("400px","180px",i3GEO.configura.locaplic+"/ferramentas/centroide/index.htm","","","Centróide <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=21' > </a>")},dissolve:function(){i3GEO.janela.cria("400px","230px",i3GEO.configura.locaplic+"/ferramentas/dissolve/index.htm","","","Dissolve <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=22' > </a>")},agrupaElementos:function(){i3GEO.janela.cria("400px","230px",i3GEO.configura.locaplic+"/ferramentas/agrupaelementos/index.htm","","","Agrupa <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=25' > </a>")}},medeDistancia:{inicia:function(){pontosdistobj=new Array();i3GEO.analise.medeDistancia.criaJanela();if(g_tipoacao!="mede"){if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.analise.medeDistancia.clique()")<0){i3GEO.eventos.MOUSECLIQUE.push("i3GEO.analise.medeDistancia.clique()")}if(i3GEO.eventos.MOUSEMOVE.toString().search("i3GEO.analise.medeDistancia.movimento()")<0){i3GEO.eventos.MOUSEMOVE.push("i3GEO.analise.medeDistancia.movimento()")}$i("mostradistancia").style.display="block";i3GEO.desenho.criaContainerRichdraw();i3GEO.desenho.richdraw.lineColor="black";i3GEO.desenho.richdraw.lineWidth="1px";g_tipoacao="mede"}else{i3GEO.desenho.richdraw.fecha();if($i("mostradistancia")){$i("mostradistancia").style.display="none"}if($i("pontosins")){$i("pontosins").style.display="none"}}},criaJanela:function(){if(!$i("mostradistancia")){var novoel=document.createElement("div");novoel.id="mostradistancia";var ins='<div class="hd" > <a class=ajuda_usuario target=_blank href="'+i3GEO.configura.locaplic+'/ajuda_usuario.php?idcategoria=6&idajuda=50" > </a></div>';ins+='<div class="bd" style="text-align:left;padding:3px;" >';ins+='<div style="text-align:left;padding:3px;" id="mostradistancia_calculo" ></div>';ins+='<div style="text-align:left;font-size:10px" >';ins+="<span style='color:navy;cursor:pointer;text-align:left;' >";ins+="<input style='cursor:pointer' type='checkbox' id='pararraios' 'checked' />Raios</span>";ins+='</div>';ins+='</div>';novoel.innerHTML=ins;novoel.style.borderColor="gray";document.body.appendChild(novoel);$i('pararraios').checked=true}else{if($i("mostradistancia_calculo")){$i("mostradistancia_calculo").innerHTML=""}}YAHOO.namespace("janelaDocamede.xp");YAHOO.janelaDocamede.xp.panel=new YAHOO.widget.Panel("mostradistancia",{width:220,fixedcenter:false,constraintoviewport:true,underlay:"none",close:true,visible:true,draggable:true,modal:false});YAHOO.janelaDocamede.xp.panel.render();YAHOO.janelaDocamede.xp.panel.moveTo(imagemxi+150,imagemyi);YAHOO.util.Event.addListener(YAHOO.janelaDocamede.xp.panel.close,"click",i3GEO.analise.medeDistancia.fechaJanela)},fechaJanela:function(){i3GEO.desenho.richdraw.fecha();if($i("pontosins")){document.body.removeChild($i("pontosins"))}YAHOO.util.Event.removeListener(YAHOO.janelaDocamede.xp.panel.close,"click");i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.analise.medeDistancia.clique()");i3GEO.eventos.MOUSEMOVE.remove("i3GEO.analise.medeDistancia.movimento()");i3GEO.barraDeBotoes.ativaBotoes()},clique:function(){if(g_tipoacao=="mede"){var n=pontosdistobj.xpt.length;pontosdistobj.xpt[n]=objposicaocursor.ddx;pontosdistobj.ypt[n]=objposicaocursor.ddy;pontosdistobj.xtela[n]=objposicaocursor.telax;pontosdistobj.ytela[n]=objposicaocursor.telay;pontosdistobj.ximg[n]=objposicaocursor.imgx;pontosdistobj.yimg[n]=objposicaocursor.imgy;pontosdistobj.dist[n]=0;try{if(navn){pontosdistobj.linhas[n]=i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode,i3GEO.desenho.richdraw.fillColor,i3GEO.desenho.richdraw.lineColor,i3GEO.desenho.richdraw.lineWidth,(pontosdistobj.ximg[n]-1),(pontosdistobj.yimg[n]-1),(pontosdistobj.ximg[n]-1),(pontosdistobj.yimg[n]-1))}else{pontosdistobj.linhas[n]=i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode,i3GEO.desenho.richdraw.fillColor,i3GEO.desenho.richdraw.lineColor,i3GEO.desenho.richdraw.lineWidth,(pontosdistobj.ximg[n])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n],(pontosdistobj.ximg[n])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n])}}catch(e){window.status=n+" erro ao desenhar a linha base "+e.message}if(n>0){var d=parseInt(i3GEO.calculo.distancia(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy));pontosdistobj.dist[n]=d+pontosdistobj.dist[n-1];if($i("pararraios")&&$i("pararraios").checked==true){i3GEO.desenho.aplica("insereCirculo","",n);if(navm){pontosdistobj.linhas[n]=i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode,i3GEO.desenho.richdraw.fillColor,i3GEO.desenho.richdraw.lineColor,i3GEO.desenho.richdraw.lineWidth,(pontosdistobj.ximg[n-1])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n-1],(pontosdistobj.ximg[n])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n])}}}i3GEO.util.insereMarca.cria(objposicaocursor.telax,objposicaocursor.telay,i3GEO.analise.medeDistancia.fechaJanela,"pontosins")}},movimento:function(){if(g_tipoacao=="mede"){if($i("mostradistancia"))$i("mostradistancia").style.display="block";var n=pontosdistobj.xpt.length;if(n>0){var d=i3GEO.calculo.distancia(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy);if(i3GEO.parametros.mapscale>500000){var d=parseInt(d)}else{d=d+"";d=d.split(".");var decimal=d[1].substr(0,3);d=d[0]+"."+decimal;d=d*1}var da=d+pontosdistobj.dist[n-1];if($i("mostradistancia_calculo")){$i("mostradistancia_calculo").innerHTML=" Dist acum.= "+da+" atual= "+d+" km"}i3GEO.desenho.aplica("resizeLinha",pontosdistobj.linhas[n-1],n)}}}},medeArea:{inicia:function(){i3GEO.analise.medeArea.criaJanela();if(g_tipoacao!="area"){$i("mostraarea_calculo").innerHTML="";if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.analise.medeArea.clique()")<0){i3GEO.eventos.MOUSECLIQUE.push("i3GEO.analise.medeArea.clique()")}if(i3GEO.eventos.MOUSEMOVE.toString().search("i3GEO.analise.medeArea.movimento()")<0){i3GEO.eventos.MOUSEMOVE.push("i3GEO.analise.medeArea.movimento()")}YAHOO.util.Event.addListener(YAHOO.janelaDocaarea.xp.panel.close,"click",i3GEO.analise.medeArea.fechaJanela);var temp=function(retorno){i3GEO.janela.fechaAguarde("i3GEO.atualiza");g_areapixel=retorno.data;if(g_areapixel<0){alert("Nao e possivel calcular a area. Entre em contato com o administrador do sistema.")}else{alert("Clique no mapa para desenhar o poligono. Clique duas vezes para concluir");i3GEO.barraDeBotoes.ativaIcone("area");g_tipoacao="area";i3GEO.desenho.criaContainerRichdraw();i3GEO.desenho.richdraw.lineColor="green";i3GEO.desenho.richdraw.lineWidth="2px"}};i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1"));i3GEO.php.areaPixel(temp,i3GEO.parametros.pixelsize)}else{i3GEO.desenho.richdraw.fecha()}},criaJanela:function(){if(!$i("mostraarea")){var novoel=document.createElement("div");novoel.id="mostraarea";var ins="<div class='hd' >Área aproximada <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=6&idajuda=51' > </a></div>";ins+='<div class="bd" style="text-align:left;padding:3px;" >';ins+='<div style="text-align:left;padding:3px;font-size:10px" id="mostraarea_calculo" ></div>';ins+='</div>';novoel.innerHTML=ins;novoel.style.borderColor="gray";document.body.appendChild(novoel)}YAHOO.namespace("janelaDocaarea.xp");YAHOO.janelaDocaarea.xp.panel=new YAHOO.widget.Panel("mostraarea",{width:220,fixedcenter:false,constraintoviewport:true,underlay:"none",close:true,visible:true,draggable:true,modal:false});YAHOO.janelaDocaarea.xp.panel.render();YAHOO.janelaDocaarea.xp.panel.moveTo(imagemxi+150,imagemyi)},fechaJanela:function(){i3GEO.desenho.richdraw.fecha();if($i("pontosArea")){document.body.removeChild($i("pontosArea"))}i3GEO.eventos.MOUSECLIQUE.remove("cliqueArea()");i3GEO.eventos.MOUSEMOVE.remove("moveArea()");i3GEO.barraDeBotoes.ativaBotoes()},clique:function(){if(g_tipoacao=="area"){var n=pontosdistobj.xpt.length;pontosdistobj.xpt[n]=objposicaocursor.ddx;pontosdistobj.ypt[n]=objposicaocursor.ddy;pontosdistobj.xtela[n]=objposicaocursor.telax;pontosdistobj.ytela[n]=objposicaocursor.telay;pontosdistobj.ximg[n]=objposicaocursor.imgx;pontosdistobj.yimg[n]=objposicaocursor.imgy;pontosdistobj.dist[n]=0;if(n==0){try{if(navn){pontosdistobj.linhastemp=i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode,i3GEO.desenho.richdraw.fillColor,i3GEO.desenho.richdraw.lineColor,i3GEO.desenho.richdraw.lineWidth,pontosdistobj.ximg[n]-1,pontosdistobj.yimg[n]-1,pontosdistobj.ximg[0]-1,pontosdistobj.yimg[0]-1)}else{pontosdistobj.linhastemp=i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode,i3GEO.desenho.richdraw.fillColor,i3GEO.desenho.richdraw.lineColor,i3GEO.desenho.richdraw.lineWidth,(pontosdistobj.ximg[n])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n],(pontosdistobj.ximg[0])-(i3GEO.parametros.w/2),pontosdistobj.yimg[0])}}catch(e){}}try{if(navn){pontosdistobj.linhas[n]=i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode,i3GEO.desenho.richdraw.fillColor,i3GEO.desenho.richdraw.lineColor,i3GEO.desenho.richdraw.lineWidth,pontosdistobj.ximg[n]-1,pontosdistobj.yimg[n]-1,pontosdistobj.ximg[n]-1,pontosdistobj.yimg[n]-1)}else{pontosdistobj.linhas[n]=i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode,i3GEO.desenho.richdraw.fillColor,i3GEO.desenho.richdraw.lineColor,i3GEO.desenho.richdraw.lineWidth,(pontosdistobj.ximg[n])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n],(pontosdistobj.ximg[n])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n])}}catch(e){}var m=i3GEO.calculo.area(pontosdistobj,g_areapixel);if($i("mostraarea_calculo")){$i("mostraarea_calculo").innerHTML="<br>m2</b>= "+m+"<br><b>km2</b>= "+m/1000000+"<br><b>ha</b>= "+m/10000}if(n>3){}i3GEO.util.insereMarca.cria(objposicaocursor.telax,objposicaocursor.telay,i3GEO.analise.medeArea.fechaJanela,"pontosArea")}},movimento:function(){if(g_tipoacao=="area"){var n=pontosdistobj.xpt.length;if(n>0){var d=i3GEO.calculo.distancia(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy);if(i3GEO.parametros.mapscale>500000){var d=parseInt(d)}else{d=d+"";d=d.split(".");var decimal=d[1].substr(0,3);d=d[0]+"."+decimal;d=d*1}var da=d+pontosdistobj.dist[n-1];if(navn){i3GEO.desenho.aplica("resizePoligono",pontosdistobj.linhastemp,0)}i3GEO.desenho.aplica("resizeLinha",pontosdistobj.linhas[n-1],n)}}}}}; | |
| 2 | 1 | \ No newline at end of file |
| 2 | +if(typeof(i3GEO)=='undefined'){i3GEO=new Array()}i3GEO.analise={dialogo:{gradePontos:function(){i3GEO.janela.cria("400px","250px",i3GEO.configura.locaplic+"/ferramentas/gradepontos/index.htm","","","Grade de pontos <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=15' > </a>")},gradePol:function(){i3GEO.janela.cria("400px","250px",i3GEO.configura.locaplic+"/ferramentas/gradepol/index.htm","","","Grade de polígonos <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=14' > </a>")},gradeHex:function(){i3GEO.janela.cria("400px","250px",i3GEO.configura.locaplic+"/ferramentas/gradehex/index.htm","","","Grade de hexágonos <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=16' > </a>")},analisaGeometrias:function(){g_tipoacao="selecao";i3GEO.temaAtivo="";i3GEO.janela.cria("500px","400px",i3GEO.configura.locaplic+'/ferramentas/analisageometrias/index.htm',"","","Análise de geometrias <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=23' > </a>")},pontosdistri:function(){if(i3GEO.parametros.r=="nao"){alert("Opção não disponível")}else{i3GEO.janela.cria("400px","300px",i3GEO.configura.locaplic+"/ferramentas/pontosdistri/index.htm","","","Distribuição de pontos <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=20' > </a>")}},pontoempoligono:function(){i3GEO.janela.cria("400px","250px",i3GEO.configura.locaplic+"/ferramentas/pontoempoligono/index.htm","","","Ponto em polígono <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=18' > </a>")},nptPol:function(){i3GEO.janela.cria("400px","200px",i3GEO.configura.locaplic+"/ferramentas/nptpol/index.htm","","","Pontos por polígono <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=19' > </a>")},buffer:function(){i3GEO.janela.cria("400px","180px",i3GEO.configura.locaplic+"/ferramentas/buffer/index.htm","","","Entorno <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=24' > </a>")},distanciaptpt:function(){i3GEO.janela.cria("400px","220px",i3GEO.configura.locaplic+"/ferramentas/distanciaptpt/index.htm","","","Distância <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=17' > </a>")},centroide:function(){i3GEO.janela.cria("400px","180px",i3GEO.configura.locaplic+"/ferramentas/centroide/index.htm","","","Centróide <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=21' > </a>")},dissolve:function(){i3GEO.janela.cria("400px","230px",i3GEO.configura.locaplic+"/ferramentas/dissolve/index.htm","","","Dissolve <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=22' > </a>")},agrupaElementos:function(){i3GEO.janela.cria("400px","230px",i3GEO.configura.locaplic+"/ferramentas/agrupaelementos/index.htm","","","Agrupa <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=25' > </a>")}},medeDistancia:{inicia:function(){pontosdistobj=new Array();i3GEO.analise.medeDistancia.criaJanela();if(g_tipoacao!="mede"){if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.analise.medeDistancia.clique()")<0){i3GEO.eventos.MOUSECLIQUE.push("i3GEO.analise.medeDistancia.clique()")}if(i3GEO.eventos.MOUSEMOVE.toString().search("i3GEO.analise.medeDistancia.movimento()")<0){i3GEO.eventos.MOUSEMOVE.push("i3GEO.analise.medeDistancia.movimento()")}$i("mostradistancia").style.display="block";i3GEO.desenho.criaContainerRichdraw();i3GEO.desenho.richdraw.lineColor="black";i3GEO.desenho.richdraw.lineWidth="1px";g_tipoacao="mede"}else{i3GEO.desenho.richdraw.fecha();if($i("mostradistancia")){$i("mostradistancia").style.display="none"}if($i("pontosins")){$i("pontosins").style.display="none"}}},criaJanela:function(){if(!$i("mostradistancia")){var novoel=document.createElement("div");novoel.id="mostradistancia";var ins='<div class="hd" > <a class=ajuda_usuario target=_blank href="'+i3GEO.configura.locaplic+'/ajuda_usuario.php?idcategoria=6&idajuda=50" > </a></div>';ins+='<div class="bd" style="text-align:left;padding:3px;" >';ins+='<div style="text-align:left;padding:3px;" id="mostradistancia_calculo" ></div>';ins+='<div style="text-align:left;font-size:10px" >';ins+="<span style='color:navy;cursor:pointer;text-align:left;' >";ins+="<input style='cursor:pointer' type='checkbox' id='pararraios' 'checked' />Raios</span>";ins+='</div>';ins+='</div>';novoel.innerHTML=ins;novoel.style.borderColor="gray";document.body.appendChild(novoel);$i('pararraios').checked=true}else{if($i("mostradistancia_calculo")){$i("mostradistancia_calculo").innerHTML=""}}YAHOO.namespace("janelaDocamede.xp");YAHOO.janelaDocamede.xp.panel=new YAHOO.widget.Panel("mostradistancia",{width:300,fixedcenter:false,constraintoviewport:true,underlay:"none",close:true,visible:true,draggable:true,modal:false});YAHOO.janelaDocamede.xp.panel.render();YAHOO.janelaDocamede.xp.panel.moveTo(imagemxi+150,imagemyi);YAHOO.util.Event.addListener(YAHOO.janelaDocamede.xp.panel.close,"click",i3GEO.analise.medeDistancia.fechaJanela)},fechaJanela:function(){i3GEO.desenho.richdraw.fecha();if($i("pontosins")){document.body.removeChild($i("pontosins"))}YAHOO.util.Event.removeListener(YAHOO.janelaDocamede.xp.panel.close,"click");i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.analise.medeDistancia.clique()");i3GEO.eventos.MOUSEMOVE.remove("i3GEO.analise.medeDistancia.movimento()");i3GEO.barraDeBotoes.ativaBotoes()},clique:function(){if(g_tipoacao=="mede"){var n=pontosdistobj.xpt.length;pontosdistobj.xpt[n]=objposicaocursor.ddx;pontosdistobj.ypt[n]=objposicaocursor.ddy;pontosdistobj.xtela[n]=objposicaocursor.telax;pontosdistobj.ytela[n]=objposicaocursor.telay;pontosdistobj.ximg[n]=objposicaocursor.imgx;pontosdistobj.yimg[n]=objposicaocursor.imgy;pontosdistobj.dist[n]=0;try{if(navn){pontosdistobj.linhas[n]=i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode,i3GEO.desenho.richdraw.fillColor,i3GEO.desenho.richdraw.lineColor,i3GEO.desenho.richdraw.lineWidth,(pontosdistobj.ximg[n]-1),(pontosdistobj.yimg[n]-1),(pontosdistobj.ximg[n]-1),(pontosdistobj.yimg[n]-1))}else{pontosdistobj.linhas[n]=i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode,i3GEO.desenho.richdraw.fillColor,i3GEO.desenho.richdraw.lineColor,i3GEO.desenho.richdraw.lineWidth,(pontosdistobj.ximg[n])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n],(pontosdistobj.ximg[n])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n])}}catch(e){window.status=n+" erro ao desenhar a linha base "+e.message}if(n>0){var d=parseInt(i3GEO.calculo.distancia(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy));pontosdistobj.dist[n]=d+pontosdistobj.dist[n-1];if($i("pararraios")&&$i("pararraios").checked==true){i3GEO.desenho.aplica("insereCirculo","",n);if(navm){pontosdistobj.linhas[n]=i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode,i3GEO.desenho.richdraw.fillColor,i3GEO.desenho.richdraw.lineColor,i3GEO.desenho.richdraw.lineWidth,(pontosdistobj.ximg[n-1])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n-1],(pontosdistobj.ximg[n])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n])}}}i3GEO.util.insereMarca.cria(objposicaocursor.telax,objposicaocursor.telay,i3GEO.analise.medeDistancia.fechaJanela,"pontosins")}},movimento:function(){if(g_tipoacao=="mede"){if($i("mostradistancia"))$i("mostradistancia").style.display="block";var n=pontosdistobj.xpt.length;if(n>0){var d=i3GEO.calculo.distancia(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy);var r=i3GEO.calculo.direcao(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy);var r=i3GEO.calculo.dd2dms(r,r);var r=r[0];if(i3GEO.parametros.mapscale>500000){var d=parseInt(d)}else{d=d+"";d=d.split(".");var decimal=d[1].substr(0,3);d=d[0]+"."+decimal;d=d*1}var da=d+pontosdistobj.dist[n-1];if($i("mostradistancia_calculo")){$i("mostradistancia_calculo").innerHTML=" Dist acum.= "+da+" atual= "+d+" km <br> Direção (DMS)= "+r}i3GEO.desenho.aplica("resizeLinha",pontosdistobj.linhas[n-1],n)}}}},medeArea:{inicia:function(){i3GEO.analise.medeArea.criaJanela();if(g_tipoacao!="area"){$i("mostraarea_calculo").innerHTML="";if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.analise.medeArea.clique()")<0){i3GEO.eventos.MOUSECLIQUE.push("i3GEO.analise.medeArea.clique()")}if(i3GEO.eventos.MOUSEMOVE.toString().search("i3GEO.analise.medeArea.movimento()")<0){i3GEO.eventos.MOUSEMOVE.push("i3GEO.analise.medeArea.movimento()")}YAHOO.util.Event.addListener(YAHOO.janelaDocaarea.xp.panel.close,"click",i3GEO.analise.medeArea.fechaJanela);var temp=function(retorno){i3GEO.janela.fechaAguarde("i3GEO.atualiza");g_areapixel=retorno.data;if(g_areapixel<0){alert("Nao e possivel calcular a area. Entre em contato com o administrador do sistema.")}else{alert("Clique no mapa para desenhar o poligono. Clique duas vezes para concluir");i3GEO.barraDeBotoes.ativaIcone("area");g_tipoacao="area";i3GEO.desenho.criaContainerRichdraw();i3GEO.desenho.richdraw.lineColor="green";i3GEO.desenho.richdraw.lineWidth="2px"}};i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1"));i3GEO.php.areaPixel(temp,i3GEO.parametros.pixelsize)}else{i3GEO.desenho.richdraw.fecha()}},criaJanela:function(){if(!$i("mostraarea")){var novoel=document.createElement("div");novoel.id="mostraarea";var ins="<div class='hd' >Área aproximada <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=6&idajuda=51' > </a></div>";ins+='<div class="bd" style="text-align:left;padding:3px;" >';ins+='<div style="text-align:left;padding:3px;font-size:10px" id="mostraarea_calculo" ></div>';ins+='</div>';novoel.innerHTML=ins;novoel.style.borderColor="gray";document.body.appendChild(novoel)}YAHOO.namespace("janelaDocaarea.xp");YAHOO.janelaDocaarea.xp.panel=new YAHOO.widget.Panel("mostraarea",{width:220,fixedcenter:false,constraintoviewport:true,underlay:"none",close:true,visible:true,draggable:true,modal:false});YAHOO.janelaDocaarea.xp.panel.render();YAHOO.janelaDocaarea.xp.panel.moveTo(imagemxi+150,imagemyi)},fechaJanela:function(){i3GEO.desenho.richdraw.fecha();if($i("pontosArea")){document.body.removeChild($i("pontosArea"))}i3GEO.eventos.MOUSECLIQUE.remove("cliqueArea()");i3GEO.eventos.MOUSEMOVE.remove("moveArea()");i3GEO.barraDeBotoes.ativaBotoes()},clique:function(){if(g_tipoacao=="area"){var n=pontosdistobj.xpt.length;pontosdistobj.xpt[n]=objposicaocursor.ddx;pontosdistobj.ypt[n]=objposicaocursor.ddy;pontosdistobj.xtela[n]=objposicaocursor.telax;pontosdistobj.ytela[n]=objposicaocursor.telay;pontosdistobj.ximg[n]=objposicaocursor.imgx;pontosdistobj.yimg[n]=objposicaocursor.imgy;pontosdistobj.dist[n]=0;if(n==0){try{if(navn){pontosdistobj.linhastemp=i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode,i3GEO.desenho.richdraw.fillColor,i3GEO.desenho.richdraw.lineColor,i3GEO.desenho.richdraw.lineWidth,pontosdistobj.ximg[n]-1,pontosdistobj.yimg[n]-1,pontosdistobj.ximg[0]-1,pontosdistobj.yimg[0]-1)}else{pontosdistobj.linhastemp=i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode,i3GEO.desenho.richdraw.fillColor,i3GEO.desenho.richdraw.lineColor,i3GEO.desenho.richdraw.lineWidth,(pontosdistobj.ximg[n])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n],(pontosdistobj.ximg[0])-(i3GEO.parametros.w/2),pontosdistobj.yimg[0])}}catch(e){}}try{if(navn){pontosdistobj.linhas[n]=i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode,i3GEO.desenho.richdraw.fillColor,i3GEO.desenho.richdraw.lineColor,i3GEO.desenho.richdraw.lineWidth,pontosdistobj.ximg[n]-1,pontosdistobj.yimg[n]-1,pontosdistobj.ximg[n]-1,pontosdistobj.yimg[n]-1)}else{pontosdistobj.linhas[n]=i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode,i3GEO.desenho.richdraw.fillColor,i3GEO.desenho.richdraw.lineColor,i3GEO.desenho.richdraw.lineWidth,(pontosdistobj.ximg[n])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n],(pontosdistobj.ximg[n])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n])}}catch(e){}var m=i3GEO.calculo.area(pontosdistobj,g_areapixel);if($i("mostraarea_calculo")){$i("mostraarea_calculo").innerHTML="<br>m2</b>= "+m+"<br><b>km2</b>= "+m/1000000+"<br><b>ha</b>= "+m/10000}if(n>3){}i3GEO.util.insereMarca.cria(objposicaocursor.telax,objposicaocursor.telay,i3GEO.analise.medeArea.fechaJanela,"pontosArea")}},movimento:function(){if(g_tipoacao=="area"){var n=pontosdistobj.xpt.length;if(n>0){var d=i3GEO.calculo.distancia(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy);if(i3GEO.parametros.mapscale>500000){var d=parseInt(d)}else{d=d+"";d=d.split(".");var decimal=d[1].substr(0,3);d=d[0]+"."+decimal;d=d*1}var da=d+pontosdistobj.dist[n-1];if(navn){i3GEO.desenho.aplica("resizePoligono",pontosdistobj.linhastemp,0)}i3GEO.desenho.aplica("resizeLinha",pontosdistobj.linhas[n-1],n)}}}}}; | |
| 3 | 3 | \ No newline at end of file | ... | ... |
classesjs/compactados/classe_calculo_compacto.js
| 1 | -if(typeof(i3GEO)=='undefined'){i3GEO=new Array()}i3GEO.calculo={dms2dd:function(cd,cm,cs){try{var sinal='positivo';if(cd<0){cd=cd*-1;sinal='negativo'}spm=cs/3600;mpg=cm/60;var dd=(cd*1)+(mpg*1)+(spm*1);if(sinal=='negativo'){dd=dd*-1}return(dd)}catch(e){return(0)}},dd2tela:function(vx,vy,docmapa,ext,cellsize){try{if(i3GEO.interface.ATUAL=="googlemaps"){var pos=i3GEO.util.pegaPosicaoObjeto($i(i3GEO.interface.IDCORPO));var latlng=new GLatLng(vy,vx);var xyn=i3GeoMap.fromLatLngToContainerPixel(latlng);var xy=new Array();return[(xyn.x)+pos[0],(xyn.y)+pos[1]]}if(arguments.length==3){var ext=i3GEO.parametros.mapexten;var cellsize=i3GEO.parametros.pixelsize}if(arguments.length==4){var cellsize=i3GEO.parametros.pixelsize}if(!docmapa){var docmapa=window.document}var dc=docmapa;var pos=i3GEO.util.pegaPosicaoObjeto(dc);var imgext=ext;var imgext=imgext.split(" ");vx=(vx*1)-(imgext[0]*1);vy=(vy*-1)+(imgext[3]*1);c=cellsize*1;return[(vx/c)+pos[0],(vy/c)+pos[1]]}catch(e){return(new Array())}},dd2dms:function(x,y){var m=0;var s=0;var dx=parseInt(x);if(dx>0){var restod=x-dx}if(dx<0){restod=(x*-1)-(dx*-1)}dx=dx;if(restod!=0){var mm=restod*60;var m=parseInt(restod*60);var restos=mm-m;var mx=m;if(restos!=0){var s=restos*60;var s=(s+"_").substring(0,5);var sx=s}else{s="00.00"}}else{var mx="00";var sx="00.00"}if(m.length==2){m="0"+m+""}if(s*1<10){s="0"+s}var xv=dx+" "+mx+" "+sx;var m=0;var s=0;var dy=parseInt(y);if(dy>0){var restod=y-dy}if(dy<0){var restod=(y*-1)-(dy*-1)}dy=dy;if(restod!=0){var mm=restod*60;var m=parseInt(restod*60);var restos=mm-m;var my=m;if(restos!=0){var s=restos*60;s=(s+"_").substring(0,5);var sy=s}else{var s="00.00"}}else{var my="00";var sy="00.00"}if(m.length==2){m="0"+m}if(s*1<10){s="0"+s}var yv=dy+" "+my+" "+sy;var res=new Array();res[0]=xv;res[1]=yv;return res},tela2dd:function(xfign,yfign,g_celula,imgext){try{if(navm){xfign=xfign-2.2;yfign=yfign-2.7}else{xfign=xfign-0.12;yfign=yfign-1.05}var nx=g_celula*xfign;var ny=g_celula*yfign;var amext=imgext.split(" ");var longdd=(amext[0]*1)+nx;var latdd=(amext[3]*1)-ny;var res=new Array();res[0]=longdd;res[1]=latdd;return(res)}catch(e){return(0)}},area:function(pontos,pixel){try{if(pontos.xpt.length>2){var $array_length=pontos.xpt.length;pontos.xtela.push(pontos.xtela[0]);pontos.ytela.push(pontos.ytela[0]);pontos.xtela.push(pontos.xtela[0]);pontos.ytela.push(pontos.ytela[1]);var $polygon_area=0;for(var $i=0;$i<=$array_length;$i++){$polygon_area+=((pontos.xtela[$i]*pontos.ytela[$i+1])-(pontos.ytela[$i]*pontos.xtela[$i+1]))}$polygon_area=Math.abs($polygon_area)/2}else{$polygon_area="Sao necessarios pelo menos tres pontos para o calculo"}return $polygon_area*pixel}catch(e){return(0)}},distancia:function(lon1,lat1,lon2,lat2){var R=6371;var dLat=((lat2-lat1))*Math.PI/180;var dLon=((lon2-lon1))*Math.PI/180;var a=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(lat1*Math.PI/180)*Math.cos(lat2*Math.PI/180)*Math.sin(dLon/2)*Math.sin(dLon/2);var c=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));var d=R*c;return d},rect2ext:function(idrect,mapext,pixel){eval('pix = parseInt(document.getElementById("'+idrect+'").style.'+g_tipoleft+")");eval('piy = parseInt(document.getElementById("'+idrect+'").style.'+g_tipotop+")");if($i(idrect)){var bx=$i(idrect);var bxs=bx.style}else{alert("Box nao encontrado");return}var pos=i3GEO.util.pegaPosicaoObjeto($i("img"));var xfig0=parseInt(bxs.width)-pos[0];var yfig0=parseInt(bxs.height)-pos[1];var xfig=pix+(parseInt(bxs.width))-pos[0];var yfig=piy+(parseInt(bxs.height))-pos[1];var amext=mapext.split(" ");var dx=((amext[0]*-1)-(amext[2]*-1))/-1;var dy=((amext[1]*1)-(amext[3]*1))/-1;if(dy<0)dy=dy*-1;var nx=pixel*xfig;var ny=pixel*yfig;var x1=(amext[0]*1)+nx;var y1=(amext[3]*1)-ny;var xfig=pix-pos[0];var yfig=piy-pos[1];if(dy<0)dy=dy*-1;var nx=pixel*xfig;var ny=pixel*yfig;var x2=(amext[0]*1)+nx;var y2=(amext[3]*1)-ny;var v=x2+" "+y2+" "+x1+" "+y1;var res=new Array(v,x1,y1,x2,y2);return(res)},ext2rect:function(idrect,mapext,boxext,pixel,documento){var rectbox=boxext.split(" ");var rectmap=mapext.split(" ");var xyMin=i3GEO.calculo.dd2tela(rectbox[0],rectbox[1],documento,boxext,pixel);var xyMax=i3GEO.calculo.dd2tela(rectbox[2],rectbox[3],documento,boxext,pixel);var w=xyMax[0]-xyMin[0];var h=xyMin[1]-xyMax[1];var tl=i3GEO.calculo.dd2tela(rectbox[0],rectbox[3],documento,mapext,pixel);var pos=i3GEO.util.pegaPosicaoObjeto(documento);var t=tl[1]-pos[1];var l=tl[0]-pos[0];var d="block";if($i(idrect)){var box=$i(idrect);box.style.width=w;box.style.height=h;box.style.top=t+"px";box.style.left=l+"px";box.style.display=d}return new Array(w,h,xyMax[1],xyMin[0])}}; | |
| 2 | 1 | \ No newline at end of file |
| 2 | +if(typeof(i3GEO)=='undefined'){i3GEO=new Array()}i3GEO.calculo={dms2dd:function(cd,cm,cs){try{var sinal='positivo';if(cd<0){cd=cd*-1;sinal='negativo'}spm=cs/3600;mpg=cm/60;var dd=(cd*1)+(mpg*1)+(spm*1);if(sinal=='negativo'){dd=dd*-1}return(dd)}catch(e){return(0)}},dd2tela:function(vx,vy,docmapa,ext,cellsize){try{if(i3GEO.interface.ATUAL=="googlemaps"){var pos=i3GEO.util.pegaPosicaoObjeto($i(i3GEO.interface.IDCORPO));var latlng=new GLatLng(vy,vx);var xyn=i3GeoMap.fromLatLngToContainerPixel(latlng);var xy=new Array();return[(xyn.x)+pos[0],(xyn.y)+pos[1]]}if(arguments.length==3){var ext=i3GEO.parametros.mapexten;var cellsize=i3GEO.parametros.pixelsize}if(arguments.length==4){var cellsize=i3GEO.parametros.pixelsize}if(!docmapa){var docmapa=window.document}var dc=docmapa;var pos=i3GEO.util.pegaPosicaoObjeto(dc);var imgext=ext;var imgext=imgext.split(" ");vx=(vx*1)-(imgext[0]*1);vy=(vy*-1)+(imgext[3]*1);c=cellsize*1;return[(vx/c)+pos[0],(vy/c)+pos[1]]}catch(e){return(new Array())}},dd2dms:function(x,y){var m=0;var s=0;var dx=parseInt(x);if(dx>0){var restod=x-dx}if(dx<0){restod=(x*-1)-(dx*-1)}dx=dx;if(restod!=0){var mm=restod*60;var m=parseInt(restod*60);var restos=mm-m;var mx=m;if(restos!=0){var s=restos*60;var s=(s+"_").substring(0,5);var sx=s}else{s="00.00"}}else{var mx="00";var sx="00.00"}if(m.length==2){m="0"+m+""}if(s*1<10){s="0"+s}var xv=dx+" "+mx+" "+sx;var m=0;var s=0;var dy=parseInt(y);if(dy>0){var restod=y-dy}if(dy<0){var restod=(y*-1)-(dy*-1)}dy=dy;if(restod!=0){var mm=restod*60;var m=parseInt(restod*60);var restos=mm-m;var my=m;if(restos!=0){var s=restos*60;s=(s+"_").substring(0,5);var sy=s}else{var s="00.00"}}else{var my="00";var sy="00.00"}if(m.length==2){m="0"+m}if(s*1<10){s="0"+s}var yv=dy+" "+my+" "+sy;var res=new Array();res[0]=xv;res[1]=yv;return res},tela2dd:function(xfign,yfign,g_celula,imgext){try{if(navm){xfign=xfign-2.2;yfign=yfign-2.7}else{xfign=xfign-0.12;yfign=yfign-1.05}var nx=g_celula*xfign;var ny=g_celula*yfign;var amext=imgext.split(" ");var longdd=(amext[0]*1)+nx;var latdd=(amext[3]*1)-ny;var res=new Array();res[0]=longdd;res[1]=latdd;return(res)}catch(e){return(0)}},area:function(pontos,pixel){try{if(pontos.xpt.length>2){var $array_length=pontos.xpt.length;pontos.xtela.push(pontos.xtela[0]);pontos.ytela.push(pontos.ytela[0]);pontos.xtela.push(pontos.xtela[0]);pontos.ytela.push(pontos.ytela[1]);var $polygon_area=0;for(var $i=0;$i<=$array_length;$i++){$polygon_area+=((pontos.xtela[$i]*pontos.ytela[$i+1])-(pontos.ytela[$i]*pontos.xtela[$i+1]))}$polygon_area=Math.abs($polygon_area)/2}else{$polygon_area="Sao necessarios pelo menos tres pontos para o calculo"}return $polygon_area*pixel}catch(e){return(0)}},distancia:function(lon1,lat1,lon2,lat2){var R=6371;var dLat=((lat2-lat1))*Math.PI/180;var dLon=((lon2-lon1))*Math.PI/180;var a=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(lat1*Math.PI/180)*Math.cos(lat2*Math.PI/180)*Math.sin(dLon/2)*Math.sin(dLon/2);var c=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));var d=R*c;return d},direcao:function(lon1,lat1,lon2,lat2){lat1=lat1*(Math.PI/180);lat2=lat2*(Math.PI/180);var dLon=(lon2-lon1)*(Math.PI/180);var y=Math.sin(dLon)*Math.cos(lat2);var x=Math.cos(lat1)*Math.sin(lat2)-Math.sin(lat1)*Math.cos(lat2)*Math.cos(dLon);var r=Math.atan2(y,x);var r=r*180/Math.PI;var r=r+360;return r%360},rect2ext:function(idrect,mapext,pixel){eval('pix = parseInt(document.getElementById("'+idrect+'").style.'+g_tipoleft+")");eval('piy = parseInt(document.getElementById("'+idrect+'").style.'+g_tipotop+")");if($i(idrect)){var bx=$i(idrect);var bxs=bx.style}else{alert("Box nao encontrado");return}var pos=i3GEO.util.pegaPosicaoObjeto($i("img"));var xfig0=parseInt(bxs.width)-pos[0];var yfig0=parseInt(bxs.height)-pos[1];var xfig=pix+(parseInt(bxs.width))-pos[0];var yfig=piy+(parseInt(bxs.height))-pos[1];var amext=mapext.split(" ");var dx=((amext[0]*-1)-(amext[2]*-1))/-1;var dy=((amext[1]*1)-(amext[3]*1))/-1;if(dy<0)dy=dy*-1;var nx=pixel*xfig;var ny=pixel*yfig;var x1=(amext[0]*1)+nx;var y1=(amext[3]*1)-ny;var xfig=pix-pos[0];var yfig=piy-pos[1];if(dy<0)dy=dy*-1;var nx=pixel*xfig;var ny=pixel*yfig;var x2=(amext[0]*1)+nx;var y2=(amext[3]*1)-ny;var v=x2+" "+y2+" "+x1+" "+y1;var res=new Array(v,x1,y1,x2,y2);return(res)},ext2rect:function(idrect,mapext,boxext,pixel,documento){var rectbox=boxext.split(" ");var rectmap=mapext.split(" ");var xyMin=i3GEO.calculo.dd2tela(rectbox[0],rectbox[1],documento,boxext,pixel);var xyMax=i3GEO.calculo.dd2tela(rectbox[2],rectbox[3],documento,boxext,pixel);var w=xyMax[0]-xyMin[0];var h=xyMin[1]-xyMax[1];var tl=i3GEO.calculo.dd2tela(rectbox[0],rectbox[3],documento,mapext,pixel);var pos=i3GEO.util.pegaPosicaoObjeto(documento);var t=tl[1]-pos[1];var l=tl[0]-pos[0];var d="block";if($i(idrect)){var box=$i(idrect);box.style.width=w;box.style.height=h;box.style.top=t+"px";box.style.left=l+"px";box.style.display=d}return new Array(w,h,xyMax[1],xyMin[0])}}; | |
| 3 | 3 | \ No newline at end of file | ... | ... |
classesjs/i3geo_tudo_compacto.js
| ... | ... | @@ -10300,6 +10300,18 @@ i3GEO.calculo = { |
| 10300 | 10300 | var d = R * c; |
| 10301 | 10301 | return d; |
| 10302 | 10302 | }, |
| 10303 | + direcao: function(lon1,lat1,lon2,lat2){ | |
| 10304 | + lat1 = lat1 * (Math.PI / 180); | |
| 10305 | + lat2 = lat2 * (Math.PI / 180); | |
| 10306 | + var dLon = (lon2-lon1) * (Math.PI / 180); | |
| 10307 | + var y = Math.sin(dLon) * Math.cos(lat2); | |
| 10308 | + var x = Math.cos(lat1)*Math.sin(lat2) - | |
| 10309 | + Math.sin(lat1)*Math.cos(lat2)*Math.cos(dLon); | |
| 10310 | + var r = Math.atan2(y, x); | |
| 10311 | + var r = r * 180 / Math.PI; | |
| 10312 | + var r = r + 360; | |
| 10313 | + return r % 360; | |
| 10314 | + }, | |
| 10303 | 10315 | /* |
| 10304 | 10316 | Function: rect2ext |
| 10305 | 10317 | |
| ... | ... | @@ -12601,7 +12613,7 @@ i3GEO.analise = { |
| 12601 | 12613 | } |
| 12602 | 12614 | |
| 12603 | 12615 | YAHOO.namespace("janelaDocamede.xp"); |
| 12604 | - YAHOO.janelaDocamede.xp.panel = new YAHOO.widget.Panel("mostradistancia", {width:220,fixedcenter: false, constraintoviewport: true, underlay:"none", close:true, visible:true, draggable:true, modal:false } ); | |
| 12616 | + YAHOO.janelaDocamede.xp.panel = new YAHOO.widget.Panel("mostradistancia", {width:300,fixedcenter: false, constraintoviewport: true, underlay:"none", close:true, visible:true, draggable:true, modal:false } ); | |
| 12605 | 12617 | YAHOO.janelaDocamede.xp.panel.render(); |
| 12606 | 12618 | YAHOO.janelaDocamede.xp.panel.moveTo(imagemxi+150,imagemyi); |
| 12607 | 12619 | YAHOO.util.Event.addListener(YAHOO.janelaDocamede.xp.panel.close, "click", i3GEO.analise.medeDistancia.fechaJanela); |
| ... | ... | @@ -12665,6 +12677,9 @@ i3GEO.analise = { |
| 12665 | 12677 | var n = pontosdistobj.xpt.length; |
| 12666 | 12678 | if (n > 0){ |
| 12667 | 12679 | var d = i3GEO.calculo.distancia(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy); |
| 12680 | + var r = i3GEO.calculo.direcao(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy); | |
| 12681 | + var r = i3GEO.calculo.dd2dms(r,r); | |
| 12682 | + var r = r[0]; | |
| 12668 | 12683 | if (i3GEO.parametros.mapscale > 500000) |
| 12669 | 12684 | {var d = parseInt(d);} |
| 12670 | 12685 | else{ |
| ... | ... | @@ -12675,8 +12690,9 @@ i3GEO.analise = { |
| 12675 | 12690 | d = d * 1; |
| 12676 | 12691 | } |
| 12677 | 12692 | var da = d + pontosdistobj.dist[n-1]; |
| 12678 | - if ($i("mostradistancia_calculo")) | |
| 12679 | - {$i("mostradistancia_calculo").innerHTML = " Dist acum.= "+da+" atual= "+d+" km";} | |
| 12693 | + if ($i("mostradistancia_calculo")){ | |
| 12694 | + $i("mostradistancia_calculo").innerHTML = " Dist acum.= "+da+" atual= "+d+" km <br> Direção (DMS)= "+r; | |
| 12695 | + } | |
| 12680 | 12696 | i3GEO.desenho.aplica("resizeLinha",pontosdistobj.linhas[n-1],n); |
| 12681 | 12697 | } |
| 12682 | 12698 | } | ... | ... |
classesjs/i3geo_tudo_compacto.js.php
| ... | ... | @@ -10300,6 +10300,18 @@ i3GEO.calculo = { |
| 10300 | 10300 | var d = R * c; |
| 10301 | 10301 | return d; |
| 10302 | 10302 | }, |
| 10303 | + direcao: function(lon1,lat1,lon2,lat2){ | |
| 10304 | + lat1 = lat1 * (Math.PI / 180); | |
| 10305 | + lat2 = lat2 * (Math.PI / 180); | |
| 10306 | + var dLon = (lon2-lon1) * (Math.PI / 180); | |
| 10307 | + var y = Math.sin(dLon) * Math.cos(lat2); | |
| 10308 | + var x = Math.cos(lat1)*Math.sin(lat2) - | |
| 10309 | + Math.sin(lat1)*Math.cos(lat2)*Math.cos(dLon); | |
| 10310 | + var r = Math.atan2(y, x); | |
| 10311 | + var r = r * 180 / Math.PI; | |
| 10312 | + var r = r + 360; | |
| 10313 | + return r % 360; | |
| 10314 | + }, | |
| 10303 | 10315 | /* |
| 10304 | 10316 | Function: rect2ext |
| 10305 | 10317 | |
| ... | ... | @@ -12601,7 +12613,7 @@ i3GEO.analise = { |
| 12601 | 12613 | } |
| 12602 | 12614 | |
| 12603 | 12615 | YAHOO.namespace("janelaDocamede.xp"); |
| 12604 | - YAHOO.janelaDocamede.xp.panel = new YAHOO.widget.Panel("mostradistancia", {width:220,fixedcenter: false, constraintoviewport: true, underlay:"none", close:true, visible:true, draggable:true, modal:false } ); | |
| 12616 | + YAHOO.janelaDocamede.xp.panel = new YAHOO.widget.Panel("mostradistancia", {width:300,fixedcenter: false, constraintoviewport: true, underlay:"none", close:true, visible:true, draggable:true, modal:false } ); | |
| 12605 | 12617 | YAHOO.janelaDocamede.xp.panel.render(); |
| 12606 | 12618 | YAHOO.janelaDocamede.xp.panel.moveTo(imagemxi+150,imagemyi); |
| 12607 | 12619 | YAHOO.util.Event.addListener(YAHOO.janelaDocamede.xp.panel.close, "click", i3GEO.analise.medeDistancia.fechaJanela); |
| ... | ... | @@ -12665,6 +12677,9 @@ i3GEO.analise = { |
| 12665 | 12677 | var n = pontosdistobj.xpt.length; |
| 12666 | 12678 | if (n > 0){ |
| 12667 | 12679 | var d = i3GEO.calculo.distancia(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy); |
| 12680 | + var r = i3GEO.calculo.direcao(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy); | |
| 12681 | + var r = i3GEO.calculo.dd2dms(r,r); | |
| 12682 | + var r = r[0]; | |
| 12668 | 12683 | if (i3GEO.parametros.mapscale > 500000) |
| 12669 | 12684 | {var d = parseInt(d);} |
| 12670 | 12685 | else{ |
| ... | ... | @@ -12675,8 +12690,9 @@ i3GEO.analise = { |
| 12675 | 12690 | d = d * 1; |
| 12676 | 12691 | } |
| 12677 | 12692 | var da = d + pontosdistobj.dist[n-1]; |
| 12678 | - if ($i("mostradistancia_calculo")) | |
| 12679 | - {$i("mostradistancia_calculo").innerHTML = " Dist acum.= "+da+" atual= "+d+" km";} | |
| 12693 | + if ($i("mostradistancia_calculo")){ | |
| 12694 | + $i("mostradistancia_calculo").innerHTML = " Dist acum.= "+da+" atual= "+d+" km <br> Direção (DMS)= "+r; | |
| 12695 | + } | |
| 12680 | 12696 | i3GEO.desenho.aplica("resizeLinha",pontosdistobj.linhas[n-1],n); |
| 12681 | 12697 | } |
| 12682 | 12698 | } | ... | ... |
| ... | ... | @@ -0,0 +1,178 @@ |
| 1 | +SYMBOLSET ../symbols/simbolos.sym | |
| 2 | +FONTSET "../symbols/fontes.txt" | |
| 3 | +LAYER | |
| 4 | + NAME "glc2000" | |
| 5 | + TYPE RASTER | |
| 6 | + STATUS off | |
| 7 | + DATA "c:\temp\Grid\sam2000mon6\hdr.adf" | |
| 8 | + template "glc2000.htm" | |
| 9 | + METADATA | |
| 10 | + TPSHP "" | |
| 11 | + TEMA "Global Landcover 2000" | |
| 12 | + CLASSE "SIM" | |
| 13 | + TEXTO "" | |
| 14 | + TABELA "NAO" | |
| 15 | + R "RASTER" | |
| 16 | + ITENS "values,value_0,class" | |
| 17 | + ITENSDESC "Valores,Banda_0,Classe" | |
| 18 | + ESCALA "1000000" | |
| 19 | + EXTENSAO "-75.233614607 -33.7515829981 -27.592958622 5.272156" | |
| 20 | + END | |
| 21 | + TRANSPARENCY 60 | |
| 22 | +CLASS | |
| 23 | + NAME 'Corpo dágua' | |
| 24 | + EXPRESSION ([pixel] = 83 ) | |
| 25 | + COLOR 0 0 255 | |
| 26 | +END | |
| 27 | +CLASS | |
| 28 | + NAME 'Manguezal' | |
| 29 | + EXPRESSION ([pixel] = 30 ) | |
| 30 | + COLOR 237 161 237 | |
| 31 | +END | |
| 32 | +CLASS | |
| 33 | + NAME 'Igapó e várzea' | |
| 34 | + EXPRESSION ([pixel] = 31 ) | |
| 35 | + COLOR 237 0 255 | |
| 36 | +END | |
| 37 | +CLASS | |
| 38 | + NAME 'Flor. hidrófila' | |
| 39 | + EXPRESSION ([pixel] = 33 ) | |
| 40 | + COLOR 237 193 237 | |
| 41 | +END | |
| 42 | +CLASS | |
| 43 | + NAME 'Floresta ombrófila (úmida)' | |
| 44 | + EXPRESSION ([pixel] IN '10,11,12' ) | |
| 45 | + COLOR 0 204 0 | |
| 46 | +END | |
| 47 | +CLASS | |
| 48 | + NAME 'Flor. estacional semi-decidual (úmida)' | |
| 49 | + EXPRESSION ([pixel] IN '13,14' ) | |
| 50 | + COLOR 98 255 169 | |
| 51 | +END | |
| 52 | +CLASS | |
| 53 | + NAME 'Flor. estacional decidual (seca)' | |
| 54 | + EXPRESSION ([pixel] IN '20,21' ) | |
| 55 | + COLOR 140 255 0 | |
| 56 | +END | |
| 57 | +CLASS | |
| 58 | + NAME 'Flor. estacional semi-decidual (seca)' | |
| 59 | + EXPRESSION ([pixel] IN '22,23' ) | |
| 60 | + COLOR 0 255 0 | |
| 61 | +END | |
| 62 | +CLASS | |
| 63 | + NAME 'Flor. de transição semi-decidual (seca)' | |
| 64 | + EXPRESSION ([pixel] = 24 ) | |
| 65 | + COLOR 230 255 230 | |
| 66 | +END | |
| 67 | +CLASS | |
| 68 | + NAME 'Flor. latifoliada sempre-verde densa (temperada)' | |
| 69 | + EXPRESSION ([pixel] = 40 ) | |
| 70 | + COLOR 105 117 0 | |
| 71 | +END | |
| 72 | +CLASS | |
| 73 | + NAME 'Flor. latifoliada sempre-verde e mista de coníferas (temperada)' | |
| 74 | + EXPRESSION ([pixel] = 42 ) | |
| 75 | + COLOR 105 76 0 | |
| 76 | +END | |
| 77 | +CLASS | |
| 78 | + NAME 'Flor. estacional decidual (temperada)' | |
| 79 | + EXPRESSION ([pixel] IN '44,43' ) | |
| 80 | + COLOR 125 161 0 | |
| 81 | +END | |
| 82 | +CLASS | |
| 83 | + NAME 'Mosaico de veg. não arbórea degradada' | |
| 84 | + EXPRESSION ([pixel] = 51 ) | |
| 85 | + COLOR 207 171 0 | |
| 86 | +END | |
| 87 | +CLASS | |
| 88 | + NAME 'Mosaico de veg. arbórea degradada' | |
| 89 | + EXPRESSION ([pixel] = 52 ) | |
| 90 | + COLOR 255 120 8 | |
| 91 | +END | |
| 92 | +CLASS | |
| 93 | + NAME 'Floresta de montanha' | |
| 94 | + EXPRESSION ([pixel] IN '194,246,247,254,238,244,245,235,236,237,227,228,234,224,225,226,206,207,208,195,197,204,190,192,193,181,182,183,173,174,180,171,172,110,111,112,113,114,120,121,122,123,124,130,131,133,140,142,143,144,160,161,162,163,164,170' ) | |
| 95 | + COLOR 0 99 0 | |
| 96 | +END | |
| 97 | +CLASS | |
| 98 | + NAME 'Formação arbustiva fechada' | |
| 99 | + EXPRESSION ([pixel] = 64 ) | |
| 100 | + COLOR 159 81 44 | |
| 101 | +END | |
| 102 | +CLASS | |
| 103 | + NAME 'Formação arbustiva aberta' | |
| 104 | + EXPRESSION ([pixel] = 65 ) | |
| 105 | + COLOR 209 178 140 | |
| 106 | +END | |
| 107 | +CLASS | |
| 108 | + NAME 'Campinarana' | |
| 109 | + EXPRESSION ([pixel] = 66 ) | |
| 110 | + COLOR 159 32 239 | |
| 111 | +END | |
| 112 | +CLASS | |
| 113 | + NAME 'Campo rupestre' | |
| 114 | + EXPRESSION ([pixel] = 67 ) | |
| 115 | + COLOR 143 98 255 | |
| 116 | +END | |
| 117 | +CLASS | |
| 118 | + NAME 'Campo de altitude' | |
| 119 | + EXPRESSION ([pixel] IN '68,69' ) | |
| 120 | + COLOR 244 255 178 | |
| 121 | +END | |
| 122 | +CLASS | |
| 123 | + NAME 'Campo inundável' | |
| 124 | + EXPRESSION ([pixel] = 63 ) | |
| 125 | + COLOR 63 223 207 | |
| 126 | +END | |
| 127 | +CLASS | |
| 128 | + NAME 'Rocha e solo nu' | |
| 129 | + EXPRESSION ([pixel] = 80 ) | |
| 130 | + COLOR 180 178 204 | |
| 131 | +END | |
| 132 | +CLASS | |
| 133 | + NAME 'Estepe arbustiva pouco densa' | |
| 134 | + EXPRESSION ([pixel] = 75 ) | |
| 135 | + COLOR 255 192 202 | |
| 136 | +END | |
| 137 | +CLASS | |
| 138 | + NAME 'Estepe (campo aberto ou fechado)' | |
| 139 | + EXPRESSION ([pixel] IN '70,71' ) | |
| 140 | + COLOR 255 255 207 | |
| 141 | +END | |
| 142 | +CLASS | |
| 143 | + NAME 'Deserto' | |
| 144 | + EXPRESSION ([pixel] = 81 ) | |
| 145 | + COLOR 230 230 230 | |
| 146 | +END | |
| 147 | +CLASS | |
| 148 | + NAME 'Savana ou savana arbustiva' | |
| 149 | + EXPRESSION ([pixel] IN '60,61' ) | |
| 150 | + COLOR 255 208 0 | |
| 151 | +END | |
| 152 | +CLASS | |
| 153 | + NAME 'Neve eterna' | |
| 154 | + EXPRESSION ([pixel] = 84 ) | |
| 155 | + COLOR 255 255 255 | |
| 156 | +END | |
| 157 | +CLASS | |
| 158 | + NAME 'Área salinizada' | |
| 159 | + EXPRESSION ([pixel] IN '82' ) | |
| 160 | + COLOR 59 32 0 | |
| 161 | +END | |
| 162 | +CLASS | |
| 163 | + NAME 'Plantação florestal, reflorestamento' | |
| 164 | + EXPRESSION ([pixel] = 53 ) | |
| 165 | + COLOR 76 99 0 | |
| 166 | +END | |
| 167 | +CLASS | |
| 168 | + NAME 'Área urbana' | |
| 169 | + EXPRESSION ([pixel] = 90 ) | |
| 170 | + COLOR 250 0 0 | |
| 171 | +END | |
| 172 | +CLASS | |
| 173 | + NAME 'Agricultura intensiva' | |
| 174 | + EXPRESSION ([pixel] = 50 ) | |
| 175 | + COLOR 255 255 0 | |
| 176 | +END | |
| 177 | +END | |
| 178 | +END | ... | ... |