200 lines
8.0 KiB
HTML
200 lines
8.0 KiB
HTML
{% extends 'layout.html' %}
|
|
{% load humanize %}
|
|
{% load static %}
|
|
|
|
{% block title%}Comprehensive Asteroid and Comet Database | Space Reference{% endblock %}
|
|
|
|
{% block scripts %}
|
|
<script src="{% static "js/lib/three.r98.min.js" %}"></script>
|
|
<script src="{% static "js/lib/TrackballControls.js" %}"></script>
|
|
<script src="{% static "js/lib/spacekit.js" %}"></script>
|
|
<!--
|
|
<script src="http://localhost:8001/src/lib/three.r98.min.js"></script>
|
|
<script src="http://localhost:8001/src/lib/TrackballControls.js"></script>
|
|
<script src="http://localhost:8001/build/spacekit.js"></script>
|
|
-->
|
|
<script>
|
|
window.OBJECT_DEFINITIONS= [
|
|
{% for object_set in object_sets %}
|
|
{% for object in object_set.data %}
|
|
{
|
|
name: unescape("{{object.name}}"),
|
|
slug: "{{object.slug}}",
|
|
ephem: {
|
|
a: {{object.a}},
|
|
e: {{object.e}},
|
|
i: {{object.i}},
|
|
om: {{object.om}},
|
|
w: {{object.w}},
|
|
ma: {{object.ma}},
|
|
epoch: {{object.epoch}}
|
|
}
|
|
},
|
|
{% endfor %}
|
|
{% endfor %}
|
|
];
|
|
|
|
window.VIZ_SIMULATION_OPTS = {
|
|
jdPerSecond: 2,
|
|
};
|
|
window.VIZ_OBJECT_OPTS = {
|
|
particleSize: 10,
|
|
};
|
|
|
|
function selectOrbit(domElement) {
|
|
Object.keys(window.spaceobjects).forEach(function(key) {
|
|
const ob = window.spaceobjects[key];
|
|
const obOrbit = ob.getOrbit();
|
|
if (key === domElement.dataset.slug) {
|
|
obOrbit.setVisibility(true);
|
|
obOrbit.setHexColor(0xff0000);
|
|
ob.setLabelVisibility(true);
|
|
} else {
|
|
obOrbit.setVisibility(false);
|
|
ob.setLabelVisibility(false);
|
|
}
|
|
});
|
|
}
|
|
function deselectOrbit(domElement) {
|
|
window.spaceobjects[domElement.dataset.slug].getOrbit().setHexColor(0xffffff);
|
|
}
|
|
</script>
|
|
<script src="{% static "js/main.js" %}"></script>
|
|
<script>
|
|
init3dVis();
|
|
Object.keys(window.spaceobjects).forEach(function(key) {
|
|
// TODO(ian): Until there is a better way to lazily create labels and orbits,
|
|
// we have to create them and then hide them...
|
|
const ob = window.spaceobjects[key];
|
|
ob.setLabelVisibility(false);
|
|
ob.getOrbit().setVisibility(false);
|
|
});
|
|
</script>
|
|
{% endblock %}
|
|
|
|
{% block header %}
|
|
<header class="site-header">
|
|
<div class="container">
|
|
<div class="row">
|
|
<h1 class="mainheading">Space Reference</h1>
|
|
<h4 class="subheading">Compiled data & simulations for {{object_count|intcomma}} celestial objects</h4>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="row">
|
|
<div class="item-container col-sm-8">
|
|
<div class="item-container__inner">
|
|
<p>
|
|
Welcome to SpaceReference.org. The purpose of this site is to catalog and showcase every known object in space. We've started with asteroids and comets but this <a href="https://www.github.com/judymou/spacedb">open-source</a> project is being quickly expanded.
|
|
</p>
|
|
<p>
|
|
SpaceDB compiles data from the NASA/JPL Small Body Database, the IAU Minor Planet Center, and the NASA/JPL Center for Near Earth Object Studies.
|
|
</p>
|
|
<p>
|
|
If you'd like to create a customized solar system model, take a look at the full-screen interactive <a href="/solar-system">solar system</a> view.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div class="item-container item-container__rightside col-sm-4">
|
|
<div class="item-container__inner">
|
|
<div class="react-search"></div>
|
|
or view a <a rel="nofollow" href="/asteroid/random">random</a> object
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="item-container">
|
|
<h2>Asteroids and Comets</h2>
|
|
<p>
|
|
We've organized hundreds of thousands celestial objects into these categories below for your perusal.
|
|
</p>
|
|
<div class="sticky vis-container vis-container__home"></div>
|
|
<p>
|
|
Mouseover objects in the lists below to highlight them in the orbit view. Click or tap to learn more about each object.
|
|
</p>
|
|
{% for object_set in object_sets %}
|
|
<div class="vis-selector" data-showvis="{{object_set.name}}">
|
|
<h3>{{object_set.name}}</h3>
|
|
<p>
|
|
{{object_set.description}} <!--<a href="/solar-system#cat={{object_set.category}}">See all</a>-->
|
|
</p>
|
|
<div class="carousel-flex-container">
|
|
<div class="carousel-flex-inner">
|
|
{% for object in object_set.data %}
|
|
<div class="tile carousel-item" data-slug="{{object.slug}}" onmouseover="if (typeof selectOrbit !== 'undefined') selectOrbit(this)"
|
|
onmouseout="if (typeof deselectOrbit !== 'undefined') deselectOrbit(this)">
|
|
<a href="{{object.get_absolute_url}}">
|
|
<div>
|
|
<h5>{{object.name}}</h5>
|
|
<div class="tile-content">
|
|
<span class="label label-default">{{object.size_adjective|title}}</span>
|
|
{% if object.is_nea %}
|
|
<span class="label label-info">Near-Earth</span>
|
|
{% endif %}
|
|
{% if object.future_close_approaches|length %}
|
|
<span class="label label-warning">Close Approach</span>
|
|
{% endif %}
|
|
{% if object.is_pha %}
|
|
<span class="label label-danger">Potentially Hazardous</span>
|
|
{% endif %}
|
|
<br>
|
|
<div class="tile-desc">
|
|
{{object.shorthand}} orbits the sun every {{object.period_in_years|floatformat:2|intcomma}} years and is about {{object.get_diameter_estimate|floatformat:3}} km in diameter, comparable in size to {{object.get_diameter_comparison}}.
|
|
{% if object.ordered_sentry_events|length and not object_set.hide_impact_probability %}
|
|
{% with object.ordered_sentry_events.0 as event %}
|
|
<em>It will pass near Earth with an impact probability of {{event.prob_percentage|floatformat:3}}% in {{event.date | date:"Y"}}.</em>
|
|
{% endwith %}
|
|
{% elif object.future_close_approaches|length %}
|
|
{% with object.future_close_approaches.0 as event %}
|
|
<em>It will pass by Earth on {{event.date | date}}.</em>
|
|
{% endwith %}
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div> <!-- end item-container -->
|
|
</div> <!-- end row -->
|
|
<div class="row">
|
|
<div class="item-container">
|
|
<div class="item-container__inner">
|
|
<h2>Object Classifications</h2>
|
|
The two most noteworthy classifications for asteroids are "Near Earth Asteroid" (NEA) and "Potentially Hazardous Asteroid" (PHA). Despite the names, neither classification indicates any direct danger to Earth.
|
|
<ul>
|
|
<li><a href="/category/near-earth-asteroids">Near Earth Asteroids</a> - asteroids whose orbit perihelion is less than 1.3 AU</li>
|
|
<li><a href="/category/potentially-hazardous-asteroids">Potentially Hazardous Asteroids</a> - near-Earth asteroids whose orbits passes within 0.05 AU of Earth's and whose absolute magnitude H is 22.0 or brighter</li>
|
|
</ul>
|
|
Learn more about various <a href="https://cneos.jpl.nasa.gov/about/neo_groups.html">NEO groups</a> here.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="item-container">
|
|
<div class="item-container__inner">
|
|
<h2>Categories</h2>
|
|
<ul>
|
|
<li><a href="/category/asteroid-shapes">Asteroids with known shapes</a> - these asteroids have been mapped by light curve inversion, radar, or flybys. Click through to see 3D models.</li>
|
|
</ul>
|
|
|
|
<p>
|
|
The categories below are orbital classifications as defined by <a href="https://pdssbn.astro.umd.edu/data_other/objclass.shtml">NASA PDS</a>:
|
|
</p>
|
|
<ul>
|
|
{% for orbit_class in orbit_classes %}
|
|
<li><a href="/category/{{orbit_class.slug}}">{{orbit_class.name}}</a> - {{orbit_class.desc}}</li>
|
|
{% endfor %}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|