KML 中的星空数据

您现在可以创建 KML 文件来显示星空中的物体,例如星体、星座、行星、月亮和银河。本页介绍如何创建 KML 文件,以便在 Google 星空中显示天体数据。具体来说,您需要执行以下操作:

  • 在您的 KML 文件开头,将 hint 属性添加到 <kml> 元素,指明该文件包含 Google 星空数据而非 Google 地球数据
  • 将天体坐标转换为基于 Google 地球的 KML 坐标

Google 星空模式

Google 地球用户可以通过“视图”>“切换到 Google 星空”菜单选项或用户界面中的“Google 星空”按钮控制是否切换到 Google 星空模式。用户切换到 Google 星空模式后,Google 地球会切换视图,显示地球上和外太空中的望远镜所拍摄到的星空图片。该星空视图与用户站在地球中心朝外面向星空看到的一样。用户可以通过该模型探索头顶上的星空,以及只能从地球的另一侧才能正常观测到的天球部分。

坐标

天体坐标基于赤经 (RA) 和赤纬描述。赤经对应于经度,代表从春分时星空中太阳和天赤道的交点开始测量的距离。赤经按0到24小时进行度量,一小时 RA 等于地球表面给定点上方的星空在一小时内的旋转量。零小时 RA 位于春分点,RA 自该点向东逐步递增。

赤纬对应于纬度,赤纬0度就是天赤道。赤纬值的范围是从南极正上方的−90°到北极正上方的+90°。

下图显示了标出赤经赤纬的带网格线的 Google 星空:

支持的元素

Google 地球4.2版星空模式支持以下元素:

  • Placemark
  • 地面叠加层
  • LineString
  • 多边形
  • MultiGeometry
  • LinearRing
  • Point
  • Style 元素
  • Container 元素

但请注意,当前这些元素中会忽略 <tilt> 和 <roll>。

hint 属性

如果您的 KML 文件包含 Google 星空数据,请务必将 hint 属性添加到文件开头的 <kml> 元素:

<kml xmlns="http://www.opengis.net/kml/2.2" hint="target=sky">

加载带有 "target=sky" hint 的文件时,Google 地球会提示用户切换到 Google 星空视图(如果当前未在该模式下)。

转换天体坐标,以便在 Google 地球中显示

为使数据可在 Google 地球(Google 星空模式)中正确显示,您需要执行一些简单的计算,将赤经坐标(时/分/秒)转换为经度值。

转换赤经坐标

要将赤经坐标从0到24范围内的值转换为−180°到+180°范围内的值,请使用以下公式,其中时、分和秒是数据的原始赤经值:

(时 + 分/60 + 秒/3600)*15 − 180

转换赤纬坐标

赤纬坐标直接对应于纬度值,范围从天赤道南−90°到天赤道北+90°。

计算 LookAt 元素的范围

对星空数据使用 <LookAt> 元素时,需要执行以下计算来确定范围。基本公式如下:

r = R*(k*sin(β/2) - cos(β/2) + 1)

其中

r
是 <LookAt> 元素中指定的范围
R
是天球半径(或者,在此情况下是地球半径,因为我们实际上是在地球的内部朝外观察星空),等于6.378 x 106
k
等于1/tan(α/2) 或1.1917536
α
是镜头拉回天球(地球)中心时,Google 地球视图的角度范围
β
是星空图片所需的弧秒

请注意Google Calculator 是执行这些计算的便捷工具。

以下是一些范围示例:

  • 大的旋涡星系(葵花星系):20至30公里
  • 大的球状星团 (M15):20至30公里
  • 仙女座星系:200公里
  • 行星状星云(猫头鹰星云):5至10公里
  • 大的星云(三裂星云):10至30公里
  • Single Hubble Pointing(赛佛特六分仪座):2至5公里
  • 疏散星团(尾宿八):30至60公里
  • 较小的旋涡星系:5至10公里
  • 大麦哲伦星云:400至500公里

在 Google 地球中保存文件

在 Google 地球中,如果您在 Google 星空模式下保存文件,则 Google 地球会假定您要将文件保存为 Google 星空文件,因此它会自动将 hint 属性添加到 <kml> 元素。

示例

以下示例显示的是创建在 Google 地球中显示蟹状星云的 KML 文件:

<kml xmlns="http://www.opengis.net/kml/2.2" hint="target=sky">
<Document>
<Style id="CrabNebula">
<BalloonStyle>
<text><center><b>$[name]</b></center><br/>$[description]</text>
</BalloonStyle>
</Style> <Placemark>
<name>Crab Nebula</name>
<description>
<![CDATA[
This is the Crab Nebula. It is the remnant of a supernovae that was
observed on Earth in 1054 CE. You can find out more about the Crab
Nebula by looking at the information in the default layers, specifically:
<ul>
<li> <b>Backyard Astronomy</b>
<li> <b>Hubble Showcase</b>
<li> <b>Life of a Star</b>
</ul>
Enjoy exploring Sky!
]]>
</description>
<LookAt>
<longitude>-96.366783</longitude>
<latitude>22.014467</latitude>
<altitude>0</altitude>
<range>10000</range>
<tilt>0</tilt>
<heading>0</heading>
</LookAt>
<styleUrl>#CrabNebula</styleUrl>
<Point>
<coordinates>-96.366783,22.014467,0</coordinates>
</Point> </Placemark>
</Document>
</kml>

该文件在 Google 地球中显示如下:

Google 地球的屏幕截图