Logo IMCCE-VOParis

THE IMCCE VIRTUAL OBSERVATORY
SOLAR SYSTEM PORTAL
Observatoire de Paris / CNRS

Logo IMCCE
Portal Home Page | Report issue | Legal notice | Contact us

Miriade Ephemeris Generator

.: Purpose

This method is intended to people who wants to prepare their observing nights of Solar system objects, at a given epoch and for a given geographic location. Example: what is the visibility of planets Mars and Saturn, asteroid (3) Juno, and comet 51P-D?

.: HTTP Request

If you are a software/solutions developer, you might want to include the Miriade vision service into your application. This can be done by using the the Web service method or by using the following HTTP request:
http://vo.imcce.fr/webservices/miriade/vision_query.php?[parameters]
where [parameters] is a list of parameters separated by the character &. The allowed parameters are:
ParameterDefinitionLimits or value
-ep=<dateTime> Requested starting epoch now | JD | Y-m-dTh:m:s
-name=<string> Designations (comma separated) of the requested solar system bodies (1) Default is Mars, Jupiter and Saturn
-nbd=<integer> The number of date of computation 1 ≤ nbd < 366, default = 1
-step=<integer> The step between two dates of computation
[Optional parameter, default = 1]
Ex.: 5, default = 1
-observer=<string> Observer's location as an IAU code
or geographic coordinates (long. lat. alt.) (2)
Default is Paris, France (IAU code: 007)
-cuts=<string> String which defines the cuts of visibility (3) c.f. doc (3)
-sort=<string> String which defines the column used to sort entries name | type | mv | diam | ra | dec (default: ra)
-mime=<string> Mime type of the results votable | html | pdf
-from=<string> Word which definite the name of the caller application, or which describes the request (optional) any short string (without space)
  1. See how to select targets in ViSiON service in the HOWTO section of the documentation
  2. See how to define the coordinates of an observer in the HOWTO section of the documentation
  3. See how to define the cuts of visibility in the HOWTO section of the documentation

The output is described in the following table, and is available in VOTable, HTML or PDF format (cf. examples). The -mime parameter is optionnal and its value can be omitted (just write nothing or &-mime= without value). In this case, the output is displayed in VOTable.

.: Web service

The Miriade Web service provides methods based on SOAP and HTTP POST verb which allow one to interact between its own application and the Miriade services. Here is the useful information to invoke the vision method:
Web Service URI:
http://vo.imcce.fr/webservices/miriade/miriade.php
Namespace:
http://vo.imcce.fr/webservices/miriade
WSDL:
http://vo.imcce.fr/webservices/miriade/miriade.php?wsdl
SOAP header:
name of the SOAP header element: 'clientID'
SOAP header's content: array('from' => 'YourName', 'hostip'=>'')
Method:
vision  (inputArray)

(*) Note that you should preferably leave the header field 'hostip' empty.

- The input parameters of the method is an array which must contained the following parameters:
VariableTypeUnitsLimits or valuesDefaultComment
name String - Format: <prefix>:<name> 10 The designations (comma separated) of the requested solar system body (1)
epoch double julian day -1000 to +1000 years from J2000 none Requested starting epoch
nbd integer - 1 .. 366 1 The number of dates of computation
step integer - - 1 The step between two dates of computation
observer string - Earth location Paris (007) Observer's location as an IAU code
or geographic coordinates (long., lat., alt.) (2)
cuts string - - default String which defines the cuts of visibility (3)
sort string - type | mv | diam | ra | dec ra String which defines the column used to sort entries
mime string - votable | html | PDF votable Mime type of the results
  1. See how to format Sso names in the HOWTO section of the documentation
  2. See how to define the coordinates of an observer in the HOWTO section of the documentation
  3. See how to define the cuts of visibility in the HOWTO section of the documentation
- The output parameters of the method is an object containing the following attributes:
'flag'
the status of the response: flag=1 means that all is right; flag=-1 means that an error occured
'ticket'
the Unix timestamp of the answer which can be useful to stamp the request
'result'
the result of the request, as a PDF or a VOTable document
- Depending on the selected mime type, the output is formatted as:
votable
the data are written in the IVOA standard VOTable format
html
the data are transformed in a HTML document using a XSLT processing (Miriade XSL style sheet)
pdf
the data are returned as a PDF document (application/pdf)
- Examples: click on the following links to get the visibility of Ceres, Mars and Jupiter at La Silla observatory (ESO, Chile), with:
mime=pdf
mime=html
mime=votable

.: How to consume:

You have two ways to use the Miriade web service: by writting a client to send requests to the Miriade server and to receive and analyze the response, or by using a command line interface and a data transfert program such as curl or wget. For that, just execute one of the following commands in a console:
#> curl "<URL>"
or
#> wget "<URL>"
where <URL> is described in section HTTP request.

In order to help you to invoke the Miriade web service, we provide some clients written in differents languages. Here are some detailed explanations to see how to write a client with PHP and SOAP which invokes the vision method:

1/ Provide the input parameters which are mandatory for the service:

// Client's ID: provide the name of your project or organisation or yourself
$from = 'MyName';
// Input parameters
$param = array(
  'name' => 'a:ceres,m:mars,p:jupiter"',
  'epoch' => 2455886.5,
  'nbd' => 1,
  'step' => 1d,
  'observer' => 809,
  'cuts' => '',
  'mime' => 'pdf'
);

2/ Define the SOAP options, the namespace and the WSDL URI of Miriade Web service:

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

3/ Create a SoapClient object in WSDL mode, set the SOAP header, then call the method and catch exceptions:

try
{
  // Constructs the client
  $client = new SoapClient($uriwsdl, array('exceptions'=>1, 'soap_version'=>"SOAP_1_2"));
  // SOAP header
  $header = array('from'=>$from, 'hostip'=>'');
  $client->__setSoapHeaders(array(new SOAPHeader($namespace, 'clientID', $header)));
  // Call the resolver method
  $response = $client->__soapCall('vision', array($param));
  // Display the results
  if ($param['mime'] == 'pdf')
  {
    if ($response->flag == 1) {
      header("Content-Type: application/pdf");
      echo file_get_contents($response->result);
    } else {
      header("Content-Type: text/xml");
      echo $response->result."\n";
    }
  }
  else
  {
    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);
}