vOs4OVirtual Observatory Solar System Scaling Service for Outreach

太阳系比例模型

简介

如果太阳是一个足球,那么地球将有多大?木星将有多远? 如果将整个太阳系缩小置于我的后院或教室里,每个行星又该有多大?

VOS4O 提供了一个简单的方法来计算太阳系的比例模型。通过设定 参考量(如: 直径,距离,或缩放比例),VOS4O 将给出所有行星的直径和距离, 轨道偏心率, 以及它们在给定日期相对于太阳的位置(日心经度)。

如何使用?

如何使用?

为了构建属于你的太阳系,请使用在线表格 或直接通过API进行查询。结果将以表格及图片的形式返回。

表格

在线表格默认显示地球太阳的比例尺距离为1米的情况下,行星的直径和距离 以及当前日期下它们相对于太阳的位置(平均日心经度)。要更改比列尺或者日期,请重新配置  设置参数 标签,并通过设定如下参数构建你的太阳系:

缩放比例
距离
可通过设定所选取行星之间的距离来定义比例尺。 例如,若将长度单位设定为米, 则当设定海王星缩放距离为7.22时,将构建出一个太阳与海王星的距离为7.22米的迷你版太阳系。
直径
可通过设定行星的直径大小来定义比例尺。 例如,若将长度单位设定为米, 则当设定地球直径大小为1时,将构建出一个地球直径为1米的迷你版太阳系。
缩放比例
定义比例尺X/Y,用于对所有的长度单位进行缩放。 例如, 若将比例尺设定为1:1000000 (百万分之一) 时, 所有的距离和直径将乘以百万分之一。
单位
可供选择的长度单位有: 天文单位 (149,597,870千米), 千米,米,厘米,毫米。

要设置可选参数,请点击按钮 ...:

调整单位
当距离和直径相对于选定的比例尺和单位太小或太大时,可以自动调整其单位。 例如,1234米将显示为1.23千米,0.123米将显示为12.3厘米。
直径缩放
可以在距离和直径之间使用两个不同的比例。 若选定的缩放模式为 距离 或者比例时,直径将乘以给定参数进行缩放。
距离缩放
可以在距离和直径之间使用两个不同的比例。若选定的缩放模式为 直径时,距离将除以给定参数进行缩放。
日期
可以指定计算行星相对太阳位置(日心经度)的日期。点击日期或时间的输入框, 在弹出的选项框中选择日期和时间,或者在ISO 8601中输入日期,格式精确到分钟。
语言
可选择不同语言呈现结果。

点击 应用 按钮根据提供的信息对太阳系进行缩放。计算结束时,表格和图片将自动显示。

若需下载结果,设置  下载结果标签。 下载图片,请先选择所需格式(SVG,PNG,PDF,TIFF),然后单击 下载图片按钮。 下载表格,请先选择所需格式(CSV,VOTABLE),然后单击 下载表格按钮。

API

API(应用程序界面)使您可以直接从第三方应用程序或软件访问VOS4O。 也可用于创建个人网页用于绘制太阳系比例图, 或者用于编写查询脚本以在专用程序中检索生成的表格和图像。 了解更多 ...

API - 网络服务

关于

API (应用程序界面) 使您可以直接从您的软件访问 VOS4O。 您可用其创建个人网页来缩放太阳系,或者用于编写查询脚本以在专用程序中检索生成的 表格和图片。 我们提供了两种方法进行查询服务:

  • HTTP访问 : 仅通过非交互式网络下载软件进行查询服务,例如 wgetcurl 或者Javascript对象XMLHttpRequest
  • Web服务: 通过基于SOAP+WSDL+HTTP协议构建的Web服务形式访问 (WS)。

该API免费对外开放使用, 适用于任何非营利性 (个人或教育)用途。 如果您使用VOS4O提供的服务开发应用程序,我们强烈建议您与我们 联系 以接收到最新的信息。

请使用我们的问题跟踪器 来报告错误或提交新功能请求。

比例尺定义

我们提供了三种方法来定义比例尺:

x:y
通过设定一个应用于所有长度参数的乘积系数 X/Y来定义比例尺。 例如,比例尺为1:1000000(百万分之一)时。 所有行星的距离和直径都将除以一百万。
a(行星):x
通过设定某行星与太阳的距离长度x来定义比例尺。 例如,如果参数单位=m (米),则比例尺a(海王星):7.22 将创建一个太阳 – 海王星的距离为7.22米的太阳系视图。
d(行星):x
通过设定某行星的直径x来定义比例尺。 例如,如果参数单位=m (米),则比例尺d(地球):1将创建一个地球直径为1米的太阳系视图。

输出图表描述

VOS4O生成的输出表格列出了在给定 比例尺下, 太阳和行星的直径和行星到太阳的距离,同时也列出了行星的轨道偏心率, 以及其在指定历元下的平均日心经度。

VOS4O生成的第一张图片为根据给定 比例尺生成的太阳系比例图。 行星按照其相对距离沿对数轴绘制,旁边显示了它的直径和到太阳的距离(按照比例缩放)。

第二张图片为太阳系的俯视图。 每个行星均位于其轨道的平均日心经度位置(按所指定的历元计算)。 日心经度以平均春分点为参考,由符号γ表示。

HTTP请求

使用非交互式Internet软件(如 wget, curl), 或采用Internet浏览器,通过其HTTP接入点调用服务

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

其中[参数] 为参数列表(在 表1中定义), 通过&分隔开。如果未设置任何参数,将采用表1中的默认值设置太阳系。

表 1 : HTTP请求参数
参数定义格式
-scale=<string> 设定太阳系的比例尺。默认值: 1:1 X:Ya|d(行星): x
-autoscale=<int> 对于选定的比例尺,当距离和直径过小或过大时自动调整其单位。 默认值: 1* 0 or 1
-scalefactor=<double> 如果比例尺由X:y或距离设定,则将直径乘以该值;如果比例尺由直径设定, 则将距离除以该值。默认值: 1.0 > 0.0
-unit=<string> 定义比例的长度单位: 天文单位,千米,米,厘米,毫米。默认值: au au, km, m, cm, mm
-lang=<string> 选择输入语言。默认值: 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> 设置输出结果的MIME类型。 默认值: html html, votable, text/csv, text
-date=<string> 设置日心经度的计算历元 (ISO 8601 格式)。 默认值: now now, aaaa:mm:jj hh:mi:ss

* 如果MIME类型为 VOTABLE, 则autoscale参数将被强制设定为 0

HTTP访问结果由一张表格 和两张图片呈现, 返回格式为HTML, VOTable/XML 或文本文件,具体通过MIME type (-mime参数设置)。

访问示例:

Web服务

VOS4O可通过SOAP+WSDL+HTTP协议提供Web服务, 使您可通过您的私有应用直接访问我们的服务。

Web服务URI:
https://ssp.imcce.fr/webservices/vos4o/vos4o.php
命名空间:
https://ssp.imcce.fr/webservices/vos4o
WSDL:
https://ssp.imcce.fr/webservices/vos4o/vos4o.php?wsdl
SOAP数据头:
Name of the SOAP header : clientID
SOAP header : array('from' => 'NomProjet', 'hostip'=>'')
方法:
scale (inputArray)

输入参数

scale的输入参数以及其定义, 见表2.

表2: 'scale'方法中的变量说明
参数数据类型定义默认参数值
scale string 设定太阳系的缩放比例 1:1 X:Ya|d(<p>):x
autoscale boolean 当距离和直径相对于指定比例及单位过大或者过小时,自动更改其单位。 true* true | false
scalefactor double 若参数'scale'设置为X:Y或距离的形式时直径将会乘以给定值进行缩放,若参数'scale'设置为直径的形式时距离将会除以给定值进行缩放 1.0 > 0.0
unit string 比例尺长度单位 au au, km, m, cm, mm
lang string 输出语言 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 输出结果的MIME类型 html html, votable, text/csv, text
epoch string 日心经度的计算历元(ISO 8601格式) now now, yyyy:mm:dd hh:mm:ss

* 如果MIME的类型为VOTABLE, 则autoscale参数将被强制设定为false

输出参数

'scale'方法输出结果属性如下:

'status'
基于HTTP网页代码给出的输出状态: 200 = 正常, 400 = 错误的请求,404 = 页面未找到, 500 = 内部错误。
'ticket'
返回结果的时间戳。
'result'
包含太阳系缩放比例结果的图片的字符串。

MIME type

通过选定MIME type, 结果将以以下格式显示:

votable
数据写入XML文档,格式遵循IVOAVOTable标准。
html
数据写入HTML5文档。
text
数据写入纯文本文件。

如何使用?

提供两种使用服务的方式: 通过编写客户端向VOS4O服务器发送请求并接受结果, 或者通过Web浏览器或数据传输软件,如curl or wget来访问服务器。 在这种情况下,您应在终端执行:

$> curl "<URL>"

$> wget "<URL>"

其中关于<URL>的描述见 HTTP请求部分。

若需编写软件访问VOS4O服务,请选择一种语言以实现 SOAP通信协议。 我们在这里提供了一个用PHP编写的示例:

1/ 设置访问服务的输入文件:

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

2/ 设置SOAP参数,命名空间,以及WSDL服务的URI:

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

3/ 实例化SoapClient对象,设置SOAP数据头信息,调用方法(在处理异常时):

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]].PHP_EOL; };
  } 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.PHP_EOL;
  }
} catch (SoapFault $fault) {
  trigger_error("SOAP Fault: {$fault->getTraceAsString()} 
      (faultcode: {$fault->faultcode}, 
       faultstring: {$fault->faultstring})", E_USER_ERROR);
}

致谢

构思: B. Carry (OCA)
实现: J. Berthier (IMCCE)
网页设计: Y. Gominet (IMCCE)

翻译:

若想翻译成您的语言,无需犹豫,请立即联系我们。

此项科普服务对于任何非商业用途均不负有任何法律责任(参见法律声明)。 所生成的太阳系缩放比例图片遵循知识共享许可协议 BY-NC-SA 2.0 France license。

此项服务由 IMCCEService des éphémérides,和 Observatoire de la Côte d'Azur 尼斯天文台 Lagrange 实验室的 TOP 团队提供开发与维护,由 Observatoire de ParisCentre National de la Recherche Scientifique (CNRS),与 Ministère de l'Education Nationale 提供技术与资金支持。

数据来源:

更多信息请参考 Introduction aux éphémérides astronomiques, Supplément explicatif à la Connaissance des temps, EDP Sciences, 1998.

图片来源:

  • 背景图片: 由 Y. Gominet 原创设计。
  • 背景图片来自medias ≤ 1025px: qygjxz.com,并经我们自己润饰。
  • 行星表面纹理:
    • 水星: Messenger, NASA/Johns Hopkins University Applied Physics Laboratory/Carnegie Institution of Washington.
    • 金星: Mariner 10, Mattias Malmer / NASA.
    • 地球: Meteosat-2 Earth image, ESA.
    • 火星: HST, S. Lee (University of Colorado), J. Bell (Cornell University), M. Wolff (Space Science Institute), and NASA.
    • 木星: HST, NASA/ESA/A. Simon (Goddard Space Flight Center).
    • 土星: Voyager 1, NASA/JPL.
    • 天王星: Voyager 2, NASA/JPL-Caltech.
    • 海王星: Voyager 2, NASA/JPL.

字体由:

设置参数
下载结果

选择参数

 

选择结果格式

选择参数并应用...
太阳系比例图
太阳系俯视图