Follow-up of previous ObsParis / CDS meeting
Initially using Aladin prototype v9.6 (27/6/2017) and TOPCAT v4.4 on MacOS
Partly updated 5/2019 using Aladin prototype v10.1 / based on v10.127 (12/5/2019) and TOPCAT v4.6-3 on MacOS
Assuming longitude is E-handed (EPN-TAP convention, and IAU convention in planetocentric frames):
(in Axes / Projection)
Projection = sin (i.e. sphere, for orthographic projection), but car (plate carrée / cylindrical) and Aitoff are also possible (will not rotate)
Uncheck Reflect longitude axis, (keep it checked only if coordinates are provided with W longitudes)
View Sky System: Equatorial,
(in Axis / Grid)
Increase Grid Crowding cursor value to 30 or 60° tick
For cylindrical maps:
(in Axes / Projection)
Projection = car (for 0° at center, range = 0-360°)
Projection = car0 (for 0° on left border)
(in Axes / Range)
Set Max X value to 360
Central meridian will be on left border
• To put the central meridian at the center (range = -180 to 180):
(in Axes / Range)
Min / Max X = -180 / 180
(in Mark / Position)
X: LON > 180 ? Lon - 360 : Lon
(in Axes / Labels)
X Label = Longitude
• From v4.6-3, the SkyPlot window is more versatile for maps (see above)
Healpix is a tesselation system on the sphere, which depends on a resolution/scale parameter. It provides regular sampling in surface, with no singularity (poles).
When using this system, TOPCAT will integrate elements included in the corresponding cells. The benefit is to easily get a combined map from sparse data; the result is also scalable in resolution: at least degradation is performed correctly by combining healpix cells.
Cell size (in FoV size, ie in longitude at Equator): scale 6 ~ 1°, 12 ~ 1', 18 ~ 1"
From the SkyPlot window, several map projections are available with this mode (in Axes panel): "sin" (actually: orthographic, 3D), Aitoff (all surface visible, minimize deformations near the poles), and "car" (cylindrical).
In TOPCAT, load a table containing a list of observations located in lon/lat
(the working example is a large table of VIRTIS/Rosetta observations of 67P)
A detailed step by step tutorial is now available: Use case: mapping sparse spatial data with TOPCAT
• Open the SkyPlot panel, select table in Position panel, as well as Lon and Lat parameters (C1min and C2min for an EPN-TAP table)
• Go to Form panel, click on the big Forms button (green cross) and "Add SkyDensity" from the local menu. Uncheck the previous Mark Form
• In the Form panel, select parameter to plot as Weight (will be weighted by density), select combine mode, and adjust scale. Healpix generation is performed on the fly, so all scales can be selected.
• Possibly adapt color scale in the Aux Axis tab (left menu)
• In the SkyDensity / Form panel, play with HEALPix level to set a convenient integration scale.
Figure: VIRTIS/Rosetta measurements on 67P, located in lon/lat
• In the Form panel, you can either "Import" to create the integrated HEALPix table in TOPCAT at the current scale (2 columns: cell #, plotting parameter; only filled cells are present), or "Save" in a file in HEALPix-fits format (FITS formatting is more efficient than VOTable, as it is compressed).
• HEALPix-fits maps from TOPCAT (>v4.6-3) open in Aladin and can be, e.g., superposed on a planetary HiPS. Aladin prototype v10.1 (based on v10.127) is required to plot the HEALPix map with correct orientation (set longitude = ascending in Properties panel of the HiPS).
This other method is adapted when you have only 1 or 0 data / healpix cell, ie if the grouping has already been done in a previous step (e.g., with an ADQL query to group data by HEALPix cells, or when opening a previous HEALPix-fits map). It is not intended to group or average table rows in the cells interactively.
• If starting from a lon/lat table, first add a new synthetic column providing healpix cell number (right-click on table column header and enter new column description):
healpixNestIndex( 6, longitude, latitude )
(adapt scale to data in use, 6 provides a resolution of ~ 1° at the Equator)
• (once you have a table with healpix cell # included)
Open Skyplot panel, add New healpix layer, provide inputs
Correct Healpix Data Level in particular (TOPCAT will try to guess, but this is uncertain)
• In Skyplot / Style panel, use Degrade and Combine mode to reduce resolution on the fly (super-resolution can no longer be achieved)
This mode allows display of either file footprints (series of images or spectral cubes) or extended pixels footprints (individual spectra from a cube).
Set up is easier if table columns are associated with relevant UCDs (typically pos.bodyrc.lon/lat).
• When FoV have 4 corners (or only 3), use Add New Quadrilateral Plot in a SkyPlot or PlanePlot window
• In the Position tab, set the 4 Lon/Lat pairs to corners values
• In the Form tab, set Mode = Aux and select the adequate parameter as usual
• Set the other graphical parameters as usual
If contours are more complex, use the Polygon Form.
Figure, Left: HSRC/MEx image footprints. Center: individual spectra (iFoV) from VIRTIS/Rosetta cubes, in SkyPlot. Right: same in PlanePlot
• If the table contains footprints provided through an STC-S Polygon string (in particular s_region in EPN-TAP tables):
- define a new column (e.g. "shape") with expression "parseDoubles(s_region)"
- use Lon=shape, Lat=shape as positions in Skyplot
- add a new Form of type Polygon, and fill in Other Points field as "shape"
This applies either to image contours, to individual FoV for spectra, and to other situations:
Figure: Mars craters contours.
If the table contains the Cartesian coordinates of individual measurements, TOPCAT can easily display this in 3D:
(the shape model is then actually included in the data - but only where measurements exist)
• Open a 3D Cartesian plot window. X/Y/Z coordinates are preselected if the names are explicit enough. This also works in 2D plots, with all Z values projected in the X/Y plane.
• The usual plot options are available to superpose an Aux parameter.
Figure: VIRTIS/Rosetta measurements on 67P, in Cartesian coordinates
HiPS (Hierarchical progressive survey) are associations of healpix maps at different scales. They provide efficient multiresolution scaling on the fly in Aladin.
The use is mostly to get a 3D spherical model from a map, where contours and objects can be overplotted. See Io use case for more details: Aladin & planetary surfaces
In Aladin, load file Mars_MGS_colorhillshade_mola_1024.jpg (MOLA integrated relief map)
• Go to Image > astrometric calibration:
Coord = 0.,0.
pos x/y = 512, 256 (lon = 0°, lat = 0° at image center)
size = 21.1' (= 360. / 1024)
RA symmetry = False => this is mandatory to get the image in the correct orientation.
• Convert to HiPS :
Tool > Generate HiPS based on… > current image
• The hpx image is saved (somewhere) on disk automatically (you may have to search for it)
Open issue: this provides a correct E longitude frame. However, s_region footprints sent from an EPN-TAP service will now plot at the wrong longitude (see figure below with Huygens and Schiaparelli)
E.g. for Huygens crater, s_region = Polygon UNKNOWNFrame 55.582 -17.8305918846 54.7737623408 -17.7532983656…
(in short, s_region Unknown frame is incorrectly assumed W-handed)
Settable longitude direction in Properties panel of drawings would provide a workaround.
The real solution is to define a E-handed frame in s_region
This method will provide adaptive resolution when using files of various scales
TBC, did not work on my machine early 2017.
MOC (Multi-Order Coverages) are footprints defined in terms of a healpix cells list mixing various resolutions. They provide immediate location information e.g. about intersections, and can accommodate footprints of arbitrary complexity (hollowed, non-connex, etc…). There is no explicit contour associated, so the usage is different from the s_region parameter.
- Load previous Mars MOLA HiPS in Aladin
- Select two large craters in Mars Craters service from VESPA client
- send as s_region from VESPA client (to Aladin) — (s_region was then provided in this service with W longitudes, so this projected correctly)
- select them in Aladin with pointer
- Generate common MOC for these 2 craters (Coverage > Generate a MOC based on… > selected drawing objects)
- You can save it from File > Export Planes (save preferably as fits for reuse)
This is OK and very quick.
This is not a direct alternative to s_region however: resulting contours are much larger, can't be included in a table. But we can either have precomputed MOC stored somewhere (for datasets?) or compute them on the fly when required.
• Then: test intersections with something else - see example in next pages