vOs4OVirtual Observatory Solar System Scaling Service for Outreach

Il sistemasolarein scala

Presentazione

Se il sole fosse un pallone da calcio, quanto dovrebbe essere grande la Terra? A quale distanza si troverebbe Giove? Quanto dovrebbero essere grandi i pianeti per far entrare l'intero sistema solare nel mio giardino? E nella mia classe?

VOS4O vi propone una soluzione semplice per rispondere a tutte le domande su come riscalare il nostro sistema solare. Partendo da un dato utilizzato come referenza (come può essere un diametro, una distanza o una scala), VOS4O crea una lista con tutti i diametri, le distanze riscalate per tutti i pianeti, l'eccentricità della loro orbita e le rispettive posizioni attorno al Sole ad una determinata data (longitudine eliocentrica).

Come si fa ?

Come si fa ?

Per creare il vostro sistema solare, potete utilizzare il formulario in linea o interrogare direttamente il servizio attraverso il suo API. I risultati vengono visualizzati attraverso una tabella e due immagini.

Formulario

Come impostazione predefinita, la pagina del formulario contiene i diametri e le distanze dei pianeti riscalate come se la distanza Terra-Sole fosse uguale ad 1 metro. Le rispettive posizioni dei pianeti attorno al Sole sono calcolate allo stesso modo alla data attuale (longitudine media eliocentrica). Per modificare la scala o cambiare la data, aprite la scheda  Definire i parametri e create il vostro sistema solare definendo i seguenti parametri :

SCALA
Distanza
Permette di riscalare tutto in base al valore fornito per la distanza del pianeta scelto. Per esempio, se il parametro unità è il metro e se scegliete 7.22 come valore per la distanza di Nettuno, potete creare un sistema solare in cui la distanza Sole – Nettuno è di 7.22 metri.
Diametro
Permette di riscalare tutto in base al valore fornito per il diametro del pianeta scelto. Per esempio, se il parametro unità è il metro e se scegliete 1 come valore per il diametro della Terra, potete creare un sistema solare in cui il diametro della Terra vale 1 metro.
Proporzione
Permette di specificare un coefficiente moltiplicativo X/Y da applicare a tutte le unità di lunghezza. Per esempio, la scala 1:1000000 (uno ad un milione) permette di dividere per un milione le distanze e i diametri dei pianeti.
Unità
Permette di specificare l'unità di lunghezza della scala utilizzata : unità astronomica (149597870 km), kilometri, metri, centimetri e millimetri.

Per definire i parametri opzionali, cliccate sul pulsante ... :

Regolazione delle unità
Permette di cambiare automaticamente le unità delle distanze e dei diametri quando i valori sono troppo piccoli o troppo grandi rispetto alla scala e all'unità selezionate. Per esempio, una lunghezza di 1234 metri sarà riportata come 1.23 kilometri, e una lunghezza di 0.123 metri verrà scritta come 12.30 centimetri.
Moltiplicazione dei diametri per
Permette di utilizzare due scale differenti per le distanze e i diametri. I diametri sono moltiplicati per il valore dato se la scala selezionata è distanza o proporzione.
Divisione delle distanze per
Permette di utilizzare due scale differenti per le distanze e i diametri. Le distanze sono divise per il valore dato se la scala selezionata è diametro.
Data
Permette di specificare la data del calcolo delle posizioni rispettive dei pianeti attorno al Sole (longitudine eliocentrica). Cliccare sul campo di inserimento della data o dell'ora per aprire la selezione, o inserire una data nel formato ISO 8601 arrotondato al minuto.
Lingua
Permette di specificare la lingua nella quale sono mostrati i risultati.

Cliccare sul campo Calcolo per riscalare il sistema solare in funzione delle informazioni fornite. Alla fine dei calcoli, la tabella con i valori e le figure vengono automaticamente visualizzate.

Per scaricare i risultati, aprite la scheda  Scaricare i risultati. Per scaricare un'immagine, selezionate il formato desiderato (SVG, PNG, PDF, TIFF) e cliccate sulla casella Scaricare l'immagine. Per scaricare la tabella, selezionate il formato desiderato (CSV, VOTABLE) e cliccate sulla casella Scaricare la tabella.

API

L'API (interfaccia di programmazione di un'applicazione) permette di interrogare direttamente VOS4O utilizzando un'applicazione o un software di terze parti. Volendo, è possibile creare una pagina Web personale con il riscalamento del sistema solare, oppure è anche possibile scrivere uno script che interroghi direttamente il servizio o recuperare la tabella e le immagini generate attraverso un programma dedicato. Per saperne di più...

API - Web Service

QUALCHE INFORMAZIONE

L'API (interfaccia di programmazione di un'applicazione) permette di interrogare direttamente VOS4O utilizzando un'applicazione o un software di terze parti. Volendo, è possibile creare una pagina Web personale con il riscalamento del sistema solare, oppure è anche possibile scrivere uno script che interroghi direttamente il servizio o recuperare la tabella e le immagini generate attraverso un programma dedicato. Per l'interrogazione del servizio ci sono due metodi disponibili :

  • Richiesta HTTP : interrogare direttamente il servizio con un programma per gestire il download da Internet in modo non interattivo come wget, curl o un oggetto XMLHttpRequest di un linguaggio Javascript.
  • Servizio Web : interrogare VOS4O utilizzando un servizio Web basato sui protocolli (WS) SOAP+WSDL+HTTP.

L'utilizzo di API è libero e gratuito per un uso personale o pedagogico e non commerciale. Raccomandiamo fortemente di contattarci se volete sviluppare un'applicazione che utilizzi il servizio VOS4O in modo da essere informati sulla sua evoluzione.

Vi raccomandiamo inoltre di utilizzare il nostro sistema per la segnalazione di problemi per segnalare un mal funzionamento del servizio o per richiedere possibili miglioramenti.

Definizione della scala

La definizione della scala può essere data in 3 modi diversi :

x:y
per specificare un coefficiente moltiplicativo da applicare a tutte le unità di lunghezza. Ad esempio, la scala 1:1000000 (uno a un milione) permette di dividere per un milione le distanze e i diametri dei pianeti.
a(pianeta):x
per riscalare in base al valore x scelto per la distanza di un pianeta dato. Ad esempio, se il parametro unità=m (metro), allora la scala a(nettuno):7.22 permette di creare un sistema solare in cui la distanza Sole – Nettuno valga proprio 7.22 metri.
d(pianeta):x
per riscalare in base al valore x scelto per il diametro di una pianeta dato. Ad esempio, se il parametro unità=m (metro), allora la scala d(terra):1 permette di creare un sistema solare in cui il diametro della Terra valga proprio 1 metro.

Descrizione della tabella e delle immagini fornite

La tabella creata dal servizio VOS4O fornisce il diametro del Sole, i diametri dei pianeti e le loro distanze dal Sole riscalate in base all'unità scelta. La tabella fornisce anche le eccentricità delle orbite dei pianeti, così come le loro longitudini medie eliocentriche ad una certa epoca, espresse in gradi.

La prima figura generata dal servizio VOS4O mostra un grafico del sistema solare in scala in funzione dei parametri scelti. I pianeti sono disposti in scala logaritmica rispettando le loro distanze relative dal Sole, ed accanto a ciascuno di essi si trova il suo diametro e la sua distanza dal Sole, calcolata in funzione della scala e dell'unità scelte.

La seconda immagine è una visione dall'alto del sistema solare. Ogni pianeta è posizionato sulla sua orbita in funzione della sua longitudine media eliocentrica calcolata all'epoca richiesta. Il riferimento per le longitudini è la direzione del punto vernale (o equinozio di primavera), noto anche come punto γ.

Richiesta HTTP

L'utilizzo di un programma di download di dati da Internet non interattivo (wget, curl), o di un navigatore Internet, chiama il servizio attraverso il suo punto di accesso HTTP :

http://ssp.imcce.fr/webservices/vos4o/scale.php?[parameters]

dove [parameters] è una lista di parametri, definiti nella tabella 1, separati dal carattere &. Se nessun parametro viene cambiato, il servizio restituisce come risultato un sistema solare in scala in base ai valori indicati come default nella tabella 1.

Tabella 1 : parametri per una richiesta HTTP
ParametroDefinizioneFormato
-echelle=<string> Imposta la scala del sistema solare. Default: 1:1 X:Y oppure a|d(pianeta):x
-echelleauto=<int> Cambia automaticamente l'unità delle distanze e dei diametri quando i valori sono troppo grandi o troppo piccoli rispetto alla scala e all'unità selezionate. Default: 1* 0 oppure 1
-facteurechelle=<double> Moltiplica i diametri per il valore dato, se la scala selezionata è X:Y o la distanza, oppure divide le distanze per il valore dato se la scala selezionata è il diametro. Default: 1.0 > 0.0
-unite=<string> Definisce l'unità di lunghezza del riscalamento: unità astronomica (149597870 km), kilometri, metri, centimetri, millimetri. Default: au au, km, m, cm, mm
-lang=<string> Definisce la lingua per la visualizzazione dei risultati. Default: en-us de-de, el-el, en-us, es-es, fi-fi, fr-fr, hi-hi, it-it, pl-pl, pt-pt, ro-ro, zh-hans
-mime=<string> Definisce il formato MIME dei risultati. Default: html html, votable, text/csv, text
-date=<string> Definisce l'epoca del calcolo della longitudine eliocentrica nel formato ISO 8601. Default: now now, aaaa:mm:jj hh:mi:ss

* Se il formato MIME richiesto è VOTABLE, il valore del parametro echelleauto è 0 indipendentemente dal valore fornito.

La risposta di una richiesta HTTP è costituita da una tabella e da una figura, in formato HTML, VOTable/XML o in testo semplice secondo la classe MIME scelta (argument -mime).

Esempi di richieste :

Web service

Il servizio VOS4O può essere interrogato attraverso un Web service che si basa su dei protocolli SOAP+WSDL+HTTP che permettono un'interazione diretta tra la propria applicazione ed il servizio.

Web Service URI :
http://ssp.imcce.fr/webservices/vos4o/vos4o.php
Namespace o spazio dei nomi :
http://ssp.imcce.fr/webservices/vos4o
WSDL:
http://ssp.imcce.fr/webservices/vos4o/vos4o.php?wsdl
SOAP header:
nome dell'elemento header SOAP : clientID
contenuto dell'header SOAP : array('from' => 'NomProjet', 'hostip'=>'')
Metodo :
scale (inputArray)

Parametri in ingresso

I parametri in ingresso del metodo scale sono raggruppati in una tabella e hanno lo scopo di definire le variabili descritte nella tabella 2.

Tabella 2 : Definizione della variabili in ingresso per il metodo 'scala'
ParametroTipoDefinizioneDefaultValore
scale stringa Definisce la scala in base alla quale sistema solare viene riscalato 1:1 X:Y ou a|d(<p>):x
autoscale booleano Cambia automaticamente l'unità della distanza e del diametro quando i valori sono troppo piccoli o troppo grandi rispetto alla scala e all'unità true* true | false
scalefactor double Moltiplica i diametri per il valore dato se la scala è X:Y o se è la distanza, oppure divide le distanze per il valore dato se la scala è il diametro 1.0 > 0.0
unit stringa Unità di lunghezza per il riscalamento au au, km, m, cm, mm
lang stringa Lingua per la visualizzazione dei risultati en-us de-de, el-el, en-us, es-es, fi-fi, fr-fr, hi-hi, it-it, pl-pl, pt-pt, ro-ro, zh-hans
mime stringa Classe MIME dei risultati html html, votable, text/csv, text
epoch stringa Epoca del calcolo delle longitudini eliocentriche in formato ISO 8601 now now, aaaa:mm:jj hh:mi:ss

* Se la classe MIME richiesta è VOTABLE, il parametro autoscale è false indipendentemente dal valore scelto.

Parametri in uscita

Il metodo 'scale' restituisce un oggetto che contiene i seguenti elementi :

'status'
Lo stato della risposta, basato sul codice HTTP : 200 = ok, 400 = richiesta sbagliata, 404 = non trovato, 500 = errore interno.
'ticket'
Stampa dell'orario della risposta.
'result'
Una stringa di caratteri contenenti la tabella e le figure del sistema solare riscalato.

Classe mime

A seconda della classe MIME selezionata, i dati vengono restituiti in uno dei seguenti formati :

votable
i dati sono scritti in un documento XML che segue lo standard VOTable dell' IVOA
html
i dati sono forniti in un documento HTML5
text
i dati sono scritti in un documento di tipo testo.

Come fare ?

Ci sono due modi per utilizzare questo servizio per creare una versione in scala del sistema solare: scrivere un client per inviare una richiesta al server VOS4O e quindi ricevere ed analizzare la risposta, oppure utilizzare un servizio di navigazione Web o un programma di trasferimento di dati come curl o wget. In quest'ultimo caso, bisogna eseguire il seguente comando da terminale :

$> curl "<URL>"

o

$> wget "<URL>"

in cui <URL> è già stato descritto nella sezione richiesta HTTP.

Per scrivere un programma di tipo client per chiamare il servizio VOS4O, è necessario scegliere un linguaggio che implementi il protocollo di comunicazione SOAP. Qui di seguito riportiamo un esempio di client scritto in PHP:

1/ Definire i parametri di input del servizio:

// Client's ID: provide the name of your project or organisation or yourself
$from = 'MyName';
// Input parameters
$param = array('scale' => 'd(Terre)=1.0',
               'autoscale' => true,
               'scalefactor' => 1.0,
               'unit' => 'm',
               'axis' => 'log',
               'lang' => 'it-it',
               'mime' => 'html',
               'epoch' => 'now');

2/ Definire i parametri SOAP, il namespace, e l'URI del WSDL del servizio :

// Enables or disables the WSDL caching feature
ini_set('soap.wsdl_cache_enabled', 1);
// VOS4O namespace
$namespace = 'http://ssp.imcce.fr/webservices/vos4o';
// VOS4O WSDL
$uriwsdl = $namespace.'/vos4o.wsdl';

3/ Istanziare l'oggetto SoapClient, definire l'header SOAP, chiamare il metodo e gestire le eccezioni :

try {
  // Instantiate the client
  $client = new SoapClient($uriwsdl, array('exceptions'=>1));
  // SOAP header
  $header = array('from'=>$from, 'hostip'=>'');
  $client->__setSoapHeaders(array(
     new SOAPHeader($namespace, 'clientID', $header)
  ));  
  // Call the resolver method
  $response = $client->__soapCall('scale',array($param));
  // Display the results
  if ($param['mime'] == 'text') {
    header("HTTP/1.0 ".$response->status);
    header("Content-Type: text/plain");
    $res = split(';', $response->result);
    $nbr = count($res);
    $newkey = array_keys($res);
    for ($i=0; $i<$nbr; $i++) { echo $res[$newkey[$i]],"\n"; };
  } else if ($param['mime'] == 'html') {
    header("HTTP/1.0 ".$response->status);
    header("Content-Type: text/html");
    echo $response->result;
  } else {
    header("HTTP/1.0 ".$response->status);
    header("Content-Type: text/xml");
    echo $response->result."\n";
  }
} catch (SoapFault $fault) {
  trigger_error("SOAP Fault: {$fault->getTraceAsString()} 
      (faultcode: {$fault->faultcode}, 
       faultstring: {$fault->faultstring})", E_USER_ERROR);
}

Crediti

Idea : B. Carry (OCA)
Realizzazione : J. Berthier (IMCCE)
Webdesign : Y. Gominet (IMCCE)

Traduzioni :

Non esitate a contattarci per proporre una traduzione del sito nella vostra lingua.

Questo servizio di diffusione di conoscenza scientifica è privo di diritto per qualsiasi uso non commerciale (vedere mention légale). Le figure del sistema solare in scala sono messe a disposizione sotto la licenza Creative Commons BY-NC-SA 2.0 France.

Questo servizio è sviluppato e mantenuto dal Service des éphémérides dell'IMCCE et dal gruppo TOP del laboratorio Lagrange all'Observatoire de la Côte d'Azur, con il supporto tecnico e finanziario dell'Observatoire de Paris, du Centre National de la Recherche Scientifique (CNRS) e del Ministère de l'Education Nationale.

Fonte dei dati :

Per ulteriori informazioni, fare riferimento al libro Introduction aux éphémérides astronomiques, Supplemento esplicativo alla Connaissance des temps, EDP Sciences, 1998.

Fonte delle immagini utilizzate :

  • Immagine di sfondo : creazione originale di Y. Gominet.
  • Immagine di sfondo per il supporto ≤ 1025px : qygjxz.com, ritoccata da noi.
  • Trame dei pianeti :
    • Mercure : Messenger, NASA/Johns Hopkins University Applied Physics Laboratory/Carnegie Institution of Washington.
    • Vénus : Mariner 10, Mattias Malmer / NASA.
    • Terre : Image Meteosat-2, ESA.
    • Mars : HST, S. Lee (University of Colorado), J. Bell (Cornell University), M. Wolff (Space Science Institute), and NASA.
    • Jupiter : HST, NASA/ESA/A. Simon (Goddard Space Flight Center).
    • Saturn : Voyager 1, NASA/JPL.
    • Uranus : Voyager 2, NASA/JPL-Caltech.
    • Neptune : Voyager 2, NASA/JPL.

Tipi di carattere realizzati da :

Definire i parametri
Scaricare i risultati

Scelta dei parametri

 

Scelta del formato dei risultati

Scegliere i parametri per il riscalamento e poi cliccare sulla casella Calcolo...
Figura del sistema solare in scala
Figura del sistema solare visto dall'alto