Commit df91d95e394c85f40b7911f3925fe4b9002265f2
1 parent
89f03782
Exists in
master
and in
7 other branches
Novo método em i3geo.calculo para calcular a posição de um ponto partindo de um …
…par de coordenadas, distancia e direção
Showing
6 changed files
with
116 additions
and
5 deletions
Show diff stats
classesjs/classe_calculo.js
... | ... | @@ -361,6 +361,43 @@ i3GEO.calculo = { |
361 | 361 | return r % 360; |
362 | 362 | }, |
363 | 363 | /* |
364 | + Function: destinoDD | |
365 | + | |
366 | + Calcula as coordenadas de um novo ponto em função da posição de um ponto de origem, distância e direção | |
367 | + | |
368 | + O novo ponto é calculado em coordenadas geográficas em DD | |
369 | + | |
370 | + Baseado no site http://www.movable-type.co.uk/scripts/latlong.html (indicado por louriques@yahoo.com.br) | |
371 | + | |
372 | + Parameters: | |
373 | + | |
374 | + lon {Numeric} - longitude (x) do ponto de origem | |
375 | + | |
376 | + lat {Numeric} - latitude do ponto de origem | |
377 | + | |
378 | + d {Numeric} - distância em Km | |
379 | + | |
380 | + direção {Numeric} - ângulo desejado em décimos de grau (direção de 0 a 360) | |
381 | + | |
382 | + Return: | |
383 | + | |
384 | + Array com a longitude e latitude em décimos de grau ([0] = longitude, [1] = latitude | |
385 | + | |
386 | + Type: | |
387 | + {Array} | |
388 | + */ | |
389 | + destinoDD: function(lon,lat,d,direcao){ | |
390 | + var R = 6371; // earth's mean radius in km | |
391 | + var lat1 = lat * (Math.PI / 180); | |
392 | + var lon1 = lon * (Math.PI / 180); | |
393 | + var brng = direcao * (Math.PI / 180); | |
394 | + var lat2 = Math.asin( Math.sin(lat1)*Math.cos(d/R) + Math.cos(lat1)*Math.sin(d/R)*Math.cos(brng) ); | |
395 | + var lon2 = lon1 + Math.atan2(Math.sin(brng)*Math.sin(d/R)*Math.cos(lat1),Math.cos(d/R)-Math.sin(lat1)*Math.sin(lat2)); | |
396 | + lon2 = (lon2+Math.PI)%(2*Math.PI) - Math.PI; // normalise to -180...+180 | |
397 | + if (isNaN(lat2) || isNaN(lon2)) return null; | |
398 | + return new Array((lon2 * 180 / Math.PI),(lat2 * 180 / Math.PI)); | |
399 | + }, | |
400 | + /* | |
364 | 401 | Function: rect2ext |
365 | 402 | |
366 | 403 | Calcula a extensão geográfica de um retângulo desenhado sobre o mapa. | ... | ... |
classesjs/classe_mapa.js
... | ... | @@ -615,7 +615,7 @@ i3GEO.mapa = { |
615 | 615 | var temp = Math.random() + "a"; |
616 | 616 | temp = temp.split("."); |
617 | 617 | g_nomepin = "pin"+temp[1]; |
618 | - var janela = i3GEO.janela.cria("400px","300px",i3GEO.configura.locaplic+'/ferramentas/inserexy2/index.htm',"","","Insere"); | |
618 | + var janela = i3GEO.janela.cria("500px","300px",i3GEO.configura.locaplic+'/ferramentas/inserexy2/index.htm',"","","Insere"); | |
619 | 619 | if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.mapa.inserePonto()") < 0) |
620 | 620 | {i3GEO.eventos.MOUSECLIQUE.push("i3GEO.mapa.inserePonto()");} |
621 | 621 | var temp = function(){ | ... | ... |
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},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])}}; | |
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},destinoDD:function(lon,lat,d,direcao){var R=6371;var lat1=lat*(Math.PI/180);var lon1=lon*(Math.PI/180);var brng=direcao*(Math.PI/180);var lat2=Math.asin(Math.sin(lat1)*Math.cos(d/R)+Math.cos(lat1)*Math.sin(d/R)*Math.cos(brng));var lon2=lon1+Math.atan2(Math.sin(brng)*Math.sin(d/R)*Math.cos(lat1),Math.cos(d/R)-Math.sin(lat1)*Math.sin(lat2));lon2=(lon2+Math.PI)%(2*Math.PI)-Math.PI;if(isNaN(lat2)||isNaN(lon2))return null;return new Array((lon2*180/Math.PI),(lat2*180/Math.PI))},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/compactados/classe_mapa_compacto.js
1 | -if(typeof(i3GEO)=='undefined'){i3GEO=new Array()}i3GEO.mapa={GEOXML:new Array(),ajustaPosicao:function(elemento){if(arguments.length==0){return}try{imagemxi=0;imagemyi=0;imagemxref=0;imagemyref=0;var dc=$i(elemento);while((dc.offsetParent)&&(dc.offsetParent.id!="i3geo")){dc=dc.offsetParent;imagemxi=imagemxi+dc.offsetLeft;imagemyi=imagemyi+dc.offsetTop}var c=$i(i3GEO.interface.IDCORPO);if(c){c.style.position="absolute";$left(i3GEO.interface.IDCORPO,imagemxi);$top(i3GEO.interface.IDCORPO,imagemyi)}}catch(e){alert("Ocorreu um erro. i3GEO.mapa.ajustaPosicao"+e)}},ativaLogo:function(){i3GEO.php.ativalogo(i3GEO.atualiza)},insereToponimo:function(){if(g_tipoacao=="textofid"){var doc=(navm)?document.frames("wdocai").document:$i("wdocai").contentDocument;texto=doc.getElementById("texto").value;var f=doc.getElementById("fonte").value;var t=doc.getElementById("tamanho").value;var a=doc.getElementById("angulo").value;var cf=doc.getElementById("fundoc").value;if(cf==""){cf="off"}var cs=doc.getElementById("sombra").value;if(cs==""){cs="off"}var xs=doc.getElementById("sombrax").value;var ys=doc.getElementById("sombray").value;var c=doc.getElementById("frente").value;var m=doc.getElementById("mascara").value;if(m==""){m="off"}var fcs=doc.getElementById("frentes").value;if(fcs==""){fcs="off"}var fxs=doc.getElementById("frentex").value;var fys=doc.getElementById("frentey").value;var forca=doc.getElementById("force").value;var md=doc.getElementById("mindistance").value;var mf=doc.getElementById("minfeaturesize").value;var ox=doc.getElementById("offsetx").value;var oy=doc.getElementById("offsety").value;var pl=doc.getElementById("partials").value;var pos=doc.getElementById("position").value;var digi=function(retorno){if(texto==""){i3GEO.janela.fechaAguarde("i3GEO.atualiza");texto=retorno.data}if(texto!=" "){i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1"));i3GEO.php.insereAnnotation(i3GEO.atualiza,g_nomepin+"topo",objposicaocursor.ddx+" "+objposicaocursor.ddy,texto,pos,pl,ox,oy,mf,md,forca,fcs,fxs,fys,m,c,ys,xs,cs,cf,a,t,f)}};if(doc.getElementById("tipoInsere").value=="digitando"){digi.call()}else{texto="";if((doc.getElementById("temasLigados"))&&(doc.getElementById("itemsel"))){var tema=doc.getElementById("temasLigados").value;var item=doc.getElementById("itemsel").value;i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1"));i3GEO.php.identificaunico(digi,objposicaocursor.ddx+","+objposicaocursor.ddy,tema,item)}}}else{i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.mapa.insereToponimo()")}},insereKml:function(pan,url){if(arguments.length==1){var i=$i("i3geo_urlkml");if(i){var url=i.value}else{var url=""}}if(url==""){return}var ngeoxml="geoXml_"+i3GEO.mapa.GEOXML.length;i3GEO.mapa.GEOXML.push(ngeoxml);var zoom=function(){if(pan){eval("var ll = "+ngeoxml+".getDefaultCenter()");eval(ngeoxml+".gotoDefaultViewport(i3GeoMap)")}};eval(ngeoxml+" = new GGeoXml(url,zoom)");eval("i3GeoMap.addOverlay("+ngeoxml+")");i3GEO.mapa.criaNoArvoreGoogle(ngeoxml,ngeoxml)},criaNoArvoreGoogle:function(url,nomeOverlay){var root=i3GEO.arvoreDeCamadas.ARVORE.getRoot();var node=i3GEO.arvoreDeCamadas.ARVORE.getNodeByProperty("idkml","raiz");if(!node){var titulo="<table><tr><td><b>Google Maps</b></td></tr></table>";var d={html:titulo,idkml:"raiz"};var node=new YAHOO.widget.HTMLNode(d,root,true,true)}html="<input onclick='i3GEO.mapa.ativaDesativaOverlayGoogle(this)' class=inputsb style='cursor:pointer;' type='checkbox' value='"+nomeOverlay+"' checked />";html+=" <span style='cursor:move'>"+url+"</span>";var d={html:html};var nodekml=new YAHOO.widget.HTMLNode(d,node,true,true);nodekml.isleaf=true;i3GEO.arvoreDeCamadas.ARVORE.draw();i3GEO.arvoreDeCamadas.ARVORE.collapseAll();node.expand()},ativaDesativaOverlayGoogle:function(obj){if(!obj.checked){eval("i3GeoMap.removeOverlay("+obj.value+")")}else eval("i3GeoMap.addOverlay("+obj.value+")")},inserePonto:function(){if(g_tipoacao=="inserexy"){var doc=(navm)?document.frames("wdocai").document:$i("wdocai").contentDocument;if(doc.getElementById("resultado")){var ins=doc.getElementById("resultado").innerHTML;ins=ins+"<div style='font-size:12px' >"+objposicaocursor.ddx+" "+objposicaocursor.ddy+"</div><br>";doc.getElementById("resultado").innerHTML=ins}var item="";var valoritem="";if((doc.getElementById("valorItem"))&&(doc.getElementById("itemtema"))){var item=doc.getElementById("itemtema").value;var valoritem=doc.getElementById("valorItem").value}if(g_nomepin==""){alert("Nenhum tema definido para editar")}else{i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1"));i3GEO.php.insereSHP(i3GEO.atualiza,g_nomepin,item,valoritem,objposicaocursor.ddx+" "+objposicaocursor.ddy)}}},insereGrafico:function(){if(g_tipoacao=="inseregrafico"){var doc=(navm)?document.frames("wdocai").document:$i("wdocai").contentDocument;var tema=doc.getElementById("temasLigados").value;var width=doc.getElementById("w").value;var inclinacao=doc.getElementById("inclinacao").value;var shadow_height=doc.getElementById("sombra").value;if(tema==""){alert("Nenhum tema definido para pegar os dados")}else{var listadeitens=new Array();var g=doc.getElementById("listai");var iguias=g.getElementsByTagName("input");var i=iguias.length-1;if(i>=0){do{if(iguias[i].checked==true){var it=iguias[i].id;var c=doc.getElementById("cor"+it).value;listadeitens.push(it+","+c)}}while(i--)}var itens=listadeitens.join("*");if(itens==""){alert("Nenhum item foi escolhido")}else{i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1"));i3GEO.php.insereSHPgrafico(i3GEO.atualiza,tema,objposicaocursor.ddx,objposicaocursor.ddy,itens,shadow_height,width,inclinacao)}}}},recupera:{TENTATIVA:0,inicia:function(){i3GEO.mapa.ajustaPosicao();i3GEO.janela.fechaAguarde();if(i3GEO.mapa.recupera.TENTATIVA==0){i3GEO.mapa.recupera.TENTATIVA++;i3GEO.mapa.recupera.restaura()}},restaura:function(){i3GEO.php.recuperamapa(i3GEO.atualiza)}},legendaHTML:{ID:"",cria:function(id){if(arguments.length==0){var id=""}i3GEO.mapa.legendaHTML.ID=id;if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.mapa.legendaHTML.atualiza()")<0){i3GEO.eventos.NAVEGAMAPA.push("i3GEO.mapa.legendaHTML.atualiza()")}i3GEO.mapa.legendaHTML.atualiza()},atualiza:function(){var temp=function(retorno){if(i3GEO.mapa.legendaHTML.ID!=""&&$i(i3GEO.mapa.legendaHTML.ID)){if((retorno.data!="erro")&&(retorno.data!=undefined)){var s=i3GEO.configura.locaplic+"/imagens/solta.gif";$i(i3GEO.mapa.legendaHTML.ID).innerHTML="<img onclick='i3GEO.mapa.legendaHTML.libera()' id=soltaLeg src="+s+" title='clique para liberar'/><br><div id='corpoLegi' >"+retorno.data.legenda+"</div>"}}if($i("wlegenda")){$i("wlegenda").innerHTML=retorno.data.legenda;var elementos=$i("wlegenda").getElementsByTagName("input");for(i=0;i<elementos.length;i++){elementos[i].style.display="none"}}};i3GEO.mapa.legendaHTML.obtem(temp)},obtem:function(funcao){i3GEO.php.criaLegendaHTML(funcao,"",i3GEO.configura.templateLegenda)},ativaDesativaTema:function(inputbox){var temp=function(){i3GEO.php.corpo(i3GEO.atualiza,i3GEO.configura.tipoimagem);i3GEO.arvoreDeCamadas.atualiza("");i3GEO.janela.fechaAguarde("redesenha")};i3GEO.janela.abreAguarde("redesenha",$trad("o1"));if(!inputbox.checked)i3GEO.php.ligatemas(temp,inputbox.value,"");else i3GEO.php.ligatemas(temp,"",inputbox.value)},libera:function(){var temp=function(retorno){if(!$i("moveLegi")){var novoel=document.createElement("div");novoel.id="moveLegi";novoel.style.display="block";var temp='<div class="hd">Legenda</div>';temp+='<div id="wlegenda" style="text-align:left;background-color:white" ></div>';novoel.innerHTML=temp;document.body.appendChild(novoel);YAHOO.namespace("moveLegi.xp");YAHOO.moveLegi.xp.panel=new YAHOO.widget.Panel("moveLegi",{width:"300px",fixedcenter:true,constraintoviewport:false,underlay:"none",close:true,visible:true,draggable:true,modal:false});YAHOO.moveLegi.xp.panel.render()}$i("wlegenda").innerHTML=retorno.data.legenda;var temp=$i("wlegenda").getElementsByTagName("input");var n=temp.length;for(i=0;i<n;i++){temp[i].style.display="none"}YAHOO.moveLegi.xp.panel.show()}i3GEO.mapa.legendaHTML.obtem(temp)}},legendaIMAGEM:{obtem:function(funcao){i3GEO.php.criaLegendaImagem(funcao)}},dialogo:{autoredesenha:function(){i3GEO.janela.cria("300px","110px",i3GEO.configura.locaplic+"/ferramentas/opcoes_autoredesenha/index.htm","","","Temporizador <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=1&idajuda=9' > </a>")},salvaMapa:function(){if(i3GEO.parametros==""){alert("Essa opcao nao pode ser ativada. Consulte o administrador do sistema. Mapfile nao esta exposto.");return}i3GEO.janela.cria("300px","180px",i3GEO.configura.locaplic+"/ferramentas/salvamapa/index.htm","","","Salva mapa <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=2&idajuda=10' > </a>")},carregaMapa:function(){i3GEO.janela.cria("300px","150px",i3GEO.configura.locaplic+"/ferramentas/carregamapa/index.htm?urlatual="+window.location,"","","Carrega mapa <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=2&idajuda=11' > </a>")},convertews:function(){if(i3GEO.parametros.mapfile==""){alert("Essa opcao nao pode ser ativada. Consulte o administrador do sistema. Mapfile nao esta exposto.");return}i3GEO.janela.cria("440px","280px",i3GEO.configura.locaplic+"/ferramentas/convertews/index.htm","","","WMS <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=2&idajuda=12' > </a>")},convertekml:function(){if(i3GEO.parametros.mapfile==""){alert("Essa opcao nao pode ser ativada. Consulte o administrador do sistema. Mapfile nao esta exposto.");return}i3GEO.janela.cria("440px","280px",i3GEO.configura.locaplic+"/ferramentas/convertemapakml/index.htm","","","Kml <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=2&idajuda=13' > </a>")},queryMap:function(){i3GEO.janela.cria("210px","80px",i3GEO.configura.locaplic+"/ferramentas/opcoes_querymap/index.htm","","","Cor da seleção <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=1&idajuda=5' > </a>")},template:function(){i3GEO.janela.cria("300px","400px",i3GEO.configura.locaplic+"/ferramentas/template/index.htm","","","Template <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=1&idajuda=8' > </a>")},tamanho:function(){i3GEO.janela.cria("150px","170px",i3GEO.configura.locaplic+"/ferramentas/opcoes_tamanho/index.htm","","","Tamanho <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=1&idajuda=4' > </a>")},tipoimagem:function(){i3GEO.janela.cria("300px","260px",i3GEO.configura.locaplic+"/ferramentas/tipoimagem/index.htm","","","Tipo de imagem <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=1&idajuda=1' > </a>")},corFundo:function(){i3GEO.janela.cria("210px","80px",i3GEO.configura.locaplic+"/ferramentas/opcoes_fundo/index.htm","","","Cor do fundo <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=1&idajuda=6' > </a>")},opcoesEscala:function(){i3GEO.janela.cria("250px","300px",i3GEO.configura.locaplic+"/ferramentas/opcoes_escala/index.htm","center","center","Escala <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=1&idajuda=3' > </a>")},opcoesLegenda:function(){i3GEO.janela.cria("320px","300px",i3GEO.configura.locaplic+"/ferramentas/opcoes_legenda/index.htm","","","Legenda <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=1&idajuda=2' > </a>")},gradeCoord:function(){i3GEO.janela.cria("350px","330px",i3GEO.configura.locaplic+"/ferramentas/gradecoord/index.htm","","","Grade de coordenadas <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=1&idajuda=7' > </a>")},cliqueTexto:function(){if(g_tipoacao!="textofid"){var temp=Math.random()+"b";temp=temp.split(".");g_nomepin="pin"+temp[1];g_tipoacao="textofid";var janela=i3GEO.janela.cria("360px","250px",i3GEO.configura.locaplic+"/ferramentas/inseretxt/index.htm","","","Texto");if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.mapa.insereToponimo()")<0){i3GEO.eventos.MOUSECLIQUE.push("i3GEO.mapa.insereToponimo()")}var temp=function(){i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.mapa.insereToponimo()");i3GEO.barraDeBotoes.ativaBotoes()};YAHOO.util.Event.addListener(janela[0].close,"click",temp)}},cliquePonto:function(){if(g_tipoacao!="inserexy"){g_tipoacao="inserexy";var temp=Math.random()+"a";temp=temp.split(".");g_nomepin="pin"+temp[1];var janela=i3GEO.janela.cria("400px","300px",i3GEO.configura.locaplic+'/ferramentas/inserexy2/index.htm',"","","Insere");if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.mapa.inserePonto()")<0){i3GEO.eventos.MOUSECLIQUE.push("i3GEO.mapa.inserePonto()")}var temp=function(){i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.mapa.inserePonto()");i3GEO.barraDeBotoes.ativaBotoes()};YAHOO.util.Event.addListener(janela[0].close,"click",temp)}},cliqueGrafico:function(){if(g_tipoacao!="inseregrafico"){g_tipoacao="inseregrafico";var temp=Math.random()+"a";temp=temp.split(".");g_nomepin="pin"+temp[1];var janela=i3GEO.janela.cria("400px","300px",i3GEO.configura.locaplic+'/ferramentas/inseregrafico/index.htm',"","","Insere");if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.mapa.insereGrafico()")<0){i3GEO.eventos.MOUSECLIQUE.push("i3GEO.mapa.insereGrafico()")}var temp=function(){i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.mapa.insereGrafico()");i3GEO.barraDeBotoes.ativaBotoes()};YAHOO.util.Event.addListener(janela[0].close,"click",temp)}}},corpo:{verifica:function(retorno){try{i3GEO.janela.abreAguarde("ajaxCorpoMapa",$trad("o3"));if(retorno.data){var retorno=retorno.data}if(retorno.variaveis){var retorno=retorno.variaveis}if((retorno=="erro")||(retorno==undefined)){i3GEO.mapa.ajustaPosicao();i3GEO.janela.fechaAguarde();i3GEO.mapa.recupera.inicia()}i3GEO.mapa.recupera.TENTATIVA=0}catch(e){if(i3GEO.interface.ATUAL=="openlayers"){i3GEO.janela.fechaAguarde();return}if(i3GEO.mapa.recupera.TENTATIVA==0){alert("Erro no mapa. Sera feita uma tentativa de recuperacao.");i3GEO.mapa.recupera.inicia()}else{alert("Recuperacao impossivel. Sera feita uma tentativa de reiniciar o mapa.");if(i3GEO.mapa.recupera.TENTATIVA==1){i3GEO.mapa.recupera.TENTATIVA=2;i3GEO.php.reiniciaMapa(i3GEO.atualiza)}}}}}}; | |
2 | 1 | \ No newline at end of file |
2 | +if(typeof(i3GEO)=='undefined'){i3GEO=new Array()}i3GEO.mapa={GEOXML:new Array(),ajustaPosicao:function(elemento){if(arguments.length==0){return}try{imagemxi=0;imagemyi=0;imagemxref=0;imagemyref=0;var dc=$i(elemento);while((dc.offsetParent)&&(dc.offsetParent.id!="i3geo")){dc=dc.offsetParent;imagemxi=imagemxi+dc.offsetLeft;imagemyi=imagemyi+dc.offsetTop}var c=$i(i3GEO.interface.IDCORPO);if(c){c.style.position="absolute";$left(i3GEO.interface.IDCORPO,imagemxi);$top(i3GEO.interface.IDCORPO,imagemyi)}}catch(e){alert("Ocorreu um erro. i3GEO.mapa.ajustaPosicao"+e)}},ativaLogo:function(){i3GEO.php.ativalogo(i3GEO.atualiza)},insereToponimo:function(){if(g_tipoacao=="textofid"){var doc=(navm)?document.frames("wdocai").document:$i("wdocai").contentDocument;texto=doc.getElementById("texto").value;var f=doc.getElementById("fonte").value;var t=doc.getElementById("tamanho").value;var a=doc.getElementById("angulo").value;var cf=doc.getElementById("fundoc").value;if(cf==""){cf="off"}var cs=doc.getElementById("sombra").value;if(cs==""){cs="off"}var xs=doc.getElementById("sombrax").value;var ys=doc.getElementById("sombray").value;var c=doc.getElementById("frente").value;var m=doc.getElementById("mascara").value;if(m==""){m="off"}var fcs=doc.getElementById("frentes").value;if(fcs==""){fcs="off"}var fxs=doc.getElementById("frentex").value;var fys=doc.getElementById("frentey").value;var forca=doc.getElementById("force").value;var md=doc.getElementById("mindistance").value;var mf=doc.getElementById("minfeaturesize").value;var ox=doc.getElementById("offsetx").value;var oy=doc.getElementById("offsety").value;var pl=doc.getElementById("partials").value;var pos=doc.getElementById("position").value;var digi=function(retorno){if(texto==""){i3GEO.janela.fechaAguarde("i3GEO.atualiza");texto=retorno.data}if(texto!=" "){i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1"));i3GEO.php.insereAnnotation(i3GEO.atualiza,g_nomepin+"topo",objposicaocursor.ddx+" "+objposicaocursor.ddy,texto,pos,pl,ox,oy,mf,md,forca,fcs,fxs,fys,m,c,ys,xs,cs,cf,a,t,f)}};if(doc.getElementById("tipoInsere").value=="digitando"){digi.call()}else{texto="";if((doc.getElementById("temasLigados"))&&(doc.getElementById("itemsel"))){var tema=doc.getElementById("temasLigados").value;var item=doc.getElementById("itemsel").value;i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1"));i3GEO.php.identificaunico(digi,objposicaocursor.ddx+","+objposicaocursor.ddy,tema,item)}}}else{i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.mapa.insereToponimo()")}},insereKml:function(pan,url){if(arguments.length==1){var i=$i("i3geo_urlkml");if(i){var url=i.value}else{var url=""}}if(url==""){return}var ngeoxml="geoXml_"+i3GEO.mapa.GEOXML.length;i3GEO.mapa.GEOXML.push(ngeoxml);var zoom=function(){if(pan){eval("var ll = "+ngeoxml+".getDefaultCenter()");eval(ngeoxml+".gotoDefaultViewport(i3GeoMap)")}};eval(ngeoxml+" = new GGeoXml(url,zoom)");eval("i3GeoMap.addOverlay("+ngeoxml+")");i3GEO.mapa.criaNoArvoreGoogle(ngeoxml,ngeoxml)},criaNoArvoreGoogle:function(url,nomeOverlay){var root=i3GEO.arvoreDeCamadas.ARVORE.getRoot();var node=i3GEO.arvoreDeCamadas.ARVORE.getNodeByProperty("idkml","raiz");if(!node){var titulo="<table><tr><td><b>Google Maps</b></td></tr></table>";var d={html:titulo,idkml:"raiz"};var node=new YAHOO.widget.HTMLNode(d,root,true,true)}html="<input onclick='i3GEO.mapa.ativaDesativaOverlayGoogle(this)' class=inputsb style='cursor:pointer;' type='checkbox' value='"+nomeOverlay+"' checked />";html+=" <span style='cursor:move'>"+url+"</span>";var d={html:html};var nodekml=new YAHOO.widget.HTMLNode(d,node,true,true);nodekml.isleaf=true;i3GEO.arvoreDeCamadas.ARVORE.draw();i3GEO.arvoreDeCamadas.ARVORE.collapseAll();node.expand()},ativaDesativaOverlayGoogle:function(obj){if(!obj.checked){eval("i3GeoMap.removeOverlay("+obj.value+")")}else eval("i3GeoMap.addOverlay("+obj.value+")")},inserePonto:function(){if(g_tipoacao=="inserexy"){var doc=(navm)?document.frames("wdocai").document:$i("wdocai").contentDocument;if(doc.getElementById("resultado")){var ins=doc.getElementById("resultado").innerHTML;ins=ins+"<div style='font-size:12px' >"+objposicaocursor.ddx+" "+objposicaocursor.ddy+"</div><br>";doc.getElementById("resultado").innerHTML=ins}var item="";var valoritem="";if((doc.getElementById("valorItem"))&&(doc.getElementById("itemtema"))){var item=doc.getElementById("itemtema").value;var valoritem=doc.getElementById("valorItem").value}if(g_nomepin==""){alert("Nenhum tema definido para editar")}else{i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1"));i3GEO.php.insereSHP(i3GEO.atualiza,g_nomepin,item,valoritem,objposicaocursor.ddx+" "+objposicaocursor.ddy)}}},insereGrafico:function(){if(g_tipoacao=="inseregrafico"){var doc=(navm)?document.frames("wdocai").document:$i("wdocai").contentDocument;var tema=doc.getElementById("temasLigados").value;var width=doc.getElementById("w").value;var inclinacao=doc.getElementById("inclinacao").value;var shadow_height=doc.getElementById("sombra").value;if(tema==""){alert("Nenhum tema definido para pegar os dados")}else{var listadeitens=new Array();var g=doc.getElementById("listai");var iguias=g.getElementsByTagName("input");var i=iguias.length-1;if(i>=0){do{if(iguias[i].checked==true){var it=iguias[i].id;var c=doc.getElementById("cor"+it).value;listadeitens.push(it+","+c)}}while(i--)}var itens=listadeitens.join("*");if(itens==""){alert("Nenhum item foi escolhido")}else{i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1"));i3GEO.php.insereSHPgrafico(i3GEO.atualiza,tema,objposicaocursor.ddx,objposicaocursor.ddy,itens,shadow_height,width,inclinacao)}}}},recupera:{TENTATIVA:0,inicia:function(){i3GEO.mapa.ajustaPosicao();i3GEO.janela.fechaAguarde();if(i3GEO.mapa.recupera.TENTATIVA==0){i3GEO.mapa.recupera.TENTATIVA++;i3GEO.mapa.recupera.restaura()}},restaura:function(){i3GEO.php.recuperamapa(i3GEO.atualiza)}},legendaHTML:{ID:"",cria:function(id){if(arguments.length==0){var id=""}i3GEO.mapa.legendaHTML.ID=id;if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.mapa.legendaHTML.atualiza()")<0){i3GEO.eventos.NAVEGAMAPA.push("i3GEO.mapa.legendaHTML.atualiza()")}i3GEO.mapa.legendaHTML.atualiza()},atualiza:function(){var temp=function(retorno){if(i3GEO.mapa.legendaHTML.ID!=""&&$i(i3GEO.mapa.legendaHTML.ID)){if((retorno.data!="erro")&&(retorno.data!=undefined)){var s=i3GEO.configura.locaplic+"/imagens/solta.gif";$i(i3GEO.mapa.legendaHTML.ID).innerHTML="<img onclick='i3GEO.mapa.legendaHTML.libera()' id=soltaLeg src="+s+" title='clique para liberar'/><br><div id='corpoLegi' >"+retorno.data.legenda+"</div>"}}if($i("wlegenda")){$i("wlegenda").innerHTML=retorno.data.legenda;var elementos=$i("wlegenda").getElementsByTagName("input");for(i=0;i<elementos.length;i++){elementos[i].style.display="none"}}};i3GEO.mapa.legendaHTML.obtem(temp)},obtem:function(funcao){i3GEO.php.criaLegendaHTML(funcao,"",i3GEO.configura.templateLegenda)},ativaDesativaTema:function(inputbox){var temp=function(){i3GEO.php.corpo(i3GEO.atualiza,i3GEO.configura.tipoimagem);i3GEO.arvoreDeCamadas.atualiza("");i3GEO.janela.fechaAguarde("redesenha")};i3GEO.janela.abreAguarde("redesenha",$trad("o1"));if(!inputbox.checked)i3GEO.php.ligatemas(temp,inputbox.value,"");else i3GEO.php.ligatemas(temp,"",inputbox.value)},libera:function(){var temp=function(retorno){if(!$i("moveLegi")){var novoel=document.createElement("div");novoel.id="moveLegi";novoel.style.display="block";var temp='<div class="hd">Legenda</div>';temp+='<div id="wlegenda" style="text-align:left;background-color:white" ></div>';novoel.innerHTML=temp;document.body.appendChild(novoel);YAHOO.namespace("moveLegi.xp");YAHOO.moveLegi.xp.panel=new YAHOO.widget.Panel("moveLegi",{width:"300px",fixedcenter:true,constraintoviewport:false,underlay:"none",close:true,visible:true,draggable:true,modal:false});YAHOO.moveLegi.xp.panel.render()}$i("wlegenda").innerHTML=retorno.data.legenda;var temp=$i("wlegenda").getElementsByTagName("input");var n=temp.length;for(i=0;i<n;i++){temp[i].style.display="none"}YAHOO.moveLegi.xp.panel.show()}i3GEO.mapa.legendaHTML.obtem(temp)}},legendaIMAGEM:{obtem:function(funcao){i3GEO.php.criaLegendaImagem(funcao)}},dialogo:{autoredesenha:function(){i3GEO.janela.cria("300px","110px",i3GEO.configura.locaplic+"/ferramentas/opcoes_autoredesenha/index.htm","","","Temporizador <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=1&idajuda=9' > </a>")},salvaMapa:function(){if(i3GEO.parametros==""){alert("Essa opcao nao pode ser ativada. Consulte o administrador do sistema. Mapfile nao esta exposto.");return}i3GEO.janela.cria("300px","180px",i3GEO.configura.locaplic+"/ferramentas/salvamapa/index.htm","","","Salva mapa <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=2&idajuda=10' > </a>")},carregaMapa:function(){i3GEO.janela.cria("300px","150px",i3GEO.configura.locaplic+"/ferramentas/carregamapa/index.htm?urlatual="+window.location,"","","Carrega mapa <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=2&idajuda=11' > </a>")},convertews:function(){if(i3GEO.parametros.mapfile==""){alert("Essa opcao nao pode ser ativada. Consulte o administrador do sistema. Mapfile nao esta exposto.");return}i3GEO.janela.cria("440px","280px",i3GEO.configura.locaplic+"/ferramentas/convertews/index.htm","","","WMS <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=2&idajuda=12' > </a>")},convertekml:function(){if(i3GEO.parametros.mapfile==""){alert("Essa opcao nao pode ser ativada. Consulte o administrador do sistema. Mapfile nao esta exposto.");return}i3GEO.janela.cria("440px","280px",i3GEO.configura.locaplic+"/ferramentas/convertemapakml/index.htm","","","Kml <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=2&idajuda=13' > </a>")},queryMap:function(){i3GEO.janela.cria("210px","80px",i3GEO.configura.locaplic+"/ferramentas/opcoes_querymap/index.htm","","","Cor da seleção <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=1&idajuda=5' > </a>")},template:function(){i3GEO.janela.cria("300px","400px",i3GEO.configura.locaplic+"/ferramentas/template/index.htm","","","Template <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=1&idajuda=8' > </a>")},tamanho:function(){i3GEO.janela.cria("150px","170px",i3GEO.configura.locaplic+"/ferramentas/opcoes_tamanho/index.htm","","","Tamanho <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=1&idajuda=4' > </a>")},tipoimagem:function(){i3GEO.janela.cria("300px","260px",i3GEO.configura.locaplic+"/ferramentas/tipoimagem/index.htm","","","Tipo de imagem <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=1&idajuda=1' > </a>")},corFundo:function(){i3GEO.janela.cria("210px","80px",i3GEO.configura.locaplic+"/ferramentas/opcoes_fundo/index.htm","","","Cor do fundo <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=1&idajuda=6' > </a>")},opcoesEscala:function(){i3GEO.janela.cria("250px","300px",i3GEO.configura.locaplic+"/ferramentas/opcoes_escala/index.htm","center","center","Escala <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=1&idajuda=3' > </a>")},opcoesLegenda:function(){i3GEO.janela.cria("320px","300px",i3GEO.configura.locaplic+"/ferramentas/opcoes_legenda/index.htm","","","Legenda <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=1&idajuda=2' > </a>")},gradeCoord:function(){i3GEO.janela.cria("350px","330px",i3GEO.configura.locaplic+"/ferramentas/gradecoord/index.htm","","","Grade de coordenadas <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=1&idajuda=7' > </a>")},cliqueTexto:function(){if(g_tipoacao!="textofid"){var temp=Math.random()+"b";temp=temp.split(".");g_nomepin="pin"+temp[1];g_tipoacao="textofid";var janela=i3GEO.janela.cria("360px","250px",i3GEO.configura.locaplic+"/ferramentas/inseretxt/index.htm","","","Texto");if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.mapa.insereToponimo()")<0){i3GEO.eventos.MOUSECLIQUE.push("i3GEO.mapa.insereToponimo()")}var temp=function(){i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.mapa.insereToponimo()");i3GEO.barraDeBotoes.ativaBotoes()};YAHOO.util.Event.addListener(janela[0].close,"click",temp)}},cliquePonto:function(){if(g_tipoacao!="inserexy"){g_tipoacao="inserexy";var temp=Math.random()+"a";temp=temp.split(".");g_nomepin="pin"+temp[1];var janela=i3GEO.janela.cria("500px","300px",i3GEO.configura.locaplic+'/ferramentas/inserexy2/index.htm',"","","Insere");if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.mapa.inserePonto()")<0){i3GEO.eventos.MOUSECLIQUE.push("i3GEO.mapa.inserePonto()")}var temp=function(){i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.mapa.inserePonto()");i3GEO.barraDeBotoes.ativaBotoes()};YAHOO.util.Event.addListener(janela[0].close,"click",temp)}},cliqueGrafico:function(){if(g_tipoacao!="inseregrafico"){g_tipoacao="inseregrafico";var temp=Math.random()+"a";temp=temp.split(".");g_nomepin="pin"+temp[1];var janela=i3GEO.janela.cria("400px","300px",i3GEO.configura.locaplic+'/ferramentas/inseregrafico/index.htm',"","","Insere");if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.mapa.insereGrafico()")<0){i3GEO.eventos.MOUSECLIQUE.push("i3GEO.mapa.insereGrafico()")}var temp=function(){i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.mapa.insereGrafico()");i3GEO.barraDeBotoes.ativaBotoes()};YAHOO.util.Event.addListener(janela[0].close,"click",temp)}}},corpo:{verifica:function(retorno){try{i3GEO.janela.abreAguarde("ajaxCorpoMapa",$trad("o3"));if(retorno.data){var retorno=retorno.data}if(retorno.variaveis){var retorno=retorno.variaveis}if((retorno=="erro")||(retorno==undefined)){i3GEO.mapa.ajustaPosicao();i3GEO.janela.fechaAguarde();i3GEO.mapa.recupera.inicia()}i3GEO.mapa.recupera.TENTATIVA=0}catch(e){if(i3GEO.interface.ATUAL=="openlayers"){i3GEO.janela.fechaAguarde();return}if(i3GEO.mapa.recupera.TENTATIVA==0){alert("Erro no mapa. Sera feita uma tentativa de recuperacao.");i3GEO.mapa.recupera.inicia()}else{alert("Recuperacao impossivel. Sera feita uma tentativa de reiniciar o mapa.");if(i3GEO.mapa.recupera.TENTATIVA==1){i3GEO.mapa.recupera.TENTATIVA=2;i3GEO.php.reiniciaMapa(i3GEO.atualiza)}}}}}}; | |
3 | 3 | \ No newline at end of file | ... | ... |
classesjs/i3geo_tudo_compacto.js
... | ... | @@ -10337,6 +10337,43 @@ i3GEO.calculo = { |
10337 | 10337 | return r % 360; |
10338 | 10338 | }, |
10339 | 10339 | /* |
10340 | + Function: destinoDD | |
10341 | + | |
10342 | + Calcula as coordenadas de um novo ponto em função da posição de um ponto de origem, distância e direção | |
10343 | + | |
10344 | + O novo ponto é calculado em coordenadas geográficas em DD | |
10345 | + | |
10346 | + Baseado no site http://www.movable-type.co.uk/scripts/latlong.html (indicado por louriques@yahoo.com.br) | |
10347 | + | |
10348 | + Parameters: | |
10349 | + | |
10350 | + lon {Numeric} - longitude (x) do ponto de origem | |
10351 | + | |
10352 | + lat {Numeric} - latitude do ponto de origem | |
10353 | + | |
10354 | + d {Numeric} - distância em Km | |
10355 | + | |
10356 | + direção {Numeric} - ângulo desejado em décimos de grau (direção de 0 a 360) | |
10357 | + | |
10358 | + Return: | |
10359 | + | |
10360 | + Array com a longitude e latitude em décimos de grau ([0] = longitude, [1] = latitude | |
10361 | + | |
10362 | + Type: | |
10363 | + {Array} | |
10364 | + */ | |
10365 | + destinoDD: function(lon,lat,d,direcao){ | |
10366 | + var R = 6371; // earth's mean radius in km | |
10367 | + var lat1 = lat * (Math.PI / 180); | |
10368 | + var lon1 = lon * (Math.PI / 180); | |
10369 | + var brng = direcao * (Math.PI / 180); | |
10370 | + var lat2 = Math.asin( Math.sin(lat1)*Math.cos(d/R) + Math.cos(lat1)*Math.sin(d/R)*Math.cos(brng) ); | |
10371 | + var lon2 = lon1 + Math.atan2(Math.sin(brng)*Math.sin(d/R)*Math.cos(lat1),Math.cos(d/R)-Math.sin(lat1)*Math.sin(lat2)); | |
10372 | + lon2 = (lon2+Math.PI)%(2*Math.PI) - Math.PI; // normalise to -180...+180 | |
10373 | + if (isNaN(lat2) || isNaN(lon2)) return null; | |
10374 | + return new Array((lon2 * 180 / Math.PI),(lat2 * 180 / Math.PI)); | |
10375 | + }, | |
10376 | + /* | |
10340 | 10377 | Function: rect2ext |
10341 | 10378 | |
10342 | 10379 | Calcula a extensão geográfica de um retângulo desenhado sobre o mapa. |
... | ... | @@ -12014,7 +12051,7 @@ i3GEO.mapa = { |
12014 | 12051 | var temp = Math.random() + "a"; |
12015 | 12052 | temp = temp.split("."); |
12016 | 12053 | g_nomepin = "pin"+temp[1]; |
12017 | - var janela = i3GEO.janela.cria("400px","300px",i3GEO.configura.locaplic+'/ferramentas/inserexy2/index.htm',"","","Insere"); | |
12054 | + var janela = i3GEO.janela.cria("500px","300px",i3GEO.configura.locaplic+'/ferramentas/inserexy2/index.htm',"","","Insere"); | |
12018 | 12055 | if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.mapa.inserePonto()") < 0) |
12019 | 12056 | {i3GEO.eventos.MOUSECLIQUE.push("i3GEO.mapa.inserePonto()");} |
12020 | 12057 | var temp = function(){ | ... | ... |
classesjs/i3geo_tudo_compacto.js.php
... | ... | @@ -10337,6 +10337,43 @@ i3GEO.calculo = { |
10337 | 10337 | return r % 360; |
10338 | 10338 | }, |
10339 | 10339 | /* |
10340 | + Function: destinoDD | |
10341 | + | |
10342 | + Calcula as coordenadas de um novo ponto em função da posição de um ponto de origem, distância e direção | |
10343 | + | |
10344 | + O novo ponto é calculado em coordenadas geográficas em DD | |
10345 | + | |
10346 | + Baseado no site http://www.movable-type.co.uk/scripts/latlong.html (indicado por louriques@yahoo.com.br) | |
10347 | + | |
10348 | + Parameters: | |
10349 | + | |
10350 | + lon {Numeric} - longitude (x) do ponto de origem | |
10351 | + | |
10352 | + lat {Numeric} - latitude do ponto de origem | |
10353 | + | |
10354 | + d {Numeric} - distância em Km | |
10355 | + | |
10356 | + direção {Numeric} - ângulo desejado em décimos de grau (direção de 0 a 360) | |
10357 | + | |
10358 | + Return: | |
10359 | + | |
10360 | + Array com a longitude e latitude em décimos de grau ([0] = longitude, [1] = latitude | |
10361 | + | |
10362 | + Type: | |
10363 | + {Array} | |
10364 | + */ | |
10365 | + destinoDD: function(lon,lat,d,direcao){ | |
10366 | + var R = 6371; // earth's mean radius in km | |
10367 | + var lat1 = lat * (Math.PI / 180); | |
10368 | + var lon1 = lon * (Math.PI / 180); | |
10369 | + var brng = direcao * (Math.PI / 180); | |
10370 | + var lat2 = Math.asin( Math.sin(lat1)*Math.cos(d/R) + Math.cos(lat1)*Math.sin(d/R)*Math.cos(brng) ); | |
10371 | + var lon2 = lon1 + Math.atan2(Math.sin(brng)*Math.sin(d/R)*Math.cos(lat1),Math.cos(d/R)-Math.sin(lat1)*Math.sin(lat2)); | |
10372 | + lon2 = (lon2+Math.PI)%(2*Math.PI) - Math.PI; // normalise to -180...+180 | |
10373 | + if (isNaN(lat2) || isNaN(lon2)) return null; | |
10374 | + return new Array((lon2 * 180 / Math.PI),(lat2 * 180 / Math.PI)); | |
10375 | + }, | |
10376 | + /* | |
10340 | 10377 | Function: rect2ext |
10341 | 10378 | |
10342 | 10379 | Calcula a extensão geográfica de um retângulo desenhado sobre o mapa. |
... | ... | @@ -12014,7 +12051,7 @@ i3GEO.mapa = { |
12014 | 12051 | var temp = Math.random() + "a"; |
12015 | 12052 | temp = temp.split("."); |
12016 | 12053 | g_nomepin = "pin"+temp[1]; |
12017 | - var janela = i3GEO.janela.cria("400px","300px",i3GEO.configura.locaplic+'/ferramentas/inserexy2/index.htm',"","","Insere"); | |
12054 | + var janela = i3GEO.janela.cria("500px","300px",i3GEO.configura.locaplic+'/ferramentas/inserexy2/index.htm',"","","Insere"); | |
12018 | 12055 | if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.mapa.inserePonto()") < 0) |
12019 | 12056 | {i3GEO.eventos.MOUSECLIQUE.push("i3GEO.mapa.inserePonto()");} |
12020 | 12057 | var temp = function(){ | ... | ... |