maptemplate
Create map file template for a projection
This program produces a PVL formatted file that contains the mapping group keywords required to transform an image to a map projection.
Required Input
- Map File Template output filename
- Projection name
- Additional parameters required for specific projections
- Input list if CALC option will be used
Output
A PVL formatted Map File Template containing mapping group keywords
for the selected projection. The '.map' extension is appended to the output
file automatically, if the file extension is not provided by the user. The
output file may contain all or some of the map specifications listed below:
- User-preferred projection type (required)
- Other keywords required for specific projections
- Target body radii
- Latitude/longitude coverage or ground range
- Pixel resolution
- Latitude and longitude definitions
- Distance from center of target
- Standard parallels
Map File Template Creation
To convert a raw instrument/camera cube (Level1) to a map projected
image (Level2) the user must (1) create a custom PVL formatted
text file, (2) use this maptemplate application to produce one, or (3) use
the automated, projection-specific Map File Template in $ISISROOT/templates/appdata/maps.
Whichever method that you choose, the Map File Template should contain the necessary
keywords to project an image.
Map File Template Creation Choices:
-
PVL formatted text file: you must make a list of parameters
based on the projection you wish to use, and input the appropriate values
for each. The following example is a custom Map File Template for defining
the projection of an image of Mars to the sinusoidal projection:
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
The example above contains both required and optional keywords. -
The maptemplate application: maptemplate will prompt you for
all the necessary parameters to project your image. However, the planar and
ring cylindrical projections are excluded from use in the application, because
it requires keywords that are not defined in the program.
-
Templates in $ISISROOT/templates/appdata/maps: the template contains all the
parameters necessary to project an image, and only the Projection name is
"uncommented" in the file. This is because some projections only require
that you enter a projection name, and the default values are computed for
the remaining keywords. In such cases where the default value cannot be
calculated using the camera model or ISIS system default, you must
"uncomment" the appropriate line(s) of the template and set the values.
See example below:
Group = Mapping ProjectionName = LambertConformal # CenterLatitude = 0.0 <degrees> # CenterLongitude = 0.0 <degrees> # Earth (ographic) # FirstStandardParallel = 33.0 <degrees> # SecondStandardParallel = 45.0 <degrees> # Mars (ographic) # FirstStandardParallel = 35.83 <degrees> *Remove # to uncomment and change 35.83 to your value # SecondStandardParallel = 59.17 <degrees> *Remove # to uncomment and change 59.17 to your value End_Group
Identifying Required Parameters:
The following is a list of projections and keywords that are required. When
a keyword is missing, and you try to project an image using projection
software like cam2map, an error will occur. Below is a list of
projections and the keywords that must be in the Map File Template:
PROJECTION | ASSIGN VALUES FOR THESE KEYWORDS |
---|---|
Lambert Conformal | FirstStandardParallel, SecondStandardParallel |
Oblique cylindrical | PoleLatitude, PoleLongitude, PoleRotation |
Point perspective | Distance |
Planar (unavailable in maptemplate) | CenterRingRadius, CenterRingLongitude, RingLongitudeDirection, RingLongitudeDomain |
Ring cylindrical (unavailable in maptemplate) | CenterRingRadius, CenterRingLongitude, RingLongitudeDirection, RingLongitudeDomain |
How the defaults are set for Mapping Group keywords:
DEFAULT SOURCE | MAPPING GROUP KEYWORDS |
---|---|
From Label | TargetName |
From camera model | CenterLatitude, CenterLongitude, MaximumLatitude, MaximumLongitude, MinimumLatitude, MinimumLongitude, PixelResolution, Scale |
ISIS Map defaults | LatitudeType (ocentric), LongitudeDomain (360), LongitudeDirection (East), ScaleFactor (1) |
From PCK file for Target | EquatorialRadius, PolarRadius |
Not computed, user must set | CenterRingLongitude, CenterRingRadius, Distance, FirstStandardParallel, MaximumRingLongitude, MaximumRingRadius, MinimumRingLongitude, MinimumRingRadius, PoleLatitude, PoleLongitude, PoleRotation, RingLongitudeDirection, RingLongitudeDomain, SecondStandardParallel |
Maptemplate GUI Interface
Radio buttons in the GUI are used to select options. Once an option is
selected, the required parameters pertinent to that option become activated;
therefore the user should complete the highlighted fields in the different
parameter sections. Use the right scroll bar on the right side of the GUI
to see all the available options.
The
button is used for RNGOPT and RESOPT options. If the button is clicked,
the range will be calculated and automatically entered in the GUI
fields with the appropriate values. For SELECT, the
button is used to select a Map File Template, the
button is use to view the contents of
the selected file at the bottom of the GUI, and the "Down Arrow" button is
used to load the contents of the selected file into the appropriate GUI fields.
When the target name is set and no other value is specified, the
button next to EQRADIUS is used to display the system
radii in the log area.
Parameter Setting Action
PARAMETER | ACTION |
---|---|
NONE | No keywords regarding the target will be added to the Map File Template. The value for the required keywords is derived based on the ISIS defaults at the time of projection. If a target name is specified and no value is entered for radius, the system radii will be used. |
USER | The user must enter the target and the preferred settings for the selected projection. The user can select meters per pixel (MPP) or pixels per degree (PPD) to define the units for the value entered for Resolution. If MPP is chosen, the value is set for the keyword PixelResolution. If PPD is chosen, the value is set for the keyword Scale. |
SELECT | The target definition information is retrieved from an existing Map File Template. The information can be displayed in the log area or loaded into appropriate GUI fields. The Help buttons located by the radial fields can only be used when the GUI is used to specify the parameters. |
CALC | The application maptemplate will calculate the values using the files in the input list specified in the FROMLIST parameter. For the ground range, the keywords MinimumLatitude, MaximumLatitude, MinimumLongitude, and MaximumLongitude are set. The values for ground range are in degrees. For the resolution, the keywords PixelResolution and Scale are set. All the calculated values for resolution will be meters per pixel for the keyword PixelResolution. |
RESCALCOPT | The PixelResolution value is set based on whether the user selected HIGH, LOW, or AVERAGE when the CALC option is used to calculate the resolution. |
Other Uses for Your Created Map file: The output Map File can be used in applications that use projections, such as cam2map, map2map, mapsize, skymap, and more.
See "Learning About Map Projections" to learn more about mapping keywords.
Categories
Related Objects and Documents
Applications
History
Elizabeth Ribelin | 2005-09-13 | Original Version |
Elizabeth Miller | 2005-11-17 | Added .map extension to TO file and fixed bug with spaces in the projection name |
Elizabeth Miller | 2006-05-18 | Deprecated CubeProjection and ProjectionManager to ProjectionFactory |
Robert Sucharski | 2006-06-02 | Redid GUI, added code to calculate ground range and resolution using FROMLIST, and added Help buttons |
Steven Lambright | 2008-04-23 | Added oblique cylindrical projection |
Steven Lambright | 2009-02-05 | Fixed a problem that occurred when using "TARGOPT=USER", "RNGOPT=CALC" and not entering "EQRADIUS" or "POLRADIUS" |
Steven Lambright | 2011-12-19 | Updated documentation as per Ella Lee's recommendations in preparation for the January 2012 release. |
Kimberly Oyama | 2013-04-03 | Added support for Point Perspective Projection. Fixes #212. |
Debbie A. Cook | 2013-04-16 | Changed to use TProjection instead of Projection. References #775 |
Ella Mae Lee | 2013-11-25 | Added LambertAzimuthalEqualArea and Robinson projections. Updated the user documentation, fixes #845. |
Ella Mae Lee | 2013-12-12 | Backward compatability issue due to parameter name change: TARGOPT options changed from SYSTEM to SELECT, IMAGE to NONE, and TARGDEF to FILE. The description was modified to describe the behavior when selected, fixes #845. |
Jeannie Backer | 2016-04-22 | Added error message to alert to the user when the program fails to find TargetRadii. Added errors appTest. References #3892 |