Skip to the content

Chikyu Earth地球

A line-drawn globe of the world's countries that turns at the Earth's own rate, with an optional realistic Earth from space and markers for any place.

Chikyu is the Japanese word 地球 for the Earth. About the name

Contents

Reference · Passes: when a satellite crosses the sky over a place

findPassesfunction

Every pass of the satellites over a place in a span of time, the ones a person can see or all of them. For each satellite the search steps through the span every 30 seconds, then narrows each rise, highest point and set to a tenth of a second; for each pass it works out where the satellite is lit by the Sun, how dark the watcher's sky is, and how bright the satellite looks. It needs satellite.js (MIT, an optional peer dependency) and imports in a browser or on a server. It is for satellites that rise and set within hours (low orbits); one that stays above the horizon (a geostationary one) has no passes.

Passes depend on fresh elements: SGP4's error grows by about a second of time a day or two for the ISS, and a reboost (the ISS has one every month or two) moves the station by more than that all at once, so a pass is as good as the elements are new. Each pass says how old they are (elementAgeDays) and flags stale after two weeks.

Import it

import { findPasses } from "@johnmorrisdotca/chikyu-earth/passes";

Definition

function findPasses(sets: ElementSet | readonly ElementSet[], observer: Observer, window: PassWindow, options?: PassOptions): SatellitePass[]

Parameters

NameTypeDescription
setsElementSet | readonly ElementSet[]

One element set or several, in CelesTrak's JSON format (ElementSet), fetched by your page.

observerObserver

Where the watcher stands.

windowPassWindow

The span to look in, from to to in milliseconds since the Unix epoch; a pass is listed when its highest point is in it.

options (optional)PassOptions

The lowest altitude, the lightest sky, whether to list the passes that cannot be seen, the limiting magnitude and your own standard magnitudes.

Returns

SatellitePass[]

The passes, earliest first, each with its start, highest point and end, the part that can be seen and why not when none can.

Examples

import { findPasses } from "@johnmorrisdotca/chikyu-earth/passes";

const iss = {
  OBJECT_NAME: "ISS (ZARYA)",
  OBJECT_ID: "1998-067A",
  EPOCH: "2026-11-02T10:25:21.580320",
  MEAN_MOTION: 15.49150046,
  ECCENTRICITY: 0.0007139,
  INCLINATION: 51.6332,
  RA_OF_ASC_NODE: 335.9757,
  ARG_OF_PERICENTER: 339.3739,
  MEAN_ANOMALY: 20.6961,
  NORAD_CAT_ID: 25544,
  BSTAR: 0.00012,
  MEAN_MOTION_DOT: 0.0001,
  MEAN_MOTION_DDOT: 0,
};
const day = Date.UTC(2026, 10, 3);
const passes = findPasses(iss, { latitude: 51.5, longitude: -0.13 }, { from: day, to: day + 5 * 86_400_000 }, { all: true });
console.log(passes.length > 0, passes[0]?.highest.compass);
true S

What it prints (run when this page was built)

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/chikyu-earth 0.51.1.