Attenzione! Javascript è disabilitato

Il Cielo Delle Baronie

Benvenuto in questo sito, dedicato alle bellezze del cielo della Sardegna.

Sintassi delle funzioni di ASTROJS.

In questa pagina sono elencate le funzioni presenti nella libreria Astrojs.
Per ogni funzione è stata indicata la sintassi di utilizzo, con gli eventuali parametri (o argomenti) da inserire e il tipo di valore restituito. Prima di iniziare, collegate la vostra pagina Html alla libreria Astrojs, incollando il seguente listato, sotto il tag <title>.

<script type="text/javascript" src="http://www.suchelu.it/astrojs/astrojs.js"></script>

Ulteriori informazioni, potete trovarle nella pagina delle Note.

Calcolo del Tempo

Le funzioni relative ai calcoli sul tempo.

Sintassi della funzione: Descrizione: Parametri: Variabile: Listati:
Calcolo della data:
calcola_data(lingua); Calcola la data: Calcola la Data attuale e restituisce una stringa.
La variabile/parametro lingua ammette i seguenti valori:

"ITA", "ING", "FRA", "TED", "SAR", "SPA", "POR", "ESP"
lingua Stringa Esempio
calcola_datan2(lingua); Calcola la data: Calcola la Data attuale e restituisce una stringa numerica della data: 02:02:2012:12:35:35 lingua Stringa Esempio
Calcolo del numero del Giorno Giuliano
calcola_jd(); Numero del Giorno Giuliano: Calcola il numero del Giorno Giuliano in questo istante,
in Tempo Universale di Greenwich.
Recupera il fuso orario e l'ora legale, dalle impostazioni presenti nel pc.
- Numerica Esempio
calcola_jddata(dd, mm, yy, hh, mm, ss); Numero del Giorno Giuliano: Calcola il numero del Giorno Giuliano per la data indicata nei parametri. Il mese (mm) è in formato numerico da 1 a 12. Tutte le altre variabili sono numeri interi, tranne i secondi (ss), che possono avere i decimali. dd, mm, yy, hh, mm, ss Numerica Esempio
calcola_jdUT0(); Numero del Giorno Giuliano: Calcola il numero del Giorno Giuliano per l'ora 0 Tempo Universale, di oggi. - Numerica Esempio
calcola_jda(); Numero del Giorno Giuliano: - Numerica Esempio
calcola_jd_anno(yy); Numero del Giorno Giuliano: yy Numerica Esempio
calcola_jda(); Numero del Giorno Giuliano: - Numerica Esempio
jd_data(njd); Giorno Giuliano > Data Calendario: njd Array [0,...5] Esempio
jdH0(njd); Giorno Giuliano per l'ora 0(zero) del giorno: njd Numerica /
delta_T(anno); Calcola il valore di Delta_T per l'anno: anno Numerica /
Tempo Siderale di Greenwich e locale
temposid (njd); Tempo Siderale a Greenwich: njd Numerica Esempio
temposid_app(njd); T. S. Apparente a Greenwich: njd Numerica Esempio
TSL(TSG,Long); Tempo Siderale Locale: TSG,Lon Numerica Esempio
tras_tsg_tmg(TSG_decimale); Trasforma il T.S.G. in T.M.G: TSG_decimale Numerica -
tsg_tmg_data(TSG_decimale,yy,njd); Trasforma il T.S.G. in T.M.G per la data (njd): TSG_decimale,yy,njd Numerica -
Equazione del Tempo:
eq_tempo(); Equazione del Tempo: - Numerica Esempio
eq_tempo_data(yy,njd); Equazione del Tempo per la data njd: yy,njd Numerica Esempio
eq_tempo_data2(yy,njd); E. del Tempo con algoritmo di J. Meeus: yy,njd Numerica Esempio
Data degli Equinozi e Solstizi:
eqsol(yy); Le date degli Equinozi e dei Solstizi: yy Array [0,...3] Esempio
Fuso orario e ora legale:
fuso_loc(); Fuso orario e ora legale: - Numerica Esempio
hh_loc(fuso,njd); Fuso orario e ora legale: fuso,njd Numerica Esempio
Costellazione del meridiano:
costell(tsl); Costellazione del meridiano: tsl Stringa Esempio
costell2(tsl); Costellazione del meridiano: tsl Stringa Esempio
ore_24(hh); Ore all'interno dell'intervallo 0-24: hh Numerica -
rec_mese(); Recupera il mese corrente - Stringa -
LEGENDA TABELLA:

Sintassi della funzione: Sintassi della funzione con i parametri necessari.
Descrizione: Descrizione e il tipo di utilizzo
Parametri: La variabile da inviare come parametro funzione
Variabile Tipo di variabile restituita dalla funzione: numerica, stringa o Array[0,...n]
          Array[0,...ultimo elemento]

Listati   Esempi di listati che utilizzano la funzione.

LEGENDA DELLE VARIABILI:

lingua "ITA" "ING" "FRA" "TED" "SAR" "SPA" "POR" "ESP" (valori ammessi per la prima funzione)
lingua "ITA" "ING" (valori ammessi per la seconda funzione)

dd, mm, yy, hh, mm, ss Rispettivamente: giorno, mese, anno, ore, minuti, secondi(con decimali)
                       il mese è il corrispondente valore numerico 1-12.
yy   anno
fuso fuso orario della località. +1 per l'Italia.
njd  Il numero del Giorno Giuliano
TSG  Tempo Siderale di Greenwich in ore decimali
tsl  Tempo Siderale Locale in ore decimali
Lon  Longitudine della località in gradi sessadecimali
hh   Ore decimali

Le due funzioni che individuano la costellazione di transito sul meridiano, sono identiche a quelle descritte nella pagina delle effemeridi; cambia il parametro, che in questo caso è il Tempo Siderale Locale.

Calcolo visibilità di un astro

Le funzioni per il calcolo del sorgere, transito e del tramontare di un astro, compresi gli azimut.

Sintassi della funzione: Descrizione: Parametri: Variabile: Listati:
Sorge, Transito e Tramonto (S.T.T.)
ST_ASTRO(ar, de, lon, lat, alt, raggio); S.T.T. per oggi ar, de, lon, lat, alt, raggio Array [0,...7] -
ST_ASTRO_DATA(njd, ar, de, lon, lat, alt, raggio); S.T.T. per la data njd njd, ar, de, lon, lat, alt, raggio Array [0,...4] -
ST_SOLE(njd, lon, lat, alt); S.T.T. Sole per la data njd njd, lon, lat, alt Array [0,...4] -
ST_LUNA(njd, lon, lat, alt); S.T.T. Luna per la data njd njd, lon, lat, alt Array [0,...4] -
ST_PIANETI(njd, np, lon, lat, alt); S.T.T. Pianeti del la data njd njd, np, lon, lat, alt Array [0,...4] -
Crepuscolo Astronomico, civile e nautico
crepuscolo_UT(njd, lon, lat, alt); Crepuscolo Astronomico njd, lon, lat, alt Array [0,...4] Esempio
crepuscolo_CV(njd, lon, lat, alt); Crepuscolo Civile njd, lon, lat, alt Array [0,...4] Esempio
crepuscolo_NA(njd, lon, lat, alt); Crepuscolo Nautico njd, lon, lat, alt Array [0,...4] Esempio
Altre:
angolo_H(njd,ar,lon); Angolo orario H. njd, ar, lon Numerica -
rifraz(Z1); Angolo zenitale e rifrazione. Z1 Numerica -
corr_alt(alt); Altezza di un astro. alt Numerica -
obli_ecli(njd); Obliquità dell'eclittica njd Numerica -
LEGENDA DELLE VARIABILI:

njd    Il numero del Giorno Giuliano
lon    Longitudine della località in gradi sessadecimali
lat    Latitudine della località in gradi sessadecimali
alt    Altitudine in metri s.l.m.

ar     Coordinata: Ascensione retta in ore decimali.
de     Coordinata: Declinazione in gradi sessadecimali
np     Numero identificativo del pianeta.
Z1     Angolo zenitale in gradi sessadecimali.

raggio Raggio apparente in gradi sessadecimali, per il sole la luna o nebulosa.

Calcolo di una Effemeridi

Le funzioni relative al calcolo di posizione e di una Effemeride, per il Sole la Luna e i pianeti.
Le coordinate equatoriali sono sempre geocentriche e riferite all'equinozio medio della data; nella libreria sono comunque presenti alcune funzioni che vi permetteranno di ricavare le coordinate apparenti, calcolando gli effetti dovuti alla nutazione, aberrazione della luce e alla parallasse diurna.
Nei calcoli di posizione, sono state previste le correzioni principali delle perturbazioni orbitali.

Sintassi funzione: Descrizione funzione: Parametri: Variabile: Listati:
Posizione Sole, Luna e Pianeti
pos_sole(njd); Posizione del Sole: njd Array [0,...6] Esempio
pos_luna(njd); Posizione della Luna: njd Array [0,...7] Esempio
pos_pianeti(njd, np); Posizione dei pianeti: njd,np Array [0,...12] Esempio
moons_jup(njd); Posizione dei satelliti di Giove: njd Array [0,...12] /
transit_moonsjp(njd, ns) ; Transito dei satelliti di Giove: njd, ns Array [0,...2] /
transit_grs(njd , angolo_grs); Transito della Macchia Rossa di Giove: njd , angolo_grs numerica /
opp_cong(njd , np); Opposizione / Congiunzione di un pianeta: njd , np Array [0,...3] Esempio
double_stars(t, P, T, e, a, i, nd, per); Stelle doppie: t,P,T,e,a,i,nd,per Array [0,...1] Esempio
Trasformazione di coordinate:
pos_app(njd,ar,de); Coordinate equatoriali apparenti: njd, ar, de Array [0,1] Esempio
cor_parall(njd,ar,de,p,lat,lon,alt); Coordinate equatoriali topocentriche: njd, ar, de, p, lat, lon, alt Array [0,1] Esempio
pos_app_pa(njd,ar,de,p,lat,lon,alt); Coordinate equatoriali apparenti topocentriche: njd, ar, de, p, lat, lon, alt Array [0,1] Esempio
trasf_equa_azim(njd, ar, de, long, lat); Coordinate Equatoriali > > Azimutali njd, ar, de, long, lat Array [0,1] Esempio
precess(njd0, njd1, ar0, de0); Precessione: Cambio Equinozio njd0 , njd1, ar0 , de0 Array [0,1] /
Informazioni:
elong(ar1,de1,ar2,de2); Elongazione: ar1, de1, ar2, de2 Array [0,1] -
afase_luna(njd); Angolo di fase della Luna: njd Numerica -
name_phase(elo, lingua); Nome della fase lunare elo, lingua Stringa -
costell(ar); Nome Costellazione di transito (abbreviato) ar Stringa Esempio
costell2(ar); Nome Costellazione di transito (esteso): ar Stringa Esempio
cfasi_lunari(mm, yy, fase); Calcola la data di una fase lunare: mm, yy, fase Numerica -
LEGENDA DELLE VARIABILI:

lingua "ITA" , "ENG"
njd    Il numero del Giorno Giuliano
lon    Longitudine della località in gradi sessadecimali
lat    Latitudine della località in gradi sessadecimali
alt    Altitudine della località in metri s.l.m.

ar     Coordinata: Ascensione retta in ore decimali.
de     Coordinata: Declinazione in gradi sessadecimali.
np     Numero identificativo del pianeta.
elo    Elongazione in gradi sessadecimali.

np=0   Mercurio, np=1 Venere, np=3 Marte, np=4 Giove, np=5 Saturno, np=6 Urano, np=7 Nettuno.


mm     Mese, valore numerico da 1 a 12
yy     Anno

fase   Fase lunare.
Valori numerici ammessi:      0          0.25         0.50         0.75
                         luna nuova  primo quarto  luna piena  ultimo quarto.

angolo_grs  Longitudine della Grande macchia rossa di Giove.
            In questo periodo il suo valore è di 184°.
            Inserite il numero 184, come parametro per il calcolo.

ns  ns corrisponde al numero del satellite di Giove
            di cui si vuole calcolare il transito.
            ns=1 corriponde al satellite IO
            ns=2 per il satellite EUROPA
            ns=3 per il satellite GANIMEDE
            ns=4 per il satellite CALLISTO

PRECESSIONE:

njd0    Il numero del Giorno Giuliano        - epoca iniziale.
njd1    Il numero del Giorno Giuliano        - epoca finale.
ar0     ascensione retta in ore decimali     - epoca iniziale.
de0     declinazione in gradi sessadecimali  - epoca iniziale.

LEGENDA PER LE STELLE DOPPIE : double_stars(t, P, T, e, a, i, nd, per);

t      epoca di riferimento per il calcolo, in anni decimali.
       Per il giugno del 2012 inserite: 2012.5

P      periodo di rivoluzione in anni solari medi
T      tempo del passaggio al periastro in anni decimali, ad esempio (T=1945.62).
e      eccentricità dell'orbita vera.
a      semiasse maggiore in secondi d'arco (").
i      inclinazione del piano dell'orbita.
nd     angolo di posizione del nodo ascendente.
per    longitudine del periastro.

**   La funzione restituirà l'angolo di posizione in gradi e la separazione in secondi d'arco.

**** IN RETE POTETE TROVARE GLI ELEMENTI ORBITALI NECESSARI PER IL CALCOLO.  ****

1) Elongazione:  Distanza angolare tra 2 astri visti dalla Terra.
2) L'angolo di fase dei pianeti è calcolato dalla funzione pos_pianeti()

Formattazione dei risultati:

Le funzioni presenti in questa pagina sono utili per la formattazione dei risultati (ricavati dai calcoli), prima della pubblicazione.
Utilizzando queste funzioni è possibile formattare le ore/ascensione retta, dal formato decimale in hh: mm: ss.
Anche gli angoli sessadecimali si possono formattare in ° ' " (gradi| minuti| secondi).
In tutte le pagine, dove sono presenti listati di calcolo di ore o angoli; troverete dei riferimenti per il loro utilizzo.

Sintassi funzione: Descrizione funzione: Parametri: Variabile: Listati:
Ascensione Retta e ore decimali
sc_ore(ore_decimali); ore decimali > hh| mm| ss ore_decimali Stringa Esempio
sc_oresd(ore_decimali); ore decimali > hh| mm| ss.(decimali) ore_decimali Stringa Esempio
sc_ore_hm(ore_decimali); ore decimali > hh| mm ore_decimali Stringa Esempio
sc_ore_hmd(ore_decimali); ore decimali > hh| mm.(decimali) ore_decimali Stringa Esempio
Angoli sessadecimali
sc_angolo(angolo_decimale); Ang. decimale > gradi| minuti| secondi angolo_decimale Stringa Esempio
sc_angolo_gm(angolo_dec,ndecimali); Ang. decimale > gradi| minuti.(dec.) angolo_decimale, ndecimali Stringa Esempio
sc_angolo_sd(angolo_decimale); Ang. decimale > gradi| minuti| secondi.(dec.) angolo_decimale Stringa Esempio
Giorni decimali
sc_day(giorni_decimali); Giorno decimale > gg| ore| minuti| secondi giorni_decimali Stringa Esempio
sc_day_hm(giorni_decimali); Giorno decimale > gg| ore| minuti giorni_decimali Stringa Esempio
Minuti decimali
sc_md(minuti_decimali); Minuti decimali > minuti| secondi.(dec.) minuti_decimali Stringa Esempio
Minuti decimali
hams_dec(gradi,minuti,secondi); (ore-angoli) |mm|ss > (ore/angoli).decimali (ore-gradi),minuti,secondi Numerica Esempio

Esempi di formattazione:

Nell'ipotesi di avere l'ora o l'ascensione retta espressi in ore decimali, ad esempio h=22.5426538, formattiamo questo valore in hh |mm |ss. Le ore di tempo e l'ascensione retta sono da considerarsi equivalenti.
ATTENZIONE! Queste funzioni riportano l'ora decimale, sempre all'interno dell'intervallo orario 0-24 ore.

//formattazione dell'ascensione retta o delle ore decimali
//Esempio numerico

  var ar_dec=22.5426538;        // Ascensione Retta | Ora decimale
  var AR_F1=    sc_ore(ar_dec); // L'Ascensione Retta decimale è trasformata in (h m s)
  var AR_F2=  sc_oresd(ar_dec); // L'Ascensione Retta decimale è trasformata in (h m s+2decimali)
  var AR_F3= sc_ore_hm(ar_dec); // L'Ascensione Retta decimale è trasformata in (h m )
  var AR_F4=sc_ore_hmd(ar_dec); // L'Ascensione Retta decimale è trasformata in (h m+1 decimale )

  document.write(AR_F1+"<br>");
  document.write(AR_F2+"<br>");
  document.write(AR_F3+"<br>");
  document.write(AR_F4);

//Risultati della formattazione per ar_dec=22.5426538 :

  22h. 32m. 33s.
  22h. 32m. 33.55s.
  22h. 32m.
  22h. 32.6m.

Formattazione della Declinazione e degli angoli sessadecimali in (° ' ")

Per gli angoli sessadecimali si utilizzano queste funzioni.

  var angolo_dec=25.23563;              // Declinazione o angolo sessadecimale da formattare
  var DE_F1=   sc_angolo(angolo_dec);   // Declinazione sessadecimale è trasformata in (° ' ")
  var DE_F2=sc_angolo_sd(angolo_dec);   // Declinazione sessadecimale è trasformata in (° ' ")
  var DE_F3=sc_angolo_gm(angolo_dec,2); // Declinazione sessadecimale è trasformata in (° ' ")

  document.write(DE_F1+"<br>");
  document.write(DE_F2+"<br>");
  document.write(DE_F3+"<br>");
//Risultati della formattazione dell'angolo sessadecimale=25.23563:

  25º 14' 08''
  25° 14' 08.27''
  25° 14.14'

La funzione hams_dec(gradi,minuti,secondi); è inversa alle precedenti, infatti trasforma l'ora dal formato hh|mm|ss in ore decimali.
Può essere applicata anche agli angoli, in formato gradi|minuti|secondi, per avere il corrispondente valore sessadecimale.
Dopo la trasformazione, la funzione restituirà un valore numerico, da utilizzare nei calcoli.
Quando i gradi o le ore hanno un valore negativo (esempio: -0h: 35m :25.3s ), per non perdere il segno, a causa del numero uguale a -0, spostate il segno meno su uno qualsiasi degli altri parametri, a condizione, che siano diversi da 0.
Invece di scrivere: hams_dec(-0,35,25.3); - scrivete hams_dec(0,-35,25.3); - oppure hams_dec(0,35,-25.3);

var hh=25;
var mm=35;
var ss=12.53;

var h_dec=hams_dec(hh,mm,ss);

risultato: h_dec=25.58681389

var hh=-0;        // è uguale a -0
var mm=-35;       // inserite qui il segno -
var ss=12.53;

var h_dec=hams_dec(hh,mm,ss);

risultato: h_dec=-0.58681389

Utilizzare Astrojs:

L'utilizzo della libreria astrojs.js è libero; vi chiedo soltanto di non eliminare il nome dell'autore (presente all'interno del listato) e di non considerarmi in nessun caso, responsabile per eventuali errori o danni causati dall'utilizzo di queste macro.
Saranno molto gradite segnalazioni di errori, o suggerimenti per altre future macro. Buon divertimento!

Aggiornamenti

Per ricevere notizie relative alla libreria, potete inviare la vostra email.

Modalità di utilizzo

Nella sezione <body> ... </body> dovete inserire questo listato...

<!-- Libreria astrojs.js - Inizio codice -->
<script type="text/javascript">
<!--

start(); // Verifica il collegamento della pagina con ASTROJS!

// -->
</script>
<!-- Libreria astrojs.js - Fine codice -->

La funzione start();, presente nel listato, verifica il corretto collegamento della vostra pagina alla libreria Astrojs. All'apertura della pagina, restituirà il messaggio : "Astrojs Is Ready!". La visualizzazione di questo messaggio, vi darà la sicurezza che tutta la procedura di collegamento è andata a buon fine. Dopo questa verifica potete cancellare la funzione: start().

Definire la variabile utente per una funzione

Queste note sono da considerarsi di carattere generale, cioè valide per qualsiasi funzione presente nella libreria Astrojs.

*) Ad ogni funzione utilizzata, va sempre associata una variabile definita dall'utente.

Esempio:

Per calcolare il giorno giuliano in questo momento, la sintassi è: var mia_variabile=calcola_jd(); dove il nome mia_variabile potrà essere sostituito da qualsiasi nome di variabile valido per javascript; io ad esempio scrivo sempre : var njd=calcola_jd(); dove njd è molto facile da ricordare e associare al numero del giorno giuliano.
Per calcolare la posizione del Sole in questo momento, la sintassi potrebbe essere: var mia_variabile_sole=pos_sole(njd);, ma può essere senz'altro, sostituita con un nome variabile più facile da identificare all'interno del listato, ad esempio: var eff_sole=pos_sole(njd);, dove il nome eff_sole, ha il pregio di essere conciso e facilmente associabile alla posizione del Sole.

Copyright ©2009 - Salvatore Ruiu
Tutti i contenuti del sito sono protetti dal diritto d'autore

Questo sito è Online da dicembre 2009 || Ultima modifica: 10-Dicembre 2009 || Questa pagina web rispetta le direttive del W3C | CSS 2.1 | XHTML 1.0