本文へ移動

Wakusei Planets惑星

太陽・惑星・衛星を、線画、陰影つきの絵、表面の地図で描きます。実際の大きさ・傾き・自転つきで、任意の日時の衛星の位置も分かります。

「惑星」(わくせい) は、太陽のまわりを回る大きな星のことです。 名前について(英語)

目次

やり方

データファイル

天体、軌道、探査機の表を使います。

English

リリースには、UTF-8 の CSV と Parquet の表、各表の JSON スキーマ、LICENCE-DATA.md、SHA256SUMS があります。CSV の値がない場所は \N、Parquet では null です。数値は元の精度のままです。スキーマには各列の型、単位、意味、出典があります。

表と列

  • bodies: id、kind、parent、nameEn、nameJa、radiusKm、flattening、massKg、gmKm3s2、surfaceGravityMs2、tiltDeg、rotationHours、poleRa、poleDec、colour。表面重力は GM を半径の二乗で割った値で、現地での測定値ではありません。
  • orbital-elements: id、parent、elementKind、frame、epochMs、aAu、aKm、eccentricity、inclination、node、argumentPeriapsis、meanAnomaly、meanLongitudeRate、periapsisRate、nodeRate、acceleration、poleRa、poleDec、waveAmplitude、wavePeriodDays、wavePhase、source。角度は度です。速度と基準時の単位はスキーマを見てください。惑星には元データにある平均軌道長半径だけが入り、ほかの要素は空です。準惑星とその衛星は瞬間軌道要素、ほかの衛星は平均または近似した平均要素です。
  • spacecraft: id、nameEn、nameJa、agency、launchMs、launchPrecision、launchSiteEn、launchSiteJa、launchVehicle、endMs、status、url、horizonsId、recordStartMs、recordEndMs、joins(JSON 配列)。
  • spacecraft-events: craftId、order、kind、dateMs、precision、nameEn、nameJa、body、distanceKm。

コードは MIT ライセンスです。データには各出典の条件があり、正確なクレジットと条件は LICENCE-DATA.md にあります。再配布の条件が未確定の理論係数表は含めていません。

読み込み例

以下は未検証の例です。必要なツールは各自でインストールしてください。

Pandas:

import pandas as pd
bodies = pd.read_csv("bodies.csv", na_values=[r"\N"])
bodies = pd.read_parquet("bodies.parquet")

Polars:

import polars as pl
bodies = pl.read_csv("bodies.csv", null_values=r"\N")
bodies = pl.read_parquet("bodies.parquet")

R:

bodies <- arrow::read_parquet("bodies.parquet")

Rust(Polars の parquet 機能を使用):

use polars::prelude::*;
let bodies = ParquetReader::new(std::fs::File::open("bodies.parquet")?).finish()?;

ソースを見るGitHub で編集@johnmorrisdotca/wakusei-planets 0.24.0 のソースから作成しました。

この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。