LightDelay.To is a service that uses orbital elements and ephemerides from a variety of sources to provide accurate distance calculations between a wide range of solar bodies.
Data used by this service is provided by variety of sources, including the following projects and resources:
- The AstroPy team's Solar System Ephemerides, for Earth, the Moon, and the major planets.
- The Minor Planet Center's Orbital Elements and Ephemerides data sets, for asteroids, comets, and minor planets
- Other sources, including points on Earth, Earth satellites, and more, to come whenever I get around to it.
Links in this service are generally pretty easy to parse and build: "https://lightdelay.to/location_1/location_2/effective_date_and_time/". All parameters are optional. Locations can currently be the name of any planet, Earth's moon, or any asteroid or comet with data in the Minor Planets Center database. Dates and times can be as specific as you like, potentially including time zones. See the following examples:
- https://lightdelay.to/: Using no arguments gets you the homepage, with some common locations and using the current time.
- https://lightdelay.to/Mars/: A single argument is interpreted as the location that you want the distance to. The distance is calculated from the center of Earth, to that location, at the current time. This example uses a major planet.
- https://lightdelay.to/1_Ceres/: You can use underscores in the place of spaces, to make prettier URLs. This is the distance to Ceres, a major belt asteroid, at the current date and time. Data in this case is provided by the IAU Minor Planet Center.
- https://lightdelay.to/Eros/: Even though the formal designation of Eros is "433 Eros", you can use only the common name.
- https://lightdelay.to/2018_WX/: This is an example using a preliminary designation of an asteroid, a systematic name assigned when an asteroid is first discovered.
- https://lightdelay.to/2001-01-01/: You can also get the homepage using a preferred timestamp, which can be very simple. Defaults to midnight, and UTC, if a time and timezone aren't specified.
- https://lightdelay.to/2001-01-01 12:34 PM UTC-4/: If you include a time and timezone, the time will be converted to UTC.
- https://lightdelay.to/Deimos/: Unfortunately, moons of the major planets aren't currently working.
- https://lightdelay.to/ISS/: Neither are artificial satellites of Earth.
- https://lightdelay.to/Io/: Beware: In addition to being a moon of Jupiter, Io is a minor belt asteroid, officially 85 Io. In the future, "Io" will give you the Jovian moon, and "85 Io" will get you the asteroid. But currently, we only have the asteroid.
- https://lightdelay.to/Mars/1_Ceres/: This isn't implemented yet, but you will be able to get the distance between any two objects, instead of only between an object and Earth.
- https://lightdelay.to/ISS/New_York,_NY/: Same here: I want to add support for using a specific location on early, for objects very close by, but I haven't written all the necessary code yet.
- https://lightdelay.to/Mars/2000-01-01/: Of course, you will also be able to provide one location and a time, in order to get the Earth-Mars distance on January 1, 2000, for example.
- https://lightdelay.to/Mars/1 Ceres/2000-01-01/: Or use all three arguments: Two locations plus one date time.
There are some important caveats. First, the location histories and predictions of objects are not always 100% accurate. Orbits are actually really quite complicated. Here's what should work:
- Planets: Positions should be accurate between the years 1950 and 2050.
- Minor Planets: Positions should be accurate from when they were first observed until the present day, however, predictions into the future may not be accurate.