<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="https://pds.jpl.nasa.gov/pds4/pds/v1/PDS4_PDS_1E00.sch" schematypens="http://purl.oclc.org/dsdl/schematron"?>
<?xml-model href="https://pds.nasa.gov/pds4/geom/v1/PDS4_GEOM_1E00_1810.sch" schematypens="http://purl.oclc.org/dsdl/schematron"?>

<!-- PDS4 Local Data Dictionary Ingest File -->
<!-- Generated 2014-02-13T18:31:07Z by eduxbury using mk_img_ldd.pl 
    from the Imaging Node MySQL img_ldd database.
    
    ... removed 'cart.' prefix from all local_id entries
    ... then, change to v1700 (Sept 7, 2016)
        updated standard_parallel_1/2 items per entries throughout
        renamed ellipsoid_name to spheroid_name
    ... then, update Oblique_Mercator per redundancies (already in Map_Projection_Base) (Oct 17, 2016)
    ... updated spheroid_name as optional, and not enumerated

    ... See "CHANGE LOG" below for updates progression and detail
  -->

<Ingest_LDD
    xmlns="http://pds.nasa.gov/pds4/pds/v1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:geom="http://pds.nasa.gov/pds4/geom/v1"
    xmlns:pds="http://pds.nasa.gov/pds4/pds/v1"    
    xsi:schemaLocation="http://pds.nasa.gov/pds4/pds/v1 https://pds.nasa.gov/pds4/pds/v1/PDS4_PDS_1E00.xsd    http://pds.nasa.gov/pds4/geom/v1 https://pds.nasa.gov/pds4/geom/v1/PDS4_GEOM_1E00_1810.xsd">
  <name>Cartography</name>
  <ldd_version_id>1.9.5.0</ldd_version_id>
  <dictionary_type>Discipline</dictionary_type>
  <full_name>Trent Hare</full_name>
  <steward_id>img</steward_id>
  <namespace_id>cart</namespace_id>
  <comment>
    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

  </comment>
  
  <last_modification_date_time>2020-05-15T16:00:00Z</last_modification_date_time>
  <DD_Attribute>
    <name>target_center_distance</name>
    <version_id>1.0</version_id>
    <local_identifier>target_center_distance</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Chris Isbell</submitter_name>
    <definition>
      The target_center_distance attribute provides the distance to target center, 
      in meters, relative to the observing system.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Length</unit_of_measure_type>
      <specified_unit_id>m</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <!-- added/enabled: 20150331 (rj) -->
  <DD_Attribute>
    <name>upperleft_corner_x</name>
    <version_id>1.0</version_id>
    <local_identifier>upperleft_corner_x</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Ronald Joyner</submitter_name>
    <definition>
      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)

    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Length</unit_of_measure_type>
      <specified_unit_id>m</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>upperleft_corner_y</name>
    <version_id>1.0</version_id>
    <local_identifier>upperleft_corner_y</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Ronald Joyner</submitter_name>
    <definition>
      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)
      
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Length</unit_of_measure_type>
      <specified_unit_id>m</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>
  
  <DD_Attribute>
    <name>scale_factor_at_projection_origin</name>
    <version_id>1.0</version_id>
    <local_identifier>scale_factor_at_projection_origin</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Ronald Joyner</submitter_name>
    <definition>
      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.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>west_bounding_coordinate</name>
    <version_id>1.0</version_id>
    <local_identifier>west_bounding_coordinate</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The west_bounding_coordinate attribute provides the
      western-most coordinate of the limit of coverage expressed in
      longitude.</definition>
    <!--<Terminological_Entry>
      <name>west_bounding_coordinate</name>
      <definition>The west_bounding_coordinate attribute provides the western-most coordinate of the limit of coverage expressed in longitude.</definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
    <Terminological_Entry>
      <name>West_Bounding_Coordinate</name>
      <definition>western-most coordinate of the limit of coverage expressed in longitude</definition>
      <language>English</language>
      <preferred_flag>false</preferred_flag>
    </Terminological_Entry>
    <Terminological_Entry>
      <name>westbc</name>
      <definition>western-most coordinate of the limit of coverage expressed in longitude</definition>
      <language>English</language>
      <preferred_flag>false</preferred_flag>
    </Terminological_Entry>
    <Terminological_Entry>
      <name>WESTERNMOST_LONGITUDE</name>
      <definition>The following definitions describe westernmost longitude for the body-fixed, rotating coordinate systems:
         For Planetocentric coordinates and for Planetographic coordinates in which longitude increases toward the east,
         the westernmost (leftmost) longitude of a spatial area (e.g.,a map, mosaic, bin,feature or region) is the minimum
         numerical value of longitude unless it crosses the Prime Meridian.

         For Planetographic coordinates in which longitude increases toward the west (prograde rotator), the westernmost
         (leftmost) longitude of a spatial area (e.g., a map,mosaic, bin, feature or region) is the maximum numerical value
         of longitude unless it crosses the Prime Meridian.

         For the Earth, Moon and Sun, PDS also supports the traditional use of the range (-180,180) in which case the
         westernmost (leftmost) longitude is the minimum numerical value of longitude unless it crosses -180.
      </definition>
      <language>English</language>
      <preferred_flag>false</preferred_flag>
    </Terminological_Entry>-->
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>-180.0</minimum_value>
      <maximum_value>360.0</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>east_bounding_coordinate</name>
    <version_id>1.0</version_id>
    <local_identifier>east_bounding_coordinate</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The east_bounding_coordinate attribute provides the
      eastern-most coordinate of the limit of coverage expressed in
      longitude.</definition>
    <!--<Terminological_Entry>
      <name>east_bounding_coordinate</name>
      <definition>The east_bounding_coordinate attribute provides the eastern-most coordinate of the limit of coverage expressed in longitude.</definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
    <Terminological_Entry>
      <name>East_Bounding_Coordinate</name>
      <definition>eastern-most coordinate of the limit of coverage expressed in longitude</definition>
      <language>English</language>
      <preferred_flag>false</preferred_flag>
    </Terminological_Entry>
    <Terminological_Entry>
      <name>eastbc</name>
      <definition>eastern-most coordinate of the limit of coverage expressed in longitude</definition>
      <language>English</language>
      <preferred_flag>false</preferred_flag>
    </Terminological_Entry>
    <Terminological_Entry>
      <name>EASTERNMOST_LONGITUDE</name>
      <definition>The following definitions describe easternmost longitude for the body-fixed, rotating coordinate systems:
         For Planetocentric coordinates and for Planetographic coordinates in which longitude increases toward the east,
         the easternmost (rightmost) longitude of a spatial area (e.g.,a map, mosaic, bin,feature or region) is the
         maximum numerical value of longitude unless it crosses the Prime Meridian.

         For Planetographic coordinates in which longitude increases toward the west, the easternmost (rightmost)
         longitude of a spatial area (e.g., a map, mosaic, bin, feature or region) is the minimum numerical value
         of longitude unless it crosses the Prime Meridian.

         For the Earth, Moon and Sun, PDS also supports the traditional use of the range (-180,180) in which case the easternmost (rightmost) longitude is the maximum numerical value of longitude unless it crosses 180.</definition>
      <language>English</language>
      <preferred_flag>false</preferred_flag>
    </Terminological_Entry>-->
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>-180.0</minimum_value>
      <maximum_value>360.0</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>north_bounding_coordinate</name>
    <version_id>1.0</version_id>
    <local_identifier>north_bounding_coordinate</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The north_bounding_coordinate attribute provides the
      northern-most coordinate of the limit of coverage expressed in
      latitude.</definition>
    <!--<Terminological_Entry>
      <name>north_bounding_coordinate</name>
      <definition>The north_bounding_coordinate attribute provides the northern-most coordinate of the limit of coverage expressed in latitude.</definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
    <Terminological_Entry>
      <name>North_Bounding_Coordinate</name>
      <definition>northern-most coordinate of the limit of coverage expressed in latitude</definition>
      <language>English</language>
      <preferred_flag>false</preferred_flag>
    </Terminological_Entry>
    <Terminological_Entry>
      <name>northbc</name>
      <definition>northern-most coordinate of the limit of coverage expressed in latitude</definition>
      <language>English</language>
      <preferred_flag>false</preferred_flag>
    </Terminological_Entry>
    <Terminological_Entry>
      <name>MAXIMUM_LATITUDE</name>
      <definition>The maximum_latitude element specifies the northernmost latitude of a spatial area, such as a map, mosaic, bin, feature, or region.</definition>
      <language>English</language>
      <preferred_flag>false</preferred_flag>
    </Terminological_Entry>-->
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>-90.0</minimum_value>
      <maximum_value>90.0</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>south_bounding_coordinate</name>
    <version_id>1.0</version_id>
    <local_identifier>south_bounding_coordinate</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The south_bounding_coordinate attribute provides the
      southern-most coordinate of the limit of coverage expressed in
      latitude.</definition>
    <!--<Terminological_Entry>
      <name>south_bounding_coordinate</name>
      <definition>The south_bounding_coordinate attribute provides the southern-most coordinate of the limit of coverage expressed in latitude.</definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
    <Terminological_Entry>
      <name>South_Bounding_Coordinate</name>
      <definition>southern-most coordinate of the limit of coverage expressed in latitude</definition>
      <language>English</language>
      <preferred_flag>false</preferred_flag>
    </Terminological_Entry>
    <Terminological_Entry>
      <name>southbc</name>
      <definition>southern-most coordinate of the limit of coverage expressed in latitude</definition>
      <language>English</language>
      <preferred_flag>false</preferred_flag>
    </Terminological_Entry>
    <Terminological_Entry>
      <name>MINIMUM_LATITUDE</name>
      <definition>The minimum_latitude element specifies the southernmost latitude of a spatial area, such as a map, mosaic, bin, feature, or region.</definition>
      <language>English</language>
      <preferred_flag>false</preferred_flag>
    </Terminological_Entry>-->
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>-90.0</minimum_value>
      <maximum_value>90.0</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <!-- 20151021: Per C.Isbell - removed 'cart.horizontal_datum_name'
  <DD_Attribute>
    <name>horizontal_datum_name</name>
    <version_id>1.0</version_id>
    <local_identifier>cart.horizontal_datum_name</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The horizontal_datum_name attribute provides the
      identification given to reference system used for defining the
      coordinates of points.</definition>
    <comment>Needs additional standard values for other planets.</comment>
    <DD_Value_Domain>
      <enumeration_flag>true</enumeration_flag>
      <value_data_type>ASCII_Short_String_Collapsed</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
      <DD_Permissible_Value>
        <value>North American Datum of 1927</value>
        <value_meaning>TBD</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>North American Datum of 1983</value>
        <value_meaning>TBD</value_meaning>
      </DD_Permissible_Value>
    </DD_Value_Domain>
  </DD_Attribute>
  -->
  
  <!-- 20151021: Per C.Isbell - renamed 'ellipsoid_name' to 'spheroid_name'
       20160816: C.Isbell, removed Earth names (inserted "TBD" names per pending planetary use)
       20161018: C.Isbell, actually, then removed enumeration. Made optional.
  -->
  <DD_Attribute>
    <name>spheroid_name</name>
    <version_id>1.0</version_id>
    <local_identifier>spheroid_name</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Chris Isbell</submitter_name>
    <definition>The spheroid_name attribute provides the identification
      given to established representations of a planet's shape.
    </definition>
    <comment>Needs additional standard values for other planets.</comment>
    <DD_Value_Domain>
      <!-- Can use same value as Target_Identification > Name. Or, enter value as
           being used within GIS domain standards. Lien: PDS and other entities (GIS,
           IAU, USGS, NAIF, etc to define values, if needed. See for additional background:
           http://www.hou.usra.edu/meetings/lpsc2016/pdf/1422.pdf
      -->
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Short_String_Collapsed</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
      <!-- removed permissible value enumeration, see C.Isbell prev version -->
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>a_axis_radius</name>
    <version_id>1.0</version_id>
    <local_identifier>a_axis_radius</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent M. Hare</submitter_name>
    <definition>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".
    </definition>
    <comment>In PDS3 this was named A_AXIS_RADIUS.</comment>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <unit_of_measure_type>Units_of_Length</unit_of_measure_type>
      <specified_unit_id>m</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>b_axis_radius</name>
    <version_id>1.0</version_id>
    <local_identifier>b_axis_radius</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent M. Hare</submitter_name>
    <definition>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.</definition>
    <comment>In PDS3 this was named B_AXIS_RADIUS.</comment>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <unit_of_measure_type>Units_of_Length</unit_of_measure_type>
      <specified_unit_id>m</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>c_axis_radius</name>
    <version_id>1.0</version_id>
    <local_identifier>c_axis_radius</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent M. Hare</submitter_name>
    <definition>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"
    </definition>
    <comment>In PDS3 this was named C_AXIS_RADIUS.</comment>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <unit_of_measure_type>Units_of_Length</unit_of_measure_type>
      <specified_unit_id>m</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>longitude_direction</name>
    <version_id>1.0</version_id>
    <local_identifier>longitude_direction</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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.</definition>
    <DD_Value_Domain>
      <enumeration_flag>true</enumeration_flag>
      <value_data_type>ASCII_Short_String_Collapsed</value_data_type>
      <minimum_characters>13</minimum_characters>
      <maximum_characters>13</maximum_characters>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
      <DD_Permissible_Value>
        <value>Positive East</value>
        <value_meaning>Positive East longitudes (i.e., longitudes measured positively 
        to the east) will be used when the bodies rotation is retrograde. Because 
        of tradition, the Earth, Sun, and Moon do not conform with this definition. 
        Their rotations are direct and longitudes run both east and west 180 degree, 
        or east 360 degree.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Positive West</value>
        <value_meaning>Positive West longitudes (i.e., longitudes measured 
        positively to the west) will be used when the rotation is prograde (direct).
        </value_meaning>
      </DD_Permissible_Value>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>coordinate_system_type</name>
    <version_id>1.0</version_id>
    <local_identifier>coordinate_system_type</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent Hare</submitter_name>
    <definition>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.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>true</enumeration_flag>
      <value_data_type>ASCII_Short_String_Collapsed</value_data_type>
      <minimum_characters>8</minimum_characters>
      <maximum_characters>25</maximum_characters>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
      <DD_Permissible_Value>
        <value>Body-fixed Rotating</value>
        <value_meaning>The PDS has specifically defined two types of body-fixed rotating
          coordinate systems: planetocentric and planetographic.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Body-fixed Non-rotating</value>
        <value_meaning>The body-fixed system is centered on the body and it is non-rotating</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Inertial</value>
        <value_meaning>an inertial coordinate system is fixed at some point in space.</value_meaning>
      </DD_Permissible_Value>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>coordinate_system_name</name>
    <version_id>1.0</version_id>
    <local_identifier>coordinate_system_name</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent Hare</submitter_name>
    <definition>The given name of the used coordinate system. e.g. "MEAN EARTH/POLAR AXIS OF DE421"</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Text_Preserved</value_data_type>
    </DD_Value_Domain>
  </DD_Attribute>

  <!-- 20151021: Per C.Isbell - added 'cart.latitude_type' -->
  <DD_Attribute>
    <name>latitude_type</name>
    <version_id>1.0</version_id>
    <local_identifier>latitude_type</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Chris Isbell</submitter_name>
    <definition>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
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>true</enumeration_flag>
      <value_data_type>ASCII_Short_String_Collapsed</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
      <DD_Permissible_Value>
        <value>Planetographic</value>
        <value_meaning>The planetographic latitude is the angle between 
        the equatorial plane and a line that is normal to the body.
        </value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Planetocentric</value>
        <value_meaning>The planetocentric latitude is the angle between 
        the equatorial plane and a line from the center of the body.
        </value_meaning>
      </DD_Permissible_Value>
    </DD_Value_Domain>
  </DD_Attribute>
  
  <DD_Attribute>
    <name>latitude_resolution</name>
    <version_id>1.0</version_id>
    <local_identifier>latitude_resolution</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The latitude_resolution attribute indicates the minimum
      difference between two adjacent latitude values expressed in angular
      units of measure.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>longitude_resolution</name>
    <version_id>1.0</version_id>
    <local_identifier>longitude_resolution</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The longitude_resolution attribute indicates the minimum
      difference between two adjacent longitude values expressed in angular
      units of measure.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>local_description</name>
    <version_id>1.0</version_id>
    <local_identifier>local_description</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The local_description attribute provides a description of
      the coordinate system and its orientation to the surface of a
      planet.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Text_Preserved</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>local_georeference_information</name>
    <version_id>1.0</version_id>
    <local_identifier>local_georeference_information</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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).</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Text_Preserved</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>planar_coordinate_encoding_method</name>
    <version_id>1.0</version_id>
    <local_identifier>planar_coordinate_encoding_method</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The planar_coordinate_encoding_method attribute indicates
      the means used to represent horizontal positions.</definition>
    <DD_Value_Domain>
      <enumeration_flag>true</enumeration_flag>
      <value_data_type>ASCII_Short_String_Collapsed</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
      <DD_Permissible_Value>
        <value>Coordinate Pair</value>
        <value_meaning>A method of encoding the position of a point by measuring its distance
          from perpendicular reference axes (Cartesian plane). The coordinate pair (x,y), 
          generally in meters, is defined such that x is determined by its horizontal distance
          from the origin and y is determined by its vertical distance from the origin.
        </value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Distance and Bearing</value>
        <value_meaning>A method of encoding the position of a point by measuring 
          its distance and direction (azimuth angle) from another point.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Row and Column</value>
        <value_meaning>A method of encoding the position of a point by measuring its distance
          from perpendicular reference axes (Cartesian plane). The coordinate pair (row,column), 
          generally in pixels, is defined such that the row is determined by its horizontal
          distance from the origin and column is determined by its vertical distance from the 
          origin.</value_meaning>
      </DD_Permissible_Value>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>map_projection_name</name>
    <version_id>1.0</version_id>
    <local_identifier>map_projection_name</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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.</definition>
    <DD_Value_Domain>
      <enumeration_flag>true</enumeration_flag>
      <value_data_type>ASCII_Short_String_Collapsed</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
      <DD_Permissible_Value>
        <value>Albers Conical Equal Area</value>
        <value_meaning>Projection is mathematically based on a cone that is conceptually 
          secant on two parallels. No areal deformation. North or South Pole is 
          represented by an arc. Retains its properties at various scales; individual maps 
          can be joined along their edges. </value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Azimuthal Equidistant</value>
        <value_meaning>Projection is mathematically based on a plane tangent to the body. 
          The entire body can be represented. Generally the Azimuthal Equidistant map 
          projection portrays less than one hemisphere, though the other hemisphere can 
          be portrayed but is much distorted. Has true direction and true distance 
          scaling from the point of tangency. </value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Equidistant Conic</value>
        <value_meaning>Projection is mathematically based on a cone that is tangent at 
          one parallel or conceptually secant at two parallels. North or South Pole is 
          represented by an arc. </value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Equirectangular</value>
        <value_meaning>Also called Equidistant Cylindrical, this projection is neither 
          equal-area or conformal and is known for its very simple construction. Equations only
          allow spherical body definitions. The meridians and parallels are all equidistant
          straight parallel lines, intersecting at right angles. If the Equator is made the
          standard parallel, true to scale and free of distortion, the meridians are spaced at 
          the same distances as the  parallels, and the graticule appears square. This form is
          often called the Plate Carree or the Simple Cylindrical projection.</value_meaning>
      </DD_Permissible_Value>
      <!-- 20181218 T.Hare, removed since this appears to be related and possibly a subset of Point Perspective
      <DD_Permissible_Value>
        <value>General Vertical Near-sided Projection</value>
        <value_meaning>TBD</value_meaning>
      </DD_Permissible_Value>
      -->
      <DD_Permissible_Value>
        <value>Gnomonic</value>
        <value_meaning>This projection is geometrically projected onto a plane, and 
          the point of projection is at the center of the body. It is impossible to show 
          a full hemisphere with one Gnomonic map. It is the only projection in which any 
          straight line is a great circle, and it is the only projection that shows the 
          shortest distance between any two points as a straight line. </value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Lambert Azimuthal Equal Area</value>
        <value_meaning>The Lambert Azimuthal Equal-Area projection is mathematically 
          based on a plane tangent to the body. It is the only projection that can accurately 
          represent both areas and true direction from the center of the projection. This 
          projection generally represents only one hemisphere.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Lambert Conformal Conic</value>
        <value_meaning>Projection is mathematically based on a cone that is tangent 
          at one parallel or (more often) that is conceptually secant on two parallels. 
          Areal distortion is minimal but increases away from the standard parallels. 
          North or South Pole is represented by a point; the other pole cannot be 
          shown. Great circle lines are approximately straight. It retains its properties 
          at various scale and maps can be joined along their edges.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Mercator</value>
        <value_meaning>Projection can be thought of as being mathematically based on 
          a cylinder tangent at the equator. Any straight line is a constant-azimuth 
          (rhumb) line. Areal enlargement is extreme away from the equator; poles 
          cannot be represented. Shape is true only within any small area. Reasonably 
          accurate projection within a 15 degree band along the line of tangency.
        </value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Miller Cylindrical</value>
        <value_meaning>Similar to Mercator, this projection is neither equal-area or conformal. 
          Equations only allow spherical body definitions. The meridians and parallels are straight 
          lines, intersecting at right angles. Meridians are equidistant and parallels are spaced 
          farther apart away from Equator. Generally used for global maps.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Oblique Cylindrical</value>
        <value_meaning>This projection works by moving the north pole of the simple cylindrical
          projection. The pole latitude and longitude are the location of the new north pole, 
          and the rotation is the equivalent to the center longitude in simple cylindrical.
          Because of the supported rotation parameter, this projection is pretty uniquely used in 
          the planetary community and it is implemented in USGS's Integrated Software for Imagers 
          and Spectrometers v2/3 (ISIS3) suite.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Oblique Mercator</value>
        <value_meaning>The projection is mathematically based on a cylinder tangent along any 
          great circle other than the equator or a meridian. Shape is true only within any small 
          area. Areal enlargement increases away from the line of tangency. Reasonably accurate 
          projection within a 15 degree band along the line of tangency.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Orthographic</value>
        <value_meaning>The Orthographic projection is geometrically based on a plane tangent 
          to the earth, and the point of projection is at infinity. The body appears as it 
          would from outer space. This projection is a truly graphic representation of the body 
          and is a projection in which distortion becomes a visual aid. It is the most familiar 
          of the azimuthal map projections. Directions from the center of the Orthographic map 
          projection are true.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Point Perspective</value>
        <value_meaning>Similar to Orthographic, this projection is often used to show the body
          as seen from space. This appears to be the same as the Vertical Perspective 
          projection as define in Synder, J.P., 1987, Map Projections: A Working Manual.  
          Vertical Perspective projections are azimuthal. Central meridian and a particular 
          parallel (if shown) are straight lines. Other meridians and parallels are usually 
          arcs of circles or ellipses, but some may be parabolas or hyperbolas. This is neither
          conformal or equal-area.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Polar Stereographic</value>
        <value_meaning>Related to the Stereographic projection but generally centered directly 
          at the North or South Pole of the body (e.g. latitude_of_projection_origin set at 90 
          or -90 respectively). This resembles other polar azimuthals, with straight radiating 
          meridians and concentric circles for parallels. The parallels are spaced at increasingly 
          wide distances the farther the latitude is from the pole. 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.
        </value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Polyconic</value>
        <value_meaning>Projection is mathematically based on an infinite number of cones tangent 
          to an infinite number of parallels. Distortion increases away from the central meridian. 
          Has both areal and angular deformation.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Robinson</value>
        <value_meaning>Also called orthophanic, Robinson is a compromise projection used for global 
          maps. Meridians are equally spaced and resemble elliptical arcs, concave toward the central 
          meridian. The poles are 0.53 times the length of the equator.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Sinusoidal</value>
        <value_meaning>Projection is mathematically based on a cylinder tangent on the equator. 
          Meridian spacing is equal and decreases toward the poles. Parallel spacing is equal. 
          There is no angular deformation along the central meridian and the equator. Cannot be 
          edge-joined in an east-west direction if each map has its own central meridian.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Space Oblique Mercator</value>
        <value_meaning>The Space Oblique Mercator (SOM) projection visually differs from the
          Oblique Mercator projection in that the central line (the ground-track of the orbiting 
          satellite) is slightly curved, rather than straight.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Stereographic</value>
        <value_meaning>The Stereographic projection is geometrically projected onto a plane, 
          and the point of the projection is on the surface of the sphere opposite the point 
          of tangency. Circles on the body appear as straight lines, parts of circles, or circles 
          on the projection. Directions from the center of the stereographic map projection are 
          true. Generally only one hemisphere is portrayed.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Transverse Mercator</value>
        <value_meaning>Projection is mathematically based on a cylinder tangent to a meridian. 
          Shape is true only within any small area. Areal enlargement increases away from the 
          tangent meridian. Reasonably accurate projection within a 15 degree band along the line of 
          tangency. Cannot be edge-joined in an east-west direction if each map has its own 
          central meridian.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>van der Grinten</value>
        <value_meaning>The projection has both areal and angular deformation. It was conceived 
          as a compromise between the Mercator and the Mollweide projection, which shows the world in
          an ellipse. The Vander Grinten shows the world in a circle.</value_meaning>
      </DD_Permissible_Value>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>grid_coordinate_system_name</name>
    <version_id>1.0</version_id>
    <local_identifier>grid_coordinate_system_name</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The grid_coordinate_system_name attribute provides the name
      of the grid coordinate system.</definition>
    <DD_Value_Domain>
      <enumeration_flag>true</enumeration_flag>
      <value_data_type>ASCII_Short_String_Collapsed</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
      <DD_Permissible_Value>
        <value>Universal Transverse Mercator</value>
        <value_meaning>The UTM is the ellipsoidal Transverse Mercator to which specific parameters, 
          such as central meridians, have been applied. This is generally used for Earth. The Earth, 
          between lats. 84 degrees North and 80 degrees South, is divided into 60 zones each generally 6 degrees wide in longitude. 
          Bounding meridians are evenly divisible by 6 degrees, and zones are numbered from 1 to 60 proceeding 
          east from the 180th meridian from Greenwich with minor exceptions.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Universal Polar Stereographic</value>
        <value_meaning>Like Universal Transverse Mercator (UTM), UPS is a method to split up the Earth
          into quads. When the latitude is from 84 degrees North and 80 degrees South to the respective poles, the (UPS) 
          projection is used.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>State Plane Coordinate System 1927</value>
        <value_meaning>In the United States, it is the projection used in the State Plane Coordinate 
          System (SPCS) for States with predominant north-south extent. (The Lambert Conformal Conic 
          is used for the others, except for the panhandle of Alaska, which is prepared on the Oblique
          Mercator. Alaska, Florida, and New York use both the Transverse Mercator and the Lambert 
          Conformal Conic for different zones.) Except for narrow States, such as Delaware, New Hampshire, 
          and New Jersey, all States using the Transverse Mercator are divided into two to eight zones, 
          each with its own central meridian, along which the scale is slightly reduced to balance
          the scale throughout the map. Each zone is designed to maintain scale distortion within 1 part 
          in 10,000. 1927 refers to the use of the 1927 North American Datum (NAD27).</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>State Plane Coordinate System 1983</value>
        <value_meaning>In the United States, it is the projection used in the State Plane Coordinate 
          System (SPCS) for States with predominant north-south extent. (The Lambert Conformal Conic 
          is used for the others, except for the panhandle of Alaska, which is prepared on the Oblique
          Mercator. Alaska, Florida, and New York use both the Transverse Mercator and the Lambert 
          Conformal Conic for different zones.) Except for narrow States, such as Delaware, New Hampshire, 
          and New Jersey, all States using the Transverse Mercator are divided into two to eight zones, 
          each with its own central meridian, along which the scale is slightly reduced to balance
          the scale throughout the map. Each zone is designed to maintain scale distortion within 1 part 
          in 10,000. 1983 refers to the use of the 1983 North American Datum (NAD83).</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>ARC Coordinate System</value>
        <value_meaning>the Equal Arc-second Coordinate System, a plane-rectangular coordinate system 
          established in Department of Defense, 1990.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Other Grid System</value>
        <value_meaning>a complete description of a grid system, not defined elsewhere in this standard, 
          that was used for the data set. The information provided shall include the name of the grid 
          system, the names of the parameters and values used for the data set, and the citation of the 
          specification for the algorithms that describe the mathematical relationship between the body 
          and the coordinates of the grid system.</value_meaning>
      </DD_Permissible_Value>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>local_planar_description</name>
    <version_id>1.0</version_id>
    <local_identifier>local_planar_description</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The local_planar_description attribute provides a description of the local planar system.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Text_Preserved</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>local_planar_georeference_information</name>
    <version_id>1.0</version_id>
    <local_identifier>local_planar_georeference_information</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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).</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Text_Preserved</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>

  <!-- 20151021: Per C.Isbell - removed 'cart.abscissa_resolution'
  <DD_Attribute>
    <name>abscissa_resolution</name>
    <version_id>1.0</version_id>
    <local_identifier>cart.abscissa_resolution</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The abscissa_resolution attribute provides the (nominal)
      minimum distance between the "x" or column values of two adjacent
      points.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <unit_of_measure_type>Units_of_Map_Scale</unit_of_measure_type>
      <specified_unit_id>km/pixel</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>
  -->
  
  <!-- 20151021: Per C.Isbell - removed 'cart.ordinate_resolution'
  <DD_Attribute>
    <name>ordinate_resolution</name>
    <version_id>1.0</version_id>
    <local_identifier>cart.ordinate_resolution</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The ordinate_resolution attribute provides the (nominal)
      minimum distance between the "y" or row values of two adjacent
      points.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <unit_of_measure_type>Units_of_Map_Scale</unit_of_measure_type>
      <specified_unit_id>km/pixel</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>
  -->

  <!-- 20151021: Per C.Isbell - added 'cart.pixel_resolution_x' -->
  <DD_Attribute>
    <name>pixel_resolution_x</name>
    <version_id>1.0</version_id>
    <local_identifier>pixel_resolution_x</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Chris Isbell</submitter_name>
    <definition>
      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.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <!--<unit_of_measure_type>Units_of_Pixel_Resolution_Map</unit_of_measure_type>-->
      <unit_of_measure_type>Units_of_Map_Scale</unit_of_measure_type>
      <specified_unit_id>m/pixel</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>
  
  <!-- 20151021: Per C.Isbell - added 'cart.pixel_resolution_y' -->
  <DD_Attribute>
    <name>pixel_resolution_y</name>
    <version_id>1.0</version_id>
    <local_identifier>pixel_resolution_y</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Chris Isbell</submitter_name>
    <definition>
      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.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <!--<unit_of_measure_type>Units_of_Pixel_Resolution_Map</unit_of_measure_type>-->
      <unit_of_measure_type>Units_of_Map_Scale</unit_of_measure_type>
      <specified_unit_id>m/pixel</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <!-- 20151021: Per C.Isbell - added 'cart.pixel_scale_x' -->
  <DD_Attribute>
    <name>pixel_scale_x</name>
    <version_id>1.0</version_id>
    <local_identifier>pixel_scale_x</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Chris Isbell</submitter_name>
    <definition>
        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
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <!--<unit_of_measure_type>Units_of_Pixel_Scale_Map</unit_of_measure_type>-->
      <unit_of_measure_type>Units_of_Map_Scale</unit_of_measure_type>
      <specified_unit_id>pixel/deg</specified_unit_id>
      
    </DD_Value_Domain>
  </DD_Attribute>

  <!-- 20151021: Per C.Isbell - added 'cart.pixel_scale_y' -->
  <DD_Attribute>
    <name>pixel_scale_y</name>
    <version_id>1.0</version_id>
    <local_identifier>pixel_scale_y</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Chris Isbell</submitter_name>
    <definition>
      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
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <!--<unit_of_measure_type>Units_of_Pixel_Scale_Map</unit_of_measure_type>-->
      <unit_of_measure_type>Units_of_Map_Scale</unit_of_measure_type>
      <specified_unit_id>pixel/deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>
  
  <!--DD_Attribute>
    <name>pixel_resolution</name>
    <version_id>1.0</version_id>
    <local_identifier>pixel_resolution</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>
      The pixel_resolution attribute indicate the image
      array pixel resolution (distance/pixel or degree/pixel) relative to the
      referenced coordinate system as defined by the map projection. This attribute should be used in 
      lieu of pixel_resolution_x and pixel_resolution_y when the pixel resolution is not  x/y aligned.
      i.e. a radial pixel resolution.
      
      NOTE: Definition of this PDS4 attribute differs from how 'resolution' was defined within PDS3
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <unit_of_measure_type>Units_of_Map_Scale</unit_of_measure_type>
      <specified_unit_id>pixel/deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute-->
  
  <DD_Attribute>
    <name>pixel_scale</name>
    <version_id>1.0</version_id>
    <local_identifier>pixel_scale</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>
      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
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <unit_of_measure_type>Units_of_Map_Scale</unit_of_measure_type>
      <specified_unit_id>pixel/deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>
  
  <DD_Attribute>
    <name>distance_resolution</name>
    <version_id>1.0</version_id>
    <local_identifier>distance_resolution</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The distance_resolution attribute provides the minimum
      distance measurable between two points, expressed in Planar Distance
      Units of measure.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <unit_of_measure_type>Units_of_Map_Scale</unit_of_measure_type>
      <specified_unit_id>km/pixel</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>bearing_resolution</name>
    <version_id>1.0</version_id>
    <local_identifier>bearing_resolution</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The bearing_resolution attribute provides the minimum angle
      measurable between two points.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>bearing_reference_direction</name>
    <version_id>1.0</version_id>
    <local_identifier>bearing_reference_direction</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The bearing_reference_direction attribute specifies the
      direction from which the bearing is measured.</definition>
    <DD_Value_Domain>
      <enumeration_flag>true</enumeration_flag>
      <value_data_type>ASCII_Short_String_Collapsed</value_data_type>
      <minimum_characters>5</minimum_characters>
      <maximum_characters>5</maximum_characters>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
      <DD_Permissible_Value>
        <value>North</value>
        <value_meaning>For planets and satellites, latitude is measured north and south of 
          the equator; north latitudes are designated as positive.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>South</value>
        <value_meaning>For planets and satellites, latitude is measured north and south of 
          the equator; south latitudes are designated as negative.</value_meaning>
      </DD_Permissible_Value>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>bearing_reference_meridian</name>
    <version_id>1.0</version_id>
    <local_identifier>bearing_reference_meridian</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The bearing_reference_meridian attribute specifies the axis
      from which the bearing is measured.</definition>
    <DD_Value_Domain>
      <enumeration_flag>true</enumeration_flag>
      <value_data_type>ASCII_Short_String_Collapsed</value_data_type>
      <minimum_characters>4</minimum_characters>
      <maximum_characters>10</maximum_characters>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
      <DD_Permissible_Value>
        <value>Assumed</value>
        <value_meaning>An assumed bearing is one in which the reference direction is 
          straight ahead, where the bearing is measured relative to the direction the 
          navigator is facing.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Grid</value>
        <value_meaning>A grid bearing is measured in relation to the fixed horizontal 
          reference plane of grid north, that is, using the direction northwards along 
          the grid lines of the map projection as a reference point.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Magnetic</value>
        <value_meaning>A magnetic bearing is measured in relation to magnetic north on Earth.
        </value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Astronomic</value>
        <value_meaning>A astronomic bearing is measured in relation to the North Star, 
        Polaris on Earth.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Geodetic</value>
        <value_meaning>A geodectic bearing (or true bearing) is measured in relation to true 
          north via a great circle (or the shortest path connecting two points on the 
          surface of the body).</value_meaning>
      </DD_Permissible_Value>
    </DD_Value_Domain>
  </DD_Attribute>

<!-- 20160816: C.Isbell , remove standard_parallel and replace with standard_parallel_1
                          Add standard_parallel_2 -->
<!--
  <DD_Attribute>
    <name>standard_parallel</name>
    <version_id>1.0</version_id>
    <local_identifier>cart.standard_parallel</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The standard_parallel attribute defines the line of
      constant latitude at which the surface of the planet and the plane or
      developable surface intersect.</definition>
-->
  <DD_Attribute>
    <name>standard_parallel_1</name>
    <version_id>1.0</version_id>
    <local_identifier>standard_parallel_1</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Chris Isbell</submitter_name>
    <definition>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.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>-90.0</minimum_value>
      <maximum_value>90.0</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <!-- 20160816: C.Isbell , Added standard_parallel_2, see standard_parallel_1 above -->
  <DD_Attribute>
    <name>standard_parallel_2</name>
    <version_id>1.0</version_id>
    <local_identifier>standard_parallel_2</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Chris Isbell</submitter_name>
    <definition>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.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>-90.0</minimum_value>
      <maximum_value>90.0</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>longitude_of_central_meridian</name>
    <version_id>1.0</version_id>
    <local_identifier>longitude_of_central_meridian</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>-180.0</minimum_value>
      <maximum_value>360.0</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>latitude_of_projection_origin</name>
    <version_id>1.0</version_id>
    <local_identifier>latitude_of_projection_origin</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The latitude_of_projection_origin attribute defines
      the latitude chosen as the origin of rectangular coordinates
      for a map projection.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>-90.0</minimum_value>
      <maximum_value>90.0</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <!--DD_Attribute>
    <name>scale_factor_at_center_line</name>
    <version_id>1.0</version_id>
    <local_identifier>scale_factor_at_center_line</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute-->

  <!--DD_Attribute>, removed, just use longitude_of_central_meridian
    <name>straight_vertical_longitude_from_pole</name>
    <version_id>1.0</version_id>
    <local_identifier>straight_vertical_longitude_from_pole</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The straight_vertical_longitude_from_pole attribute
      provides the longitude oriented straight up from the North or South
      Pole.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>-180.0</minimum_value>
      <maximum_value>360.0</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute-->

  <DD_Attribute>
    <name>scale_factor_at_central_meridian</name>
    <version_id>1.0</version_id>
    <local_identifier>scale_factor_at_central_meridian</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>utm_zone_number</name>
    <version_id>1.0</version_id>
    <local_identifier>utm_zone_number</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The utm_zone_number attribute provides the identifier for
      the Universal Transverse Mercator (UTM) zone.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Integer</value_data_type>
      <minimum_value>-60</minimum_value>
      <maximum_value>60</maximum_value>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>ups_zone_identifier</name>
    <version_id>1.0</version_id>
    <local_identifier>ups_zone_identifier</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The ups_zone_identifier attribute provides an identifier
      for the Universal Polar Stereographic (UPS) zone.</definition>
    <DD_Value_Domain>
      <enumeration_flag>true</enumeration_flag>
      <value_data_type>ASCII_Short_String_Collapsed</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
      <DD_Permissible_Value>
        <value>A</value>
        <value_meaning>UPS Zone Identifier: A</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>B</value>
        <value_meaning>UPS Zone Identifier: B</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Y</value>
        <value_meaning>UPS Zone Identifier: Y</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Z</value>
        <value_meaning>UPS Zone Identifier: Z</value_meaning>
      </DD_Permissible_Value>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>spcs_zone_identifier</name>
    <version_id>1.0</version_id>
    <local_identifier>spcs_zone_identifier</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The spcs_zone_identifier attribute identifies the
      State Plane Coordinate Systems (SPCS) zone.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Short_String_Collapsed</value_data_type>
      <minimum_characters>4</minimum_characters>
      <maximum_characters>4</maximum_characters>
      <pattern>[0-9][0-9][0-9][0-9]</pattern>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>azimuthal_angle</name>
    <version_id>1.0</version_id>
    <local_identifier>azimuthal_angle</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The azimuthal_angle attribute provides the angle measured
      clockwise from north, and expressed in degrees.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <maximum_value>360.0</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>azimuth_measure_point_longitude</name>
    <version_id>1.0</version_id>
    <local_identifier>azimuth_measure_point_longitude</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The azimuth_measure_point_longitude attribute provides the
      longitude of the map projection origin.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>-180.0</minimum_value>
      <maximum_value>360.0</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>oblique_line_latitude</name>
    <version_id>1.0</version_id>
    <local_identifier>oblique_line_latitude</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The oblique_line_latitude attribute provides the latitude
      of a point defining the oblique line.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>-90.0</minimum_value>
      <maximum_value>90.0</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>

  <DD_Attribute>
    <name>oblique_line_longitude</name>
    <version_id>1.0</version_id>
    <local_identifier>oblique_line_longitude</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The oblique_line_longitude attribute provides the longitude
      of a point defining the oblique line.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>-180.0</minimum_value>
      <maximum_value>360.0</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>
  
  <!-- Map_Projection_Lander attributes START -->
  <DD_Attribute>
    <name>lander_map_projection_name</name>
    <version_id>1.0</version_id>
    <local_identifier>lander_map_projection_name</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>The lander_map_projection_name attribute provides the name of the
      map projection.</definition>
    <DD_Value_Domain>
      <enumeration_flag>true</enumeration_flag>
      <value_data_type>ASCII_Short_String_Collapsed</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
      <DD_Permissible_Value>
        <value>Cylindrical</value>
        <value_meaning>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.
        </value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Vertical</value>
        <value_meaning>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.
        </value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Perspective</value>
        <value_meaning>This is an in-situ projection that models a pinhole camera.
        </value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Polar</value>
        <value_meaning>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.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Orthographic</value>
        <value_meaning>This is an in-situ projection that is a generalization of 
          the Vertical projection, in that any arbitrary projection plane can be 
          specified.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Orthorectified</value>
        <value_meaning>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.</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Cylindrical_Perspective</value>
        <value_meaning>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.</value_meaning>
      </DD_Permissible_Value>
    </DD_Value_Domain>
  </DD_Attribute>
  
  <!-- Map_Projection_Rings, added THare 20190909 -->
  <DD_Attribute>
    <name>rings_map_projection_name</name>
    <version_id>1.0</version_id>
    <local_identifier>rings_map_projection_name</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent Hare</submitter_name>
    <definition>The rings_map_projection_name attribute provides the name of the
      map projection used for rings data.</definition>
    <DD_Value_Domain>
      <enumeration_flag>true</enumeration_flag>
      <value_data_type>ASCII_Short_String_Collapsed</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
      <DD_Permissible_Value>
        <value>Ring_Polar</value>
        <value_meaning>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).
        </value_meaning>
      </DD_Permissible_Value>
    </DD_Value_Domain>
  </DD_Attribute>
  
  <!-- Base Vector attributes -->
  <DD_Attribute>
    <name>x_unit</name>
    <version_id>1.0</version_id>
    <local_identifier>x_unit</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>The x component of a unit vector.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>y_unit</name>
    <version_id>1.0</version_id>
    <local_identifier>y_unit</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>The y component of a unit vector.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>z_unit</name>
    <version_id>1.0</version_id>
    <local_identifier>z_unit</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>The z component of a unit vector.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>x_length</name>
    <version_id>1.0</version_id>
    <local_identifier>x_length</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>The x_length attribute represents length in the x-direction.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Length</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>y_length</name>
    <version_id>1.0</version_id>
    <local_identifier>y_length</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>The y_length attribute represents length in the y-direction.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Length</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>z_length</name>
    <version_id>1.0</version_id>
    <local_identifier>z_length</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>The z_length attribute represents length in the z-direction.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Length</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>x_position</name>
    <version_id>1.0</version_id>
    <local_identifier>x_position</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Mitchell K. Gordon</submitter_name>
    <definition>The x component of a Cartesian position vector.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Length</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>y_position</name>
    <version_id>1.0</version_id>
    <local_identifier>y_position</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Mitchell K. Gordon</submitter_name>
    <definition>The y component of a Cartesian position vector.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Length</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>z_position</name>
    <version_id>1.0</version_id>
    <local_identifier>z_position</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Mitchell K. Gordon</submitter_name>
    <definition>The z component of a Cartesian position vector.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Length</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>x</name>
    <version_id>1.0</version_id>
    <local_identifier>x</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth Rye</submitter_name>
    <definition>The x component of a Cartesian vector which has no units.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>y</name>
    <version_id>1.0</version_id>
    <local_identifier>y</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth Rye</submitter_name>
    <definition>The y component of a Cartesian vector which has no units.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>z</name>
    <version_id>1.0</version_id>
    <local_identifier>z</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Elizabeth Rye</submitter_name>
    <definition>The z component of a Cartesian vector which has no units.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <!-- Base Vector attributed END -->
  
  <DD_Attribute>
    <name>x_axis_minimum</name>
    <version_id>1.0</version_id>
    <local_identifier>x_axis_minimum</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Length</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>x_axis_maximum</name>
    <version_id>1.0</version_id>
    <local_identifier>x_axis_maximum</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Length</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>y_axis_minimum</name>
    <version_id>1.0</version_id>
    <local_identifier>y_axis_minimum</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Length</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>y_axis_maximum</name>
    <version_id>1.0</version_id>
    <local_identifier>y_axis_maximum</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Length</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>start_azimuth</name>
    <version_id>1.0</version_id>
    <local_identifier>start_azimuth</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0</minimum_value>
      <maximum_value>360</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>stop_azimuth</name>
    <version_id>1.0</version_id>
    <local_identifier>stop_azimuth</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0</minimum_value>
      <maximum_value>360</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>minimum_elevation</name>
    <version_id>1.0</version_id>
    <local_identifier>minimum_elevation</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>maximum_elevation</name>
    <version_id>1.0</version_id>
    <local_identifier>maximum_elevation</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>surface_model_type</name>
    <version_id>1.0</version_id>
    <local_identifier>surface_model_type</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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. 
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Short_String_Collapsed</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
      <DD_Permissible_Value>
        <value>Spherical</value>
        <value_meaning>spherical surface model</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>Planar</value>
        <value_meaning>flat planar surface model</value_meaning>
      </DD_Permissible_Value>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>sphere_radius</name>
    <version_id>1.0</version_id>
    <local_identifier>sphere_radius</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>The sphere_radius attribute specifies the radius of the spherical body. In PDS3, this was specified using the  
      SURFACE_NORMAL_VECTOR keyword.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <unit_of_measure_type>Units_of_Length</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>sphere_intersection_count</name>
    <version_id>1.0</version_id>
    <local_identifier>sphere_intersection_count</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Integer</value_data_type>
      <minimum_value>1</minimum_value>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>projection_azimuth</name>
    <version_id>1.0</version_id>
    <local_identifier>projection_azimuth</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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).
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>1</minimum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>projection_elevation</name>
    <version_id>1.0</version_id>
    <local_identifier>projection_elevation</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>projection_elevation_line</name>
    <version_id>1.0</version_id>
    <local_identifier>projection_elevation_line</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>1</minimum_value>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>zero_elevation_line</name>
    <version_id>1.0</version_id>
    <local_identifier>zero_elevation_line</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>The zero_elevation_line attribute specifies the image line representing 0.0 degree elevation. 
      Applies to Cylindrical lander map projections.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>reference_azimuth</name>
    <version_id>1.0</version_id>
    <local_identifier>reference_azimuth</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>line</name>
    <version_id>1.0</version_id>
    <local_identifier>line</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>The line attribute specifies the line number in the image.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>sample</name>
    <version_id>1.0</version_id>
    <local_identifier>sample</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>The sample attribute specifies the sample number.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>projection_axis_offset</name>
    <version_id>1.1</version_id>
    <local_identifier>projection_axis_offset</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Length</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <!-- Map_Projection_Lander attributes END -->

  <!-- P Geissler edits: attributes of Oblique Cylindrical projection -->
  <!-- CENTER_LATITUDE  maps to latitude_of_projection_origin -->
  <!-- CENTER_LONGITUDE maps to longitude_of_central_meridian -->
  <DD_Attribute>
    <name>reference_latitude</name>
    <version_id>1.0</version_id>
    <local_identifier>reference_latitude</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Paul Geissler</submitter_name>
    <definition>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.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>-90.0</minimum_value>
      <maximum_value>90.0</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>
  
  <DD_Attribute>
    <name>reference_longitude</name>
    <version_id>1.0</version_id>
    <local_identifier>reference_longitude</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Paul Geissler</submitter_name>
    <definition>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.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>-180.0</minimum_value>
      <maximum_value>360.0</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>
  
  <DD_Attribute>
    <name>map_projection_rotation</name>
    <version_id>1.0</version_id>
    <local_identifier>map_projection_rotation</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Paul Geissler</submitter_name>
    <definition>Included for generality, always 90 degrees for Cassini BIDRs.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <maximum_value>360.0</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>
  <!-- SAMPLE/LINE_PROJECTION_OFFSET maps to upperleft_corner_x/y in meters -->
  
  <DD_Attribute>
    <name>oblique_proj_pole_latitude</name>
    <version_id>1.0</version_id>
    <local_identifier>oblique_proj_pole_latitude</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Paul Geissler</submitter_name>
    <definition>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.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>-90.0</minimum_value>
      <maximum_value>90.0</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>
  
  <DD_Attribute>
    <name>oblique_proj_pole_longitude</name>
    <version_id>1.0</version_id>
    <local_identifier>oblique_proj_pole_longitude</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Paul Geissler</submitter_name>
    <definition>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.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>-180.0</minimum_value>
      <maximum_value>360.0</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>
  
  <DD_Attribute>
    <name>oblique_proj_pole_rotation</name>
    <version_id>1.0</version_id>
    <local_identifier>oblique_proj_pole_rotation</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Paul Geissler</submitter_name>
    <definition>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.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <minimum_value>0.0</minimum_value>
      <maximum_value>360.0</maximum_value>
      <unit_of_measure_type>Units_of_Angle</unit_of_measure_type>
      <specified_unit_id>deg</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>
  
  <DD_Attribute>
    <name>oblique_proj_x_axis_vector</name>
    <version_id>1.0</version_id>
    <local_identifier>oblique_proj_x_axis_vector</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Paul Geissler</submitter_name>
    <definition>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.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Text_Preserved</value_data_type>
      <!-- string of form "(-0.40371897,0.91470143,0.01822869)", three real numbers in range of -1.0 to +1.0 -->
    </DD_Value_Domain>
  </DD_Attribute>
  
  <DD_Attribute>
    <name>oblique_proj_y_axis_vector</name>
    <version_id>1.0</version_id>
    <local_identifier>oblique_proj_y_axis_vector</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Paul Geissler</submitter_name>
    <definition>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.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Text_Preserved</value_data_type>
      <!-- string of form "(-0.40371897,0.91470143,0.01822869)", three real numbers in range of -1.0 to +1.0 -->
    </DD_Value_Domain>
  </DD_Attribute>
  
  <DD_Attribute>
    <name>oblique_proj_z_axis_vector</name>
    <version_id>1.0</version_id>
    <local_identifier>oblique_proj_z_axis_vector</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Paul Geissler</submitter_name>
    <definition>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.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Text_Preserved</value_data_type>
      <!-- string of form "(-0.40371897,0.91470143,0.01822869)", three real numbers in range of -1.0 to +1.0 -->
    </DD_Value_Domain>
  </DD_Attribute>
  
  <DD_Attribute>
    <name>look_direction</name>
    <version_id>1.0</version_id>
    <local_identifier>look_direction</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Paul Geissler</submitter_name>
    <definition>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.
    </definition>
    <DD_Value_Domain>
      <enumeration_flag>true</enumeration_flag>
      <value_data_type>ASCII_Short_String_Collapsed</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
      <DD_Permissible_Value>
        <value>LEFT</value>
        <value_meaning>Antenna pointed left of spacecraft ground-track</value_meaning>
      </DD_Permissible_Value>
      <DD_Permissible_Value>
        <value>RIGHT</value>
        <value_meaning>Antenna pointed right of spacecraft groundtrack</value_meaning>
      </DD_Permissible_Value>
    </DD_Value_Domain>
  </DD_Attribute>

  <!-- Map_Projection_Rings attributes START, THare Sep. 2019 -->
  <!-- definitions (although brief) from Cassini Composite Infrared Spectrometer (CIRS) SIS,
        Version 1.1, Relevant to PDS v3.2, December 22, 2015. filename CUBESIS.PDF -->
  <DD_Attribute>
    <name>data_count</name>
    <version_id>1.0</version_id>
    <local_identifier>data_count</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent Hare</submitter_name>
    <definition>Number of measurements combined to create the cube.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_NonNegative_Integer</value_data_type>
      <minimum_value>1</minimum_value>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>angular_scale</name>
    <version_id>1.0</version_id>
    <local_identifier>angular_scale</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent Hare</submitter_name>
    <definition>Grid spacing. Unit is radian/pixel.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Pixel_Resolution_Angular</unit_of_measure_type>
      <specified_unit_id>radian/pixel</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>radial_scale</name>
    <version_id>1.0</version_id>
    <local_identifier>radial_scale</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent Hare</submitter_name>
    <definition>Grid spacing. Unit is km/pixel.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Pixel_Resolution_Linear</unit_of_measure_type>
      <specified_unit_id>km/pixel</specified_unit_id>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>local_time_scale</name>
    <version_id>1.0</version_id>
    <local_identifier>local_time_scale</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent Hare</submitter_name>
    <definition>Grid spacing. Unit is local hours/pixel.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_Misc</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>sample_name</name>
    <version_id>1.0</version_id>
    <local_identifier>sample_name</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent Hare</submitter_name>
    <definition>Coordinate name for the sample axis. e.g. "RADIUS KM"</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Text_Preserved</value_data_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>line_name</name>
    <version_id>1.0</version_id>
    <local_identifier>line_name</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent Hare</submitter_name>
    <definition>Coordinate name for the line axis. e.g. "LOCAL TIME HOURS"</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Text_Preserved</value_data_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>first_sample_center</name>
    <version_id>1.0</version_id>
    <local_identifier>first_sample_center</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent Hare</submitter_name>
    <definition>Sample coordinate at the center of the first sample element.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>first_line_center</name>
    <version_id>1.0</version_id>
    <local_identifier>first_line_center</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent Hare</submitter_name>
    <definition>Line coordinate at the center of the first line element.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>last_sample_center</name>
    <version_id>1.0</version_id>
    <local_identifier>last_sample_center</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent Hare</submitter_name>
    <definition>Sample coordinate at the center of the last sample element.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>last_line_center</name>
    <version_id>1.0</version_id>
    <local_identifier>last_line_center</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent Hare</submitter_name>
    <definition>Line coordinate at the center of the last line element.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>min_footprint_sample</name>
    <version_id>1.0</version_id>
    <local_identifier>min_footprint_sample</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent Hare</submitter_name>
    <definition>Minimum size of footprints along the sample axis.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>min_footprint_line</name>
    <version_id>1.0</version_id>
    <local_identifier>min_footprint_line</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent Hare</submitter_name>
    <definition>Minimum size of footprints along the line axis.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>max_footprint_sample</name>
    <version_id>1.0</version_id>
    <local_identifier>max_footprint_sample</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent Hare</submitter_name>
    <definition>Maximum size of footprints along the sample axis.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <DD_Attribute>
    <name>max_footprint_line</name>
    <version_id>1.0</version_id>
    <local_identifier>max_footprint_line</local_identifier>
    <nillable_flag>false</nillable_flag>
    <submitter_name>Trent Hare</submitter_name>
    <definition>Maximum size of footprints along the line axis.</definition>
    <DD_Value_Domain>
      <enumeration_flag>false</enumeration_flag>
      <value_data_type>ASCII_Real</value_data_type>
      <unit_of_measure_type>Units_of_None</unit_of_measure_type>
    </DD_Value_Domain>
  </DD_Attribute>
  <!-- Map_Projection_Rings attributes END -->
  
  <DD_Class>
    <name>Cartography</name>
    <version_id>1.0</version_id>
    <local_identifier>Cartography</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The Cartography class provides a description of how a 3D sphere, spheroid, or elliptical spheroid or the celestial 
      sphere is mapped onto a plane.
    </definition>
    <element_flag>true</element_flag>
    <DD_Association>
      <identifier_reference>pds.Local_Internal_Reference</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>*</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Spatial_Domain</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Secondary_Spatial_Domain</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Spatial_Reference_Information</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Cartography</name>
      <definition>The Cartography class provides a description of how a 3D sphere, spheroid, or elliptical spheroid or the 
        celestial sphere is mapped onto a plane.
      </definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>
  
  <DD_Class>
    <name>Spatial_Domain</name>
    <version_id>1.0</version_id>
    <local_identifier>Spatial_Domain</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The Spatial_Domain class describes the geographic areal
      domain of the data set.
    </definition>
    <DD_Association>
      <identifier_reference>Bounding_Coordinates</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Spatial_Domain</name>
      <definition>The Spatial_Domain class describes the geographic areal domain of the data set.
      </definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>
  
  <DD_Class>
    <name>Secondary_Spatial_Domain</name>
    <version_id>1.0</version_id>
    <local_identifier>Secondary_Spatial_Domain</local_identifier>
    <submitter_name>Trent Hare</submitter_name>
    <definition>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.
    </definition>
    <DD_Association>
      <identifier_reference>Bounding_Coordinates</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>longitude_direction</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>latitude_type</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Secondary_Spatial_Domain</name>
      <definition>The Secondary_Spatial_Domain class optionally describes a second or alternative 
        geographic areal domain of the data set which is recommended by the IAU or has historical use in previous
        PDS archives. For example, if Spatial_Domain is defined using a POSITIVE_EAST longitude_direction, this
        section can define to list the Bounding_Coordinates using POSITIVE_WEST coordinates and a different
        latitude_type. This was implemented for the Europa Clipper mission to support both POSITIVE_EAST 
        (within Spatial_Domain) and the historical use of POSITIVE_WEST for Europa (within Secondary_Spatial_Domain).
      </definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>
  
  <DD_Class>
    <name>Spatial_Reference_Information</name>
    <version_id>1.0</version_id>
    <local_identifier>Spatial_Reference_Information</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The Spatial_Reference_Information class provides a
      description of the reference frame for, and the means to encode,
      coordinates in a data set.
    </definition>
    <DD_Association>
      <identifier_reference>Horizontal_Coordinate_System_Definition</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Spatial_Reference_Information</name>
      <definition>The Spatial_Reference_Information class provides a description of the reference frame for, and the means
        to encode, coordinates in a data set.
      </definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>
  
  <DD_Class>
    <name>Bounding_Coordinates</name>
    <version_id>1.0</version_id>
    <local_identifier>Bounding_Coordinates</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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.
    </definition>
    <DD_Association>
      <identifier_reference>west_bounding_coordinate</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>east_bounding_coordinate</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>north_bounding_coordinate</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>south_bounding_coordinate</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Bounding_Coordinates</name>
      <definition>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.
      </definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>

  <DD_Class>
    <name>Horizontal_Coordinate_System_Definition</name>
    <version_id>1.0</version_id>
    <local_identifier>Horizontal_Coordinate_System_Definition</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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.
    </definition>
    <DD_Association>
      <identifier_reference>XSChoice#</identifier_reference>
      <identifier_reference>Geographic</identifier_reference>
      <identifier_reference>Planar</identifier_reference>
      <identifier_reference>Local</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Geodetic_Model</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Horizontal_Coordinate_System_Definition</name>
      <definition>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.
      </definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>
  
  <DD_Class>
    <name>Geodetic_Model</name>
    <version_id>1.0</version_id>
    <local_identifier>Geodetic_Model</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The Geodetic_Model class provides parameters describing the shape of the planet.</definition>
    <!-- 20151021: Per C.Isbell - added 'cart.latitude_type' -->
    <DD_Association>
      <identifier_reference>latitude_type</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <!-- 20151021: Per C.Isbell - removed 'cart.horizontal_datum_name'
    <DD_Association>
      <identifier_reference>cart.horizontal_datum_name</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    -->
    <!-- 20151021: Per C.Isbell - renamed 'ellipsoid_name' to 'spheroid_name', optional -->
    <DD_Association>
      <identifier_reference>spheroid_name</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <!-- 20151021: Per C.Isbell - removed 'cart.reference_frame_name'
    <DD_Association>
      <identifier_reference>cart.reference_frame_name</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    -->
    <DD_Association>
      <identifier_reference>a_axis_radius</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>b_axis_radius</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>c_axis_radius</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>longitude_direction</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>coordinate_system_type</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>coordinate_system_name</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Geodetic_Model</name>
      <definition>The Geodetic_Model class provides parameters describing the shape of the planet.</definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>
  
  <!-- 20190222: Per THare - changed 'cart.latitude_resolution' and 'cart:longitude_resolution' to be optional, not needed for vector GIS labels -->
  <DD_Class>
    <name>Geographic</name>
    <version_id>1.0</version_id>
    <local_identifier>Geographic</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>latitude_resolution</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>longitude_resolution</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Geographic</name>
      <definition>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.
      </definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>
  
  <DD_Class>
    <name>Planar</name>
    <version_id>1.0</version_id>
    <local_identifier>Planar</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>XSChoice#</identifier_reference>
      <identifier_reference>Map_Projection</identifier_reference>
      <identifier_reference>Grid_Coordinate_System</identifier_reference>
      <identifier_reference>Local_Planar</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <!-- 20190209: Per T.Hare - Planar_Coordinate_Information is no longer mandated to support vector files. It should be there for images-->
    <DD_Association>
      <identifier_reference>Planar_Coordinate_Information</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Geo_Transformation</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Planar</name>
      <definition>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.
      </definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>
  
  <DD_Class>
    <name>Local</name>
    <version_id>1.0</version_id>
    <local_identifier>Local</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The Local class provides a description of any coordinate
      system that is not aligned with the surface of the planet.
    </definition>
    <DD_Association>
      <identifier_reference>local_description</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>local_georeference_information</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Map_Projection_Lander</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Map_Projection_Rings</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Surface_Model_Parameters</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Local</name>
      <definition>The Local class provides a description of any coordinate system that is not aligned with 
        the surface of the planet.</definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>
  
  <DD_Class>
    <name>Planar_Coordinate_Information</name>
    <version_id>1.0</version_id>
    <local_identifier>Planar_Coordinate_Information</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The Planar_Coordinate_Information class provides
      information about the coordinate system developed on the planar
      surface.</definition>
    <DD_Association>
      <identifier_reference>planar_coordinate_encoding_method</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>XSChoice#</identifier_reference>
      <identifier_reference>Coordinate_Representation</identifier_reference>
      <identifier_reference>Distance_and_Bearing_Representation</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Map_Projection</name>
    <version_id>1.0</version_id>
    <local_identifier>Map_Projection</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>The Map_Projection class provides the systematic representation of all or 
      part of the surface of a planet on a plane (or Cartesian system).
    </definition>
    <DD_Association>
      <identifier_reference>map_projection_name</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>XSChoice#</identifier_reference>
      <identifier_reference>Equirectangular</identifier_reference>
      <identifier_reference>Lambert_Azimuthal_Equal_Area</identifier_reference>
      <identifier_reference>Lambert_Conformal_Conic</identifier_reference>
      <identifier_reference>Mercator</identifier_reference>
      <identifier_reference>Oblique_Cylindrical</identifier_reference>
      <identifier_reference>Oblique_Mercator</identifier_reference>
      <identifier_reference>Orthographic</identifier_reference>
      <identifier_reference>Point_Perspective</identifier_reference>
      <identifier_reference>Polar_Stereographic</identifier_reference>
      <identifier_reference>Polyconic</identifier_reference>
      <identifier_reference>Sinusoidal</identifier_reference>
      <identifier_reference>Transverse_Mercator</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Map_Projection</name>
      <definition>The Map_Projection class provides the systematic representation of all or part of the 
        surface of a planet on a plane or developable surface.
      </definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>
  
  <DD_Class>
    <name>Grid_Coordinate_System</name>
    <version_id>1.0</version_id>
    <local_identifier>Grid_Coordinate_System</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>grid_coordinate_system_name</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Universal_Transverse_Mercator</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Universal_Polar_Stereographic</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>State_Plane_Coordinate_System</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Grid_Coordinate_System</name>
      <definition>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.
      </definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>
  
  <DD_Class>
    <name>Local_Planar</name>
    <version_id>1.0</version_id>
    <local_identifier>Local_Planar</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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.
    </definition>
    <DD_Association>
      <identifier_reference>local_planar_description</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>local_planar_georeference_information</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Local_Planar</name>
      <definition>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.
      </definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>
  
  <DD_Class>
    <name>Coordinate_Representation</name>
    <version_id>1.0</version_id>
    <local_identifier>Coordinate_Representation</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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).
    </definition>

    <!-- 20151021: Per C.Isbell - removed 'cart.abscissa_resolution' , name changed to pixel_resolution_x 
    <DD_Association>
      <identifier_reference>cart.abscissa_resolution</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    -->
    <!-- 20151021: Per C.Isbell - removed 'cart.ordinate_resolution', name changed to pixel_resolution_y
    <DD_Association>
      <identifier_reference>cart.ordinate_resolution</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    -->

    <!-- 20151021: Per C.Isbell - added 'cart.pixel_resolution_x' -->
    <!-- 20151022: Per C.Isbell - Both pixel_resolution_x|y and pixel_scale_x|y pairs must be present within a cartographic label -->
    <!-- 20190222: Per T.Hare - pixel_resolution_x|y and pixel_scale_x|y pairs are only madatory if Planar_Coordinate_Information is present-->
    <DD_Association>
      <identifier_reference>pixel_resolution_x</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>

    <!-- 20151021: Per C.Isbell - added 'cart.pixel_resolution_y' -->
    <DD_Association>
      <identifier_reference>pixel_resolution_y</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>

    <!-- 20151021: Per C.Isbell - added 'cart.pixel_scale_x' -->
    <DD_Association>
      <identifier_reference>pixel_scale_x</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <!-- 20151021: Per C.Isbell - added 'cart.pixel_scale_y' -->
    <DD_Association>
      <identifier_reference>pixel_scale_y</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Distance_and_Bearing_Representation</name>
    <version_id>1.0</version_id>
    <local_identifier>Distance_and_Bearing_Representation</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>distance_resolution</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>bearing_resolution</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>bearing_reference_direction</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>bearing_reference_meridian</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Equirectangular</name>
    <version_id>1.0</version_id>
    <local_identifier>Equirectangular</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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.
	</definition>
    <DD_Association>
      <identifier_reference>latitude_of_projection_origin</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>standard_parallel_1</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>longitude_of_central_meridian</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Equirectangular</name>
      <definition>The Equirectangular class contains parameters for the Equirectangular projection.</definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>

  <DD_Class>
    <name>Lambert_Azimuthal_Equal_Area</name>
    <version_id>1.0</version_id>
    <local_identifier>Lambert_Azimuthal_Equal_Area</local_identifier>
    <submitter_name>Trent Hare</submitter_name>
    <definition>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
    </definition>
    <DD_Association>
      <identifier_reference>longitude_of_central_meridian</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>latitude_of_projection_origin</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Lambert_Azimuthal_Equal_Area</name>
      <definition>The Lambert_Azimuthal_Equal_Area class contains parameters for the Lambert Azimuthal Equal-area projection.</definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>

  <DD_Class>
    <name>Lambert_Conformal_Conic</name>
    <version_id>1.0</version_id>
    <local_identifier>Lambert_Conformal_Conic</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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
    </definition>
    <DD_Association>
      <identifier_reference>standard_parallel_1</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>standard_parallel_2</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>longitude_of_central_meridian</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>latitude_of_projection_origin</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>scale_factor_at_projection_origin</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Lambert_Conformal_Conic</name>
      <definition>The Lambert_Conformal_Conic class contains parameters for the Lambert Conformal Conic projection.</definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>
  
  <DD_Class>
    <name>Mercator</name>
    <version_id>1.0</version_id>
    <local_identifier>Mercator</local_identifier>
    <submitter_name>Trent Hare</submitter_name>
    <definition>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
    </definition>
    <DD_Association>
      <identifier_reference>standard_parallel_1</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>longitude_of_central_meridian</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>latitude_of_projection_origin</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>scale_factor_at_projection_origin</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>

  <DD_Class>
    <name>Oblique_Mercator</name>
    <version_id>1.0</version_id>
    <local_identifier>Oblique_Mercator</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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
    </definition>
    <DD_Association>
      <identifier_reference>XSChoice#</identifier_reference>
      <identifier_reference>Oblique_Line_Azimuth</identifier_reference>
      <identifier_reference>Oblique_Line_Point</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>longitude_of_central_meridian</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>latitude_of_projection_origin</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Oblique_Mercator</name>
      <definition>The Oblique_Mercator class contains parameters for the Oblique Mercator projection.</definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>

  <DD_Class>
    <name>Orthographic</name>
    <version_id>1.0</version_id>
    <local_identifier>Orthographic</local_identifier>
    <submitter_name>Trent Hare</submitter_name>
    <definition>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
    </definition>
    <DD_Association>
      <identifier_reference>longitude_of_central_meridian</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>latitude_of_projection_origin</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>

  <DD_Class>
    <name>Point_Perspective</name>
    <version_id>1.0</version_id>
    <local_identifier>Point_Perspective</local_identifier>
    <submitter_name>Chris E. Isbell</submitter_name>
    <definition>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
    </definition>
    <DD_Association>
      <identifier_reference>target_center_distance</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>longitude_of_central_meridian</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>latitude_of_projection_origin</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Point_Perspective</name>
      <definition>The Point Perspective class contains parameters for the Point Perspective 
        (fundamental definition) projection.
      </definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>
  
  <DD_Class>
    <name>Polar_Stereographic</name>
    <version_id>1.0</version_id>
    <local_identifier>Polar_Stereographic</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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.
    </definition>
    <!-- T.H. Removed, simply use longitude_of_central_meridian which is normally done.
      <DD_Association>
      <identifier_reference>straight_vertical_longitude_from_pole</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association-->
    <DD_Association>
      <identifier_reference>longitude_of_central_meridian</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>latitude_of_projection_origin</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>scale_factor_at_projection_origin</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Polyconic</name>
    <version_id>1.0</version_id>
    <local_identifier>Polyconic</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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
    </definition>
    <DD_Association>
      <identifier_reference>longitude_of_central_meridian</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>latitude_of_projection_origin</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Sinusoidal</name>
    <version_id>1.0</version_id>
    <local_identifier>Sinusoidal</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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
    </definition>
    <DD_Association>
      <identifier_reference>longitude_of_central_meridian</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>latitude_of_projection_origin</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Transverse_Mercator</name>
    <version_id>1.0</version_id>
    <local_identifier>Transverse_Mercator</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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
    </definition>
    <DD_Association>
      <identifier_reference>scale_factor_at_central_meridian</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>longitude_of_central_meridian</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>latitude_of_projection_origin</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Universal_Transverse_Mercator</name>
    <version_id>1.0</version_id>
    <local_identifier>Universal_Transverse_Mercator</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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
    </definition>
    <DD_Association>
      <identifier_reference>utm_zone_number</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Transverse_Mercator</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Universal_Transverse_Mercator</name>
      <definition>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.
      </definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>
  
  <DD_Class>
    <name>Universal_Polar_Stereographic</name>
    <version_id>1.0</version_id>
    <local_identifier>Universal_Polar_Stereographic</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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
    </definition>
    <DD_Association>
      <identifier_reference>ups_zone_identifier</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Polar_Stereographic</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Universal_Polar_Stereographic</name>
      <definition>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.</definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>
  
  <DD_Class>
    <name>Oblique_Cylindrical</name>
    <version_id>1.0</version_id>
    <local_identifier>Oblique_Cylindrical</local_identifier>
    <submitter_name>Paul Geissler</submitter_name>
    <definition>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
    </definition>
    <DD_Association>
        <identifier_reference>latitude_of_projection_origin</identifier_reference>
        <reference_type>attribute_of</reference_type>
        <minimum_occurrences>0</minimum_occurrences>
        <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
        <identifier_reference>longitude_of_central_meridian</identifier_reference>
        <reference_type>attribute_of</reference_type>
        <minimum_occurrences>0</minimum_occurrences>
        <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>reference_latitude</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>reference_longitude</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
      <DD_Association>
        <identifier_reference>map_projection_rotation</identifier_reference>
        <reference_type>attribute_of</reference_type>
        <minimum_occurrences>1</minimum_occurrences>
        <maximum_occurrences>1</maximum_occurrences>
      </DD_Association>
    <DD_Association>
      <identifier_reference>oblique_proj_pole_latitude</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>oblique_proj_pole_longitude</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>oblique_proj_pole_rotation</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>oblique_proj_x_axis_vector</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>oblique_proj_y_axis_vector</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>oblique_proj_z_axis_vector</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>look_direction</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  <DD_Class>
    <name>State_Plane_Coordinate_System</name>
    <version_id>1.0</version_id>
    <local_identifier>State_Plane_Coordinate_System</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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
    </definition>
    <DD_Association>
      <identifier_reference>spcs_zone_identifier</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>XSChoice#</identifier_reference>
      <identifier_reference>Lambert_Conformal_Conic</identifier_reference>
      <identifier_reference>Transverse_Mercator</identifier_reference>
      <identifier_reference>Oblique_Mercator</identifier_reference>
      <identifier_reference>Polyconic</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>State_Plane_Coordinate_System</name>
      <definition>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.
      </definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>

  <DD_Class>
    <name>Oblique_Line_Azimuth</name>
    <version_id>1.0</version_id>
    <local_identifier>Oblique_Line_Azimuth</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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
    </definition>
    <DD_Association>
      <identifier_reference>azimuthal_angle</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>azimuth_measure_point_longitude</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>latitude_of_projection_origin</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>longitude_of_central_meridian</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Oblique_Line_Azimuth</name>
      <definition>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.
      </definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>

  <DD_Class>
    <name>Oblique_Line_Point</name>
    <version_id>1.0</version_id>
    <local_identifier>Oblique_Line_Point</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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
    </definition>
    <DD_Association>
      <identifier_reference>Oblique_Line_Point_Group</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>2</minimum_occurrences>
      <maximum_occurrences>2</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Oblique_Line_Point</name>
      <definition>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.
      </definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>

  <!-- jpadams START -->
  <DD_Class>
    <name>Map_Projection_Lander</name>
    <version_id>1.0</version_id>
    <local_identifier>Map_Projection_Lander</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>lander_map_projection_name</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>XSChoice#</identifier_reference>
      <identifier_reference>Cylindrical</identifier_reference>
      <identifier_reference>Perspective</identifier_reference>
      <identifier_reference>Cylindrical_Perspective</identifier_reference>
      <identifier_reference>Polar</identifier_reference>
      <identifier_reference>Vertical</identifier_reference>
      <identifier_reference>Orthographic_Lander</identifier_reference>
      <identifier_reference>Orthorectified</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>geom.Coordinate_Space_Reference</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Surface_Model_Parameters</name>
    <version_id>1.0</version_id>
    <local_identifier>Surface_Model_Parameters</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>surface_model_type</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>XSChoice#</identifier_reference>
      <identifier_reference>Surface_Model_Planar</identifier_reference>
      <identifier_reference>Surface_Model_Spherical</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>geom.Coordinate_Space_Reference</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Surface_Model_Planar</name>
    <version_id>1.0</version_id>
    <local_identifier>Surface_Model_Planar</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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).
    </definition>
    <DD_Association>
      <identifier_reference>Vector_Surface_Normal</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Vector_Surface_Ground_Location</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Surface_Model_Spherical</name>
    <version_id>1.0</version_id>
    <local_identifier>Surface_Model_Spherical</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>This is a specific type of surface model that treats the 
      surface as a sphere, with a specified center and radius.</definition>
    <DD_Association>
      <identifier_reference>sphere_radius</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>sphere_intersection_count</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Vector_Sphere_Center</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Cylindrical</name>
    <version_id>1.0</version_id>
    <local_identifier>Cylindrical</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>pixel_scale_x</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>pixel_scale_y</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>maximum_elevation</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>minimum_elevation</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>start_azimuth</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>stop_azimuth</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>zero_elevation_line</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Vector_Projection_Origin</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Perspective</name>
    <version_id>1.0</version_id>
    <local_identifier>Perspective</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>This is an in-situ projection that models a pinhole camera.
    </definition>
    <DD_Association>
      <identifier_reference>pixel_scale_x</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>pixel_scale_y</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>maximum_elevation</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>minimum_elevation</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>start_azimuth</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>stop_azimuth</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>projection_azimuth</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>projection_elevation</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Camera_Model_Offset</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Cylindrical_Perspective</name>
    <version_id>1.0</version_id>
    <local_identifier>Cylindrical_Perspective</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>pixel_scale_x</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>pixel_scale_y</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>maximum_elevation</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>minimum_elevation</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>projection_azimuth</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>projection_elevation</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>projection_elevation_line</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>start_azimuth</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>stop_azimuth</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>projection_axis_offset</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Vector_Projection_Origin</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Vector_Projection_Z_Axis</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Vector_Projection_Z_Axis_Initial</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Polar</name>
    <version_id>1.0</version_id>
    <local_identifier>Polar</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>pixel_scale</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>maximum_elevation</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>reference_azimuth</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <!-- SAMPLE_PROJECTION_OFFSET and LINE_PROJECTION_OFFSET -->
    <DD_Association>
      <identifier_reference>Pixel_Position_Nadir_Polar</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Vector_Projection_Origin</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Vertical</name>
    <version_id>1.0</version_id>
    <local_identifier>Vertical</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>pixel_resolution_x</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>pixel_resolution_y</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>x_axis_maximum</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>x_axis_minimum</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>y_axis_maximum</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>y_axis_minimum</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <!-- SAMPLE_PROJECTION_OFFSET and LINE_PROJECTION_OFFSET -->
    <DD_Association>
      <identifier_reference>Pixel_Position_Origin</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Vector_Projection_Origin</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Orthographic_Lander</name>
    <version_id>1.0</version_id>
    <local_identifier>Orthographic_Lander</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>This is an in-situ projection that is a generalization of 
      the Vertical projection, in that any arbitrary projection plane can be 
      specified.</definition>
    <DD_Association>
      <identifier_reference>pixel_resolution_x</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>pixel_resolution_y</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>x_axis_maximum</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>x_axis_minimum</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>y_axis_maximum</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>y_axis_minimum</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <!-- SAMPLE_PROJECTION_OFFSET and LINE_PROJECTION_OFFSET -->
    <DD_Association>
      <identifier_reference>Pixel_Position_Origin</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Vector_Projection_Origin</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Vector_Projection_X_Axis</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Vector_Projection_Y_Axis</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Vector_Projection_Z_Axis</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Orthorectified</name>
    <version_id>1.0</version_id>
    <local_identifier>Orthorectified</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>pixel_resolution_x</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>pixel_resolution_y</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>x_axis_maximum</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>x_axis_minimum</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>y_axis_maximum</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>y_axis_minimum</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <!-- SAMPLE_PROJECTION_OFFSET and LINE_PROJECTION_OFFSET -->
    <DD_Association>
      <identifier_reference>Pixel_Position_Origin</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Vector_Projection_Origin</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Vector_Projection_X_Axis</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Vector_Projection_Y_Axis</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>Vector_Projection_Z_Axis</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Vector_Surface_Normal</name>
    <version_id>1.0</version_id>
    <local_identifier>Vector_Surface_Normal</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>Vector_Cartesian_Unit_Base</identifier_reference>
      <reference_type>parent_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Vector_Surface_Ground_Location</name>
    <version_id>1.0</version_id>
    <local_identifier>Vector_Surface_Ground_Location</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>Vector_Cartesian_Position_Base</identifier_reference>
      <reference_type>parent_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Vector_Sphere_Center</name>
    <version_id>1.0</version_id>
    <local_identifier>Vector_Sphere_Center</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>Vector_Cartesian_Position_Base</identifier_reference>
      <reference_type>parent_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Vector_Projection_Origin</name>
    <version_id>1.0</version_id>
    <local_identifier>Vector_Projection_Origin</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>Vector_Cartesian_Position_Base</identifier_reference>
      <reference_type>parent_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Vector_Projection_X_Axis</name>
    <version_id>1.0</version_id>
    <local_identifier>Vector_Projection_X_Axis</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>Vector_Cartesian_Unit_Base</identifier_reference>
      <reference_type>parent_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Vector_Projection_Y_Axis</name>
    <version_id>1.0</version_id>
    <local_identifier>Vector_Projection_Y_Axis</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>Vector_Cartesian_Unit_Base</identifier_reference>
      <reference_type>parent_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Vector_Projection_Z_Axis</name>
    <version_id>1.0</version_id>
    <local_identifier>Vector_Projection_Z_Axis</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>Vector_Cartesian_Unit_Base</identifier_reference>
      <reference_type>parent_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Vector_Projection_Z_Axis_Initial</name>
    <version_id>1.0</version_id>
    <local_identifier>Vector_Projection_Z_Axis_Initial</local_identifier>
    <submitter_name>Trent Hare</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>Vector_Cartesian_Unit_Base</identifier_reference>
      <reference_type>parent_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Vector_Length_Base</name>
    <version_id>1.0</version_id>
    <local_identifier>Vector_Length_Base</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>The Vector_Length_Base is an abstract class that forms the base of length-based x, y, z vectors.</definition>
    <DD_Association>
      <identifier_reference>x_length</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>y_length</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>z_length</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Vector_Cartesian_Unit_Base</name>
    <version_id>1.0</version_id>
    <local_identifier>Vector_Cartesian_Unit_Base</local_identifier>
    <submitter_name>Elizabeth Rye</submitter_name>
    <definition>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.
    </definition>
    <abstract_flag>false</abstract_flag>
    <element_flag>false</element_flag>
    <DD_Association>
      <identifier_reference>x_unit</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>y_unit</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>z_unit</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Vector_Cartesian_Position_Base</name>
    <version_id>1.0</version_id>
    <local_identifier>Vector_Cartesian_Position_Base</local_identifier>
    <submitter_name>Mitchell K. Gordon</submitter_name>
    <definition>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.
    </definition>
    <abstract_flag>false</abstract_flag>
    <element_flag>false</element_flag>
    <DD_Association>
      <identifier_reference>x_position</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>y_position</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>z_position</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Vector_Cartesian_No_Units</name>
    <version_id>1.0</version_id>
    <local_identifier>Vector_Cartesian_No_Units</local_identifier>
    <submitter_name>Elizabeth Rye</submitter_name>
    <definition>This is a generic vector in Cartesian space.
      The "x", "y", and "z" component have no units.
    </definition>
    <abstract_flag>false</abstract_flag>
    <element_flag>false</element_flag>
    <DD_Association>
      <identifier_reference>x</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>y</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>z</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Camera_Model_Offset</name>
    <version_id>1.0</version_id>
    <local_identifier>Camera_Model_Offset</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>line</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>sample</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Pixel_Position_Nadir_Polar</name>
    <version_id>1.0</version_id>
    <local_identifier>Pixel_Position_Nadir_Polar</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>line</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>sample</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  
  <DD_Class>
    <name>Pixel_Position_Origin</name>
    <version_id>1.0</version_id>
    <local_identifier>Pixel_Position_Origin</local_identifier>
    <submitter_name>Jordan Padams</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>line</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>sample</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>

  <DD_Class>
    <name>Oblique_Line_Point_Group</name>
    <version_id>1.0</version_id>
    <local_identifier>Oblique_Line_Point_Group</local_identifier>
    <submitter_name>Elizabeth D. Rye</submitter_name>
    <definition>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.</definition>
    <DD_Association>
      <identifier_reference>oblique_line_latitude</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>oblique_line_longitude</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <Terminological_Entry>
      <name>Oblique_Line_Point_Group</name>
      <definition>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.</definition>
      <language>English</language>
      <preferred_flag>true</preferred_flag>
    </Terminological_Entry>
  </DD_Class>

  <!-- Rings projected added: 20190909 (THare) -->
  <DD_Class>
    <name>Map_Projection_Rings</name>
    <version_id>1.0</version_id>
    <local_identifier>Map_Projection_Rings</local_identifier>
    <submitter_name>Trent Hare</submitter_name>
    <definition>The Map_Projection_Rings class provides the systematic representation 
      of all or part of the rings of a planet on a plane.</definition>
    <DD_Association>
      <identifier_reference>rings_map_projection_name</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>XSChoice#</identifier_reference>
      <identifier_reference>Ring_Polar</identifier_reference>
      <reference_type>component_of</reference_type>
      <minimum_occurrences>1</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>

  <DD_Class>
    <name>Ring_Polar</name>
    <version_id>1.0</version_id>
    <local_identifier>Ring_Polar</local_identifier>
    <submitter_name>Trent Hare</submitter_name>
    <definition>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).
    </definition>
    <DD_Association>
      <identifier_reference>data_count</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>radial_scale</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>angular_scale</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>local_time_scale</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>sample_name</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>line_name</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>first_sample_center</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>first_line_center</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>last_sample_center</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>last_line_center</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>min_footprint_sample</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>min_footprint_line</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>max_footprint_sample</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>max_footprint_line</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>

  <!-- added/enabled: 20150331 (rj) -->
  <DD_Class>
    <name>Geo_Transformation</name>
    <version_id>1.0</version_id>
    <local_identifier>Geo_Transformation</local_identifier>
    <submitter_name>Ronald Joyner</submitter_name>
    <definition>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).
    </definition>
    <DD_Association>
      <identifier_reference>upperleft_corner_x</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
    <DD_Association>
      <identifier_reference>upperleft_corner_y</identifier_reference>
      <reference_type>attribute_of</reference_type>
      <minimum_occurrences>0</minimum_occurrences>
      <maximum_occurrences>1</maximum_occurrences>
    </DD_Association>
  </DD_Class>
  <!-- end -->

  <!--                         -->
  <!--  Start Schematron Rules -->
  <!--                         -->
  
  <!-- 20151021: Per C.Isbell - added rule to ensure: -->
  <!--   either pixel_resolution_x|y pair or pixel_scale_x|y pair must be present -->
  <!--   within a cartographic label. And, both can be present -->

  <!-- 20151022: Per C.Isbell - Both pixel_resolution_x|y and pixel_scale_x|y pairs must be present within a cartographic label -->
  <!--    So, no need for schematron rules; handled in XSD  -->
  
  <!-- Rule to check local_georeference_information of Map_Projection_Lander are specified -->
  
  <DD_Rule>
    <local_identifier>Local_child_check</local_identifier>
    <rule_context>//cart:Horizontal_Coordinate_System_Definition/cart:Local</rule_context>
    <DD_Rule_Statement>
      <rule_type>Assert</rule_type>
      <rule_test>exists(cart:local_georeference_information) or exists(cart:Map_Projection_Lander) or exists(cart:Map_Projection_Rings)</rule_test>
      <rule_message>In cart:Local, cart:local_georeference_information or cart:Map_Projection_Lander or cart:Map_Projection_Rings must be specified</rule_message>
    </DD_Rule_Statement>
  </DD_Rule>
  
  <DD_Rule>
    <local_identifier>spatial_domain_or_lander_or_rings_check</local_identifier>
    <rule_context>//cart:Cartography</rule_context>
    <DD_Rule_Statement>
      <rule_type>Assert</rule_type>
      <rule_test>exists(cart:Spatial_Domain) or 
                 exists(cart:Spatial_Reference_Information/cart:Horizontal_Coordinate_System_Definition/cart:Local/cart:Map_Projection_Lander) or
                 exists(cart:Spatial_Reference_Information/cart:Horizontal_Coordinate_System_Definition/cart:Local/cart:Map_Projection_Rings)</rule_test>
      <rule_message>cart:Spatial_Domain or cart:Map_Projection_Lander or cart:Map_Projection_Rings must be specified</rule_message>
    </DD_Rule_Statement>
  </DD_Rule>
  
  <DD_Rule>
    <local_identifier>local_reference_type_check_cart</local_identifier>
    <rule_context>//cart:Cartography/pds:Local_Internal_Reference</rule_context>
    <DD_Rule_Statement>
      <rule_type>Assert</rule_type>
      <rule_test>pds:local_reference_type = 'cartography_parameters_to_image_object'</rule_test>
      <rule_message>In cart:Cartography, Local_Internal_Reference.local_reference_type must be equal to 'cartography_parameters_to_image_object'.</rule_message>
    </DD_Rule_Statement>
  </DD_Rule>
  
 <!--
  <sch:pattern>
    <sch:rule context="//cart:Coordinate_Representation">
      <sch:assert test="if ((cart:pixel_resolution_x and not(cart:pixel_resolution_y)) or (not(cart:pixel_resolution_x and cart:pixel_resolution_y))) then false() else true()">
        The pair of attributes cart:pixel_resolution_x and cart:pixel_resolution_y must be present.</sch:assert>
    </sch:rule>
  </sch:pattern>
  
  <sch:pattern>
    <sch:rule context="//cart:Coordinate_Representation">
      <sch:assert test="if ((cart:pixel_scale_x and not(cart:pixel_scale_y)) or (not(cart:pixel_scale_x and cart:pixel_scale_y))) then false() else true()">
        The pair of attributes cart:pixel_scale_x and cart:pixel_scale_y must be present.</sch:assert>
    </sch:rule>
  </sch:pattern>
  -->
  <!--end: 20151021 -->
  <!--
  <DD_Rule>
    <local_identifier>Coordinate_Representation - Rule#1</local_identifier>
    <rule_context>//cart:Coordinate_Representation</rule_context>
    <DD_Rule_Statement>
      <rule_type>Assert</rule_type>
      <rule_test>if ((cart:pixel_resolution_x and not(cart:pixel_resolution_y)) or (not(cart:pixel_resolution_x and cart:pixel_resolution_y))) then false() else true()</rule_test>
      <rule_message>The pair of attributes cart:pixel_resolution_x and cart:pixel_resolution_y must be present.</rule_message>
    </DD_Rule_Statement>
  </DD_Rule>

  <DD_Rule>
    <local_identifier>Coordinate_Representation - Rule#2</local_identifier>
    <rule_context>//cart:Coordinate_Representation</rule_context>
    <DD_Rule_Statement>
      <rule_type>Assert</rule_type>
      <rule_test>if ((cart:pixel_scale_x and not(cart:pixel_scale_y)) or (not(cart:pixel_scale_x and cart:pixel_scale_y))) then false() else true()</rule_test>
      <rule_message>The pair of attributes cart:pixel_scale_x and cart:pixel_scale_y must be present.</rule_message>
    </DD_Rule_Statement>
  </DD_Rule>
-->
  
</Ingest_LDD>
