Planetary cartography commands

For an illustrated example of MAP function, click here.

Creates an image in a given cartographic projection from an image defined in a different projection.

Cartography is a method that allows you to represent, on a plane, a surface that is generally not flat, such as the earth or any other planetary surface.   This science is thus necessarily inexact since local or global deformations of  the surfaces to be represented are inevitable.  The choice of a cartographic projection is generally based on a compromise between different desired  properties (for example, global view of the planet, conservation of area, polar view, etc.).

The types of projection can be classified into three large families of criteria:

a) according to their geometric properties.  There are 4 projection categories following this criterion:

- Conformal projections.  they conserve the angles between all points on the map. Used mostly in navigation, somewhat less in astronomy; a famous example is the MERCATOR projection.
- Equal-area projections.  They conserve areas.  Very useful when you are interested in a balanced representation of different parts of the body being mapped. Example: sinusoidal projection.  A projection can be both equal-area and conformal, sometimes only in a limited domain of the representation, if you allow a certain margin of error.
- Equidistant projections: they conserve certain distance ratios, for example, only on the meridians, or on a particular parallel, etc.
- Aphylactic projections: this covers all the other projections, that is, those that more or less deform the surfaces and the angles.  Some of them are commonly used anyway.  Example: simple cylindrical projection.

b) according to how they are constructed.  The types are:

- cylindrical projections: obtained by wrapping a cylinder around a sphere.  The projection of the sphere onto the cylinder is usually normal to the cylinder, or normal to the sphere (example: MERCATOR projection).
- azimuthal projections: replace the cylinder by a plane, with the same type of projections.  The important subcategory of orthographic projections are normal to the plane, which makes it seem as if the sphere is being looked at from very far away.
- conic projections: the sphere is projected onto a cone that intercepts the sphere in one or two circles, then the cone is rolled on a plane. the others, numerous and varied!

c) according to the central region represented.  The types are:

- equatorial projections:  these are cylindrical projections that surround the sphere along the equator, or of azimuthal projections that intercept the sphere in one point on the equator.
- polar projections: these are azimutal projections that intercept the sphere at a pole, or conic projections for which the vertex of the cone is on the polar axis.
- transverse projections: this is the case, for example, of cylindrical projections whose intersection with the sphere is a meridian.
- oblique projections: for cylindrical projections, the intersection would be a great circle of the sphere.  For example, a typical telescopic view (an image of Jupiter on a CCD matrix, etc.) corresponds to an oblique orthographic projection.

Note that the term sphere above comes from the simple application of these projections for the case of a spherical planet.  The same methods are still valid for ellipsoids and are thus applied by Iris (with a more complex mathematical formulation) for non spherical bodies (for example, Jupiter).

The essence of the MAP command is the transformation from one cartographic system to another one (or even the same one with different parameters).  The input image and the output images must contain integer data.

The parameters [input list] and [output list] contain the names of text files in which there are 22 parameters that describe the cartographic system used for input and for output, respectively.  The names of these files end with the extension .LST (the extension should not be specified in the command line).  The files can be created with a text editor.

The order of the parameters in the files must be respected.  There can be one or more parameters per line, with a space, tab, or carriage return between parameters.

The files contain the values of the following parameters (we have indicated the range of validity for each parameter, but it is sometimes necessary to adjust this range depending on the type of projection used):


PROJ            [0,16]
LAMP            [-180,180]
PHIP            [-90,90]
MERI            [-180,180]
XW              [1,4096]
YW              [1,4096]
XC              [ ]
YC              [ ]
RC              [ ]
FL              [0,1[
POWER           0
LONG1           [-180,180]
LONG2           [-180,180]
LAT1            [-90,90]
LAT2            [-90,90]
L1              [-90,90]
L2              [-90,90]
FLHEM1          [0,1]
SCALE           >0
LONGSTEP        >0
LATSTEP         >0
INTERPOL        [1,6]

For a given map type you will not necessarily use all of the above parameters.  A parameter that is not used should be set to 0 in the .LST file.

Here is the description of each of these parameters in the order they should have in the .LST file:

- PROJ: the type of projection used.  The MAP command provides 17 projection systems (as input and output, thus 289 possible combinations!). These systems have been chosen as a function of their utility in astronomy and/or planetology.  They include most of the projections in use except those that are specifically adapted to the earth, or to human activities. They are described later.

- (LAMP,PHIP): used only for a telescopic image.  They are the apparent coordinates (longitude and latitude) of the North pole of the planet on the image.  Apparent means that the x axis is directed towards the user (perpendicular to the screen), the y axis is horizontal (directed towards the right) and the z axis is vertical, directed upward.  Note that in MAP, all angles are in degrees.  Also, longitudes are between -180 and +180 degrees, and latitudes are between -90 and +90 degrees.

- MERI: this is the longitude of the central meridian of the planet at the time of the observation.  This information is available in ephemerides, once a coordinate system has been chosen.

- (XW,YW): the size of the output image, in pixels, for telescopic images.  These parameters are only required in [output list], and only for a telescopic projection.

- (XC,YC): the coordinates, in pixels, of the center of the planet in a telescopic projection.  This center can be outside of the image itself.

- RC: the apparent equatorial radius of the planet, in pixels, for a telescopic projection.  This radius can be smaller or larger than the size of the image.

All the preceding parameters are required for a telescopic projection.

- FL: the flattening of the planet (used only for telescopic projections), which can be obtained from many books on the planets.

- POWER: the darkening power of the planet (only for telescopic projections).  In the current version of MAP, the planets are assumed to
be without phase (full moon or "full Mars"), and the limb darkening law is a power law of the cosine of the apparent longitude angle.  This
power can be determined empirically.  For example, depending on the filters used, the value for Jupiter is generally between 0.4 and 0.5.

- (LONG1, LONG2): the range of longitude on the map.  For global cartography, these values would be -180 and 180 respectively, or for regional cartography, any other value.

- (LAT1, LAT2): the range of latitude on the map, with LAT1 < LAT2.  For global cartography, these values would be -90 and 90, if the type of projection allows it, or otherwise, other appropriate values.

- (L1, L2): the latitudes of intersection of the cone with the planet for a conic projection (see ahead for more information).

- FLHEMI: a flag that indicates which hemisphere is used for polar projections (conic or azimuthal), with 0 for the northern and 1 for the southern hemisphere.

- SCALE: the average or equatorial scale, depending on the type of projection, in degrees/pixel.  Pay attention to this variable for [output list] because it directly affects the size of the output image.  For example, an image with a simple cylindrical projection from -180 to 180 degrees will have a horizontal size of 360 pixels for a scale of 1 degree/pixel, but 3600 pixels if you put 0.1 degrees/pixel by accident!   Make sure you choose the value for this variable carefully.

- (LONGSTEP, LATSTEP): these variables are not used in the MAP command, they are only used for the GRID command (see GRID).

- INTERPOL: the algorithm used for interpolate the output image. You can select 6 value (1...6). 1 = nearest point method, not recommended. 2 = classical bilinear interpolator. 3 = bicubic method (a good balancing between the resolution of the images and the calculation speed - recommended). 4 = spline interpolation, very good result, but more time consuming.  5 = a more elaborate version of spline #4, but very slow. 6 = sinc interpolation (the better result in term of image quality but very long execution time, try on 16-bits images first, not true colors - not very recommended for normal work).

Here is the description of the different types of projections available with the MAP command:

PROJ = 0: perspective = telescopic view = oblique orthographic projection.  This type of projection (aphylactic) is particularly important in astronomy because it corresponds to the images acquired with a telescope, that is, an
actual view of the planet in the sky. The required parameters are LAMP,PHIP, MERI, XC, YC, RC, FL, and POWER, plus XW and YW if this projection is used for output. Mathematically, the projection is normal tothe plane in which the planet "sits" in the desired attitude. Thus, you canrealize equatorial, transverse, polar, or oblique projections. As input, this projection can create any type of map from telescopic images. As output, you can simulate planetary telescopic images, including original views, such as a polar view of Jupiter!

- PROJ = 1: simple cylindrical projection - this is one of the most popular projections, with a regular grid that is identical in latitude and longitude.  An entire planet can be represented. There are significant distortions in longitude near the poles. However, this representation is the most practical because of the linear relationship between the image pixels and the planetary coordinates. It is recommended as the basic projection. The required parameters are LONG1, LONG2, LAT1, LAT2, SCALE.

- PROJ = 2: LAMBERT equal-area cylindrical projection - this projection is normal to the cylinder. The poles are less deformed (at least in latitude) and the projection is equal-area, which can be useful.  A global representation of the planet is possible. The required variables are LONG1, LONG2, LAT1, LAT2, SCALE.

- PROJ = 3: MERCATOR projection - this is one of the most famous cylindrical projections, and it has the advantage of being conformal,  thus its utility in navigation (loxodromy,...). It is less interesting in astronomy, even though it is used as a standard in most planetary organizations.  Note that this map dilates elevated latitudes quite a bit (the poles go to infinity), so it is strongly advised to not use this projection beyond latitude 60 or 65.  As an example, the zones at latitude 60 are dilated by a factor of 2 with respect to the equatorial scale, and the zones at 80, by a factor of 33!  The required variables are LONG1, LONG2, LAT1(>-90), LAT2 (<90), SCALE.

- PROJ = 4: transverse MERCATOR projection: this is the transverse form of the MERCATOR projection (the cylinder is in contact with both poles). It is still conformal, of course, and has the advantage of not distorting the poles. Part of the equator is now excessively dilated. For output, the variables XW and YW limit the extent of the map (which would otherwise go to infinity), and the meridian on which the cylinder is resting is automatically equal to half of the sum of LONG1 and LONG2. The required variables are LONG1, LONG2, LAT1, LAT2, SCALE, and, if this projection is used as output, XW and YW.

- PROJ = 5: sinusoidal projection, also called the SANSON-FLAMSTEED equal-area projection. This projection can be used for a global representation of the planet, it is equal-area, and deforms the poles less than the cylindrical projections, though the shapes are somewhat inexact, because of the pointed look of the map. The deformation is less near the central meridian, which you can vary if necessary. The required variables are MER1, LONG1, LONG2, LAT1, LAT2, SCALE.

- PROJ = 6: MOLLWEIDE equal-area projection (also known as BABINET) - this is a classical projection, in the form of a football.  It can be used for a global representation and is more pleasant to the eye than the SANSON-FLAMSTEED. The deformations become larger if you choose a central meridian that is far from half the sum of LONG1 and LONG2. It is rather complicated mathematically (long calculation time). The required variables are MER1, LONG1, LONG2, LAT1, LAT2, SCALE.

- PROJ = 7: POSTEL polar azimuthal equidistant projection - this is an equidistant form of the polar projection. It is equidistant along the meridians.  Note that by a mathematical extension of this projection, you can represent the entire planet (a polar projection is a priori limited to one hemisphere). The flag FLHEMI selects which pole is on the map. The chosen central meridian is displayed vertically on the screen, as in all the other polar projections.  The required variables are MERI, LONG1, LONG2, LAT1, LAT2, FLHEMI, SCALE.

- PROJ = 8: central polar azimuthal projection (also called gnomonic) - the center of the projection is the center of the planet and the projection is normal to the surface of the planet. The equator goes to infinity, so this projection is limited to the hemisphere in contact with the map (without the equator). The variables LAT1 and LAT2 should be chosen to be in agreement with the flag FLHEMI (MAP will send appropriate error messages otherwise). For example, if FLHEMI = 0 (representation of the northern hemisphere), the two extreme latitudes of the map must be strictly positive.  This map is mostly useful for navigation, because the loxodromic routes are arcs of the circle, and the orthodromic routes (the shortest path between two points) are line segments between two points on the map.  In astronomy, obviously, this is less interesting.  The required variables are MERI, LONG1, LONG2, LAT1, LAT2, FLHEMI, SCALE.

- PROJ = 9: LORGNA polar azimuthal equal-area projection - this is an equal-area form of the polar projection.  By extension, the entire planet can be represented. The required variables are MERI, LONG1, LONG2, LAT1, LAT2, FLHEMI, SCALE.

- PROJ = 10: a polar azimuthal stereographic projection (orthomorphic) - the center of the projection is the opposite pole and the projection is normal to the sphere. A global representation is possible, and is fairly representative of the shapes, at least in the hemisphere in contact with the map. The required variables are MERI, LONG1, LONG2, LAT1, LAT2, FLHEMI, SCALE.

- PROJ = 11: LAMBERT polar azimuthal equal-area projection - this is another equal-area form of the polar projection, used a lot since it is more realistic that the LORGNA projection.  By extension, the entire planet can be represented. The required variables are MERI, LONG1, LONG2, LAT1, LAT2, FLHEMI, SCALE.

- PROJ = 12: ALBERS polar conic projection - this is a simple form of  the conic projection.  These projections are characterized by their fan-shaped form.  They are generally used because they do not deform the represented objects very much, at least not near the center of the map.  A conic projection is obtained by projecting the planet on a cone.  There are then one or two circles of intersection of the cone with the planet (two circles are obtained when the cone crosses the surface of the planet, whereas a single circle is produced when the cone is tangent to the planet).  Note that if the single circle approaches the equator, the vertex of the cone goes to infinity and you get a cylindrical projection.  In general, the latitudes of the two circles are L1 and L2.  L1 represents the latitude of intersection that is closest to the vertex of the cone.  Choose L1 and L2 to be in agreement with FLHEMI.  For example, if FLHEMI = 0 (north pole), you could have L1 = L2 = 50, but not L1 =L2 = -50.  You could have L1 = 50 and L2 = 20, or -40, but not -60 (since a cone whose vertex is above the north pole cannot intercept the sphere at L1 = 50 and L2 = -60). A little common sense is enough to avoid mistakes here.  In addition, the error messages from MAP will help. The variable MERI determines the meridian that is displayed vertically on the map. The ALBERS projection can be used for a global representation of the planet. The required variables are MERI, LONG1, LONG2, LAT1, LAT2, L1, L2, FLHEMI, SCALE.

- PROJ = 13: LAMBERT polar conformal conic projection - this is a conformal version of the conic projection, fairly practical.  A global representation of the planet is possible. The same remarks as for the ALBERS projection apply. The required variables are MERI, LONG1, LONG2, LAT1, LAT2, L1, L2, FLHEMI, SCALE.

- PROJ = 14: equatorial polyconic projection - with this projection, only one hemisphere at most can be represented, but there is minimal deformation.  This is an aphylactic projection, but with a good rendering of the shapes and relative areas.  The map is centered on the central meridian indicated in MERI.  This projection is rather complicated mathematically, and so takes a long time to calculate. The required variables are MERI, LONG1, LONG2, LAT1, LAT2, SCALE.

- PROJ = 15: HAMMER equal-area projection - this projection resembles the polyconic projection and the MOLLWEIDE projection. It has the advantage of being equal-area, and does not distort planetary details very much.  A global representation of the planet is possible.  Its only defect is a long calculation time (but not as long as the two previously mentioned projections). The required variables are MERI, LONG1, LONG2, LAT1, LAT2, SCALE.

- PROJ = 16: USGS-type projection - this projection is a grouping of several projections. There is an equatorial MERCATOR projection that is automatically limited to +60 and -60 degrees in latitude and 360 degrees in longitude starting from LONG1, plus 2 stereographic azimutal polar projections that are displayed underneath it and cover the poles up to the 50th parallel.  The map corresponding to the north pole is on the left, with the central meridian equal to 0, and the map corresponding to the south pole is on the right, with a central meridian of 180. This representation is obviously global, and is the standard used by the United States Geophysical Survey (USGS), which is the agency in charge of creating official planetary maps (Mars, Jupiter, satellites of the giant planets, ...). This map has been chosen because of the complementarity of the different types of projections, the limited distortion of the regions, and the conformity of the set.  The only parameter to provide is LONG1 (which it is best to set to -180).  In order to interpret the file FILE_IN (or FILE_OUT), it is advisable to set
LONG2 to 180 (even though it is not used in this projection).

Remark: Each time the projection is changed, the image undergoes numerous operations, notably bilinear interpolation on the pixels.  This creates a slight smoothing of the image, thus it is advised to not iterate too many times so that the resolution of the maps does not deteriorate. Therefore, if you have produced a map in projection "b" from a map in  projection "a", and you now want a map in projection "c", it is better to start from the "a" projection than from the "b", as far as the resolution of  "c" is concerned.


Cartography is the base for all serious morphological studies in planetology.  There are multiple applications, such as:

- Measurements on the maps (coordinates, distances, areas, etc.).

- Tracking phenomena (maps taken at different times are directly comparable when they are brought to an identical projection by division, subtraction, etc.).

- Morphological or structural analysis (classification, etc.).

- Merging sub maps.

- Presentation of results (MAP can even be used with trichromatic images!).

- Simulation (create telescopic views, for example).

Merging sub maps is the principal application, at least at first - this is what allows you to create a global map from elementary images. For example, start with a collection of 6 images of Jupiter taken with about one and a half  hour intervals during one night.  For each image, create an individual [input list] with the necessary information, and create as many output images as input images (but with a unique [output file] so that all the maps are identical).  In this example, you would have 6 maps of Jupiter (for example, simple cylindrical) that can now be combined.  Generally, you limit the map to a valid zone, on either side of the central meridian, that does not cover all that is visible on the image, because the edges of the image are too distorted.  They are often over or under corrected for limb darkening as well.  You can obtain the valid zone directly from the output map by adjusting LONG1 and LONG2.  If you notice that the result is not as desired, you can also apply the EDGE command (see the EDGE command) to set to zero the areas on the map that you judge to be undesirable after the projection. In any case, you will finally have 6 maps where the non zero information is valid. Then you only need to execute the MOSA command map by map (see MOSA), using the output from one execution as the input for the next one.  The shift between the maps is 0 in both x and y and the mosaic type can be chosen (the best is probably option 5, which considerably attenuates the overlap effects).  After 5 executions of MOSA,  the final map will exist. In this example, if each map had been limited to 40 degrees on each side of the central meridian (thus to zones definitely valid- try not to go past 60 degrees if possible), the result will be a global map of Jupiter obtained during one night. The operation is easiest on Jupiter because of its short rotation period. This method is still valid for example for Mars, though it takes several weeks of observations.

For the moon, global cartography is difficult from the earth, but, thanks to MAP and MOSA, you can create, for example for each lunar pole, a polar map of Luna Incognita.  Little by little, as the observations accumulate, the new images fill in the gaps in the old ones.  Using the options available in the MOSA command, you can even replace old data on the map with new, possibly better data.

The MAP2REC command is used with the MAP command.  It calculates the Cartesian coordinates of a point on the map, starting from the parameters of a cartographic projection and the planetocentric coordinates ([longitude], [latitude]) of the point. [list] contains the name of the filewith the parameters of the projection.  For a description of the cartographic files, see the MAP command.

See also: REC2MAP

The REC2MAP command is used with the MAP and PREMAP commands.  Starting from the parameters of a cartographic projection and the Cartesian coordinates ([x], [y]) of a point on the map, it calculates the planetocentric coordinates of this  point.  Note that the  point can be outside of the image (the Cartesian coordinates, for example, can be negative).

The file of the projection parameters is named in the parameter [list].  For a description of the cartographic files, see the MAP command.

The GRID command is a complement to the MAP command.  It draws on the image, coordinate grids (parallels and meridians) corresponding to an already existing map. The intensity of the grid if [intensity].  This map has an associated file, [list].  For a description of the files and the maps, read the documentation for the MAP command.  Here, we will just describe the last 3 parameters of these files, since they are directly related to drawing the grids:

* LONGSTEP: the stepsize in longitude of the grid, in integer degrees.  It is advisable not to use too small a step in order to avoid overloading the screen and making the map unreadable.  For the same reasons, GRID automatically stops drawing near the poles.

* LATSTEP: the stepsize in latitude of the grid, in integer degrees.  The same remarks as for LONGSTEP apply to the size of the step.

* FLAG_T: a reserved parameter.

See also: MAP

Example: GRID FILE, draws a grid from the information in FILE.LST.

The GRID command is a useful complement to MAP when you want to put coordinate values on an area of a map. For application examples, read the documentation for the MAP command.