IntroductionΒΆ
uranography
is a collection of classes that supply tools for making
bokeh
plots of data on the celestial sphere. It is primarily intended for
use in interactive environments such as jupyter notebooks or dashboards.
The uranography
python module provides a collection of classes, each of which supports a different map projection.
Some of these map projections include controls that let them simulate traditional tools used in astronomy:
the Lambert azimutal equal area projection simulates a planisphere, and the othrogrophic projection simulates an armillary sphere.
Each of these classes includes:
a member (
plot
) that is a perfectly normal instance of bokeh.plotting.Figure. Through this instance, users can create and modify the full high level API provided bybokeh
, and the full set ofbokeh
interactive tools can be applied.bokeh
transforms that apply the map projection in the client. By usingbokeh
client-side transforms to handle map projections,sphremap
supports the application and interactive adjustment of map projection parameters without commutication with a server (orpython
process of any sort). This means that updates to projections (e.g. with a control slider in a web page) do not incur any overhead for communication with a server, thereby allowing smooth motion and interaction even with slow network connections. Furthermore, plots can be saved as strings and either loaded into browsers direcly from disk, or embedded into other web pages, and the plots will remain active and interactive even ifpython
process that produced the plots no longer exists.Methods for plotting healpix and healsparse arrays.
Methods for adding a variety of features commonly used in maps of the sky, including:
graticules in equatorial coordinates (R.A. and declination),
graticules in horizon coordinates (altitude and azimuth),
the ecliptic plane,
the horizon (or circles of any other altitude),
circles of a sphere (great or small circes) with arbitrary centers and radii, or arcs of such circles beginning and ending at arbitrary bearings from the center.
the galactic plane, and
stars from the Yale Bright Star Catalog.
These methods add standard named glyphs, data sources, and renderer models to the instance of bokeh.plotting.Figure
, so they can be selected by name from the plot
member and adjusted and refined using the standard bokeh
API.
The ability to simulate a planisphere or armillary sphere make plots created by uranography
particularly useful for planning observing.
Where map projections commonly used in cosmology (e.g. Mollweide) heavily distort features and periodicities of primary importance to observation planning (e.g. the horizon),
such features are more naturally represented in a simulated planisphere.
When used with fully interactive sliders, an orthographic projection helps a human build a mental three dimensional picture of the sky difficult to achieve with other map projections, or with non-interactive orthographic projections.
For example, compare distortion of important circles on the sky (e.g. the horizon and ecliptic) in the commonly used Mollweide projection:
with their appearance and motion on a smoothly interactive image of a planisphere :
or with a mental picture created with the aide of a virtual armillary sphere, after playing around with the different sliders:
All three of these figures were created using uranography
.