MapTransformation class resource descriptions

mpProjection
This resource of type NhlTProjection defines the projection used for the map transformation. There are 10 choices:
Orthographic
Transform using an aziumthal orthographic projection.
Stereographic
Transform using an azimuthal stereographic projection.
LambertEqualArea
Transform using the azimuthal Lambert Equal-Area projection.
Gnomonic
Transform using the azimuthal gnomonic projection.
AzimuthalEquidistant
Transform using an azimuthal equidistant projection.
Satellite
Transform using an azimuthal satellite projection.
Mollweide
Transform using a cylindrical Mollweide-type projection.
Mercator
Transform using the cylindrical Mercator projection.
CylindricalEquidistant
Transform using a cylindrical equidistant projection.
LambertConformal
Transform using the conical Lambert Conformal projection.

Default: CylindricalEquidistant

mpLeftMapPosF
This read-only resource contains the coordinate of the left edge of the projected area in NDC space.

Default: 0.0

mpRightMapPosF
This read-only resource contains the coordinate of the right edge of the projected area in NDC space.

Default: 1.0

mpBottomMapPosF
This read-only resource contains the coordinate of the bottom edge of the projected area in NDC space.

Default: 0.0

mpTopMapPosF
This read-only resource contains the coordinate of the top edge of the projected area in NDC space.

Default: 1.0

mpCenterLatF
This resource defines the latitude of the center of the map projection coordinate system. It applies for all values of the mpProjection resource except for LambertConformal. Its value must lie between -90.0 and +90.0, where -90.0 represents the South Pole and +90.0 represents the North Pole.

V4.1 Status Note 2

Default: 0.0

mpCenterLonF
This resource defines the longitude of the center of the map projection coordinate system. It applies for all values of the mpProjection resource except for LambertConformal. Its value must lie between -180.0 and +180.0, where both extremes represent the longitude of the International Dateline.

V4.1 Status Note 2

Default: 0.0

mpCenterRotF
Unless the origin lies at one of the poles, this resource defines the angle that the map projection coordinate system is rotated counterclockwise from a vector directed north with origin at the projection center. If the projection center is at the North Pole, the vector points in the direction of mpCenterLonF+180.0. If the center is the South Pole, the vector points in the direction of mpCenterLonF. mpCenterRotF applies for all values of the mpProjection resource except for LambertConformal.

Default: 0.0

mpLimitMode

This resource of type NhlTMapLimitMode specifies how MapTransformation determines the extent of the projected globe that is mapped into the viewport area. It has eight possible settings:

MaximalArea
The maximum viewable area of the globe allowed by the projection is mapped into the viewport area.
LatLon
MapTransformation maps into the viewport the maximum viewable portion of the area given the projection, the projection center, and bounded by latitudes mpMinLatF and mpMaxLatF and longitudes mpMinLonF and mpMaxLonF. If you set boundaries such that the resulting area has zero extent, MapTransformation issues a warning and resets mpLimitMode to the value NhlMAXIMALAREA. If you set mpMinLatF to a value greater than mpMaxLatF or mpMinLonF to a value greater than mpMaxLatF, MapTransformation issues a warning and exchanges the values.
Angles
For most projections, the area mapped into the viewport is based on the positive angular distance from the center of the projection, in each of the four directions determined by the resources mpRightAngleF, mpLeftAngleF,mpBottomAngleF, and mpTopAngleF. For the satellite projection, the angles represent angular deviation from the line of sight from the satellite to the projection center. Angular limits are not supported if mpProjection has the value NhlLAMBERTCONFORMAL. Note that left, right, bottom, and top are oriented with respect to the viewplane; therefore, if mpCenterRotF has a non-zero value, the angles represent varying combinations of latitudinal and longitudinal components.

Depending on the projection, the maximum allowable value for each of the angle resources varies, as follows:

Angle projection limits:

Orthographic
mpLeftAngleF and mpRightAngleF: 90.0
mpBottomAngleFand mpTopAngleF: 90.0
Stereographic
mpLeftAngleF and mpRightAngleF: 180.0
mpBottomAngleFand mpTopAngleF: 180.0
LambertEqualArea
mpLeftAngleF and mpRightAngleF: 180.0
mpBottomAngleFand mpTopAngleF: 180.0
Gnomonic
mpLeftAngleF and mpRightAngleF: 85.0
mpBottomAngleFand mpTopAngleF: 85.0
AzimuthalEquidistant
mpLeftAngleF and mpRightAngleF: 180.0
mpBottomAngleFand mpTopAngleF: 180.0
Satellite
mpLeftAngleF and mpRightAngleF: 90.0
mpBottomAngleFand mpTopAngleF: 90.0
Mollweide
mpLeftAngleF and mpRightAngleF: 180.0
mpBottomAngleFand mpTopAngleF: 180.0
Mercator
mpLeftAngleF and mpRightAngleF: 180.0
mpBottomAngleFand mpTopAngleF: 85.0
CylindricalEquidistant
mpLeftAngleF and mpRightAngleF: 180.0
mpBottomAngleFand mpTopAngleF: 90.0
LambertConformal
not supported
If you attempt to set one of the angle resources to a value outside the range, MapTransformation issues a warning and coerces the value to the limiting value. If you set angles in such a way that the resulting map extent has zero area, MapTransformation issues a warning and resets mpLimitMode to NhlMAXIMALAREA.

V4.1 Status Note 3

NPC
NPC limits the area based on "Normalized Projection Coordinates," which map the maximal area of the projection into a rectangle bounded by 0.0 and 1.0 horizontally and vertically. Use the resources mpLeftNPCF, mpRightNPCF, mpBottomNPCF, and mpTopNPCF to set normalized projection coordinate limits. If you set NPC boundaries such that the resulting area has zero extent, MapTransformation issues a warning and resets mpLimitMode to the value NhlMAXIMALAREA. If you set mpLeftNPCF to a value greater than mpRightNPCF or mpBottomNPCF to a value greater than mpTopNPCF, MapTransformation issues a warning and exchanges the values. MapTransformation keeps the NPC resources updated to their current value no matter which method is used to set the map limits.
NDC
NDC limits the area based on the current location of the projected map in Normalized Device Coordinates. Use the resources mpLeftNDCF, mpRightNDCF, mpBottomNDCF, and mpTopNDCF to set normalized device coordinate limits. If you set NDC boundaries such that the resulting area has zero extent, MapTransformation issues a warning and resets mpLimitMode to the value NhlMAXIMALAREA. If you set mpLeftNDCF to a value greater than mpRightNDCF or mpBottomNDCF to a value greater than mpTopNDCF, MapTransformation issues a warning and exchanges the values. Note that setting these resources usually causes the mapping between the projection space and NDC space to change. Changes to the location of the size or shape of the viewport into which the map is projected also modify the mapping into NDC space. Therefore, at the completion of each SetValues call, MapTransformation internally sets the value of each mp...NDCF resource to the new location of the original projected coordinate: that is, to one of the boundaries of the projected area.
Corners
MapTransformation maps into the viewport a rectangular area with one corner at the point mpLeftCornerLatF and mpLeftCornerLonF, and the opposite corner at the point mpRightCornerLatF and mpRightCornerLonF. The value of mpLeftCornerLonF should be less than mpRightCornerLonF. If either point is outside the maximal area given the projection and projection center, a warning is returned and the limit mode defaults to MaximalArea.
Points
MapTransformation maps into the viewport an area defined by a viewspace rectangle containing the four points defined by mpLeftPointLatF, mpLeftPointLonF, mpRightPointLatF, mpRightPointLonF, mpBottomPointLatF, mpBottomPointLonF, mpTopPointLatF, and mpTopPointLonF. If any point is outside the maximal area given the projection and projection center, a warning is returned and the limit mode defaults to MaximalArea mode.
Window
MapTransformation maps into the viewport an area bounded by the window coordinates specified by the resources mpLeftWindowF, mpRightWindowF, mpBottomWindowF, and mpTopWindowF. The window coordinates are in an intermediate rectangular coordinate system into which the map coordinates are mapped prior to the mapping into NDC coordinates. Its extents vary depending on the value of mpProjection. If you set mpLeftWindowF to a value greater than mpRightWindowF, or mpBottomWindowF to a value greater than mpTopWindowF, MapTransformation issues a warning and exchanges the values. MapTransformation keeps the Window resources updated to their current value no matter which method is used to set the map limits.

Default: MaximalArea

mpMinLatF
When mpLimitMode has the value LatLon, this resource specifies the minimum latitude bounding the area to be mapped to the viewport. It should not be less than -90.0.

Default: -90.0

mpMaxLatF
When mpLimitMode has the value LatLon, this resource specifies the maximum latitude bounding the area to be mapped to the viewport. It should not be greater than 90.0.

Default: 90.0

mpMinLonF
When mpLimitMode has the value LatLon, this resource specifies the minimum longitude bounding the area to be mapped to the viewport. It may be set to any value in the range -540.0 to 540.0 such that mpMaxLonF minus mpMinLonF is greater than 0.0 and less than or equal to 360.0.

Default: -180.0

mpMaxLonF
When mpLimitMode has the value LatLon, this resource specifies the maximum longitude bounding the area to be mapped to the viewport. It may be set to any value in the range -540.0 to 540.0 such that mpMaxLonF minus mpMinLonF is greater than 0.0 and less than or equal to 360.0.

Default: 180.0

mpRelativeCenterLon
When mpLimitMode has the value LatLon and mpRelativeCenterLon is set True, the resource mpCenterLonF becomes an offset in degrees from the longitude halfway between mpMinLonF and mpMaxLonF. That is, if mpCenterLonF is 0.0, the half point longitude will be the center of the projection.

Default: False

mpRelativeCenterLat
When mpLimitMode has the value LatLon and mpRelativeCenterLat is set True, the resource mpCenterLatF becomes an offset in degrees from the latitude halfway between mpMinLatF and mpMaxLatF. That is, if mpCenterLatF is 0.0, the half point latitude will be the center of the projection.

Default: False

mpLeftAngleF
When mpLimitMode has the value Angles, this resource specifies the positive angle in degrees left from the center to the edge of the projection, or, if using a satellite projection, the displacement angle left from the satellite line of sight to the projection center. Note that direction of the line over which the angle is measured remains parallel to the top of the viewport, regardless of the rotation angle applied to the projection. mpLeftAngleF has a maximum allowable value that varies depending on the projection.

Default: 80.0

mpRightAngleF
When mpLimitMode has the value Angles, this resource specifies the positive angle in degrees right from the center to the edge of the projection, or, if using a satellite projection, the displacement angle right from the satellite line of sight to the projection center. Note that direction of the line over which the angle is measured remains parallel to the top of the viewport, regardless of the rotation angle applied to the projection. mpRightAngleF has a maximum allowable value that varies depending on the projection.

Default: 80.0

mpBottomAngleF
When mpLimitMode has the value Angles, this resource specifies the positive angle in degrees down from the center to the edge of the projection, or, if using a satellite projection, the displacement angle down from the satellite line of sight to the projection center. Note that direction of the line over which the angle is measured remains parallel to the left edge of the viewport, regardless of the rotation angle applied to the projection. mpBottomAngleF has a maximum allowable value that varies depending on the projection.

Default: 80.0

mpTopAngleF
When mpLimitMode has the value Angles, this resource specifies the positive angle in degrees up from the center to the edge of the projection, or, if using a satellite projection, the displacement angle up from the satellite line of sight to the projection center. Note that direction of the line over which the angle is measured remains parallel to the left edge of the viewport, regardless of the rotation angle applied to the projection. mpTopAngleF has a maximum allowable value that varies depending on the projection.

Default: 80.0

mpLeftNPCF
When mpLimitMode has the value NPC, this resource specifies the left edge of the limiting rectangle in Normalized Projection Coordinates. mpLeftNPCF is constrained to values in the range 0.0 through 1.0. If mpLeftNPCF is set to a value greater than mpRightNPCF, a warning is issued and the values are exchanged. The value of mpLeftNPCF is updated whenever the map limits are set using any of the map limit modes.

Default: 0.0

mpRightNPCF
When mpLimitMode has the value NPC, this resource specifies the right edge of the limiting rectangle in Normalized Projection Coordinates. mpRightNPCF is constrained to values in the range 0.0 through 1.0. If mpRightNPCF is set to a value less than mpLeftNPCF, a warning is issued and the values are exchanged. The value of mpRightNPCF is updated whenever the map limits are set using any of the map limit modes.

Default: 1.0

mpBottomNPCF
When mpLimitMode has the value NPC, this resource specifies the bottom edge of the limiting rectangle in Normalized Projection Coordinates. mpBottomNPCF is constrained to values in the range 0.0 through 1.0. If mpBottomNPCF is set to a value greater than mpTopNPCF, a warning is issued and the values are exchanged. The value of mpBottomNPCF is updated whenever the map limits are set using any of the map limit modes.

Default: 0.0

mpTopNPCF
When mpLimitMode has the value NPC, this resource specifies the top edge of the limiting rectangle in Normalized Projection Coordinates. mpTopNPCF is constrained to values in the range 0.0 through 1.0. If mpTopNPCF is set to a value less than mpBottomNPCF, a warning is issued and the values are exchanged. The value of mpTopNPCF is updated whenever the map limits are set using any of the map limit modes.

Default: 1.0

mpLeftNDCF
When mpLimitMode has the value NDC, this resource specifies the left edge of the limiting rectangle in Normalized Device Coordinates. If mpLeftNDCF is set to a value greater than mpRightNDCF, a warning is issued and the values are exchanged. Since the relationship between the map projection area and NDC coordinates changes whenever the map limits are changed, as well as when the viewport area is moved or resized, MapTransformation resets the value of mpLeftNDCF to the NDC value of the left edge of the projected area at the end of any update to the transformation.

Default: <dynamic>

mpRightNDCF
When mpLimitMode has the value NDC, this resource specifies the right edge of the limiting rectangle in Normalized Device Coordinates. If mpRightNDCF is set to a value less than mpLeftNDCF, a warning is issued and the values are exchanged. Since the relationship between the map projection area and NDC coordinates changes whenever the map limits are changed, as well as when the viewport area is moved or resized, MapTransformation resets the value of mpRightNDCF to the NDC value of the right edge of the projected area at the end of any update to the transformation.

Default: <dynamic>

mpBottomNDCF
When mpLimitMode has the value NDC, this resource specifies the bottom edge of the limiting rectangle in Normalized Device Coordinates. If mpBottomNDCF is set to a value greater than mpRightNDCF, a warning is issued and the values are exchanged. Since the relationship between the map projection area and NDC coordinates changes whenever the map limits are changed, as well as when the viewport area is moved or resized, MapTransformation resets the value of mpBottomNDCF to the NDC value of the bottom edge of the projected area at the end of any update to the transformation.

Default: <dynamic>

mpTopNDCF
When mpLimitMode has the value NDC, this resource specifies the top edge of the limiting rectangle in Normalized Device Coordinates. If mpTopNDCF is set to a value less than mpBottomNDCF, a warning is issued and the values are exchanged. Since the relationship between the map projection area and NDC coordinates changes whenever the map limits are changed, as well as when the viewport area is moved or resized, MapTransformation resets the value of mpTopNDCF to the NDC value of the top edge of the projected area at the end of any update to the transformation.

Default: <dynamic>

mpLeftCornerLatF
When mpLimitMode has the value Corners, this resource specifies the latitude, in degrees, of the left corner point.

Default: 0.0

mpLeftCornerLonF
When mpLimitMode has the value Corners, this resource specifies the longitude, in degrees, of the left corner point.

Default: 0.0

mpRightCornerLatF
When mpLimitMode has the value Corners, this resource specifies the latitude, in degrees, of the right corner point.

Default: 0.0

mpRightCornerLonF
When mpLimitMode has the value Corners, this resource specifies the longitude, in degrees, of the right corner point.

Default: 0.0

mpLeftPointLatF
When mpLimitMode has the value Points, this resource specifies the latitude, in degrees, of a point along the left edge of the limiting rectangle.

Default: 0.0

mpLeftPointLonF
When mpLimitMode has the value Points, this resource specifies the longitude, in degrees, of a point along the left edge of the limiting rectangle.

Default: 0.0

mpRightPointLatF
When mpLimitMode has the value Points, this resource specifies the latitude, in degrees, of a point along the right edge of the limiting rectangle.

Default: 0.0

mpRightPointLonF
When mpLimitMode has the value Points, this resource specifies the longitude, in degrees, of a point along the right edge of the limiting rectangle.

Default: 0.0

mpBottomPointLatF
When mpLimitMode has the value Points, this resource specifies the latitude, in degrees, of a point along the bottom edge of the limiting rectangle.

Default: 0.0

mpBottomPointLonF
When mpLimitMode has the value Points, this resource specifies the longitude, in degrees, of a point along the bottom edge of the limiting rectangle.

Default: 0.0

mpTopPointLatF
When mpLimitMode has the value Points, this resource specifies the latitude, in degrees, of a point along the top edge of the limiting rectangle.

Default: 0.0

mpTopPointLonF
When mpLimitMode has the value Points, this resource specifies the longitude, in degrees, of a point along the top edge of the limiting rectangle.

Default: 0.0

mpLeftWindowF
When mpLimitMode has the value Window, this resource specifies the value, in window coordinates, of the left edge of the projection.

Default: 0.0

mpRightWindowF
When mpLimitMode has the value Window, this resource specifies the value, in window coordinates, of the right edge of the projection.

Default: 0.0

mpBottomWindowF
When mpLimitMode has the value Window, this resource specifies the value, in window coordinates, of the bottom edge of the projection.

Default: 0.0

mpTopWindowF
When mpLimitMode has the value Window, this resource specifies the value, in window coordinates, of the top edge of the projection.

Default: 0.0

mpLambertParallel1F
When mpProjection is set to the value LambertConformal, this resource specifies one of the two standard parallels (lines of latitude in degrees) used to define the conic projection. A simpler conic projection is defined when mpLambertParallel1F and mpLambertParallel2F are equal. Normally, mpLambertParallel1F and mpLambertParallel2F should not be more than 90.0 degrees apart.

V4.1 Status Note 2

Default: .001

mpLambertParallel2F
When mpProjection is set to the value LambertConformal, this resource specifies one of the two standard parallels (lines of latitude in degrees) used to define the conic projection. A simpler conic projection is defined when mpLambertParallel1F and mpLambertParallel2F are equal. Normally, mpLambertParallel1F and mpLambertParallel2F should not be more than 90.0 degrees apart.

V4.1 Status Note 2

Default: 89.999

mpLambertMeridianF
When mpProjection is set to the value LambertConformal, this resource specifies the central meridian (line of longitude in degrees) of the projection. This resource has nearly the same meaning that mpCenterLonF has for the other projections.

V4.1 Status Note 2

Default: 0.0

mpSatelliteDistF
When mpProjection is set to Satellite, this resource specifies the distance in multiples of the earth's radius of the satellite at the view origin. If the value is 1.0 or less, the satellite projection is replaced by its limiting case: an orthographic projection.

Default: 1.0

mpSatelliteAngle1F
When mpProjection is set to Satellite and mpSatelliteDistF has a value greater than 1.0, this resource specifies the angle in degrees between a line to the center of the earth and the line of sight (to which the projection plane is perpendicular).

Default: 0.0

mpSatelliteAngle2F
This resource only has an effect when mpProjection is set to Satellite, mpSatelliteDistF has a value greater than 1.0, and mpSatelliteAngle1F has a non-zero value. Imagine a compass (the geometrical instrument) with its joint at the position of the satellite, its first leg extending to the center of the earth, and the second pointing in the direction of the line of sight. The second leg is longer than the first, so that it meets a plane through the center of the earth normal to the first leg. The angle in degrees between the two legs is SatelliteAngle1F. When SatelliteAngle2F has the value 0.0, a line drawn from the first leg of the compass to the second will appear horizontal and directed toward the right. Increasing values of SatelliteAngle2F correspond to counterclockwise rotations of the compass, (and hence, the line of sight) from this base position.

Default: 0.0

mpEllipticalBoundary
When the boolean resource mpEllipticalBoundary is set True, the map projection area is limited to an ellipse inscribed within the normal rectangular perimeter of the viewport.

Default: False

mpGreatCircleLinesOn
This resource selects between two methods for defining the transformation of lines or edges between defined points of the data space graphics primitive functions, NhlDataPolygon and NhlDataPolyline. If mpGreatCircleLinesOn is False, the space between the defined points is treated as if the latitude/longitude coordinate system were cartesian. This method of performing the transformation results in all straight lines between the defined points when mpProjection is set to CylindricalEquidistant. Another characteristic of this method is that, for any projection, a line between two points at the same latitude is coincident with the line of latitude itself.

If mpGreatCircleLinesOn is set True, lines between defined points follow a great circle route, the shortest distance on the surface of the globe between the two points. In this case, lines appear curved on a cylindrical equidistant projection, except for the special cases of lines between points of equal longitude or of lines drawn near the equator. For any projection, lines between points of equal latitude diverge farther and farther from the line of latitude as the distance from the equator increases.

Default: False


Reference Manual Control Panel

NG4.1 Home, Index, Examples, Glossary, Feedback, Ref Contents, Ref WhereAmI?


$Revision: 1.4 $ $Date: 1998/08/17 21:09:18 $