Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discrepancies in Frame Specification IDs #58

Open
ckwichael opened this issue Jan 13, 2023 · 5 comments
Open

Discrepancies in Frame Specification IDs #58

ckwichael opened this issue Jan 13, 2023 · 5 comments
Assignees
Labels
bug Something isn't working Defer to version 1.X

Comments

@ckwichael
Copy link

Hi everyone,

I apologize if this is not the correct forum to raise this issue, but I am attempting to create an implementation based on the draft standard located here: https://docs.ogc.org/dis/21-056r10/21-056r10.html. While implementing the different frame specification types I have found a few things that I have questions about. I have been using the UML diagram located in section 7.2.1 of the standard as a guide but it seems to be missing the Translate-Rotate frame specification found in various examples throughout the document. It also seems like there are inconsistencies in the IDs given in the examples. In the Advanced SDU json example in section 9.2.4 the ID given for an ENU spec is LTP-ENU, but in the Graph SDU example (9.2.5) the ID is listed as /Extrinsic/LTP_ENU, but both use the same authority. There is a similar discrepancy with the Translate-Rotate spec: in the Graph SDU example the ID is /Intrinsic/Translate-Rotate, but in the Regular Series SDU example (9.2.7) it is listed as RotateTranslate.

I know that these are just examples to show the shape of the data and may not necessarily have 100% valid values, but I cant seem to find a comprehensive list of frame specifications with the data they use and their IDs for the /geopose/1.0 authority, does that exist anywhere?

@3DXScape
Copy link
Collaborator

The authority, id, parameters in the FrameSpecification are placeholders designed to accommodate incompatible external schemes. The standard does not give any guidance on the use of these fields nor any examples. I think it should and will add at least an ISO19111 definition for the frame transform from WGS84/EPSG 4326 to LTP-ENU and give it as an example for Advanced that is equivalent to Basic-Quaternion. A set of a dozen or so common frames would be nice to have.

The authority names should be internally consistent, even though they are just examples and not normative.

@cperey
Copy link
Collaborator

cperey commented Jan 17, 2023

Thank you, @3DXScape

I believe you said (in a meeting a few minutes ago) that the discrepancies @ckwichael has found in IDs could, indeed, be errors to be corrected.

When @3DXScape has checked over, it would be fantastic to have any errors clarified (here or elsewhere).

@ckwichael
Copy link
Author

Ah that makes sense. In my implementation I added a few interfaces and an authority provider so that any consumers of the library could implement any custom frame specifications that they wanted. Should the TransitionModel located in the StreamHeader also have a set of common models? If so should I add a new issue for that?

@3DXScape
Copy link
Collaborator

Values for the TransitionModel are in an enumeration in the UML model Sequence Package. The v1.0 choices are "Interpolated" or "None". I realize that "Interpolated" does not give you much information except to imply that the various components of the poses between samples are continuous in time. None implies discontinuity but this should be made explicit and probably made into a requirement.
This is an area that could benefit from more explanation and a broader set of choices, including ones that are differentiable or use dynamical models of moving objects, Kalman filters, or "dead reckoning". An issue on "Transition Model Needs More Definition" would be helpful.

@3DXScape
Copy link
Collaborator

I looked at the authorities and IDs in the examples and realized that they are placeholders but look like they might be "official" names and IDs. I will create a "corrigendum 1" branch in the standard and make the authority, ID, and parameters at least internally consistent. It would be good to synchronize a "corrigendum 1" release of the standard with a request for the TC to move the standard out of "draft" status, perhaps this summer?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Defer to version 1.X
Projects
None yet
Development

No branches or pull requests

3 participants