This program will alter the projection of a cube which is already
in a map projection (ISIS level2 cube).
Pixels are physically moved using either a nearest neighbor, bilinear, or cubic convolution interpolator.
Usage examples of this program include:
1. Converting from Sinusodial to Mercator or any other
supported projection
2. No projection change but altering projection parameters
such as center longitude or standard parallels
3. No projection change but altering pixel resolution
4. No projection change but altering latitude/ longitude window
5. No projection change but altering latitude types,
longitude domains, or longitude direction
6. Match the mapping parameters of another ISIS leve2 cube for
comparison.
If you need to generate your own map file you can use the maptemplate program or alternatively,
hand create a file using your favorite editor. The map file need only specify the ProjectionName
as defaults will be computed for the remaining map file parameters.
The map file can be an existing map projected (level2) cube. A level2 cube has PVL labels
and contains the Mapping group. Depending on the values of the input parameters, the output
cube can use some or all of the keyword values of the map file. For instance, setting
MATCHMAP = true causes all of the mapping parameters to come from the map file, resulting
in an output cube having the same number of lines and
samples as the map file. If MATCHMAP = true and the map file is missing
a keyword like PixelResolution, the application will fail with a PVL error. Setting
MATCHMAP=false allows for some of the mapping components to be overridden by the user or
computed from the FROM cube.
This program replaces the following
applications
existing in previous versions of ISIS:
nuproj
newmap
lev2tolev2
History
Kay Edwards
1986-09-27
Original version
Jeff Anderson
2003-01-15
Converted to Isis 3.0
Stuart Sides
2003-05-16
Modified schema location from astogeology... to isis.astrogeology...
Stuart Sides
2003-05-30
Fixed compiler error with uninitialized variable after adding -O1 flag
Stuart Sides
2003-07-29
Modified filename parameters to be cube parameters where necessary
Jacob Danton
2005-12-05
Added appTest
Elizabeth Miller
2006-05-18
Depricated CubeProjection and ProjectionManager to ProjectionFactory
Steven Lambright
2007-06-22
Fixed typo in user documentation
Steven Lambright
2007-06-27
Expanded options, fixed conversions when switching measurement systems (such as from planetographic to planetocentric)
Steven Lambright
2007-07-31
Fixed bug with changing resolutions
Steven Lambright
2007-08-09
Rewrote resolution handling code to be simpler and fix yet another bug.
Steven Lambright
2007-08-14
Fixed method of getting cube specific projection group parameters, such as the scale and resolution.
Jeff Anderson
2007-11-08
Fixed bug trimming longitudes
Stuart Sides
2007-11-16
Fixed bug when TRIM option was used and most if not all data was being
NULLed.
Steven Lambright
2007-12-05
Fixed bug where user-entered resolutions could be ignored
Christopher Austin
2008-04-18
Added the MATCHMAP option.
Steven Lambright
2008-05-13
Removed references to CubeInfo
Steven Lambright
2008-06-13
The rotation keyword will no longer automatically propagate
Steven Lambright
2008-06-23
Added helper button and improved error message
Steven Lambright
2008-08-04
Changed MATCHMAP to default off and added exclusions. If MATCHMAP is true,
the ground range and pixel resolution can not be set because they are to be
taken from the map file.
Steven Lambright
2008-11-12
Moved the MATCHMAP parameter to the "FILES" parameter group. Fixed a problem with this
program that caused null output images when the input longitude domain was inconsistent
with the input longitude range in equatorial cylindrical projections.
Christopher Austin
2008-12-11
Changed the parameters SLAT, ELAT, SLON, ELON to MINLAT, MAXLAT, MINLON,
MAXLON in correlation with autimos.
Christopher Austin
2008-03-12
Added a default path as well as a helper function for the MAP parameter.
Steven Lambright
2010-08-27
Made automatic calculation of longitude range more likely to succeed
Lynn Weller and Debbie A. Cook
2012-01-05
Updated documentation text, added glossary links, and improved compatability with Isis documentation.
Tracie Sucharski
2012-12-06
Changed to use TProjection instead of Projection. References #775
David L Miller
2015-08-10
Fixed bug where map2map fails when missing Scale keyword in the MAP file. Fixes #2151
A file containing the desired output mapping parameters in PVL. This
file can be a simple label file, hand produced or created via
the maptemplate program. It can also be an existing cube or cube label
which contains a Mapping group. In the latter case the FROM cube
will be transformed into the same map projection, resolution, etc.
This forces all of the mapping parameters to come from the
map file. Additionally, when the map file is an image the
TO file will have the same number of lines and samples as
the map file.
This parameter is used to specify how the default latitude/longitude ground range for the output map projected image
is obtained. The ground range can be obtained from the input cube or map file. Note the user can overide the default
using the MINLAT, MAXLAT, MINLON, MAXLON parameters. The purpose of the ground range is to define the coverage of
the map projected image. Essentially, the ground range and pixel resolution are used to compute the size (samples
and line) of the output image.
Type
string
Default
FROM
Option List:
Option
Brief
Description
FROM
Read default range from input cube
This option will automatically determine the mininum/maximum latitude/longitude from the input cube specified
using the FROM parameter.
MAP
Read default range from map file
This option will read the mininum/maximum latitude/longitude from the input map file.
If this option is selected, pixels outside the latitude/longtiude
range will be trimmed or set to null.
This is useful for certain projections whose lines of latitude and
longitude are not parallel to image lines and sample columns.
Command line to extract and reproject part of a dem to match a level 2
image.
GUI Screenshot
map2map MATCHMAP example GUI top
Top of GUI for map2map MATCHMAP example
The from file is a system LOLA dem. The MAP is an Isis level 2
image. The output file will be a section of the dem extracted
out and remapped into the same state as the level 2 image entered
as MAP. Because MATCHMAP is checked, all mapping parameters will
be determined from MAP, and any listed in the GUI are grayed out.
map2map MATCHMAP example GUI top
Middle of GUI for map2map MATCHMAP example
This is the middle of the GUI for the map2map MATCHMAP example.
It shows everything grayed out in the output map ground range box
because MATCHMAP was checked in the previous image. The default
INTERP is selected.
map2map MATCHMAP example GUI top
Bottom of GUI for map2map MATCHMAP example
This is the bottom of the GUI for the map2map MATCHMAP example.
It shows the state of the GUI when the application has completed.
Input Images
Input image (dem) to be reprojected
FROM for map2map MATCHMAP example
Parameter Name:
FROM
This is a LOLA global dem stored in the Isis system. A section of
this file matching the coverage of MAP will be extracted and
reprojected to match MAP.
Isis level 2 MAP
MAP for map2map MATCHMAP example
Parameter Name:
MAP
This is a base tile from the PDS Clementine 750.
Output Image
MATCHMAP example TO
TO for map2map MATCHMAP example
Parameter Name:
TO
This is a section of the LOLA global dem extracted and remapped to
match a base tile of the PDS Clementine 750. Notice how the
geometry matches the geometry of the second input image above (MAP).
Example 2
map2map example demonstrating projection change, resolution change, and use of TRIM
Description
In this example the polar portion of a Messenger/Mariner10 global mosaic
is extracted and transformed to a PolarStereographic projection. The
pixel resolution is reduced from 500 m/pix to 1000 m/pix. Also the trim
option is exercised to null the pixels outside of the lat/lon boundary
and generate a circular output image instead of a square.
The FROM file is a Messenger/Mariner10 global Equirectangular
mosaic. The MAP file defines a PolarStereographic projection.
The TO file will be the polar section of the FROM extracted out
and transformed into a PolarStereographic projection. Notice that
PIXRES specifies that the resolution is to be read from the MAP.
If the pixel resolution is missing from the map file, the
application will throw an error.
map2map MATCHMAP example GUI top
Bottom of GUI for map2map TRIM example
This is the bottom of the GUI for the map2map TRIM example.
It shows that the default map ground range will be read from the
MAP. If the ranges are not in MAP, the application will throw an
error. Also notice that the TRIM option has been selected.
Input Image
Input image (dem) to be reprojected
FROM for map2map TRIM example
Parameter Name:
FROM
This is a Messenger/Mariner10 global mosaice in an Equirectangular
map projection. The north polar section of this file will be
extracted and transformed to a Polar Stereographic projection and
trimmed to the exact lat/lon range specified in the map file,
forming a circle.
The is the mapping file that defines the output map projection.
Since the default range is set to MAP as well, it also contains
the desired lat/lon range of the output level 2 image.
Output Image
Output PolarStereographic projection of north pole
TO for map2map TRIM example
Parameter Name:
TO
This is the north polar section of the Messenger/Mariner10 global
mosaic of Mercury in an Polar Stereographic projection and trimmed
to the exact lat/lon range specified in the map file to form a circle.