vOs4OVirtual Observatory Solar System Scaling Service for Outreach

Sistemul Solarla scara

Prezentare

Dacă Soarele are dimensiunea unei mingi de fotbal, care ar fi dimensiunea Pământului? La ce distanţă va fi Jupiter? Ce dimensiuni ar avea planetele pentru ca tot Sistemul Solar să încapă în grădina casei? Dar pentru a încăpea în clasa unde învăţ?

VOS4O este o soluţie simplă pentru întrebările legate de proporţiile obiectelor din Sistemul Solar. Cu o simplă referinţă (diametru, distanţa, sau scara) VOS4O prezintă diametrele și distanţele la scară pentru toate planetele, excentricităţile orbitelor, precum și poziţiile lor în miscarea de revoluţie, pentru o dată oarecare (longitudinea heliocentrică).

Cum procedăm ?

Cum procedam ?

Pentru reprezentarea Sistemului Solar, utilizaţi formularul în linie sau accesaţi în mod direct serviciul web prin intermediul propriului API. Rezultatele vor fi sub formă de tabel și de două figuri.

Formular

Pagina de formular conţine, nativ, diametrele și distanţele planetelor mari la scară astfel încât distanţa Pământ-Soare sa fie egală cu un metru. Poziţiile planetelor în jurul Soarelui sunt calculate pentru data curentă (în longitudine medie heliocentrică). Pentru a modifica scara sau pentru a schimba data, derulaţi meniul cu ajutorul butonului  Definiţi parametrii și recalculaţi Sistemul Solar cu parametrii noi definiţi :

Scara
Distanţa
Permite punerea la scară a valorii distanţei pentru planeta aleasă. De exemplu:, dacă parametrul unitate este metrul atunci scara 7.22 pentru distanţa până la Neptun va permite realizarea unui Sistem Solar în care distanţa de la Soare până la – Neptun va fi de 7.22 metri.
Diametru
Permite punerea la scară a valorii date pentru diametrul planetei alese. De exemplu, dacă parametrul unitate este metrul atunci scara 1 pentru diametrul Pămăntului permite realizarea unui Sistem Solar în care Pământul va avea diametrul de 1 metru.
Proporţia
Permite introducerea unui coeficient de multiplicare X/Y ce va fi aplicat la toate unităţile de măsură a lungimilor. De exemplu, scara 1:1000000 (o milionime) permite împărţirea la un milion a distantelor și diametrelor planetelor.
Unitatea
Permite alegerea unităţii de lungime și scară : unitatea astronomică (149597870 km), kilometrul, metrul, centimetrul, millimetrul.

Pentru definirea parametrilor opţionali apăsaţi pe buton ... :

Ajustati unitatile
Permite schimbarea automată a unităţilor de distanţă și a diametrelor când valorile sunt prea mici sau prea mari în raport cu scara și unitatea de măsură selecţionată. De exemplu, o lungime de 1234 metri va fi scrisă 1,234 kilometri iar o lungime de 0,123 metri va fi scrisă 12,30 centimetri.
Multiplica diametrele cu
Permite utilizarea simultană a două scări diferite pentru distanţe și diametre. Diametrele sunt multiplicate cu valoarea dată, dacă scara selecţionată este distanta sau proportia.
Imparte distantele cu
Permite utilizarea simultană a două scări diferite pentru distanţe și diametre. Distanţele sunt împărţite la valoarea dată, dacă scara selecţionată este diametru.
Data
Specifică data calculului poziţiilor planetelor în jurul Soarelui (longitudinile heliocentrice). Activaţi zona de scriere a datei sau a orei pentru a deschide calendarul, sau scrieţi data sau ora în format ISO 8601, aproximată la minut.
Limba
Permite selectarea limbii în care se vor afișa rezultatele.

Apăsaţi butonul Calcul pentru a pune la scară Sistemul Solar în funcţie de parmetrii introduși. După calcul, tabelele de valori și imaginile vor fi afișate automat.

Pentru a descărca rezultatele, deschideţi meniul  Descărcaţi rezultatele. Pentru descărcarea unei imagini, selectaţi formatul dorit (SVG, PNG, PDF, TIFF), apoi apăsaţi pe butonul Descărcaţi imaginea. Pentru descărcarea tabelului, selectaţi formatul dorit (CSV, VOTABLE), apoi apăsaţi pe butonul Descărcaţi tabelul.

API

API-ul (interfaţa de programare aplicativă) permite interogarea directă VOS4O dintr-o aplicaţie sau un alt program informatic. Se poate astfel crea o pagină web personalizată de punere la scară a Sistemului Solar, împreună cu interogarea serviciului cu ajutorul unui script (serii de comenzi) apoi recuperarea tabelului și imaginilor în alt program specific. Pentru mai multe informaţii...

API - Serviciul Web

Apropos

API-ul (interfaţa de programare aplicativă) permite interogarea directă VOS4O dintr-o aplicaţie sau un alt program informatic. Se poate astfel crea o pagină web personalizată de punere la scară a Sistemului Solar, împreună cu interogarea serviciului cu ajutorul unui script (serii de comenzi) și recuperarea tabelului și imaginilor generate într-un program specific. Sunt disponibile două metode pentru interogarea serviciului :

  • Interogarea HTTP : interoghează serviciul cu un program de descărcare Internet non-interactiv cum ar fi wget, curl sau un obiect XMLHttpRequest al limbajului Javascript.
  • Serviciu Web : interogarea serviciului via serviciul Web (WS) bazat pe protocoalele SOAP+WSDL+HTTP.

Utilizarea API-ului este liberă și gratuită în cazul unui uz personal, pedagogic, sau non-comercial. Este recomandat să ne contactaţi dacă dezvoltaţi o aplicaţie ce utilizează serviciul VOS4O pentru a fi informaţi de eventualele evoluţii ale serviciului.

Vă rugam să utilizaţi sistemul nostru de raport de incidente pentru a ne semnala o disfuncţionalitate sau pentru orice solicitare de ameliorare a serviciului.

Definirea scării

Definirea scării se poate face în trei moduri :

x:y
pentru a specifica un coeficient de multiplicare X/Y ce se va aplica la toate unităţile de lungime. De exemplu, scara 1:1000000 (un milionime) va împărţi la un milion distanţele și diametrele planetelor.
a(planetă):x
pentru punerea la scară a valorii x a distanţei până la o planetă. De exemplu, avem parametrul unite=m (metru); atunci scara a(Neptun):7.22 va permite realizarea unui Sistem Solar în care distanţa Soare – Neptun va fi 7.22 metri.
d(planetă):x
pentru punerea la scară a valorii x dată, a diametrului unei planete. De exemplu, dacă parametrul unitate=m (metru) atunci scara d(Tera):1 permite realizarea unui Sistem Solar în care diametrul Terei este de 1 metru.

Descrierea tabelului si a imaginilor obtinute

Tabelul generat de serviciul VOS4O conţine datele cu diametrul Soarelui, cu diametrele planetelor si cu distanţele lor până la Soare, puse la scară în unitatea de măsură aleasă. Tabelul mai conţine și excentricitaţile planetelor, împreună cu logitudinile medii heliocentrice la o epocă dată, exprimate în grade.

Prima imagine generată de serviciul VOS4O este o reprezentare a Sistemului Solar la scară în funcţie de parametrii alesi. Alături de fiecare planeta, de-a lungul unei axe gradate în scară logaritmică, ce respectă distanţele lor relative, pentru fiecare planetă este pus diametrul și distanţa ei de la Soare, în funcţie de scara aleasă și de unităţile utilizate.

A doua imagine prezintă Sistemul Solar văzut de deasupra. Fiecare planetă este pusă pe orbită în funcţie de propria ei longitudine medie heliocentrică calculată pentru momentul de timp ales. Referinţa longitudinilor este dată de direcţia punctului vernal mediu (echinocţiul mediu), materializat de simbolul γ.

Interogare HTTP

Prin intermediul unui program de descărcare Internet non-interactiv (wget, curl), sau prin intermediul unui navigator Internet, puteţi apela acest serviciu prin interogarea HTTP :

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

unde [parameters] este o listă de parametri, definiţi în tabelul 1, separaţi între ei de caracterul &. Dacă nici un parametru nu este definit, atunci serviciul va trimite rezultatul interogării cu Sistemul Solar pus la scară cu valorile de iniţializare existente în tabelul 1.

Tabelul 1 : Parametrii unei interogari HTTP
ParametruDefinitieFormat
-echelle=<string> Definește punerea la scară a Sistemului Solar. Iniţializare: 1:1 X:Y sau a|d(planetă):x
-echelleauto=<int> Schimbă automat unitatea de distanţă și diametrele atunci când valorile sunt prea mici sau prea mari în raport cu scara și unitatea selectionată. Iniţializare: 1* 0 sau 1
-facteurechelle=<double> Inmulţeste diametrele cu o valoare dată, dacă scara selectionată este X:Y în distanţă, sau împarte distanţele la o valoare dată, dacă scara selecţionată este diametrul. Iniţializare: 1.0 > 0.0
-unite=<string> Definește unitatea de lungime pentru punerea la scara: unitatea astronomică (149597870,7 km), kilommetru, metru, centimetru, milimetru. Iniţializare: au au, km, m, cm, mm
-lang=<string> Definește limba în care se vor afișa rezultatele. Iniţializare: 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> Definește tipul MIME rezultatelor. Iniţializare: html html, votable, text/csv, text
-date=<string> Definește epoca de calcul a longitudinilor heliocentrice în formatISO 8601. Iniţializare: acum acum, aaaa:mm:jj hh:mi:ss

* Dacă tipul MIME ales este VOTABLE atunci parametrul echelleauto este 0 independent de valoarea propusă.

Răspunsul unei interogări HTTP este compus dintr-un tabel și o imagine, formatată în HTML, VOTable/XML sau în text simplu în conformitate cu tipul MIME ales (argument -mime).

Exemple de interogări :

Serviciul Web

Serviciul VOS4O poate fi interogat via un serviciu Web bazat pe protocoalele SOAP+WSDL+HTTP ce permit o interacţiune directă între aplicaţia proprie utilizatorului și serviciul propus.

Web Service URI :
https://ssp.imcce.fr/webservices/vos4o/vos4o.php
Espace de nom :
https://ssp.imcce.fr/webservices/vos4o
WSDL:
https://ssp.imcce.fr/webservices/vos4o/vos4o.php?wsdl
Antet SOAP :
numele elementului din antetul SOAP : clientID
conţinutul antetului SOAP : array('from' => 'NumeProiect', 'hostip'=>'')
Metoda :
scale (inputArray)

Parametrii de intrare

Parametrii de intrare ai metodei scara sunt regrupaţi într-un tabel și trebuie să definească variabilele descrise în tabelul 2.

Tabelul 2 : Definitia variabilelor de intrare ale metodei 'scara'
ParametruTipDefiniţieIniţializareValoare
scara string Defineste punerea lascară a Sistemului Solar 1:1 X:Y sau a|d(<p>):x
scara automată boolean Schimbă automat unitatea de distanţă și diametrele atunci când valorile lor sunt prea mici sau prea mari în raport cu scara și cu unitatea de măsură. adevarat* adevarat | fals
scalefactor double Inmulţeste diametrele cu o valoare, dacă scara este X:Y în distanţă, sau împarte distanţele la o valoare, dacă scara este diametrul 1.0 > 0.0
unitate string Unitate de lungime pentru punerea la scară au au, km, m, cm, mm
lang string Limba în care se afișează rezultatele 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 Tipul MIME al rezultatelor html html, votable, text/csv, text
epoca string epoca de calcul al longitudinilor heliocentrice în format ISO 8601 acum acum, aaaa:mm:jj hh:mi:ss

* Dacă tipul MIME cerut este VOTABLE atunci parametrul autoscale este false independent de variabila iniţializată.

Parametri de iesire

Răspunsul la metoda 'scara' este un obiect ce conţine următoarele atribute:

'status'
statutul răspunsului, bazate pe codurile HTTP : 200 = ok, 400 = interogare defectuoasă, 404 = nu se găseste, 500 = eroare internă.
'ticket'
Data la care s-a efectuat răspunsul.
'result'
Un șir de caractere ce conţine tabelul și imaginile Sistemului Solar pus la scară.

Type mime

în conformitate cu tipul MIME selectional, răspunsul este returnat în formatul :

votable
datele sunt scrise într-un document XML în standard VOTable al IVOA
html
datele sunt scrise într-un document HTML5
text
datele sunt scrise în documentul de tip text.

Cum procedam ?

Serviciul de Sistem Solar la scară se poate utiliza în două moduri. O primă metodă ar fi scrierea unui client care să trimită o interogare la serverul VOS4O și care să recepţioneze și exploateze răspunsul. A două metodă este utilizarea unui navigator Web sau a unui program de transfer de date din categoria curl sau wget. In acest caz, executaţi linia de comandă :

$> curl "<URL>"

sau

$> wget "<URL>"

unde <URL> este descris în secţiunea interogari HTTP.

Pentru scrierea unui program client ce va utiliza serviciul VOS4O, trebuie ales un limbaj care are implementat protocolul de comunicaţie SOAP. Iată un exemplu de client scris în PHP:

1/ Definirea parametrilor de intrare a serviciului:

// 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' => 'ro-ro',
               'mime' => 'html',
               'epoch' => 'now');

2/ Definirea parametrilor SOAP, spaţiul pentru nume și URI-ul WSDL al serviciului :

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

3/ Instanţierea obiectului SoapClient, definirea antetului SOAP, apoi apelarea metodei și gestionarea excepţiilor :

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);
}

Credit

Concept : B. Carry (OCA)
Realizare : J. Berthier (IMCCE)
Webdesign : Y. Gominet (IMCCE)

Traduceri :

Nu ezitaţi să ne contactaţi pentru a ne propune o traducere în limba dumneavoastră de predilecţie.

Acest serviciu de difuzare a cunostintelor stiintifice este propus pentru o utilizare non comercială (a se vedea mentiunile legale). Imaginile Sistemului Solar la scară sunt puse la dispozitie sub licenta Creative Commons BY-NC-SA 2.0 France.

Acest serviciu este dezvoltat și mentinut de echipa OV de la IMCCE și de echipa TOP a laboratorului Lagrange din l'Observatoire de la Côte d'Azur, cu suportul tehnic și financiar al l'Observatoire de Paris, al Centre National de la Recherche Scientifique (CNRS) și al Ministère de l'Education Nationale.

Sursele datelor numerice :

Pentru un plus de informaţii vă invitam să consultaţi cartea Introduction aux éphémérides astronomiques, Supplément explicatif à la Connaissance des temps, EDP Sciences, 1998.

Sursele imaginilor utilizate :

  • Imagine de fundal : creatie originala Y. Gominet.
  • Image de fundal pentru media ≤ 1025px : qygjxz.com, reajustată de echipă.
  • Texturile planetelor :
    • Mercur : Messenger, NASA/Johns Hopkins University Applied Physics Laboratory/Carnegie Institution of Washington.
    • Venus : Mariner 10, Mattias Malmer / NASA.
    • Tera : Image Meteosat-2, ESA.
    • Marte : 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.
    • Neptun : Voyager 2, NASA/JPL.

Fonturi realizate din :

Definiţi parametrii
Incarcaţi rezultatele

Alegerea parametrilor

 

Alegerea formatului rezultatelor

Alegeţi parametrii de scară și apăsaţi butonul Calcul...
Imaginea Sistemului Solar la scară
Imaginea Sistemului Solar văzut de deasupra