Skip to the content

Hoshi Stars星

The stars you can see without a telescope, with names, colours and distances; the 88 constellations with their lines and boundaries; the Messier objects; and seven map projections to draw them on.

Hoshi is the Japanese word 星 for a star. About the name

Contents

Reference · The traditional Chinese sky: the Three Enclosures and Twenty-Eight Mansions, about 240 asterisms with Traditional and Simplified names and pinyin

chineseconstant

The traditional Chinese sky as a culture: about 240 asterisms, the 28 mansions first. Each lists the stars of it the Bright Star Catalogue holds, with each star's number in it (numbers: 角宿一 is 1); where the asterism has more stars than we hold (fainter than magnitude 6.0, or not named with a catalogue number in Wikidata: the data cannot tell which) missing says at least how many, and the figure draws only the stars we have. The English name and partOf (the enclosure or mansion) are Wikidata's, where it states them. The lines are our own joins of those stars, not the traditional drawing. Pass it to constellations, constellation, starsIn, figures or figureOf.

Import it

import { chinese } from "@johnmorrisdotca/hoshi-stars/cultures/chinese";

Definition

const chinese: Culture = defineCulture("chinese", { en: "Traditional Chinese (Three Enclosures, Twenty-Eight Mansions)", ja: "中国の伝統 (三垣二十八宿)" }, (): Asterism[] => CHINESE_ROWS.split("\n").map((row): Asterism => {
    const [id, hant, hans, pinyin, english, group, part, missing, chains, numbered] = row.split("|") as [
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string,
        string
    ];
    return {
        id,
        name: hant,
        names: { "zh-Hant": hant, "zh-Hans": hans, ...(english === "" ? {} : { en: english }) },
        readings: { zh: pinyin },
        aka: [],
        about: "",
        kind: group === "" ? "asterism" : "mansion",
        group: group === "" ? undefined : group,
        ...(part === "" ? {} : { partOf: part }),
        missing: Number(missing),
        chains: chains.split(";").map((chain) => chain.split("-").map(Number)),
        numbers: numbersOf(chains, numbered),
    };
}))

Examples

import { figureOf } from "@johnmorrisdotca/hoshi-stars/lines";
import { chinese } from "@johnmorrisdotca/hoshi-stars/cultures/chinese";

const dipper = figureOf("北斗", chinese);
console.log(dipper.asterism.readings.zh, dipper.stars.map((s) => s.name));
console.log(chinese.find("華蓋")?.names.en, chinese.find("華蓋")?.partOf); // "Canopy of the Emperor", "purple-forbidden"
běi dǒu [
  'Dubhe',  'Merak',
  'Phecda', 'Megrez',
  'Alioth', 'Mizar',
  'Alkaid'
]
Canopy of the Emperor purple-forbidden

What it prints (run when this page was built)

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/hoshi-stars 0.47.0.