// Pzdr.J.P. , wer.05.04.2005 function CzytajSatelite() { document.geo.PozycOrbit.value=formatuj(document.Satelity.Nazwa.value,5); } // !!!!!!!!!!!!!!!!!!!!!!!!!!! CalaculateAngles() !!!!!!!!!!!!!!!!!!!! function Obliczaj() { var SiteLat,SiteLon,SatLon,Elewacja SiteLat=1*document.geo.LAT.value; // szer.geo. miejsca SiteLon=1*document.geo.LON.value; // dlug.geo. miejsca SatLon=-document.geo.PozycOrbit.value; // pozycja Satelity na Orbicie HB = 13E odnowDIG(); document.Powtorka.Disp.value=1; // Wyswietl LCD Elewacja=Elewacja_L(SatLon,SiteLat,SiteLon); if (Elewacja<=0) alert("!!! Satelita poniżej horyzontu !!!"); document.Elew.Stopnie.value=formatuj(Elewacja, 6); document.Azym.Stopnie.value=formatuj(Azymut_L(SatLon,SiteLat,SiteLon)-180, 6); document.Skos.Stopnie.value=formatuj(Skos_L(SatLon,SiteLat,SiteLon), 6); } // !!!!!!!!!!!!!!!! Czytaj Miasto i Szer., Dlug. Geo. !!!!!!!!!!!!!!!!!! function CzytajMiasto() { var Lat,Lon,MyVal var ValArray=new Array(); MyVal=document.Miasto.Lokalizacja.value; if (MyVal == null) alert("!!! Nie wczytuje Miast. Zmień przeglądarkę na nowszą !!!"); if (MyVal !== null) { // Wyciagnij dlug. i szer. geogr. ValArray=MyVal.split(","); Lat=ValArray[0]; // Pierwszy subarray zawiera Lat Lon=ValArray[1]; // Drugi subarray zawiera Lon document.geo.LAT.value=Lat; // czytaj szer.geo. miejsca document.geo.LON.value=Lon; // czytaj dlug.geo. miejsca } } // !!!!!!!!!!!!!!!!!!!!!!!!!! Obliczenia !!!!!!!!!!!!!!!!!!!!!!!!!!!! function Azymut_L(SatLon,SiteLat,SiteLon) { Lon_Dif=Rad(SiteLon-SatLon); Az_Site=180+Deg( Math.atan(Math.tan(Lon_Dif)/Math.sin(Rad(SiteLat))) ); if (SiteLat<0) Az_Site=Az_Site-180; if (Az_Site<0) Az_Site=Az_Site+360.0; return Az_Site; } function Elewacja_L(SatLon,SiteLat,SiteLon) { Lon_Dif=Rad(SiteLon-SatLon); Lat_Site=Rad(SiteLat); r1=1+35786/6378.16; v1=r1*Math.cos(Lat_Site)*Math.cos(Lon_Dif)-1; v2=r1*Math.sqrt(1-Math.cos(Lat_Site)*Math.cos(Lat_Site)*Math.cos(Lon_Dif)*Math.cos(Lon_Dif)); Site_Elev=Deg(Math.atan(v1/v2)); if (Site_Elev<30) Site_Elev_Ref=(Site_Elev+Math.sqrt(Site_Elev*Site_Elev+4.132))/2 else Site_Elev_Ref=Site_Elev; if (Site_Elev_Ref<1) Site_Elev_Ref=0; return Site_Elev_Ref; } function Skos_L(SatLon,SiteLat,SiteLon) { var Pol_Skos Pol_Skos=Deg(Math.atan(Math.sin(Rad(SiteLon-SatLon))/Math.tan(Rad(SiteLat)))); return Pol_Skos; } // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! function Rad(x) { var ra ra=x*Math.PI/180; return(ra) } function Deg(x) { var rad rad=x*180/Math.PI; return(rad) } function formatuj(co, p_ile) // *** Zaokraglaj do "p_ile" pozycji *** { var invalid = "**************************"; var nines = "999999999999999999999999"; var strin = "" + co; var fltin = parseFloat(strin); if (strin.length <= p_ile) return strin; if (strin.indexOf("e") != -1 || fltin > parseFloat(nines.substring(0, p_ile)+".4")) return invalid.substring(0, pile); var rounded = "" + (fltin + (fltin - parseFloat(strin.substring(0, p_ile)))); return rounded.substring(0, p_ile); } // Pzdr.J.P. , wer.05.04.2005