Contains classes and attributes used to describe cartographic
products. This information is largely adapted from the Federal Geographic
Data Committee (FGDC) "Content Standard for Digital Geospatial Metadata",
with extensions (changes/additions) to satisfy planetary requirements.
## CHANGE LOG ##
1.9.0.0
- Upgraded to v1900 of the IM
- Created new Map_Projection_Lander class with associated map projections and attributes
- New pixel_scale attribute that defines a pixel scale not x/y aligned
- Change units for pixel_scale_x/y to Units_of_Pixel_Scale_Map
- Change units for pixel_resolution_x/y to Units_of_Pixel_Resolution_Map
- Change local_georeference_information to optional in the case where Map_Projection_Lander is specified.
- Created Local_child_check rule to check this
- Change Spatial_Domain to optional in the case where Map_Projection_Lander is specified since domain is the horizon
- Created spatial_domain_or_lander_check rule to check this
- Added Local_Internal_Reference at top-level of Cartography dictionary
- Created local_reference_type_check_cart rule to enforce value of Local_Internal_Reference
1.9.0.1
- Changed all class local_identifier to identifier_reference per v1900 IM update
- Changed Coordinate_Space_Reference to inherit from Geometry dictionary
1.9.0.2
- CIsbell 24July2018
- Added/corrected unit_of_measure_type where appropriate to correctly include
'Units_of_Pixel_Scale_Map' and 'Units_of_Pixel_Resolution_Map'
1.9.1.0
- Added Point Perspective Map Projection (CIsbell).
- Note: As of 24July2018, parameters/attributes here include only those required to define the 'fundamental' Point Perspective (PP)
Projection. That is, along with the common base projection parameters required for all projections, the additional PP
requirements of target_center_distance and nadir point (longitude_of_central_meridian, latitude_of_projection_origin)
will define the basic PP projection. Additional parameters for a more 'complex' PP (line/sample sub-spacecraft offsets
optical offsets, focal parameters, image array segment definitions, etc, will need to be added as needed.
1.9.1.1
- CDeCesare 20181116
- Removed definitions of classes which are already defined by GEOM dictionary: Vector_Cartesian_Unit_Base, Vector_Cartesian_Position_Base, Vector_Cartesian_No_Units
- Updated references that point at Vector_Cartesian_Unit_Base to instead point at geom.Vector_Cartesian_Unit
- Updated references that point at Vector_Cartesian_Position_Base to instead point at geom.Vector_Cartesian_Position_Base
1.9.2.0
PGeissler and THare 20181221
- Added Oblique Cylindrical Map Projection
- Note: To support Cassini BIDR. This is a somewhat specialize map projection which requires several new projection parameters
including: reference_latitude, reference_longitude, map_projection_rotation, oblique_proj_pole_latitude,
oblique_proj_pole_longitude, oblique_proj_pole_rotation, oblique_proj_x_axis_vector, oblique_proj_y_axis_vector, and
oblique_proj_z_axis_vector. The original parameter center_latitude is now mapped to latitude_of_projection_origin and
the original parameter center_longitude is now mapped to longitude_of_central_meridian. line, sample offsets are
remapped into meters using upperleft_corner_x and upperleft_corner_y.
- Added many definitions for map projections (cartographic and lander).
- Removed "General Vertical Near-sided Projection" since it has functionally been replaced by "Point Perspective".
1.9.3.0
THare and PGeissler 20190424
- 'Planar_Coordinate_Information' is no longer mandated to better support vector files. It should be added for images
- 'cart.latitude_resolution' and 'cart:longitude_resolution' to be optional, not needed for vector GIS labels
- Added Secondary_Spatial_Domain as an optional or alternative method to list IAU recommended or historically used
bounding coordinate section to support both positive East and positive West systems in the same label.
- Rename all three radius parameter names. These were renamed to clarify the parameter names since the name
semi_major_radius is flawed and confusing as semi and radius both mean "half". This keyword should have
originally been named semi_major_axis (as used by the Federal Geospatial Data Consortium [FGDC]). To better
align with PDS version 3, we are moving these parameters names back to a_axis_radius, b_axis_radius, and
c_axis_radius. Thus we are renaming:
- semi_major_radius to a_axis_radius.
- semi_minor_radius to b_axis_radius
- polar_radius to c_axis_radius
To be clear, most mapping applications call a_axis_radius the semi_major_axis and c_axis_radius the semi_minor_radius.
The b_axis_radius value is generally not seen in mapping applications which typical do not support triaxial definitions
for map projections. For most all cases, when a triaxial definition is defined, the IAU defines a best fit sphere.
see: https://astrogeology.usgs.gov/groups/IAU-WGCCRE.
When a best-fit sphere or a body is already defined as a sphere, a single radius value will be listed across all three
parameters a_axis_radius, b_axis_radius, and c_axis_radius. For an ellipse, the a_axis_radius and b_axis_radius will be
defined by a single radius value and a different (generally smaller) radius value for the c_axis_radius. Lastly, the
default units for the these parameters was set to meters "m".
THare and CDeCesare 20190430
- Upgraded to v1B10 of IM.
- Undid changes from 1.9.1.1.
- Coordinate_Space_Reference is now re-used from the GEOM class as-is, so that CART doesn't need to re-implement it.
THare 20190520
- simple misspellings
- updated definitions for Surface_Model_Parameters and Surface_Model_Planar, surface_model_type,
Vector_Surface_Ground_Location, Vector_Surface_Normal
1.9.3.1
THare and CDeCesare 20190613
- updated line and sample attributes to allow for non-negate values under Camera_Model_Offset,
Pixel_Position_Nadir_Polar, Pixel_Position_Origin
1.9.3.2
THare 20190909
- add Ring section, Map_Projection_Rings, for ring map projections to meet conversion of Cassini PDS3 data to PDS4.
- Rings intially falls under Horizontal_Coordinate_System_Definition using Local (not tied to a surface) and
enforces the need for a defined Geodetic_Model (body name, radius values, latitude type, and longitude direction).
- Updated spatial_domain_or_lander_check to spatial_domain_or_lander_or_rings_check rule.
1.9.3.3
THare 20191027
- Removed Map_Projection_Base. This was suppose to be an abstract clss for group liking map projection
parameters, but there was no good method to group across the current allowable map projections and
it made it harder to know which map projection required which parameters.
- Added Orthographic, Mercator, and Lambert Azimuthal Equal-area
- removed straight_vertical_longitude_from_pole, just use longitude_of_central_meridian (aka Longitude of
projection center) for polar stereographic which is more normally seen. need to update:
https://github.com/OSGeo/gdal/blob/33a8a0edc764253b582e194d330eec3b83072863/gdal/frmts/pds/pds4dataset.cpp#L2280
1.9.3.4
THare 20200127
- Minor update for Oblique Cylindrical to help define that the XML-odd 3-value vector strings (oblique_proj_x_axis_vector,
oblique_proj_y_axis_vector, oblique_proj_z_axis_vector) as optional and really for documention purposes.
- Minor update to Polar Stereographic to make scale_factor_at_projection_origin optional and added documention
to help clarify that attribute projection.
1.9.4.0
THare 20200515
- Add new class Vector_Projection_Z_Axis_Initial
- Under Oblique Cylindrical set reference_latitude and reference_longitude as optional. Unfortunately,
some older PDS3 labels have these two values (and an implied angle always set to zero) instead of using the
more appropriate values: oblique_proj_pole_latitude, oblique_proj_pole_longitude, oblique_proj_pole_rotation
Implementations for this map projection on use the later 3 attributes (e.g. ISIS3/4 and PROJ) not reference_*.
So when older labels only use reference_*, those should be converted to use the 3 oblique_proj_pole_* attributes
(note it is not a simple mapping, requiring a calculated update to get from reference_* to oblique_proj_pole_*)
- Removed scale_factor_at_center_line as it is currently not being used anywhere
- Removed pixel_resolution as pixel_resolution_x and pixel_resolution_y should be used (and it was not used anywhere)
If square, simply repeat the same value in both pixel_resolution_x and pixel_resolution_y
- Updated projection_axis_offset to be ASCII_REAL
1.9.5.0
THare 20201204
- updates for 1.E.0.0 and 1.F.0.0, adding dictionary_type and building with new GEOM 1E00_1900
The Bounding_Coordinates class defines the
limits of coverage of a set of data expressed by latitude and
longitude values in the order western-most, eastern-most,
northern-most, and southern-most.
The Camera_Model_Offset class specifies the
location of the image origin with respect to the camera model's
origin. For CAHV/CAHVOR models, this origin is not the center of
the camera, but is the upper-left corner of the "standard"-size
image, which is encoded in the CAHV vectors. Applies to the
Perspective lander map projection.
The Cartography class provides a description of
how a 3D sphere, spheroid, or elliptical spheroid or the
celestial sphere is mapped onto a plane.
The Coordinate_Representation class provides the
method of encoding the position of a point by measuring its
distance from perpendicular reference axes (the "coordinate
pair" and "row and column" methods).
This is an in-situ projection used for
(non-stereo) panoramas. Each image row represents a constant
elevation and each image column represents a constant azimuth,
from a given point of view. The image scale in degrees per pixel
is constant across the image.
This is an in-situ projection that is a hybrid.
Each column is a vertical slice from a pinhole camera
(Perspective projection), while the columns are spaced evenly in
azimuth (Cylindrical projection). It is most useful for viewing
panoramas in stereo.
The Distance_and_Bearing_Representation class
provides a method of encoding the position of a point by
measuring its distance and direction (azimuth angle) from
another point.
The Equirectangular class contains parameters
for the Equirectangular map projection. Synder 1987,
DOI:10.3133/pp1395, page 90:
https://pubs.usgs.gov/pp/1395/report.pdf#page=102 PROJ:
https://proj.org/operations/projections/eqc.html forward: x = R
* (lambda - lambda_0) * cos(phi_1) y = R * (phi - phi_1) and
reverse: lambda = (x / R cos(phi_1)) + lambda_0 phi = (y / R) +
phi_1 where: lambda is the longitude of the location to project
on the body; phi is the latitude of the location to project on
the body; phi_1 is the standard parallel (north and south of the
equator) where the scale of the projection is true; lambda_0 is
the central meridian of the map; x is the horizontal coordinate
of the projected location on the map; y is the vertical
coordinate of the projected location on the map; R is the radius
of the body.
The GEO_Transformation describes the
relationship between raster positions (in pixel/line
coordinates) and georeferenced coordinates. This is defined by
an affine transform. The affine transform consists of six
coefficients which map pixel/line coordinates into georeferenced
space using the following relationship: Xgeo = GT(0) +
Xpixel*GT(1) + Yline*GT(2) Ygeo = GT(3) + Xpixel*GT(4) +
Yline*GT(5) or also defined as: GT[0] = Xmin; //
upperleft_corner_y GT[1] = CellSize in X; // W-E pixel size,
pixel_resolution_x GT[2] = 0; // rotation term, 0 if 'North Up'
GT[3] = Ymax; // upperleft_corner_y GT[4] = 0; // shear term, 0
if 'North Up' GT[5] = CellSize in Y; // N-S pixel size,
pixel_resolution_y In case of north up images, the GT(2) and
GT(4) coefficients are zero, and the GT(1) is pixel width
(pixel_resolution_x), and GT(5) is pixel height
(pixel_resolution_y). The (GT(0),GT(3)) position is the top left
corner of the top left pixel of the raster. Note that the
pixel/line coordinates in the above are from (0.5,0.5) at the
top left corner of the top left pixel to
(width_in_pixels,height_in_pixels) at the bottom right corner of
the bottom right pixel. The pixel/line location of the center of
the top left pixel would therefore be (1.0,1.0).
The Geodetic_Model class provides parameters
describing the shape of the planet.
The Geographic class provides information about
the quantities of latitude and longitude which define the
position of a point on a planetary body's surface with respect
to a reference spheroid.
The Grid_Coordinate_System class defines a
plane-rectangular coordinate system usually based on, and
mathematically adjusted to, a map projection so that geographic
positions can be readily transformed to and from plane
coordinates.
The Horizontal_Coordinate_System_Definition
class provides the reference frame or system from which linear
or angular quantities are measured and assigned to the position
that a point occupies.
The Lambert_Azimuthal_Equal_Area class contains
parameters for the Lambert Azimuthal Equal-area projection.
Synder 1987, DOI:10.3133/pp1395, page 182:
https://pubs.usgs.gov/pp/1395/report.pdf#page=194 PROJ:
https://proj.org/operations/projections/laea.html
The Lambert_Conformal_Conic class contains
parameters for the Lambert Conformal Conic projection. Synder
1987, DOI:10.3133/pp1395, page 104:
https://pubs.usgs.gov/pp/1395/report.pdf#page=116 PROJ:
https://proj.org/operations/projections/lcc.html
The Local class provides a description of any
coordinate system that is not aligned with the surface of the
planet.
The Local_Planar class defines any right-handed
planar coordinate system of which the z-axis coincides with a
plumb line through the origin that locally is aligned with the
surface of the planet.
The Map_Projection class provides the systematic
representation of all or part of the surface of a planet on a
plane (or Cartesian system).
The Map_Projection class provides the systematic
representation of all or part of the surface of a planet on a
plane or developable surface from the perspective of an in-situ
spacecraft.
The Map_Projection_Rings class provides the
systematic representation of all or part of the rings of a
planet on a plane.
The Mercator class contains parameters for the
Mercator projection. Synder 1987, DOI:10.3133/pp1395, page 38:
https://pubs.usgs.gov/pp/1395/report.pdf#page=50 PROJ:
https://proj.org/operations/projections/merc.html
The Oblique_Cylindrical class contains
parameters for the Oblique Cylindrical projection. Synder 1987,
DOI:10.3133/pp1395, page 93:
https://pubs.usgs.gov/pp/1395/report.pdf#page=105
The Oblique_Line_Azimuth class defines the
method used to describe the line along which an Oblique Mercator
map projection is centered using the map projection origin and
an azimuth. Synder 1987, DOI:10.3133/pp1395, page 195:
https://pubs.usgs.gov/pp/1395/report.pdf#page=207 PROJ:
https://proj.org/operations/projections/omerc.html
The Oblique_Line_Point class defines the method
used to describe the line along which an Oblique Mercator map
projection is centered using two points near the limits of the
mapped region that define the center line. Synder 1987,
DOI:10.3133/pp1395, page 195:
https://pubs.usgs.gov/pp/1395/report.pdf#page=207 PROJ:
https://proj.org/operations/projections/omerc.html
The Oblique_Line_Point_Group class provides the
coordinates in latitude and longitude of one end point of the
line along which an oblique mercator map projection is
centered.
The Oblique_Mercator class contains parameters
for the Oblique Mercator projection. Synder 1987,
DOI:10.3133/pp1395, page 66:
https://pubs.usgs.gov/pp/1395/report.pdf#page=78 PROJ:
https://proj.org/operations/projections/omerc.html
The Orthographic class contains parameters for
the Orthographic projection. Synder 1987, DOI:10.3133/pp1395,
page 145: https://pubs.usgs.gov/pp/1395/report.pdf#page=157
PROJ: https://proj.org/operations/projections/ortho.html
This is an in-situ projection that is a
generalization of the Vertical projection, in that any arbitrary
projection plane can be specified.
This is an in-situ projection that provides a
true overhead view of the scene. Range data is required to
create this projection, meaning there is no parallax distortion.
It has a constant scale in meters/pixel.
This is an in-situ projection that models a
pinhole camera.
The Pixel_Position_Nadir_Polar class specifies
the sample coordinate of the location in the image of the
"special" point of the mosaic. For Polar projections, this is
the nadir of the polar projection. In PDS3, this information was
specified using the LINE_PROJECTION_OFFSET and
SAMPLE_PROJECTION_OFFSET keywords.
The Pixel_Position_Origin class specifies the
sample coordinate of the location in the image of the "special"
point of the mosaic. For Vertical, Orthographic and
Orthorectified projections, this is the origin of the projected
coordinate system, corresponding to the
Vector_Projection_Origin. In PDS3, this information was
specified using the LINE_PROJECTION_OFFSET and
SAMPLE_PROJECTION_OFFSET keywords.
The Planar class provides the quantities of
distances, or distances and angles, which define the position of
a point on a reference plane to which the surface of a planet
has been projected.
The Planar_Coordinate_Information class provides
information about the coordinate system developed on the planar
surface.
The Point Perspective class contains parameters
for the Point Perspective (fundamental definition) projection.
Synder 1987, DOI:10.3133/pp1395, page 169:
https://pubs.usgs.gov/pp/1395/report.pdf#page=181
This is an in-situ projection that provides a
quasi-overhead view that extends to the horizon. Elevation is
measured radially outward from the nadir location, with a
constant pixel scale. Azimuth is measured along concentric
circles centered at the nadir.
The Polar_Stereographic class contains
parameters for the Polar Stereographic projection. Synder 1987,
DOI:10.3133/pp1395, page 154:
https://pubs.usgs.gov/pp/1395/report.pdf#page=166 PROJ:
https://proj.org/operations/projections/stere.html Note that
most applications will either define
latitude_of_projection_origin or
scale_factor_at_projection_origin, but not both. Here we define
latitude_of_projection_origin as mandatory and at CART LDD
versoin 1934 have made scale_factor_at_projection_origin
optional. For context, these two keywords have the same impact
on the final product but are just different ways to define it.
Thus, for example in the PROJ library, if both are made
available, the latitude_of_projection_origin (+lat_ts) will be
used instead of scale_factor_at_projection_origin (+k_0). Note,
if you do supply the optional attribute
scale_factor_at_projection_origin, the default scale (+k_0) for
planetary polar data will mostly likely be set to 1.0.
The Polyconic class contains parameters for the
Polyconic projection. Synder 1987, DOI:10.3133/pp1395, page 124:
https://pubs.usgs.gov/pp/1395/report.pdf#page=136 PROJ:
https://proj.org/operations/projections/poly.html
The representation of ring data requires a
unique projection. The rings are modeled by a thin disk centered
on the body and in its equatorial plane. For Saturn, the thin
disk is centered on Saturn and in its equatorial plane, with an
outer radius of 500,000km. If the field of view falls partially
or completely beyond this limit or if it intersects the primary
body before intersecting the rings, the data will not be
included. Plotted coordinates are derived as follows. If A is
the location of the intersection of the CIRS field of view with
the body's equatorial plane, the X coordinate is the distance of
A from the center of the body (e.g. Saturn), and the Y
coordinate is the local time on on the body at the intersection
with the body's surface of the line between A and the body's
center. Local time is expressed in fractional hours, from 0.0
(at midnight) to 12.0 (at noon), to 24.0 (at midnight).
The Secondary_Spatial_Domain class describes an
alternative longitude and latitude bounds to better support IAU
approved or historically used geographic areal coordinates. This
is only needed if the Spatial_Domain does not meet IAU
recommendations or historical uses for the body.
The Sinusoidal class contains parameters for the
Sinusoidal projection. Synder 1987, DOI:10.3133/pp1395, page
243: https://pubs.usgs.gov/pp/1395/report.pdf#page=255 PROJ:
https://proj.org/operations/projections/sinu.html
The Spatial_Domain class describes the
geographic areal domain of the data set.
The Spatial_Reference_Information class provides
a description of the reference frame for, and the means to
encode, coordinates in a data set.
The State_Plane_Coordinate_System class defines
a plane-rectangular coordinate system established for each state
in the United States by the National Geodetic Survey. Synder
1987, DOI:10.3133/pp1395, page 52:
https://pubs.usgs.gov/pp/1395/report.pdf#page=64
This class describes the surface model used by
the projection. For in-situ mosaics, the surface model describes
the surface upon which input images are projected in order to
create a unified point of view in a mosaic. To the extent the
surface model does not match the actual surface, parallax errors
typically occur at seams between images.
This is a specific type of surface model that
treats the surface as a flat plane, with a specified orientation
(Vector_Surface_Normal) and location
(Vector_Surface_Ground_Location).
This is a specific type of surface model that
treats the surface as a sphere, with a specified center and
radius.
The Transverse_Mercator class contains
parameters for the Transverse Mercator projection. Synder 1987,
DOI:10.3133/pp1395, page 48:
https://pubs.usgs.gov/pp/1395/report.pdf#page=60 PROJ:
https://proj.org/operations/projections/tmerc.html
The Universal_Polar_Stereographic class,
generally used for Earth data sets, defines a grid system based
on the polar stereographic projection, applied to the planet's
polar regions north of 84 degrees north and south of 80 degrees
south. Synder 1987, DOI:10.3133/pp1395, page 157:
https://pubs.usgs.gov/pp/1395/report.pdf#page=169 PROJ:
https://proj.org/operations/projections/ups.html
The Universal_Transverse_Mercator class defines
a grid system based on the Transverse Mercator projection,
applied between latitudes 84 degrees north and 80 degrees south
on the planet's surface. Synder 1987, DOI:10.3133/pp1395, page
57: https://pubs.usgs.gov/pp/1395/report.pdf#page=69 PROJ:
https://proj.org/operations/projections/utm.html
This is a generic vector in Cartesian space. The
"x", "y", and "z" component have no units.
The Vector_Cartesian_Position_Base is a three
dimensional, rectangular coordinates vector. Uses units of
length. The included attributes are not sufficient to identify
the endpoints of the vector.
This is a generic unit vector in Cartesian
space. The "x", "y", and "z" component have no units and are
restricted to values between -1.0 and 1.0 inclusive. Further the
length of the vector square root of the (sum of the squares of
the components) must be 1.0.
The Vector_Length_Base is an abstract class that
forms the base of length-based x, y, z
vectors.
The Vector_Projection_Origin class specifies the
location of the origin of the projection. For Polar and
Cylindrical projections, this is the XYZ point from which all
the azimuth/elevation rays emanate. For the
Cylindrical-Perspective projection, this defines the center of
the circle around which the synthetic camera orbits. For
Orthographic, Orthorectified, and Vertical projections, this
optional keyword specifies the point on the projection plane
that serves as the origin of the projection (i.e. all points on
a line through this point in the direction of
PROJECTION_Z_AXIS_VECTOR will be located at X=Y=0 in the
projection). If not present, (0,0,0) should be assumed. This
translation is generally not necessary and not often used; the
(X|Y)_AXIS_MINIMUM and (X|Y)_AXIS_MAXIMUM fields allow the
mosaic to be located arbitrarily in the projection
plane.
The Vector_Projection_X_Axis class specifies a
unit vector defining the X-axis for a given projection. For
Orthographic, Orthorectified, and Vertical projections, this
vector defines how the * axis in the mosaic is oriented in
space. The X and Y axis vectors together define the rotation of
the projection plane around the projection
axis.
The Vector_Projection_Y_Axis class specifies a
unit vector defining the Y-axis for a given projection. For
Orthographic, Orthorectified, and Vertical projections, this
vector defines how the * axis in the mosaic is oriented in
space. The X and Y axis vectors together define the rotation of
the projection plane around the projection
axis.
The Vector_Projection_Z_Axis class specifies a
unit vector defining the Z axis for a given projection. For
Orthographic, Orthorectified, and Vertical projections, this
vector defines the projection axis for the mosaic. All points
along a line parallel to this axis are projected to the same
spot in the projection plane. For the Cylindrical-Perspective
projections, this defines the new axis of the circle around
which the synthetic camera orbits (i.e. the normal to the
circle), after the cameras have been rotated to correct for
rover tilt. Vector_Projection_Z_Axis_Initial contains the axis
before rotation; the difference in these two indicate the
rotation amount.
The Vector_Projection_Z_Axis_Initial class
specifies the initial unit vector defining the Z axis for a
given projection. For Cylindrical-Perspective projections, this
defines the original axis of the circle around which the
synthetic camera orbits, before the cameras have been rotated to
correct for rover tilt. Vector_Projection_Z_Axis contains the
axis after rotation; the difference in these two indicate the
rotation amount.
The Vector_Sphere_Center class specifies the
center of the sphere. This point is measured in the coordinates
specified by the Coordinate_Space reference in the
Surface_Model_Parameters class.
The Vector_Surface_Ground_Location class
specifies any point on the surface model, in order to fix the
model in space. This point is measured in the coordinates
specified by the Coordinate_Space reference in the
Surface_Model_Parameters class.
The Vector_Surface_Normal class specifies a
vector normal to the planar surface model. This vector is
measured in the coordinates specified by the Coordinate_Space
reference in the Surface_Model_Parameters
class.
This is an in-situ projection that provides an
overhead view. By projecting to a surface model, the need for
range data is eliminated, but significant layover effects can
happen when the actual geometry does not match the surface
model. It has a constant scale in meters/pixel, subject to
layover distortion.
This section contains the simpleTypes that provide more constraints
than those at the base data type level. The simpleTypes defined here build on the base data
types. This is another component of the common dictionary and therefore falls within the
common namespace.
The a_axis_radius attribute provides the radius
of the equatorial axis of the ellipsoid. The IAU calls this
"Subplanetary equatorial radius" and mapping applications
generally call this "semi_major_axis".
Grid spacing. Unit is
radian/pixel.
The azimuth_measure_point_longitude attribute
provides the longitude of the map projection
origin.
The azimuthal_angle attribute provides the angle
measured clockwise from north, and expressed in
degrees.
The b_axis_radius attribute provides the value
of the intermediate axis of the ellipsoid that defines the
approximate shape of a target body. The b_axis_radius is usually
in the equatorial plane. The IAU calls this axis "along orbit
equatorial radius". Mapping applications, which generally only
define a sphere or an ellipse, do not support this radius
parameter.
The bearing_reference_direction attribute
specifies the direction from which the bearing is
measured.
The bearing_reference_meridian attribute
specifies the axis from which the bearing is
measured.
The bearing_resolution attribute provides the
minimum angle measurable between two points.
The c_axis_radius attribute provides the value
of the polar axis of the ellipsoid that defines the approximate
shape of a target body. The c_axis_radius is normal to the plane
defined by the a_axis_radius and b_axis_radius. The IAU calls
this "polar radius". Mapping applications generally call this
"semi_minor_axis"
The given name of the used coordinate system.
e.g. "MEAN EARTH/POLAR AXIS OF DE421"
There are three basic types of coordinate
systems: body-fixed rotating, body-fixed non-rotating, and
inertial. A body-fixed coordinate system is one associated with
the body (e.g., a planet or satellite). The body-fixed system is
centered on the body and rotates with the body (unless it is a
non-rotating type), whereas an inertial coordinate system is
fixed at some point in space. Currently, the PDS has
specifically defined two types of body-fixed rotating coordinate
systems: planetocentric and planetographic. However, the set of
related data elements are modeled such that definitions for
other body-fixed rotating coordinate systems, body-fixed
non-rotating and inertial coordinate systems can be added as the
need arises. Contact a PDS data engineer for assistance in
defining a specific coordinate system.
Number of measurements combined to create the
cube.
The distance_resolution attribute provides the
minimum distance measurable between two points, expressed in
Planar Distance Units of measure.
The east_bounding_coordinate attribute provides
the eastern-most coordinate of the limit of coverage expressed
in longitude.
Line coordinate at the center of the first line
element.
Sample coordinate at the center of the first
sample element.
The grid_coordinate_system_name attribute
provides the name of the grid coordinate
system.
The lander_map_projection_name attribute
provides the name of the map projection.
Line coordinate at the center of the last line
element.
Sample coordinate at the center of the last
sample element.
The latitude_of_projection_origin attribute
defines the latitude chosen as the origin of rectangular
coordinates for a map projection.
The latitude_resolution attribute indicates the
minimum difference between two adjacent latitude values
expressed in angular units of measure.
The latitude_type attribute defines the type of
latitude (planetographic, planetocentric) used within a
cartographic product and as reflected in attribute values within
associated PDS labels. For planets and satellites, latitude is
measured north and south of the equator; north latitudes are
designated as positive. 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
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). For more on latitude_type,
please see the IAU publication available here:
http://astrogeology.usgs.gov/groups/IAU-WGCCRE
The line attribute specifies the line number in
the image.
Coordinate name for the line axis. e.g. "LOCAL
TIME HOURS"
The local_description attribute provides a
description of the coordinate system and its orientation to the
surface of a planet.
The local_georeference_information attribute
provides a description of the information provided to register
the local system to a planet (e.g. control points, satellite
ephemeral data, inertial navigation data).
The local_planar_description attribute provides
a description of the local planar system.
The local_planar_georeference_information
attribute provides a description of the information provided to
register the local planar system to a planet (e.g. control
points, satellite ephemeral data, inertial navigation
data).
Grid spacing. Unit is local
hours/pixel.
The longitude_direction attribute identifies the
direction of longitude (e.g. POSITIVE_EAST or POSITIVE_WEST) for
a planet. The IAU definition for direction of positive longitude
should be adopted:
http://astrogeology.usgs.gov/groups/IAU-WGCCRE. Typically, for
planets with prograde (direct) rotations, positive longitude
direction is to the west. For planets with retrograde rotations,
positive longitude direction is to the east. Generally the
Positive West longitude_direction is used for planetographic
systems and Positive East is used for planetocentric systems. If
the data is defined with Spatial_Domain in a manner not
recommended by the IAU, there is a optional
Secondary_Spatial_Domain section to define a second set of
bounding coordinates.
The longitude_of_central_meridian attribute
defines the line of longitude at the center of a map projection
generally used as the basis for constructing the
projection.
The longitude_resolution attribute indicates the
minimum difference between two adjacent longitude values
expressed in angular units of measure.
The value (RIGHT or LEFT) indicates the side of
the spacecraft ground-track to which the antenna is pointed for
data acquired within this file. The SAR images stored in theBIDR
files are always acquired on only one side of the ground track
for each Titan pass. This value also indicates from which side
the SAR image is illuminated. If the spacecraft images to the
left of its ground track (LOOK_DIRECTION=LEFT), the image will
be illuminated from the (viewer's) left side, and, conversely,
if the spacecraft looks to the right, the illumination will come
from the right in the image file. The direction of illumination
is critical to interpretation of features in the image.
The map_projection_name attribute provides the
name of the map projection. Definitions when available are from
Synder, J.P., 1987, Map Projections: A Working Manual, USGS
Numbered Series, Professional Paper 1395, URL:
https://doi.org/10.3133/pp1395.
Included for generality, always 90 degrees for
Cassini BIDRs.
Maximum size of footprints along the line
axis.
Maximum size of footprints along the sample
axis.
The maximum_elevation attribute specifies the
elevation (as defined by the coordinate system) of the first
line of the image. For the Polar projection, specifies the
highest elevation used, i.e. the elevation of the outermost
circle of pixels. Applies to lander map projections Cylindrical,
Polar, Sinusoidal, Perspective and
Cylindrical-Perspective.
Minimum size of footprints along the line
axis.
Minimum size of footprints along the sample
axis.
The minimum_elevation attribute specifies the
elevation (as defined by the coordinate system) of the last line
of the image for Cylindrical map projections. Applies to
Cylindrical, Perspective and Cylindrical-Perspective lander map
projections.
The north_bounding_coordinate attribute provides
the northern-most coordinate of the limit of coverage expressed
in latitude.
The oblique_line_latitude attribute provides the
latitude of a point defining the oblique line.
The oblique_line_longitude attribute provides
the longitude of a point defining the oblique
line.
One of the three angles defining the oblique
coordinate system used in the OBLIQUE_CYLINDRICAL projection.
This is the ordinary latitude of the pole (Z axis) of the
oblique system.
One of the three angles defining the oblique
coordinate system used in the OBLIQUE_CYLINDRICAL projection.
This is the ordinary longitude of the pole (Z axis) of the
oblique system.
One of the three angles defining the oblique
coordinate system used in the OBLIQUE_CYLINDRICAL projection.
This is a rotation around the polar (Z) axis of the oblique
system that completes the transformation from standard to
oblique coordinates. The value is positive east (obeys right
hand rule) and is in the range 0 to 360 degrees.
This is a redundant attirubte and as such is
optional mostly available for documentation for the parameters.
Unit vector in the direction of the X axis of the oblique
coordinate system used in the OBLIQUE_CYLINDRICAL projection, in
terms of the X, Y, and Z axes of the standard body-fixed
coordinate system. In each system, the X axis points from the
body center toward longitude and latitude (0,0) in that system,
the Z axis to (0,90), and the Y-axis completes a right-handed
set. The OBLIQUE_PROJ_X/Y/Z_AXIS_VECTORS makeup the rows of a
rotation matrix that when multiplied on the left of a vector
referenced to the standard coordinate system converts it into
its equivalent in the oblique coordinate system. This rotation
matrix is the product of successively applied rotations by
OBLIQUE_PROJ_POLE_LONGITUDE around the Z axis, 90
OBLIQUE_PROJ_POLE_LATITUDE around the once-rotated Y axis, and
OBLIQUE_PROJ_POLE_ROTATION around the twice-rotated Z axis.
This is a redundant attirubte and as such is
optional mostly available for documentation for the parameters.
Unit vector in the direction of the Y axis of the oblique
coordinate system used in the OBLIQUE_CYLINDRICAL projection, in
terms of the X, Y, and Z axes of the standard body-fixed
coordinate system. In each system, the X axis points from the
body center toward longitude and latitude (0,0) in that system,
the Z axis to (0,90), and the Y-axis completes a right-handed
set. The OBLIQUE_PROJ_X/Y/Z_AXIS_VECTORS makeup the rows of a
rotation matrix that when multiplied on the left of a vector
referenced to the standard coordinate system converts it into
its equivalent in the oblique coordinate system. This rotation
matrix is the product of successively applied rotations by
OBLIQUE_PROJ_POLE_LONGITUDE around the Z axis, 90
OBLIQUE_PROJ_POLE_LATITUDE around the once-rotated Y axis, and
OBLIQUE_PROJ_POLE_ROTATION around the twice-rotated Z axis.
This is a redundant attirubte and as such is
optional mostly available for documentation for the parameters.
Unit vector in the direction of the Z axis of the oblique
coordinate system used in the OBLIQUE_CYLINDRICAL projection, in
terms of the X, Y, and Z axes of the standard body-fixed
coordinate system. In each system, the X axis points from the
body center toward longitude and latitude (0,0) in that system,
the Z axis to (0,90), and the Y-axis completes a right-handed
set. The OBLIQUE_PROJ_X/Y/Z_AXIS_VECTORS makeup the rows of a
rotation matrix that when multiplied on the left of a vector
referenced to the standard coordinate system converts it into
its equivalent in the oblique coordinate system. This rotation
matrix is the product of successively applied rotations by
OBLIQUE_PROJ_POLE_LONGITUDE around the Z axis, 90
OBLIQUE_PROJ_POLE_LATITUDE around the once-rotated Y axis, and
OBLIQUE_PROJ_POLE_ROTATION around the twice-rotated Z axis.
The pixel_resolution_x and pixel_resolution_y
attributes indicate the image array pixel resolution
(distance/pixel or degree/pixel) relative to the Cartesian (x,y)
coordinate system as defined by the map projection. Due to
varying properties across different map projections, actual
surface distances for an individual pixel may be accurate only
at specific location(s) within the image array (e.g. reference
latitude or longitude, standard parallels, etc). For most PDS
products, x and y resolution values are equal ('square' pixels).
The inclusion of both x and y attributes allows for anticipated
products where resolution may differ for each axis
('rectangular' pixels). NOTE: Definition of this PDS4 attribute
differs from how 'resolution' was defined within PDS3.
The pixel_resolution_x and pixel_resolution_y
attributes indicate the image array pixel resolution
(distance/pixel or degree/pixel) relative to the Cartesian (x,y)
coordinate system as defined by the map projection. Due to
varying properties across different map projections, actual
surface distances for an individual pixel may be accurate only
at specific location(s) within the image array (e.g. reference
latitude or longitude, standard parallels, etc). For most PDS
products, x and y resolution values are equal ('square' pixels).
The inclusion of both x and y attributes allows for anticipated
products where resolution may differ for each axis
('rectangular' pixels). NOTE: Definition of this PDS4 attribute
differs from how 'resolution' was defined within PDS3.
The pixel_scale attribute indicate the image
array pixel scale (pixel/degree or pixel/distance) relative to
the referenced coordinate system as defined by the map
projection. This attribute should be used in lieu of
pixel_scale_x and pixel_scale_y when the pixel scale is not x/y
aligned. i.e. a radial pixel scale. NOTE: Definition of this
PDS4 attribute differs from how 'scale' was defined within PDS3
The pixel_scale_x and pixel_scale_y attributes
indicate the image array pixel scale (pixel/degree or
pixel/distance) relative to the Cartesian (x,y) coordinate
system as defined by the map projection. Due to varying
properties across different map projections, actual surface
distances for an individual pixel may be accurate only at
specific location(s) within the image array (e.g. reference
latitude or longitude, standard parallels, etc). For most PDS
products, x and y scale values are equal ('square' pixels). The
inclusion of both x and y attributes allows for anticipated
products where scale may differ for each axis ('rectangular'
pixels). NOTE1: For presentation of hard-copy maps, a map scale
is traditionally expressed as a 'representative fraction' (the
ratio of a hard-copy map to the actual subject surface (e.g.
1:250,000, where one unit of measure on the map equals 250,000
of the same unit on the body surface)). This usage is relevant
when map/data are presented on hard-copy media (paper, computer
screen,etc). When defining pixel scale within a stored
image/array context here, we are expressing a ratio between the
image array and the actual surface (thus, pixel/degree or
pixel/distance units). NOTE2: Definition of this PDS4 attribute
differs from how 'scale' was defined within PDS3
The pixel_scale_x and pixel_scale_y attributes
indicate the image array pixel scale (pixel/degree or
pixel/distance) relative to the Cartesian (x,y) coordinate
system as defined by the map projection. Due to varying
properties across different map projections, actual surface
distances for an individual pixel may be accurate only at
specific location(s) within the image array (e.g. reference
latitude or longitude, standard parallels, etc). For most PDS
products, x and y scale values are equal ('square' pixels). The
inclusion of both x and y attributes allows for anticipated
products where scale may differ for each axis ('rectangular'
pixels). NOTE1: For presentation of hard-copy maps, a map scale
is traditionally expressed as a 'representative fraction' (the
ratio of a hard-copy map to the actual subject surface (e.g.
1:250,000, where one unit of measure on the map equals 250,000
of the same unit on the body surface)). This usage is relevant
when map/data are presented on hard-copy media (paper, computer
screen,etc). When defining pixel scale within a stored
image/array context here, we are expressing a ratio between the
image array and the actual surface (thus, pixel/degree or
pixel/distance units). NOTE2: Definition of this PDS4 attribute
differs from how 'scale' was defined within PDS3
The planar_coordinate_encoding_method attribute
indicates the means used to represent horizontal
positions.
The projection_axis_offset attribute specifies
an offset from a projection axis in a map projection. For the
Cylindrical-Perspective projection, this is the radius of a
circle which represents the rotation around the projection
origin of the synthetic camera used to calculate each
column.
The projection_azimuth attribute specifies the
azimuth of the horizontal center of projection for the
Perspective lander map projection (loosely, where the camera
model is pointing).
The projection_elevation attribute specifies the
elevation of the vertical center of projection (loosely, where
the camera is pointing). For Perspective lander map projection,
this applies to the single output camera model; for
Cylindrical-Perspective it applies to each columns output camera
model, before the rotation specified by
Vector_Projection_Z_Axis.
The projection_elevation_line attribute
specifies the image line which corresponds to the
projection_elevation attribute for each column of the
Cylindrical-Perspective projection, before the rotation
specified by Vector_Projection_Z_Axis.
Grid spacing. Unit is
km/pixel.
The reference_azimuth attribute specifies the
azimuth of the line extending from the center of the image to
the top center of the image with respect to a polar projection.
Provides the ordinary latitude coordinate of the
origin (oblique latitude = oblique longitude = 0) for the
oblique coordinate system used to specify the OBLIQUE_CYLIDRICAL
projection used in Cassini BIDR. NOTE that whereas some past PDS
products may utilize oblique projections defined solely in terms
of the REFERENCE_LATITUDE and REFERENCE_LONGITUDE (i.e., with a
third defining angle always set to zero), the Cassini BIDRs
require the full generality of three nonzero rotation angles.
These angles are represented by the keywords
OBLIQUE_PROJ_POLE_LATITUDE, OBLIQUE_PROJ_POLE_LONGITUDE, and
OBLIQUE_PROJ_POLE_ROTATION. The values of REFERENCE_LATITUDE and
REFERENCE_LONGITUDE are consistent with the latter three angles
but do not uniquely define the oblique coordinate system on
their own.
Provides the ordinary longitude coordinate of
the origin (oblique latitude = oblique longitude = 0) for the
oblique coordinate system used to specify the OBLIQUE_CYLIDRICAL
projection used in Cassini BIDR. NOTE that whereas some past PDS
products may utilize oblique projections defined solely in terms
of the REFERENCE_LATITUDE and REFERENCE_LONGITUDE (i.e., with a
third defining angle always set to zero), the Cassini BIDRs
require the full generality of three nonzero rotation angles.
These angles are represented by the keywords
OBLIQUE_PROJ_POLE_LATITUDE, OBLIQUE_PROJ_POLE_LONGITUDE, and
OBLIQUE_PROJ_POLE_ROTATION. The values of REFERENCE_LATITUDE and
REFERENCE_LONGITUDE are consistent with the latter three angles
but do not uniquely define the oblique coordinate system on
their own.
The rings_map_projection_name attribute provides
the name of the map projection used for rings
data.
The sample attribute specifies the sample
number.
Coordinate name for the sample axis. e.g.
"RADIUS KM"
The scale_factor_at_central_meridian attribute
provides a multiplier for reducing a distance obtained from a
map by computation or scaling to the actual distance along the
central meridian.
The scale_factor_at_projection_origin attribute
provides a multiplier for reducing a distance obtained from a
map by computation or scaling to the actual distance at the
projection origin.
The south_bounding_coordinate attribute provides
the southern-most coordinate of the limit of coverage expressed
in latitude.
The spcs_zone_identifier attribute identifies
the State Plane Coordinate Systems (SPCS)
zone.
The sphere_intersection_count attribute
specifies the number of the intersection to use for the
spherical surface model when the camera is outside the sphere.
For example, specifying a value of 1 would indicate the first
intersection with the sphere should be used (more useful for
modeling hills or rocks), while a value of 2 would indicate the
second intersection with the sphere should be used (more useful
for modeling craters). In PDS3, this was overloaded as part of
the SURFACE_MODEL_TYPE keyword.
The sphere_radius attribute specifies the radius
of the spherical body. In PDS3, this was specified using the
SURFACE_NORMAL_VECTOR keyword.
The spheroid_name attribute provides the
identification given to established representations of a
planet's shape.
The standard_parallel_1 attribute defines the
first standard parallel (applicable only for specific
projections), the first line of constant latitude at which the
surface of the planet and the plane or developable surface
intersect.
The standard_parallel_2 attribute defines the
second standard parallel (applicable only for specific
projections, a subset of specific projections where a first
standard parallel is applicable), the second line of constant
latitude at which the surface of the planet and the plane or
developable surface intersect.
The start_azimuth specifies the angular distance
from a fixed reference position at which an image or observation
starts. Azimuth is measured in a spherical coordinate system, in
a plane normal to the principal axis. Azimuth values increase
according to the right hand rule relative to the positive
direction of the principal axis of the spherical coordinate
system. For lander map projections, this attribute specifies the
azimuth of the left edge of the output map. Applies to
Cylindrical and Cylindrical-Perspective lander map projections
only.
The stop_azimuth attribute specifies the angular
distance from a fixed reference position at which an image or
observation stops. Azimuth is measured in a spherical coordinate
system, in a plane normal to the principal axis. Azimuth values
increase according to the right hand rule relative to the
positive direction of the principal axis of the spherical
coordinate system. For lander map projections, this attribute
specifies the azimuth of the right edge of the output map.
Applies to Cylindrical and Cylindrical-Perspective lander map
projections only.
Specifies the type of surface used for the
reprojection performed during the mosaicking process. Valid
values: Planar - refers to a flat planar model; Spherical -
refers to a spherical model.
The target_center_distance attribute provides
the distance to target center, in meters, relative to the
observing system.
The upperleft_corner_x and upperleft_corner_y
attributes provide the projection x and y values, in meters,
relative to the map projection origin, at sample 0.5 and line
0.5 (upper left corner of pixel 1,1 within image array).
(0.5,0.5) - upper left corner (edge) of pixel 1,1 / #---+---+->
I where # is X,Y location in meters, | * | | relative to map
projection origin. +---+---+ where * is pixel coordinate
(1.0,1.0) | \ J pixel coordinate (2.5,1.5)
The upperleft_corner_x and upperleft_corner_y
attributes provide the projection x and y values, in meters,
relative to the map projection origin, at sample 0.5 and line
0.5 (upper left corner of pixel 1,1 within image array).
(0.5,0.5) - upper left corner (edge) of pixel 1,1 / #---+---+->
I where # is X,Y location in meters, | * | | relative to map
projection origin. +---+---+ where * is pixel coordinate
(1.0,1.0) | \ J pixel coordinate (2.5,1.5)
The ups_zone_identifier attribute provides an
identifier for the Universal Polar Stereographic (UPS)
zone.
The utm_zone_number attribute provides the
identifier for the Universal Transverse Mercator (UTM)
zone.
The west_bounding_coordinate attribute provides
the western-most coordinate of the limit of coverage expressed
in longitude.
The x component of a Cartesian vector which has
no units.
The x_axis_maximum attribute specifies the value
of the X coordinate (measured in the projection frame) of a
Vertical, Orthographic or Orthorectified lander map projection
at the top of the image. Note that +X is at the top of the image
and +Y is at the right, so +X corresponds to North in the
Vertical projection.
The x_axis_minimum attribute specifies the value
of the X coordinate (measured in the projection frame) of a
Vertical, Orthographic or Orthorectified lander map projection
at the bottom of the image.
The x_length attribute represents length in the
x-direction.
The x component of a Cartesian position
vector.
The x component of a unit
vector.
The y component of a Cartesian vector which has
no units.
The y_axis_minimum attribute specifies the value
of the Y coordinate (measured in the projection frame) of a
Vertical, Orthographic or Orthorectified lander map projection
at the right edge of the image.
The y_axis_minimum attribute specifies the value
of the Y coordinate (measured in the projection frame) of a
Vertical, Orthographic or Orthorectified lander map projection
at the left edge of the image.
The y_length attribute represents length in the
y-direction.
The y component of a Cartesian position
vector.
The y component of a unit
vector.
The z component of a Cartesian vector which has
no units.
The z_length attribute represents length in the
z-direction.
The z component of a Cartesian position
vector.
The z component of a unit
vector.
The zero_elevation_line attribute specifies the
image line representing 0.0 degree elevation. Applies to
Cylindrical lander map projections.