Contains classes and attributes used to describe cartographic
products. This information is largely adapted from the 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
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).
TBD
TBD
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 projection.
TBD
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_Conformal_Conic class contains
parameters for the Lambert Conformal Conic
projection.
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 developable surface.
An abstract class that serves as the parent
class to all the map projections.
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 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.
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.
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.
TBD
TBD
TBD
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.
TBD
The Polar_Stereographic class contains
parameters for the Polar Stereographic
projection.
The Polyconic class contains parameters for the
Polyconic projection.
The Sinusoidal class contains parameters for the
Sinusoidal projection.
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.
TBD
TBD
TBD
The Transverse_Mercator class contains
parameters for the Transverse Mercator
projection.
The Universal_Polar_Stereographic class 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.
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.
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 ocated 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. CAMERA_ROTATION_AXIS_VECTOR contains the axis before
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
Map_Projection_Lander class.
The Vector_Surface_Ground_Location class
specifies any point on the surface. This point is measured in
the coordinates specified by the Coordinate_Space reference in
the Map_Projection_Lander class.
The Vector_Surface_Normal class specifies a
vector normal to the planar surface. This vector is measured in
the coordinates specified by the Coordinate_Space reference in
the Map_Projection_Lander class.
TBD
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
pds namespace.
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 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 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.
The grid_coordinate_system_name attribute
provides the name of the grid coordinate
system.
The map_projection_name attribute provides the
name of the map projection.
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. The IAU definition for direction of
positive longitude should be adopted:
http://astrogeology.usgs.gov/groups/IAU-WGCCRE.
The line attribute specifies the line number in
the image.
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).
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
is adopted. Typically, for planets with prograde rotations,
positive longitude direction is to the west. For planets with
retrograde rotations, positive longitude direction is to the
east. Note: The longitude_direction attribute should be used for
planetographc systems, but not for
planetocentric.
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 map_projection_name attribute provides the
name of the map projection.
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.
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.
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 polar_radius attribute provides the value of
the semiminor axis of the ellipsoid that defines the approximate
shape of a target body. The polar radius is normal to the plane
defined by the semi-major and semi-minor axes.
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.
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..
The sample attribute specifies the sample
number
The scale_factor_at_center_line attribute
provides a multiplier for reducing a distance obtained from a
map by computation or scaling to the actual distance along the
center line.
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 semi_major_axis attribute provides the
radius of the equatorial axis of the
ellipsoid.
The semi_minor_radius attribute provides the
value of the intermediate axis of the ellipsoid that defines the
approximate shape of a target body. The semi-minor axis is
usually in the equatorial plane.
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 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 pecifies 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.
The straight_vertical_longitude_from_pole
attribute provides the longitude oriented straight up from the
North or South Pole.
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 where the camera is at the center of the
sphere.
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).
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).
The ups_zone_identifier attribute provides an
identifier for the UPS zone.
The utm_zone_number attribute provides the
identifier for the UTM zone.
The west_bounding_coordinate attribute provides
the western-most coordinate of the limit of coverage expressed
in longitude.
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_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_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.
[
{
"dataDictionary": {
"Title": "PDS4 Data Dictionary" ,
"Version": "1.9.0.0" ,
"Date": "Fri Mar 30 15:51:19 PDT 2018" ,
"Description": "This document is a dump of the contents of the PDS4 Data Dictionary" ,
"PropertyMapDictionary": [
]
}
}
]