tdwg / bdq

Biodiversity Data Quality (BDQ) Interest Group
https://github.com/tdwg/bdq
43 stars 7 forks source link

TG2-AMENDMENT_COORDINATES_CONVERTED #43

Closed iDigBioBot closed 2 days ago

iDigBioBot commented 6 years ago
TestField Value
GUID 620749b9-7d9c-4890-97d2-be3d1cde6da8
Label AMENDMENT_COORDINATES_CONVERTED
Description Propose amendment to the value of dwc:geodeticDatum and potentially to dwc:decimalLatitude and/or dwc:decimalLongitude based on a conversion between coordinate reference systems.
TestType Amendment
Darwin Core Class dcterms:Location
Information Elements ActedUpon dwc:decimalLatitude
dwc:decimalLongitude
dwc:geodeticDatum
dwc:coordinateUncertaintyInMeters
dwc:coordinatePrecision
Information Elements Consulted
Expected Response INTERNAL_PREREQUISITES_NOT_MET if dwc:decimalLatitude is EMPTY or does not have a valid value, or dwc:decimalLongitude is EMPTY or does not have a valid value, or dwc:geodeticDatum is EMPTY or does not contain an interpretable value; AMENDED if the values of dwc:decimalLatitude, dwc:decimalLongitude and dwc:geodeticDatum are changed based on a conversion between the coordinate reference systems as specified by dwc:geodeticDatum and bdq:targetCRS, and, if dwc:coordinateUncertaintyInMeters was an interpretable value, the uncertainty from the conversion is added to it, and the value of dwc:coordinatePrecision is provided from the conversion result; otherwise NOT_AMENDED.
Data Quality Dimension Conformance
Term-Actions COORDINATES_CONVERTED
Parameter(s) bdq:targetCRS
Source Authority bdq:targetCRS default = "EPSG:4326" {[https://epsg.org]} {EPSG Endpoint for translations [https://epsg.io/transform]}
Specification Last Updated 2023-09-18
Examples [dwc:decimalLatitude="-23.712", dwc:decimalLongitude="139.923", dwc:geodeticDatum="AGD66", dwc:coordinateUncertaintyInMeters="", dwc:coordinatePrecision="": Response.status=AMENDED, Response.result=dwc:decimalLatitude="-23.7105001", dwc:decimalLongitude="139.924185", dwc:geodeticDatum="EPSG:4326", dwc:coordinateUncertaintyInMeters="", dwc:coordinatePrecision="6", Response.comment="Input fields contain interpretable values: xform using "https://epsg.io/transform#s_srs=4202&t_srs=4326&x=139.9230000&y=-23.7120000" "]
[dwc:decimalLatitude="-93.712", dwc:decimalLongitude="139.923", dwc:geodeticDatum="GDA94", dwc:coordinateUncertaintyInMeters="", dwc:coordinatePrecision="": Response.status=NOT_AMENDED, Response.result=, Response.comment="dwc:decimalLatitude was out of range"]
Source ALA, GBIF
References
Example Implementations (Mechanisms)
Link to Specification Source Code
Notes This test relates only to EPSG codes applying to coordinate reference systems where the coordinate system is EPSG:6422 (Ellipsoidal 2D CS. Axes: latitude, longitude. Orientations: north, east. UoM: degree), or EPSG:6423 (Ellipsoidal 3D CS. Axes: latitude, longitude, ellipsoidal height. Orientations: north, east, up. UoM: degree, degree, metre.). Any amendment has implications for dwc:coordinateUncertaintyInMeters and dwc:coordinatePrecision. If the dwc:coordinateUncertaintyInMeters is EMPTY or is not interpretable, this amendment should not provide a dwc:coordinateUncertaintyInMeters. If the dwc:coordinateUncertaintyInMeters is not EMPTY and is valid, this amendment should add the uncertainty contributed by the conversion to the value of dwc:coordinateUncertaintyInMeters. The amended dwc:coordinatePrecision should be the precision of coordinates as provided after the conversion, ideally this should be 0.0000001, reflecting the seven digits of precision required to reverse a coordinate transformation without loss of information at the scale of one meter. If dwc:geodeticDatum specifies the same CRS for dwc:decimalLatitude and dwc:decimalLongitude as bdq:targetCRS (e.g., if dwc:geodeticDatum has either the value "WGS84" or "EPSG:4326" and the bdq:targetCRS is "EPSG:4326"), then the coordinates are assumed to be in the target CRS and the Response.status is NOT_AMENDED.
Tasilee commented 1 year ago

Updates Source Authority from

bdq:targetCRS default = "EPSG:4326" {[https://epsg.org]}

to

bdq:targetCRS default = "EPSG:4326" {[https://epsg.org]} {EPSG Endpoint for translations [https://epsg.io/transform]}

chicoreus commented 1 year ago

Updated notes to include EPSG:6423, 3D lat/long

Tasilee commented 11 months ago

Splitting bdqffdq:Information Elements into "Information Elements ActedUpon" and "Information Elements Consulted". Also changed "Fields" to "TestFields" and "Output Type" to "TestType".

This one will be confusing in relation to "ActedUpon" and "Consulted": What is the consensus on how we handle this? All Information Elements are optionally ActedUpon.

tucotuco commented 11 months ago

I would say that dwc:decimalLatitude, dwc:decimalLongitude, dwc:geodeticDatum, and dwc:coordinatePrecisionInMeters are the ones that would be consulted.

An aside, the first example does not follow best practices. Though there might be an error of up to 3 meters associated with that transformation, it would be incorrect to set dwc:coordinateUncertaintyInMeters if the original was EMPTY. The only thing that should be done is to add the transformation error to an already valid dwc:coordinateUncertaintyInMeters. Otherwise dwc:coordinateUncertaintyInMeters should be left EMPTY.

Tasilee commented 11 months ago

Thanks @tucotuco. Logically, all Information Elements are indeed Consulted, and also ActedUpon in the sense here of being potentially altered.

Point taken on the Example. I will fix in the Validation Data and here.

tucotuco commented 2 days ago

This test has been moved from CORE to Immature/Incomplete based on the realization that there are numerous cases of datum transformations that would require an assessment of a large number of distinct coordinate reference system transformation algorithms each with potentially distinct resulting transformed coordinates. This happens when there are multiple specifications of coordinate reference systems for a given datum (e.g., AGD66, NAD27, ED50, etc.). One would have to run all possible transformations and analyze the differences in the results, rather than getting a simple single result to use for the transformed coordinates. It is possible to implement this test, but Task Group 2 does not have the resources to provide a rigorous implementation.

tucotuco commented 2 days ago

Closing as Immature/Incomplete, not to be included in the standard submission.