Follow-up of previous ObsParis / CDS meeting
Initially using Aladin prototype v9.6 (27/6/2017) and TOPCAT v4.4 on MacOS
- See also page: Aladin & planetary surfaces for other use cases / examples.
Partly updated 5/2019 using Aladin prototype v10.1 / based on v10.127 (12/5/2019) and TOPCAT v4.6-3 on MacOS
Set up for planetary mapping in TOPCAT
Assuming longitude is E-handed (EPN-TAP convention, and IAU convention in planetocentric frames):
• Standard setup for planetary maps in TOPCAT SkyPlot:
(in Axes / Projection)
Projection = sin (i.e. sphere, for orthographic projection), but car (plate carrée / cylindrical) is also possible
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
• Standard setup for planetary maps in TOPCAT PlanePlot (cylindrical):
(in Axes / Range)
Set Max X value to 360
Central meridian will be on left side
• To put the central meridian at the center:
(in Axes / Range)
Min / Max X = -180 / 180
(in Mark / Position)
X: LON > 180 ? Lon - 360 : Lon
(in Axes / Labels)
X Label = Longitude
Healpix generation from a table in TOPCAT
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).
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"
Map projections available with this mode are (in Axes panel) "sin" (actually: orthographic), 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
1) Standard way (density map from a lon/lat table):
• Open the SkyPlot panel, select table and Lon & Lat parameters in Position panel
• Go to Form panel, click on the big Forms button (green cross) and "Add SkyDensity" from the local menu. Uncheck the previous Mark Form
• Go back to Position panel, select Lon and Lat parameters (C1min and C2min for an EPN-TAP table)
• Back to 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 are OK.
• 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.
• 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).
• From v4.6-3, TOPCAT HEALPix-fits maps can open in Aladin and can be, e.g., superposed on a 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).
2) Alternatively (from a binned table):
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). It is not intended to group or average table rows in the cells interactively.
• Start 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)
Complex footprints in TOPCAT
This mode allows display of either file footprints (series of images or spectral cubes) or extended pixels footprints (individual spectra from a cube).
• When FoV have 4 corners (or only3), 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
If contours are more complex polygons, use the Polygon Form.
• If the table contains footprints provided through s_region (or with any STC-S Polygon string):
- 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, or other situations:
Plotting on shape models in TOPCAT
If the table contains the Cartesian coordinates of individual measurements, TOPCAT can easily display 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, in the Z=0 plane.
• The usual plot options are available to superpose an Aux parameter.
Mars HiPS generation in Aladin
HiPS (Hierarchical progressive survey) are associations of healpix maps at different scales. They provide efficient multiresolution scaling on the fly in Aladin.
1) From a single file (updated Aug 2017)
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
2) From a series of local files in Aladin
This method will provide adaptive resolution when using files of various scales
TBC, did not work on my machine early 2017.
MOC use case in Aladin
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.
- Should also retain info about original file coverages, for callback purpose.
- 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