This site may be down for up to an hour for network maintenance during the period
21 January 2022 22:30 UTC - 22 January 2022 00:30 UTC.

Difference between revisions of "Filling out the Geometry Orbiter Class"

From The SBN Wiki
Jump to navigation Jump to search
m ()
(Update - Safety Save)
Line 10: Line 10:
  
 
''REQUIRED''
 
''REQUIRED''
 +
 +
This class is used to provide a link to a reference frame (here "reference frame" is being used in the same sense as in the NAIF SPICE toolkit - a set of orthogonal axes with a fixed orientation but no specified origin).
 +
 +
{| class="wikitable" style="background-color: yellow"
 +
| ''Seems like SOMETHING in this class should be required, since the class itself is required to be present.  And if all there is is an uncontrolled "name", you probably want to provide space for an optional description so a data preparer can explain what's going on.''
 +
|}
 +
 +
=== <frame_spice_name> ===
 +
 +
''OPTIONAL''
 +
 +
The identifier for this reference frame recognized by the SPICE toolkit.
  
 
{| class="wikitable" style="background-color: yellow"
 
{| class="wikitable" style="background-color: yellow"
|  
+
| ''It is not clear how this would be validated and verified.''
''Waiting on SPICE-related changes.''
+
|}
 +
 
 +
=== <name> ===
 +
 
 +
''OPTIONAL''
 +
 
 +
The name of the reference frame.  There are some standard reference frame identifiers (like ''J2000''), so if your fram has one, please use it here.
 +
 
 +
=== <Internal_Reference> ===
 +
 
 +
''OPTIONAL''
 +
 
 +
If the frame in question is defined or otherwise explained in some significant way by another PDS product (could be a SPICE kernel; could be a document), you may use this class to link to that product so users can find it.  Fill this out the same was as [[#.3CInternal_Reference.3E|&lt;Internal_Reference&gt;]] in &lt;Body_Identification&gt;, above.
 +
 
 +
{| class="wikitable"  style="background-color: yellow"
 +
| ''Does this make sense for reference frames (as opposed to coordinate systems)?''
 +
|}
 +
 
 +
=== <Local_Internal_Reference> ===
 +
 
 +
''OPTIONAL''
 +
 
 +
{| class="wikitable"  style="background-color: yellow"
 +
| ''I don't see what this could possible refer to.  Probably should be deleted.''
 
|}
 
|}
 +
  
 
== <Central_Body_Identification> ==
 
== <Central_Body_Identification> ==
  
 
''OPTIONAL''
 
''OPTIONAL''
 +
 +
This class provides a number of options for identifying a physical object to be subsequently referenced in this instance of the ''&lt;Geometry_Orbiter&gt;'' class by the term "central body".  You must provide at least one of the included attributes or subclasses; you may provide more than one but they should reference ''the same physical object''.  You may ''not'' repeat this class, but you may use it in conjunction with the ''&lt;Target_Identification&gt;'' class.
 +
 +
=== <body_spice_name> ===
 +
 +
''OPTIONAL''
 +
 +
This is the NAIF-assigned or NAIF-recognized identifier for a physical object.  This could be a spacecraft or instrument as well as natural targets like planets and small bodies.
 +
 +
{| class="wikitable" style="background-color: yellow"
 +
| ''It is not clear if or how this value will be validated and verified for correctness.''
 +
|}
 +
 +
=== <name> ===
 +
 +
''OPTIONAL''
 +
 +
This attribute should be a name that provides sufficient identification for the object to be uniquely identified - especially in light of the fact that no object type is indicated.  You should use whatever naming conventions would normally apply.  For example, if you are naming a small body, or submitting the data to the Small Bodies Node, then you should follow the conventions described on the [[Target_Names|SBN Target Names Stylesheet]] on this wiki.
 +
 +
=== <Internal_Reference> ===
 +
 +
''OPTIONAL''
 +
 +
If the object you're trying to identify has a corresponding context product in the PDS archives, you can use this class to link to that explicitly.
 +
 +
As in other cases in the ''&lt;Geometry&gt;'' class, the attributes of the ''Internal_Reference'' class are in the PDS4 core namespace.  See [[Filling_out_the_SPICE_Kernel_Files_Class#.3CInternal_Reference.3E|Filling out the SPICE_Kernel_Files Class: Internal_Reference]] for more info.
 +
 +
{| class="wikitable" style="background-color: yellow"
 +
| '''''Note'':''' ''The ''reference_type'' attribute for this class has no defined values.  I would expect values along the lines of ''"geometry_orbiter_to_target"'' if this is going to follow the same patterns established in the PDS core namespace.''
 +
|}
 +
 +
=== <Local_Internal_Reference> ===
 +
 +
''OPTIONAL''
 +
 +
As with ''&lt;Internal_Reference&gt;'', above, the attributes withing this class come from the PDS code namespace and need to be associated with that namespace in an appropriate manner.
  
 
{| class="wikitable" style="background-color: yellow"
 
{| class="wikitable" style="background-color: yellow"
|  
+
| ''I can't see anything this could possibly reference.  It should likely be deleted.''
''Waiting on SPICE-related changes.''
 
 
|}
 
|}
  
== <Coordinate_System> ==
+
 
 +
== <Coordinate_System_Identification> ==
  
 
''OPTIONAL''
 
''OPTIONAL''
  
 
This class defines a coordinate system. It specifies an origin, reference frame, type, and reference time.
 
This class defines a coordinate system. It specifies an origin, reference frame, type, and reference time.
 +
 +
{| class="wikitable" style="background-color: yellow"
 +
| ''I would strongly advise including an optional comment or description attribute in this class.''
 +
|}
  
 
=== <coordinate_system_type> ===
 
=== <coordinate_system_type> ===
Line 37: Line 113:
 
This indicates the type of coordinates that will be used.  It must be one of the following standard values:
 
This indicates the type of coordinates that will be used.  It must be one of the following standard values:
  
 +
::* '''Azimuth-Elevation'''
 
::* '''Cartesian'''
 
::* '''Cartesian'''
 
::* '''Planetocentric'''
 
::* '''Planetocentric'''
Line 53: Line 130:
 
''REQUIRED''
 
''REQUIRED''
  
{| class="wikitable" style="background-color: yellow"
+
This class identifies the origin of the coordinate system - not necessarily the end point of any particular vector defined within that coordinate system.  Apart from the enclosing tag name (''Coordinate_System_Origin_Identification'' as opposed to ''Central_Body_Identification''), this class is filled out identically to the [[#.3CCentral_Body_Identification.3E|&lt;Central_body_Identification&gt;]] class, described above.
|  
+
 
''Waiting on SPICE-related changes.''
+
{| class="wikitable" style="background-color:yellow"
 +
| ''Is this sufficiently precise?  If you name a body, like "Jupiter", is it clear that you mean the center of mass (or do you mean the barycenter, or some geometric center of a reference surface)?''
 
|}
 
|}
  
Line 62: Line 140:
 
''REQUIRED''
 
''REQUIRED''
  
{| class="wikitable" style="background-color: yellow"
+
This class defines the reference frame for the coordinate system.  It is filled out identically to the [[#.3CReference_Frame_Identification.3E|&lt;Reference_Frame_Identification&gt;]] class described above.
|  
+
 
''Waiting on SPICE-related changes.''
+
{| class="wikitable" style="background-color:yellow"
 +
| ''Why would this ever be different from the higher-level ''Reference_Frame_Identification''?  What wouls that mean?  Where would a data preparer explain that strange-seeming situation?''
 
|}
 
|}
 
  
  
Line 72: Line 150:
  
 
''OPTIONAL''
 
''OPTIONAL''
 +
 +
This class identifies the origin of the coordinate system - not necessarily the end point of any particular vector defined within that coordinate system.  Apart from the enclosing tag name (''Target_Identification'' as opposed to ''Central_Body_Identification''), this class is filled out identically to the [[#.3CCentral_Body_Identification.3E|&lt;Central_body_Identification&gt;]] class, described above.
  
 
{| class="wikitable" style="background-color: yellow"
 
{| class="wikitable" style="background-color: yellow"
 
|  
 
|  
''Waiting on SPICE-related changes.''
+
''The more I think about it, the more I dislike re-using the "Target_Identification" name for a different purpose here.  And I also wonder if just proving a body identification is sufficiently precise here, as well.''
 
|}
 
|}
 
  
 
== <Distances> ==
 
== <Distances> ==
Line 83: Line 162:
 
''OPTIONAL''
 
''OPTIONAL''
  
This class collects scalar point-to-point distance measurements for various named intervals of interest, as well as providing a class for specifying arbitrary distance measurements as needed.  Unless otherwise stated, distances are measured center-to-center, and references to "target" and "central body" refer to the objects identified in the ''&lt;Target_Identification&gt;'' and ''&lt;Central_Body_Identification&gt;'', respectively, in this ''&lt;Geometry_Orbiter&gt;'' class.
+
This class collects point-to-point distance measurements (that is, magnitudes rather than vectors) for various named intervals of interest, as well as providing a class for specifying arbitrary distance measurements as needed.  Unless otherwise stated, distances are measured center-to-center, and references to "target" and "central body" refer to the objects identified in the ''&lt;Target_Identification&gt;'' and ''&lt;Central_Body_Identification&gt;'', respectively, in this ''&lt;Geometry_Orbiter&gt;'' class.
  
 
All distances are considered positive, and you must provide units of an appropriate type in each case.  For example:
 
All distances are considered positive, and you must provide units of an appropriate type in each case.  For example:
Line 155: Line 234:
 
''REQUIRED''
 
''REQUIRED''
  
{| class="wikitable" style="background-color: yellow"
+
This class identifies the start point of the distance measurement. Apart from the enclosing tag name (''Observer_Identification'' as opposed to ''Central_Body_Identification''), this class is filled out identically to the [[#.3CCentral_Body_Identification.3E|&lt;Central_body_Identification&gt;]] class, described above.
|
 
''Waiting on SPICE-related changes.''
 
|}
 
  
==== <Target_identification> ====
+
==== <Target_Identification> ====
  
 
''REQUIRED''
 
''REQUIRED''
 +
 +
This class identifies the end point of the distance measurement. Apart from the enclosing tag name (''Target_Identification'' as opposed to ''Central_Body_Identification''), this class is filled out identically to the [[#.3CCentral_Body_Identification.3E|&lt;Central_body_Identification&gt;]] class, described above.
  
 
{| class="wikitable" style="background-color: yellow"
 
{| class="wikitable" style="background-color: yellow"
 
|  
 
|  
''Waiting on SPICE-related changes.''
+
''Even more qualms about "target" confusion...''
 
|}
 
|}
  
Line 174: Line 252:
  
 
The actual distance measurement from ''observer'' to ''target''.  You must, as always, provide an appropriate unit of measure with this attribute.  Make sure you indicate the precise point (center, barycenter, intercept point, etc.) used for measurement at both the ''observer'' and the ''target''.
 
The actual distance measurement from ''observer'' to ''target''.  You must, as always, provide an appropriate unit of measure with this attribute.  Make sure you indicate the precise point (center, barycenter, intercept point, etc.) used for measurement at both the ''observer'' and the ''target''.
 
  
  
Line 227: Line 304:
 
::* Target Center
 
::* Target Center
  
The "target" is the object in the ''&lt;Target_Identification&gt;'' class of this ''&lt;Geometry_Orbiter&gt;'' class.
+
The "target" is the object in the ''&lt;Target_Identification&gt;'' class of the containing ''&lt;Geometry_Orbiter&gt;'' class.
  
 
==== <horizontal_pixel_size_projected> ====
 
==== <horizontal_pixel_size_projected> ====
Line 247: Line 324:
 
''OPTIONAL''
 
''OPTIONAL''
  
This class collects various attributes related to geometry at the surface of the object in the ''&lt;Target_identification&gt;'' class of this ''&lt;Geometry_Orbiter&gt;'' class.
+
This class collects various attributes related to geometry at the surface of the object in the ''&lt;Target_identification&gt;'' class of the containing ''&lt;Geometry_Orbiter&gt;'' class.
  
 
=== <Pixel_Intercept> ===
 
=== <Pixel_Intercept> ===
Line 253: Line 330:
 
''OPTIONAL''
 
''OPTIONAL''
  
This class identifies the pixel at which the other values in the containing class are calculated.  Typically, one would use either the ''reference_pixel_location'' or the ''Reference_Pixel'' class to identify the reference point within the associated image.
+
This class identifies the pixel at which the other values in the containing class are calculated.  You must provide either the ''reference_pixel_location'' or the ''Reference_Pixel'' class to identify the reference point within the associated image.
 +
 
 +
{| class="wikitable" style="background-color: yellow"
 +
| ''This constraint is not enforced.''
 +
|}
  
 
==== <reference_pixel_location> ====
 
==== <reference_pixel_location> ====
Line 283: Line 364:
 
''OPTIONAL''
 
''OPTIONAL''
  
This is the planetocentric longitude on the surface of the identified target at the center of the reference pixel.  You must include units of measure for this attribute.
+
This is the planetocentric longitude (in the range 0-360&deg;) on the surface of the identified target at the center of the reference pixel.  You must include units of measure for this attribute.
  
 
=== <Footprint_Vertices> ===
 
=== <Footprint_Vertices> ===
Line 290: Line 371:
  
 
This class defines the footprint associated with an observation as a series of pixels defining a polygon.  Include one ''&lt;Pixel_Intercept&gt;'' subclass for each vertex.  You must have at least three of these; you may have as many as you like.  The vertices should be defined in an order that is clockwise (as seen in the displayed image) around the perimeter of the footprint.
 
This class defines the footprint associated with an observation as a series of pixels defining a polygon.  Include one ''&lt;Pixel_Intercept&gt;'' subclass for each vertex.  You must have at least three of these; you may have as many as you like.  The vertices should be defined in an order that is clockwise (as seen in the displayed image) around the perimeter of the footprint.
 +
 +
{| class="wikitable" style="background-color: yellow"
 +
| ''I'm guessing this is what the mangled definition in the schema was eventually going to say.  Really shouldn't drink that much when you're working on this stuff.''
 +
|}
  
 
==== <Pixel_Intercept> ====
 
==== <Pixel_Intercept> ====
Line 301: Line 386:
 
''OPTIONAL''
 
''OPTIONAL''
  
This is the angle, measures clockwise from a line extending from the center of the image to the center of the right edge, to the subsolar point on the identified target.  You must specify units of measure for this attribute.
+
This is the angle, measured clockwise from a line extending from the center of the image to the center of the right edge, to the subsolar point on the identified target.  You must specify units of measure for this attribute.
  
 
=== <subsolar_latitude> ===
 
=== <subsolar_latitude> ===
Line 313: Line 398:
 
''OPTIONAL''
 
''OPTIONAL''
  
This attribute contains the planetocentric longitude of the subsolar point on the identified target.  You must provide the units of measure for this attribute.
+
This attribute contains the planetocentric longitude (in the range 0-360&deg;) of the subsolar point on the identified target.  You must provide the units of measure for this attribute.
  
 
=== <subspacecraft_azimuth> ===
 
=== <subspacecraft_azimuth> ===
Line 331: Line 416:
 
''OPTIONAL''
 
''OPTIONAL''
  
This attribute contains the planetocentric longitude of the subspacecraft point on the identified target.  You must provide the units of measure for this attribute.
+
This attribute contains the planetocentric longitude (in the range 0-360&deg;) of the subspacecraft point on the identified target.  You must provide the units of measure for this attribute.
  
  
Line 338: Line 423:
 
''OPTIONAL''
 
''OPTIONAL''
  
This class provides attributes to describe the field of view lighting.
+
This class provides attributes to describe the field of view lighting conditions.
  
 
=== <Illumination_Single_Values> ===
 
=== <Illumination_Single_Values> ===
Line 344: Line 429:
 
''OPTIONAL''
 
''OPTIONAL''
  
This class provides illumination information referenced to a single point in the image when displayed as described in the associated ''Display_Direction'' class.  The "target" in these classes is the object identified in the ''&lt;Target_Identification&gt;'' class of this ''&lt;Geometry_Orbiter&gt;'' class.
+
This class provides illumination information referenced to a single point in the image when displayed as described in the associated ''Display_Direction'' class.  The "target" in these classes is the object identified in the ''&lt;Target_Identification&gt;'' class of the containing ''&lt;Geometry_Orbiter&gt;'' class.
 +
 
 +
{| class="wikitable" style="background-color: yellow"
 +
| ''If I'm following the logic of other classes correctly, then it seems to me like there should be a requirement that exactly one of ''reference_location'', ''reference_pixel_location'', or ''Reference_Pixel'' should be required.  That's not what's happening in the schema, and what is in the schema is weird - the first two are in an optional "choice" construct, while the last isn't.  Is this another LDDTool issue?''
 +
|}
  
 
==== <reference_location> or <reference_pixel_location> ====
 
==== <reference_location> or <reference_pixel_location> ====
Line 374: Line 463:
 
''OPTIONAL''
 
''OPTIONAL''
  
This is the angle between the surface normal vector at the intercept point and a vector from the intercept point to the spacecraft. You must indicate units of measure for this attribute.
+
This is the angle (in the range 0-180&deg;) between the surface normal vector at the intercept point and a vector from the intercept point to the spacecraft. You must indicate units of measure for this attribute.
  
 
==== <incidence_angle> ====
 
==== <incidence_angle> ====
Line 380: Line 469:
 
''OPTIONAL''
 
''OPTIONAL''
  
This is the angle between the surface normal vector at the intercept point and a vector from the intercept point to the sun.  You must indicate units of measure for this attribute.
+
This is the angle (in the range 0-180&deg;) between the surface normal vector at the intercept point and a vector from the intercept point to the sun.  You must indicate units of measure for this attribute.
  
 
==== <phase_angle> ====
 
==== <phase_angle> ====
Line 386: Line 475:
 
''OPTIONAL''
 
''OPTIONAL''
  
This is the angle between the vector from the intercept point to the source of illumination (e.g., the sun), and the vector from the intercept point to the observer (typically an instrument).  You must specify units of measure for this attribute.
+
This is the angle (in the range 0-180&deg;) between the vector from the intercept point to the source of illumination (e.g., the sun), and the vector from the intercept point to the observer (typically an instrument).  You must specify units of measure for this attribute.
  
 
==== <solar_elongation> ====
 
==== <solar_elongation> ====
Line 392: Line 481:
 
''OPTIONAL''
 
''OPTIONAL''
  
This is the angle between the vector from the intercept point to observer (typically an instrument) and the vector from the intercept point to the sun.  You must specify units of measure for this attribute.
+
This is the angle (in the range 0-180&deg;) between the vector from the intercept point to observer (typically an instrument) and the vector from the intercept point to the sun.  You must specify units of measure for this attribute.
  
  
Line 405: Line 494:
 
''REQUIRED''
 
''REQUIRED''
  
This attribute indicates whether the remaining values in this class refer to the entire field of view, or just that portion of the target (identified in this ''Geometry_Orbiter'' class) that is within the field of view.  It must have one of either '''Field of View''', corresponding to the former case, or '''Target''' for the latter.
+
This attribute indicates whether the remaining values in this class refer to the entire field of view, or just that portion of the target (identified in the containing ''Geometry_Orbiter'' class) that is within the field of view.  It must have one of two values: either '''Field of View''', corresponding to the former case; or '''Target''' for the latter.
  
 
==== <minimum_emission_angle> ====
 
==== <minimum_emission_angle> ====
Line 411: Line 500:
 
''OPTIONAL''
 
''OPTIONAL''
  
This attribute is the minimum value of the emission angle relevant to the observation.  You must provide units of measure for this attribute.
+
This attribute is the minimum value of the emission angle (in the range 0-180&deg;) relevant to the observation.  You must provide units of measure for this attribute.
  
 
==== <maximum_emission_angle> ====
 
==== <maximum_emission_angle> ====
Line 417: Line 506:
 
''OPTIONAL''
 
''OPTIONAL''
  
This attribute is the maximum value of the emission angle relevant to the observation.  You must provide units of measure for this attribute.
+
This attribute is the maximum value of the emission angle (in the range 0-180&deg;) relevant to the observation.  You must provide units of measure for this attribute.
  
 
==== <minimum_incidence_angle> ====
 
==== <minimum_incidence_angle> ====
Line 423: Line 512:
 
''OPTIONAL''
 
''OPTIONAL''
  
This attribute is the minimum value of the incidence angle relevant to the observation.  You must provide units of measure for this attribute.
+
This attribute is the minimum value of the incidence angle (in the range 0-180&deg;) relevant to the observation.  You must provide units of measure for this attribute.
  
 
==== <maximum_incidence_angle> ====
 
==== <maximum_incidence_angle> ====
Line 429: Line 518:
 
''OPTIONAL''
 
''OPTIONAL''
  
This attribute is the maximum value of the incidence angle relevant to the observation.  You must provide units of measure for this attribute.
+
This attribute is the maximum value of the incidence angle (in the range 0-180&deg;) relevant to the observation.  You must provide units of measure for this attribute.
  
 
==== <minimum_phase_angle> ====
 
==== <minimum_phase_angle> ====
Line 435: Line 524:
 
''OPTIONAL''
 
''OPTIONAL''
  
This attribute is the minimum value of the phase angle relevant to the observation.  You must provide units of measure for this attribute.
+
This attribute is the minimum value of the phase angle (in the range 0-180&deg;) relevant to the observation.  You must provide units of measure for this attribute.
  
 
==== <maximum_phase_angle> ====
 
==== <maximum_phase_angle> ====
Line 441: Line 530:
 
''OPTIONAL''
 
''OPTIONAL''
  
This attribute is the maximum value of the phase angle relevant to the observation.  You must provide units of measure for this attribute.
+
This attribute is the maximum value of the phase angle (in the range 0-180&deg;) relevant to the observation.  You must provide units of measure for this attribute.
 +
 
  
 
== A Word About Geometry Vectors ==
 
== A Word About Geometry Vectors ==
  
The various vectors in the Geometry Discipline dictionary are derived from common parent classes, providing consistent structure and terminology.  The "specific' vectors listed below have been defined for the set of vectors that appear in the majority of orbiter/flyby data products.  For these vectors the start and end point ("observer" and "target", in general terms) and coordinate system are part of the definition of the vector itself.  You should use these specific vectors whenever they might reasonably apply, as they provide a common nomenclature for these values that users can key into across the archive.
+
The various vectors in the Geometry Discipline dictionary are derived from common parent classes, providing consistent structure and terminology.  The "specific' vectors listed below have been defined for the set of vectors that appear in the majority of orbiter/flyby data products.  For these vectors the start and end points ("observer" and "target", in general terms) and coordinate system are part of the definition of the vector itself.  You should use these specific vectors whenever they might reasonably apply, as they provide a common nomenclature for these values that users can key into across the archive.
  
 
When you need to specify a vector for a quantity outside this standard set, use the generic vector classes, which allow you to specify observer, target, and coordinate system.
 
When you need to specify a vector for a quantity outside this standard set, use the generic vector classes, which allow you to specify observer, target, and coordinate system.

Revision as of 16:21, 19 August 2015

The Geometry_Orbiter class provides geometric values related to an orbiting or flyby spacecraft observation. The values in this class are specific to a single reference frame at a single reference time for at most a single target. You may repeat this class with differing values for one or all of those, if appropriate to the observation being labelled.

Contents

<geometry_reference_time>

REQUIRED

This is the UTC time for which the values in this class have been calculated. It must be in the standard YYY-MM-DDThh:mm:ss.sssZ" format.

<Reference_Frame_Identification>

REQUIRED

This class is used to provide a link to a reference frame (here "reference frame" is being used in the same sense as in the NAIF SPICE toolkit - a set of orthogonal axes with a fixed orientation but no specified origin).

Seems like SOMETHING in this class should be required, since the class itself is required to be present. And if all there is is an uncontrolled "name", you probably want to provide space for an optional description so a data preparer can explain what's going on.

<frame_spice_name>

OPTIONAL

The identifier for this reference frame recognized by the SPICE toolkit.

It is not clear how this would be validated and verified.

<name>

OPTIONAL

The name of the reference frame. There are some standard reference frame identifiers (like J2000), so if your fram has one, please use it here.

<Internal_Reference>

OPTIONAL

If the frame in question is defined or otherwise explained in some significant way by another PDS product (could be a SPICE kernel; could be a document), you may use this class to link to that product so users can find it. Fill this out the same was as <Internal_Reference> in <Body_Identification>, above.

Does this make sense for reference frames (as opposed to coordinate systems)?

<Local_Internal_Reference>

OPTIONAL

I don't see what this could possible refer to. Probably should be deleted.


<Central_Body_Identification>

OPTIONAL

This class provides a number of options for identifying a physical object to be subsequently referenced in this instance of the <Geometry_Orbiter> class by the term "central body". You must provide at least one of the included attributes or subclasses; you may provide more than one but they should reference the same physical object. You may not repeat this class, but you may use it in conjunction with the <Target_Identification> class.

<body_spice_name>

OPTIONAL

This is the NAIF-assigned or NAIF-recognized identifier for a physical object. This could be a spacecraft or instrument as well as natural targets like planets and small bodies.

It is not clear if or how this value will be validated and verified for correctness.

<name>

OPTIONAL

This attribute should be a name that provides sufficient identification for the object to be uniquely identified - especially in light of the fact that no object type is indicated. You should use whatever naming conventions would normally apply. For example, if you are naming a small body, or submitting the data to the Small Bodies Node, then you should follow the conventions described on the SBN Target Names Stylesheet on this wiki.

<Internal_Reference>

OPTIONAL

If the object you're trying to identify has a corresponding context product in the PDS archives, you can use this class to link to that explicitly.

As in other cases in the <Geometry> class, the attributes of the Internal_Reference class are in the PDS4 core namespace. See Filling out the SPICE_Kernel_Files Class: Internal_Reference for more info.

Note: The reference_type attribute for this class has no defined values. I would expect values along the lines of "geometry_orbiter_to_target" if this is going to follow the same patterns established in the PDS core namespace.

<Local_Internal_Reference>

OPTIONAL

As with <Internal_Reference>, above, the attributes withing this class come from the PDS code namespace and need to be associated with that namespace in an appropriate manner.

I can't see anything this could possibly reference. It should likely be deleted.


<Coordinate_System_Identification>

OPTIONAL

This class defines a coordinate system. It specifies an origin, reference frame, type, and reference time.

I would strongly advise including an optional comment or description attribute in this class.

<coordinate_system_type>

REQUIRED

This indicates the type of coordinates that will be used. It must be one of the following standard values:

  • Azimuth-Elevation
  • Cartesian
  • Planetocentric
  • Planetodetic
  • Planetographic
  • Spherical

<coordinate_system_time>

REQUIRED

This attribute provides a reference time for the instantiation of the coordinate system. It must be in the standard "YYYY-MM-DDThh:mm:ss.sss". If the time is a UTC time, add the Z zone indicator at the end.

<Coordinate_System_Origin_Identification>

REQUIRED

This class identifies the origin of the coordinate system - not necessarily the end point of any particular vector defined within that coordinate system. Apart from the enclosing tag name (Coordinate_System_Origin_Identification as opposed to Central_Body_Identification), this class is filled out identically to the <Central_body_Identification> class, described above.

Is this sufficiently precise? If you name a body, like "Jupiter", is it clear that you mean the center of mass (or do you mean the barycenter, or some geometric center of a reference surface)?

<Reference_Frame_Identification>

REQUIRED

This class defines the reference frame for the coordinate system. It is filled out identically to the <Reference_Frame_Identification> class described above.

Why would this ever be different from the higher-level Reference_Frame_Identification? What wouls that mean? Where would a data preparer explain that strange-seeming situation?


<Target_Identification>

OPTIONAL

This class identifies the origin of the coordinate system - not necessarily the end point of any particular vector defined within that coordinate system. Apart from the enclosing tag name (Target_Identification as opposed to Central_Body_Identification), this class is filled out identically to the <Central_body_Identification> class, described above.

The more I think about it, the more I dislike re-using the "Target_Identification" name for a different purpose here. And I also wonder if just proving a body identification is sufficiently precise here, as well.

<Distances>

OPTIONAL

This class collects point-to-point distance measurements (that is, magnitudes rather than vectors) for various named intervals of interest, as well as providing a class for specifying arbitrary distance measurements as needed. Unless otherwise stated, distances are measured center-to-center, and references to "target" and "central body" refer to the objects identified in the <Target_Identification> and <Central_Body_Identification>, respectively, in this <Geometry_Orbiter> class.

All distances are considered positive, and you must provide units of an appropriate type in each case. For example:

     <spacecraft_to_target_center_distance unit="km">15.097</spacecraft_to_target_center_distance>
     <target_geocentric_distance unit="AU">17.9</target_geocentric_distance>

<spacecraft_geocentric_distance>

OPTIONAL

Distance from the spacecraft to Earth

<spacecraft_heliocentric_distance>

OPTIONAL

Distance from the spacecraft to the sun

<spacecraft_to_central_body_distance>

OPTIONAL

Distance from the spacecraft to identified central body.

<spacecraft_to_target_center_distance>

OPTIONAL

Distance from the spacecraft to the identified target.

<spacecraft_to_target_boresight_intercept_distance>

OPTIONAL

Distance from the center of the spacecraft, measured along the boresight of the observing instrument, to the point where that line intercepts the surface of the identified target.

<spacecraft_to_target_subspacecraft_distance>

OPTIONAL

Distance from the center of the spacecraft, measured along a line from the center of the spacecraft to the center of the identified target, to the point where that line intercepts the surface of the target.

<target_geocentric_distance>

OPTIONAL

Distance from the identified target to Earth

<target_heliocentric_distance>

OPTIONAL

Distance from the identified target to the sun

<target_ssb_distance>

OPTIONAL

Distance from the target to the Solar System Barycenter (SSB)

<Distance_Generic>

OPTIONAL

This class provides an opportunity to define and record a distance measurement not included in the preceding attributes of this class. You must define the start point of the distance measurement as the "observer", and the end point as the "target" (in a generic sense, here).

<Observer_Identification>

REQUIRED

This class identifies the start point of the distance measurement. Apart from the enclosing tag name (Observer_Identification as opposed to Central_Body_Identification), this class is filled out identically to the <Central_body_Identification> class, described above.

<Target_Identification>

REQUIRED

This class identifies the end point of the distance measurement. Apart from the enclosing tag name (Target_Identification as opposed to Central_Body_Identification), this class is filled out identically to the <Central_body_Identification> class, described above.

Even more qualms about "target" confusion...

<distance>

REQUIRED

The actual distance measurement from observer to target. You must, as always, provide an appropriate unit of measure with this attribute. Make sure you indicate the precise point (center, barycenter, intercept point, etc.) used for measurement at both the observer and the target.


<Pixel_Dimensions>

OPTIONAL

This class provides various ways of translating a pixel field of view to physical dimensions. You must provide units for these attributes as appropriate.

<horizontal_pixel_size_angular>

OPTIONAL

This attribute gives the horizontal (as defined by the <Display_Direction> class) size of a pixel in terms of its angular size.

<vertical_pixel_size_angular>

OPTIONAL

This attribute gives the vertical (as defined by the <Display_Direction> class) size of a pixel in terms of its angular size.

<horizontal_pixel_scale_factor>

OPTIONAL

This attribute gives the horizontal (as defined by the <Display_Direction> class) scaling factor needed to convert the width of a pixel to a linear extent at the point of interest - typically at the surface intercept point of a relatively close object, or at the distance of the center of a distant one.

Units for this keyword are Units_of_Map_Scale - "km/pixel", for example.

<vertical_pixel_scale_factor>

OPTIONAL

This attribute gives the vertical (as defined by the <Display_Direction> class) scaling factor needed to convert the height of a pixel to a linear extent at the point of interest - typically at the surface intercept point of a relatively close object, or at the distance of the center of a far-off one.

Units for this keyword are Units_of_Map_Scale - "km/pixel", for example.

<Pixel_Size_Projected>

OPTIONAL

This class provides a more detailed way to define the projected footprint of a pixel field of view at the surface of a (resolved) target object.

<reference_location>

REQUIRED

This attribute identifies the point at which the following pixel values are calculated. It must have one of the following values:

  • Boresight Intercept Point
  • Subspacecraft Point
  • Target Center

The "target" is the object in the <Target_Identification> class of the containing <Geometry_Orbiter> class.

<horizontal_pixel_size_projected>

OPTIONAL

This attribute gives the horizontal (as defined in the associated Display_Direction class) extent of a single pixel at the reference_location, in units of length.

<vertical_pixel_size_projected>

OPTIONAL

This attribute gives the vertical (as defined in the associated Display_Direction class) extent of a single pixel at the reference_location, in units of length.


<Surface_Geometry>

OPTIONAL

This class collects various attributes related to geometry at the surface of the object in the <Target_identification> class of the containing <Geometry_Orbiter> class.

<Pixel_Intercept>

OPTIONAL

This class identifies the pixel at which the other values in the containing class are calculated. You must provide either the reference_pixel_location or the Reference_Pixel class to identify the reference point within the associated image.

This constraint is not enforced.

<reference_pixel_location>

OPTIONAL

This identifies the pixel at which the other values in this class are calculated. It must be one of the following values:

  • Center
  • Lower Left Corner
  • Lower Right Corner
  • Upper Left Corner
  • Upper Right Corner

<Reference_Pixel>

OPTIONAL

This class identifies a reference pixel by coordinates within the image, as described by the associated Display_Direction class. It is filled out the same way here as the Reference_Pixel class in Image_Display_Geometry.

<pixel_latitude>

OPTIONAL

This is the planetocentric latitude on the surface of the identified target at the center of the reference pixel. You must include units of measure for this attribute.

<pixel_longitude>

OPTIONAL

This is the planetocentric longitude (in the range 0-360°) on the surface of the identified target at the center of the reference pixel. You must include units of measure for this attribute.

<Footprint_Vertices>

OPTIONAL

This class defines the footprint associated with an observation as a series of pixels defining a polygon. Include one <Pixel_Intercept> subclass for each vertex. You must have at least three of these; you may have as many as you like. The vertices should be defined in an order that is clockwise (as seen in the displayed image) around the perimeter of the footprint.

I'm guessing this is what the mangled definition in the schema was eventually going to say. Really shouldn't drink that much when you're working on this stuff.

<Pixel_Intercept>

REQUIRED

You must have at least three of these subclasses, and you may have as many as you need. It is filled out identically to the Pixel_Intercept in the <Surface_Geometry> class, above.

<subsolar_azimuth>

OPTIONAL

This is the angle, measured clockwise from a line extending from the center of the image to the center of the right edge, to the subsolar point on the identified target. You must specify units of measure for this attribute.

<subsolar_latitude>

OPTIONAL

This attribute contains the planetocentric latitude of the subsolar point on the identified target. You must provide units of measure for this attribute.

<subsolar_longitude>

OPTIONAL

This attribute contains the planetocentric longitude (in the range 0-360°) of the subsolar point on the identified target. You must provide the units of measure for this attribute.

<subspacecraft_azimuth>

OPTIONAL

This is the angle, measures clockwise from a line extending from the center of the image to the center of the right edge, to the subspacecraft point on the identified target. You must specify units of measure for this attribute.

<subspacecraft_latitude>

OPTIONAL

This attribute contains the planetocentric latitude of the subspacecraft point on the identified target. You must provide units of measure for this attribute.

<subspacecraft_longitude>>

OPTIONAL

This attribute contains the planetocentric longitude (in the range 0-360°) of the subspacecraft point on the identified target. You must provide the units of measure for this attribute.


<Illumination_Geometry>

OPTIONAL

This class provides attributes to describe the field of view lighting conditions.

<Illumination_Single_Values>

OPTIONAL

This class provides illumination information referenced to a single point in the image when displayed as described in the associated Display_Direction class. The "target" in these classes is the object identified in the <Target_Identification> class of the containing <Geometry_Orbiter> class.

If I'm following the logic of other classes correctly, then it seems to me like there should be a requirement that exactly one of reference_location, reference_pixel_location, or Reference_Pixel should be required. That's not what's happening in the schema, and what is in the schema is weird - the first two are in an optional "choice" construct, while the last isn't. Is this another LDDTool issue?

<reference_location> or <reference_pixel_location>

OPTIONAL

You must specify one or the other of these reference points to indicate the point at which the following illumination values are calculated.

reference_location must have one of these values:

  • Boresight Intercept Point
  • Subspacecraft Point
  • Target Center

reference_pixel_location must have one of these values:

  • Center
  • Lower Left Corner
  • Lower Right Corner
  • Upper Left Corner
  • Upper Right Corner

<Reference_Pixel>

OPTIONAL

This class identifies the reference pixel within the image. It is identical to the Reference_Pixel class in <Geometry_Orbiter>.

<emission_angle>

OPTIONAL

This is the angle (in the range 0-180°) between the surface normal vector at the intercept point and a vector from the intercept point to the spacecraft. You must indicate units of measure for this attribute.

<incidence_angle>

OPTIONAL

This is the angle (in the range 0-180°) between the surface normal vector at the intercept point and a vector from the intercept point to the sun. You must indicate units of measure for this attribute.

<phase_angle>

OPTIONAL

This is the angle (in the range 0-180°) between the vector from the intercept point to the source of illumination (e.g., the sun), and the vector from the intercept point to the observer (typically an instrument). You must specify units of measure for this attribute.

<solar_elongation>

OPTIONAL

This is the angle (in the range 0-180°) between the vector from the intercept point to observer (typically an instrument) and the vector from the intercept point to the sun. You must specify units of measure for this attribute.


<Illumination_FOV_Range_Values>

OPTIONAL

This class collects attributes that describe illumination parameters as minimum/maximum pairs. The attributes have the same physical definitions as in the <Illumination_Single_Values> class.

<illumination_range_designation>

REQUIRED

This attribute indicates whether the remaining values in this class refer to the entire field of view, or just that portion of the target (identified in the containing Geometry_Orbiter class) that is within the field of view. It must have one of two values: either Field of View, corresponding to the former case; or Target for the latter.

<minimum_emission_angle>

OPTIONAL

This attribute is the minimum value of the emission angle (in the range 0-180°) relevant to the observation. You must provide units of measure for this attribute.

<maximum_emission_angle>

OPTIONAL

This attribute is the maximum value of the emission angle (in the range 0-180°) relevant to the observation. You must provide units of measure for this attribute.

<minimum_incidence_angle>

OPTIONAL

This attribute is the minimum value of the incidence angle (in the range 0-180°) relevant to the observation. You must provide units of measure for this attribute.

<maximum_incidence_angle>

OPTIONAL

This attribute is the maximum value of the incidence angle (in the range 0-180°) relevant to the observation. You must provide units of measure for this attribute.

<minimum_phase_angle>

OPTIONAL

This attribute is the minimum value of the phase angle (in the range 0-180°) relevant to the observation. You must provide units of measure for this attribute.

<maximum_phase_angle>

OPTIONAL

This attribute is the maximum value of the phase angle (in the range 0-180°) relevant to the observation. You must provide units of measure for this attribute.


A Word About Geometry Vectors

The various vectors in the Geometry Discipline dictionary are derived from common parent classes, providing consistent structure and terminology. The "specific' vectors listed below have been defined for the set of vectors that appear in the majority of orbiter/flyby data products. For these vectors the start and end points ("observer" and "target", in general terms) and coordinate system are part of the definition of the vector itself. You should use these specific vectors whenever they might reasonably apply, as they provide a common nomenclature for these values that users can key into across the archive.

When you need to specify a vector for a quantity outside this standard set, use the generic vector classes, which allow you to specify observer, target, and coordinate system.

The details of the structure of each family of vectors in the Geometry Discipline dictionary are summarized on the Filling Out the Geometry Vector Classes page.

<Specific_Position_Vectors>

OPTIONAL

This class collects vector positions to and from various end points into a single class. In the vector names, the first object named (on the left) is taken as the "observer", the second as the "target", for purposes of identifying the direction of measurement. So in the Sun_To_Spacecraft_Position_Vector_Cartesian, the sun is treated as the "observer" and the spacecraft as the "target" for purposes of defining the vector. Unless otherwise indicated, all positions are measured from and to the center of mass.

These vectors are all specific instances of the more generic position vectors, and they follow the same constraints and naming conventions, except as noted in the generic vector descriptions.

You may include only those position vectors of interest, but the vectors you use must appear in this order. You may repeat any of these vectors as many times as you like, but the repetitions must be grouped together. If you have positions to document that are not included in this class, use the <Generic_Vectors> class and its subclasses to define and describe them. If you prefer to group your vectors by coordinate system rather than content, use the <Specific_Cartesian_Vectors> and <Specific_Planetocentric_Vectors> classes.

<Central_Body_To_Spacecraft_Position_Vector_Cartesian>

OPTIONAL

Position of the spacecraft as viewed from the central body (around which another body is orbiting). It is filled out as a specific form of the <Position_Vector_Cartesian_Generic> class.

<Central_Body_To_Target_Position_Vector_Cartesian>

OPTIONAL

Position of the target identified by the Target_Identification in this Geometry_Orbiter class, as viewed from the central body (around which another body, typically the target, is orbiting). It is filled out as a specific form of the <Position_Vector_Cartesian_Generic> class.

<Spacecraft_To_Target_Position_Vector_Cartesian>

OPTIONAL

Position of the target identified by the Target_Identification in this Geometry_Orbiter class, as viewed from the spacecraft. It is filled out as a specific form of the <Position_Vector_Cartesian_Generic> class.

<Central_Body_To_Spacecraft_Position_Vector_Planetocentric>

OPTIONAL

Position of the spacecraft as viewed from the central body (around which another body is orbiting), in planetocentric coordinates. It is filled out as a specific form of the <Position_Vector_Cartesian_Generic> class.

<Central_Body_To_Target_Position_Vector_Planetocentric>

OPTIONAL

Position of the target identified by the Target_Identification in this Geometry_Orbiter class, as viewed from the central body (around which another body, typically the target, is orbiting). It is filled out as a specific form of the <Position_Vector_Cartesian_Generic> class.

<Spacecraft_To_Target_Position_Vector_Planetocentric>

OPTIONAL

Position of the target identified by the Target_Identification in this Geometry_Orbiter class as viewed from the spacecraft. It is filled out as a specific form of the <Position_Vector_Cartesian_Generic> class.

<SSB_To_Central_Body_Position_Vector_Cartesian>

OPTIONAL

Position of the central body (around which another body is orbiting), as viewed from the Solar System Barycenter (SSB). It is filled out as a specific form of the <Position_Vector_Cartesian_Generic> class.

<SSB_To_Spacecraft_Position_Vector_Cartesian>

OPTIONAL

Position of the spacecraft as viewed from the Solar System Barycenter (SSB). It is filled out as a specific form of the <Position_Vector_Cartesian_Generic> class.

<SSB_To_Target_Position_Vector_Cartesian>

OPTIONAL

Position of the object indicated by the Target_identification of this Geometry_Orbiter class as viewed from the Solar System Barycenter (SSB). It is filled out as a specific form of the <Position_Vector_Cartesian_Generic> class.

<Sun_To_Central_Body_Position_Vector_Cartesian>

OPTIONAL

Position of the central body (around which another body, typically the target, is orbiting) as viewed from the sun. It is filled out as a specific form of the <Position_Vector_Cartesian_Generic> class.

<Sun_To_Spacecraft_Position_Vector_Cartesian>

OPTIONAL

Position of the spacecraft as viewed from the sun. It is filled out as a specific form of the <Position_Vector_Cartesian_Generic> class.

<Sun_To_Target_Position_Vector_Cartesian>

OPTIONAL

Position of the object indicated by the Target_identification of this Geometry_Orbiter class as viewed from the sun. It is filled out as a specific form of the <Position_Vector_Cartesian_Generic> class.

<Earth_To_Central_Body_Position_Vector_Cartesian>

OPTIONAL

Position of the central body (around which another body is orbiting) as viewed from Earth. It is filled out as a specific form of the <Position_Vector_Cartesian_Generic> class.

<Earth_To_Spacecraft_Position_Vector_Cartesian>

OPTIONAL

Position of the spacecraft as viewed from Earth. It is filled out as a specific form of the <Position_Vector_Cartesian_Generic> class.

<Earth_To_Target_Position_Vector_Cartesian>

OPTIONAL

Position of the object indicated by the Target_identification of this Geometry_Orbiter class as viewed from Earth. It is filled out as a specific form of the <Position_Vector_Cartesian_Generic> class.

<Specific_Velocity_Vectors>

OPTIONAL

This class collects vector velocities into a single class. In general terms, each vector records the velocity of a "target" as perceived by an "observer". In the class names, the "target" comes first (on the left), and the "observer" comes second. (Note that this is the opposite order from that in the specific position vector names.) So in the Spacecraft_Relative_to_Earth_Velocity_Vector_Cartesian class, the spacecraft is taken as the "target" and Earth is taken as the "observer" for purposes of defining the velocity. Unless otherwise indicated, all velocities are measured from and to the center of mass.

These vectors are all specific instances of the more generic velocity vectors, and the follow the same conventions, except as noted in the generic vector descriptions.

You may include only those velocity vectors of interest, but the vectors you use must appear in this order. You may repeat any of these vectors as many times as you like, but the repetitions must be grouped together. If you have velocities to document that not included in this class, use the <Generic_Vectors> class and its subclasses to define and describe them. If you prefer to group your vectors by coordinate system rather than content, use the <Specific_Cartesian_Vectors> and <Specific_Planetocentric_Vectors> classes.

<Spacecraft_Relative_To_Central_Body_Velocity_Vector_Cartesian>

OPTIONAL

Velocity of the spacecraft as observed from the central body (around which another body is orbiting). This is a specific form of the <Velocity_Vector_Cartesian_Generic> class.

<Spacecraft_Relative_To_Target_Velocity_Vector_Cartesian>

OPTIONAL

Velocity of the spacecraft as observed from the object indicated by the Target_Identification in this Geometry_Orbiter class. This is a specific form of the <Velocity_Vector_Cartesian_Generic> class.

<Spacecraft_Relative_To_Earth_Velocity_Vector_Cartesian>

OPTIONAL

Velocity of the spacecraft as observed from Earth. This is a specific form of the <Velocity_Vector_Cartesian_Generic> class.

<Spacecraft_Relative_To_SSB_Velocity_Vector_Cartesian>

OPTIONAL

Velocity of the spacecraft as observed from the Solar System Barycenter (SSB). This is a specific form of the <Velocity_Vector_Cartesian_Generic> class.

<Spacecraft_Relative_To_Sun_Velocity_Vector_Cartesian>

OPTIONAL

Velocity of the spacecraft as observed from the sun. This is a specific form of the <Velocity_Vector_Cartesian_Generic> class.

<Target_Relative_To_Central_Body_Velocity_Vector_Cartesian>

OPTIONAL

Velocity of the object indicated by the Target_Identification in this Geometry_Orbiter class, as observed from the central body (around which another body, typically the target, is orbiting). This is a specific form of the <Velocity_Vector_Cartesian_Generic> class.

<Target_Relative_To_Spacecraft_Velocity_Vector_Cartesian>

OPTIONAL

Velocity of the object indicated by the Target_Identification in this Geometry_Orbiter class, as observed from the spacecraft. This is a specific form of the <Velocity_Vector_Cartesian_Generic> class.

<Target_Relative_To_Earth_Velocity_Vector_Cartesian>

OPTIONAL

Velocity of the object indicated by the Target_Identification in this Geometry_Orbiter class, as observed from Earth. This is a specific form of the <Velocity_Vector_Cartesian_Generic> class.

<Target_Relative_To_SSB_Velocity_Vector_Cartesian>

OPTIONAL

Velocity of the object indicated by the Target_Identification in this Geometry_Orbiter class, as observed from the Solar System Barycenter (SSB). This is a specific form of the <Velocity_Vector_Cartesian_Generic> class.

<Target_Relative_To_Sun_Velocity_Vector_Cartesian>

OPTIONAL

Velocity of the object indicated by the Target_Identification in this Geometry_Orbiter class, as observed from the sun. This is a specific form of the <Velocity_Vector_Cartesian_Generic> class.

<Spacecraft_Relative_To_Target_Velocity_Vector_Planetocentric>

OPTIONAL

Velocity of the spacecraft as observed from the object indicated by the Target_Identification in this Geometry_Orbiter class. This is a specific form of the <Velocity_Vector_Planetocentric_Generic> class.

<Target_Relative_To_Central_Body_Velocity_Vector_Planetocentric>

OPTIONAL

Velocity of the object indicated by the Target_Identification in this Geometry_Orbiter class, as observed from the central body (around which another body, typically the target, is orbiting). This is a specific form of the <Velocity_Vector_Planetocentric_Generic> class.

<Target_Relative_To_Spacecraft_Velocity_Vector_Planetocentric>

OPTIONAL

Velocity of the object indicated by the Target_Identification in this Geometry_Orbiter class, as observed from the as observed from the spacecraft. This is a specific form of the <Velocity_Vector_Planetocentric_Generic> class.

<Specific_Cartesian_Vectors>

OPTIONAL

If you prefer, you may group your vectors according to the vector type (Cartesian vs. planetocentric) rather than their content (position vs. velocity). This class combines all the Cartesian vectors mentioned in the previous two classes into a single class. Each is optional in this class - use the ones that apply. You may also repeat any of these, provided the repetitions are adjacent. The vectors included in this class, in label order, are:

Position Vectors
Velocity Vectors

<Specific_Planetocentric_Vectors>

OPTIONAL

If you prefer, you may group your vectors according to the vector type (Cartesian vs. planetocentric) rather than their content (position vs. velocity). This class combines all the planetocentric vectors mentioned in the first two Specific Vectors classes into a single class. Each is optional in this class - use the ones that apply. You may repeat a vector if needed. The vectors included in this class, in label order, are:

<Generic_Vectors>

OPTIONAL

The Generic_Vectors class allows you to define new point-to-point vectors for position, velocity, and acceleration as you need them. You should use specific versions of vectors when they already exist, but if you have a concept not covered by those, here's where it goes. Their detailed descriptions have been pulled out onto a separate Filling Out the Geometry Vector Classes page for referencing and cross-referencing, since the attributes of these generic vectors are supersets of the attributes used to define the specific vectors.

Generic vector classes must be created in the following order, although you may repeat classes as needed. That is, you may define as many <Velocity_Vector_Cartesian_Generic> classes as you like before moving on to any <Acceleration_Vector_Cartesian_Generic> classes.

These are the generic vector classes available, in label order: