Issue motivated by a reprojected image requiring a display direction. pds:Local_Internal_Reference should be required by the Ring_Reprojection class.
The Display_Direction class that was copied & pasted from the Display dictionary needs to be removed from the Rings dictionary (Issue #242), but a reference to the Display dictionary's Display_Direction needs to be made. So in the Ring_Reprojection class, we need pds:Local_Internal_Reference (to use local_identifier_reference).
Describe the solution you'd like
Steps required:
a schematron rule that defines local_reference_type in this class (“reprojection_to_array”).
Uniformly_Sampled_Radius provides a useful template:
<DD_Rule>
<local_identifier>Uniformly_Sampled_Radius_0</local_identifier>
<rule_context>//rings:Uniformly_Sampled_Radius/pds:Local_Internal_Reference</rule_context>
<DD_Rule_Statement>
<rule_type>Assert</rule_type>
<rule_test>pds:local_reference_type = 'uniformly_sampled_radius_to_array_axis'
</rule_test>
<rule_message>For Local_Internal_Reference in rings:Uniformly_Sampled_Radius, local_reference_type must equal 'uniformly_sampled_radius_to_array_axis'.
</rule_message>
</DD_Rule_Statement>
</DD_Rule>
a schematron rule that says that the mosaic needs to have a display direction, i.e. <rings:Ring_Reprojection>.<Local_Internal_Reference>.<local_identifier_reference> has to be present in one of <disp:Display_Settings>.<local_identifier_reference> (I say “one of” because there isn’t anything to preclude multiple images (only one of which is reprojected, say) in a label where each would have a display direction).
The Display dictionary currently contains the following:
<DD_Rule>
<local_identifier>Display_Settings_0</local_identifier>
<rule_context>disp:Display_Settings/pds:Local_Internal_Reference</rule_context>
<DD_Rule_Statement>
<rule_type>Assert</rule_type>
<rule_test>pds:local_identifier_reference = //pds:*/pds:*/(pds:Array|pds:Array_2D|pds:Array_2D_Image|pds:Array_2D_Map|pds:Array_2D_Spectrum|pds:Array_3D|pds:Array_3D_Image|pds:Array_3D_Movie|pds:Array_3D_Spectrum)/pds:local_identifier
</rule_test>
<rule_message>Display Dictionary: In the pds:Local_Internal_Reference class, the value of the pds:local_identifier_reference must match the value of the pds:local_identifer of an Array class or sub-class within the File_Area.
</rule_message>
</DD_Rule_Statement>
<DD_Rule_Statement>
<rule_type>Assert</rule_type>
<rule_test>pds:local_reference_type = 'display_settings_to_array'
</rule_test>
<rule_message>Display_Dictionary: For Local_Internal_Reference in disp:Display_Settings, local_reference_type must equal 'display_settings_to_array'.
</rule_message>
</DD_Rule_Statement>
</DD_Rule>
Describe the issue identified (if applicable)
Issue motivated by a reprojected image requiring a display direction.
pds:Local_Internal_Reference
should be required by theRing_Reprojection
class. TheDisplay_Direction
class that was copied & pasted from the Display dictionary needs to be removed from the Rings dictionary (Issue #242), but a reference to the Display dictionary'sDisplay_Direction
needs to be made. So in theRing_Reprojection
class, we needpds:Local_Internal_Reference
(to uselocal_identifier_reference
).Describe the solution you'd like
Steps required:
local_reference_type
in this class (“reprojection_to_array”).Uniformly_Sampled_Radius
provides a useful template:<rings:Ring_Reprojection>.<Local_Internal_Reference>.<local_identifier_reference>
has to be present in one of<disp:Display_Settings>.<local_identifier_reference>
(I say “one of” because there isn’t anything to preclude multiple images (only one of which is reprojected, say) in a label where each would have a display direction). The Display dictionary currently contains the following: