2.2 Circular Dependencies
Previous | Table of Content | Next |
2.2 Circular Dependencies
The structure of the elements do cause issues as some data is circular in reference. If not observed, it will cause endless resolving and server blocking.
One of the elements that express potential circular dependencies are elements that have defining operations. Such an element is the geodetic CRS (Geocentric, Geographic 3D and Geographic 2D). In the current dataset, an example is AbInvA96_2020-IRF (9384). This 2D Geographic CRS is defined by its transformation from ETRS89 (4258). So, by retrieving the information, using the API, for AbInvA96_2020-IRF (9384), we get a sub-element “GeoidModels”, that point to a transformation:
"GeoidModels": [ { "Code": 9386, "Name": "ETRS89 to AbInvA96_2020-IRF (1)", "href": "https://apps.epsg.org/api/v1/Transformation/9386" } |
The name “GeoidModels” is legacy from the ISO 19111 model in that it originally was thought to only apply to vertical CRS. In the EPSG API the association has been generalised to all other CRS subtypes as a defining operation.
To resolve the “GeoidModels” object, following the link will result in data for a transformation being returned and this will have, among other, the following sub-element:
"TargetCrs": { "Code": 9384, "Name": "AbInvA96_2020-IRF", "href": "https://apps.epsg.org/api/v1/GeodeticCoordRefSystem/9384" }, |
Pointing back to the just resolved geographic 2D CRS, AbInvA96_2020-IRF, thus causing a circular look in resolving data elements.
Previous | Table of Content | Next |