niemopen / niem-model

The NIEM reference data model
Other
14 stars 6 forks source link

Harmonize angles, courses, headings #1

Open cdmgtri opened 1 year ago

cdmgtri commented 1 year ago

Migrated from NIEM/NIEM-Releases#12

A lot of custom angular measurement types exist for properties with related but slightly different semantics. It may be better to create some generic types that could be reused. These types would need to support multiple representations.

This would be similar to how NIEM uses nc:DateType as the generic type for date properties. This one basic type provides consistency and reusability, and also allows for users to choose the individual representation (date, datetime, time, year, etc.) that meets their requirements.

MilOps is moving ahead with some solutions for their domain in 4.1, but recommends harmonization in Core.

cdmgtri commented 1 year ago

Current (as of Jul 2020)

nc:AngleMeasureType (nc:MeasureType)

nc:AngularMeasureType (structures:ObjectType)

This type can be used with either only the degrees element as a decimal value, or broken out into the degrees, minutes, and seconds elements.

mo:AngularMeasureAugmentationType

mo:CourseAngleDegreesMeasureType (structures:ObjectType)

Element mo:CourseAbstract substitution group

mo:HorizontalAngularMeasureType (nc:AngularMeasureType)

mo:VerticalAngularMeasureType (nc:AngularMeasureType)

Proposed

nc:AngleMeasureType (nc;MeasureType)

nc:~AngularMeasure~AngleDegreeType (structures:ObjectType)

This type can be used with either only the degrees element as a decimal value, or broken out into the degrees, minutes, and seconds elements.

~mo:AngularMeasureAugmentationType~

~mo:CourseAngleDegreesMeasureType~ (structures:ObjectType)

Element mo:CourseAbstract substitution group

nc:DatumType (structures:ObjectType)

nc:HorizontalDatumType (nc:DatumType)

nc:VerticalDatumType (nc:DatumType)

nc:HorizontalAngleMeasureType ~mo:HorizontalAngularMeasureType~ (nc:Angle~Angular~MeasureType)

nc:VerticalAngleMeasureType ~mo:VerticalAngularMeasureType~ (nc:Angle~Angular~MeasureType)

nc:LocationHeightMeasureType (nc:LengthMeasureType)

cdmgtri commented 1 year ago

(Aug 2020) The Harmonization Workgroup recommends deferring on this issue for now. There is some overlap that could be resolved, but there have been no raised problems about the current content and a better solution would likely be reached when some subject matter experts are available to participate in the refactoring.