Learning About Map Projections
From Isis Workshop
[edit] What is a Map?
A map is a two dimensional representation of a three dimensional object such as a sphere, ellipsoid (egg-shape), or an irregular shaped body. For planetary maps, these 3-D objects are the planets, their moons, and irregular bodies such as asteroids. Maps allow scientists and researchers to analyze and measure characteristics of features on the body such as area, distance, and direction. See Map (Wikipedia) for a detailed description of maps.
[edit] What is a Map Projection?
A projection is an algorithm or equation for mapping a three dimensional body onto a two dimensional surface such as paper, a computer screen, or in our case, a digital image. There are many different types of projections.
For additional information on types and properties of map projections see Map Projections (USGS).
[edit] Isis Supported Projections
Isis currently supports the following projections:
- Sinusoidal
- Simple Cylindrical
- Equirectangular
- Polar Stereographic
- Orthographic
- Lambert Conformal Conic
- Mercator
- Transverse Mercator
- and many more...
Related Resources
- USGS: Map Projections - descriptions and comparisons of several map projections
[edit] What is a Planetary Image Map?
A primary capability of Isis is to create map projected images of raw instrument data. This allows researchers to make fundamental measurements on and observations about the images.
The following is an example of a single Mars Global Surveyor (MGS) Mars Orbital Camera (MOC) instrument image that has been transformed to a planetary image map using the Sinusoidal projection.
[edit] What is a Planetary Image Mosaic?
Equally as important, Isis allows a collection of raw instrument images to be projected and stitched together (mosaicked) into large regional or global maps.
[edit] Defining a Map in Isis
In order to project an image, characteristics of the map must be established. They include the latitude/longitude coverage or ground range, the pixel resolution, the target body radii, latitude and longitude definitions, and the projection. In Isis we record all of this information in a Parameter Value Language (PVL) formatted map file. For example this MGS MOC image was projected using the following:
Group = Mapping TargetName = Mars EquatorialRadius = 3396190.0 <meters> PolarRadius = 3376200.0 <meters> LatitudeType = Planetocentric LongitudeDirection = PositiveEast LongitudeDomain = 360 ProjectionName = Sinusoidal CenterLongitude = 227.95679808356 MinimumLatitude = 10.766902750622 MaximumLatitude = 34.44419678224 MinimumLongitude = 219.7240455337 MaximumLongitude = 236.18955063342 PixelResolution = 426.87763879023 <meters/pixel> End_Group |
[edit] Target Shape Definition
The target shape must be defined in order to project an image. The shape is characterized by the equatorial and polar radii of the body. Depending on the projection, one or both of these values will be used. The chart to the right shows which projections are for a sphere only (use only the equatorial radius) and which work for ellipsoids:
Highlighted below are the PVL keywords used to define the target radii, which must be given in units of meters.
Group = Mapping TargetName = Mars EquatorialRadius = 3396190.0 <meters> PolarRadius = 3376200.0 <meters> LatitudeType = Planetocentric LongitudeDirection = PositiveEast LongitudeDomain = 360 ProjectionName = Sinusoidal CenterLongitude = 227.95679808356 MinimumLatitude = 10.766902750622 MaximumLatitude = 34.44419678224 MinimumLongitude = 219.7240455337 MaximumLongitude = 236.18955063342 PixelResolution = 426.87763879023 <meters/pixel> End_Group |
|
[edit] Interactive Planetary Radii Demonstration
[edit] Latitude Type
Latitudes can be represented either in planetographic or planetocentric form. The planetocentric latitude is the angle between the equatorial plane and a line from the center of the body. The planetographic latitude is the angle between the equatorial plane and a line that is normal to the body. In a quick summary, both latitudes are equivalent on a sphere (i.e., equatorial radius equal to polar radius); however, they differ on an ellipsoid (e.g., Mars, Earth).
Group = Mapping TargetName = Mars EquatorialRadius = 3396190.0 <meters> PolarRadius = 3376200.0 <meters> LatitudeType = Planetocentric LongitudeDirection = PositiveEast LongitudeDomain = 360 ProjectionName = Sinusoidal CenterLongitude = 227.95679808356 MinimumLatitude = 10.766902750622 MaximumLatitude = 34.44419678224 MinimumLongitude = 219.7240455337 MaximumLongitude = 236.18955063342 PixelResolution = 426.87763879023 <meters/pixel> End_Group
[edit] Quick Tips
- The latitude type will affect how other PVL keywords such as MinimumLatitude, CenterLatitude are interpreted.
- Projections such as Sinusoidal, Simple Cylindrical, and Equirectangular will place pixels differently in the image depending on the latitude type. Pixel placement for other projections is not affected. The Latitude Type keyword must be either Planetocentric or Planetographic.
[edit] Interactive Planetocentric and Planetographic Demonstration
[edit] Longitude Direction and Domain
Two keywords indicate how longitude is defined on the target body and must be specified. The longitude direction indicates whether longitude increases to the east or west, that is, positive to the east or positive to the west. The longitude domain specifies how longitudes should be interpreted 0° to 360° or -180° to 180°. In both cases, these specifications affect other keywords and the interpretation of other keywords, such as MinimumLongitude and CenterLongitude.
The longitude direction keyword must be either PositiveEast or PositiveWest, while the longitude domain keyword must be 180 or 360. These keywords are highlighted in the example below.
Group = Mapping TargetName = Mars EquatorialRadius = 3396190.0 <meters> PolarRadius = 3376200.0 <meters> LatitudeType = Planetocentric LongitudeDirection = PositiveEast LongitudeDomain = 360 ProjectionName = Sinusoidal CenterLongitude = 227.95679808356 MinimumLatitude = 10.766902750622 MaximumLatitude = 34.44419678224 MinimumLongitude = 219.7240455337 MaximumLongitude = 236.18955063342 PixelResolution = 426.87763879023 <meters/pixel> End_Group
[edit] Interactive Longitude Direction of Domain Demonstration
[edit] Ground Range
The ground range defines the extent of the map. That is, the minimum and maximum latitude/longitude values. Recall that these are in terms of the latitude system, longitude direction, and longitude domain. In the keywords below, the keywords highlighted define the ground range of the map.
Group = Mapping TargetName = Mars EquatorialRadius = 3396190.0 <meters> PolarRadius = 3376200.0 <meters> LatitudeType = Planetocentric LongitudeDirection = PositiveEast LongitudeDomain = 360 ProjectionName = Sinusoidal CenterLongitude = 227.95679808356 MinimumLatitude = 10.766902750622 MaximumLatitude = 34.44419678224 MinimumLongitude = 219.7240455337 MaximumLongitude = 236.18955063342 PixelResolution = 426.87763879023 <meters/pixel> End_Group
[edit] Interactive Ground range demonstration
[edit] Pixel Resolution
The pixel resolution defines the size of pixels in a map projected image in either meters per pixel, or pixels per degree. In the example below is the highlighted keyword used to define the pixel resolution in meters per pixel.
Group = Mapping TargetName = Mars EquatorialRadius = 3396190.0 <meters> PolarRadius = 3376200.0 <meters> LatitudeType = Planetocentric LongitudeDirection = PositiveEast LongitudeDomain = 360 ProjectionName = Sinusoidal CenterLongitude = 227.95679808356 MinimumLatitude = 10.766902750622 MaximumLatitude = 34.44419678224 MinimumLongitude = 219.7240455337 MaximumLongitude = 236.18955063342 PixelResolution = 426.87763879023 <meters/pixel> End_Group
Alternately the resolution can be defined as pixels per degree. For example
Group = Mapping TargetName = Mars EquatorialRadius = 3396190.0 <meters> PolarRadius = 3376200.0 <meters> LatitudeType = Planetocentric LongitudeDirection = PositiveEast LongitudeDomain = 360 ProjectionName = Sinusoidal CenterLongitude = 227.95679808356 MinimumLatitude = 10.766902750622 MaximumLatitude = 34.44419678224 MinimumLongitude = 219.7240455337 MaximumLongitude = 236.18955063342 Scale = 138.85641255722 <pixels/degree> End_Group
[edit] Interactive Example of pixel resolutions
[edit] Projection and Parameters
The final information required in the map file is the projection for mapping the body to a two dimensional surface. In addition to the projection name, projection-specific parameters must be provided. For example, Sinusoidal requires the center Longitude. The following table outlines the keywords required for each projection:
| ProjectionName | CenterLongitude | CenterLatitude | FirstStandardParallel | SecondStandardParallel | ScaleFactor |
|---|---|---|---|---|---|
| Sinusoidal | X | ||||
| SimpleCylindrical | X | ||||
| Equirectangular | X | X | |||
| PolarStereographic | X | X | |||
| Orthographic | X | X | |||
| LambertConformal | X | X | X | X | |
| Mercator | X | X | |||
| TransverseMercator | X | X | X |
[edit] Projecting a Camera Cube
To project a raw instrument (camera) cube to a map projected image you must use the Isis program cam2map. The program allows you to enter a map file to specify the projection, ground range, resolution, and target definition. If a map file is not supplied the program will provide the following defaults:
| Parameters | Default Value |
|---|---|
|
|
[edit] Quick Tips
- cam2map requires the input to be a camera cube and therefore Isis must support the camera model in order for this program to be successful.
- spiceinit must be run on the input cube as well.
[edit] Problems at the Longitude Seams
Problems can occur when working on images that cross the longitude seam. For example, choosing a map file with:
LongitudeDomain = 360
A map file combined with an image that was viewed over the 0°/360° seam will visually look like:
The cam2map program has an option which automatically changes the longitude domain if it detects the image crossing the seam. If you turn this option off, be aware you can generate large images with mostly NULL data. Note that a similar problem occurs at the -180°/180° longitude boundary if LongitudeDomain = 180.
| ||||
[edit] Power Tip: Reprojecting an Image Map
Occasionally the need arises to reproject an image map. For example, converting from a simple cylindrical to Sinusoidal projection:
Another purpose for reprojecting an image map is to get all the images with the same projection, parameters, resolution, latitude system, etc in order to mosaic. For example,
The program for reprojecting an image map is map2map.
[edit] Power Tip: Making Mosaics
In order to mosaic a set of cubes they must all be projected in cam2map or map2map using the same pixel resolution, target definition, and projection and parameters (e.g., center longitude, etc). Note the ground range does not need to be the same. This is fairly straight-forward as you can project all the images with the same map file, just leave out the MinimumLatitude, MinimumLongitude, MaximumLatitude, MaximumLongitude parameters.
In the example below, we see the mapping file used to project the five images in the THEMIS mosaic on the right
Group = Mapping LatitudeType = Planetocentric LongitudeDirection = PositiveEast LongitudeDomain = 360 ProjectionName = Sinusoidal CenterLongitude = 354.0 PixelResolution = 100.0 <meters/pixel> End_Group End |
[edit] Other Hints and Tips
- In lieu of using a standard text editor, the programs maptemplate or mosrange can be used to assist in the building of map files.
- A map projected image can be used as a map file. For example, a Viking and MOC image taken of the same area can be projected by running cam2map on the Viking image using the defaults and then the MOC image projected using the Viking image as the map file. The MOC image will have the same projection, target definition, resolution, and ground range so that the images can be easily compared.
- In general, the pixel resolution of the image map is only accurate in certain portions of the image; however, this is entirely dependent upon the projection you select. The labels of the output cube will have a keyword called TrueScaleLatitude and/or TrueScaleLongitude and these represent where the resolution is accurate. The accuracy may be true along that meridian or parallel or point. Again this depends upon the projection.
- The output map image size will vary depending on ground range and pixel resolution. Care should be taken to ensure your output image is not too large. You can check the size of image that will produced with a fully-defined map file by using the mapsize program.





