Details
-
Task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.0
-
None
Description
Calls to CRS.findOperation(sourceCRS, targetCRS) sometime produces a CoordinateOperation with wrong metadata (name, identifiers, remarks, scope). For example requesting an operation from EPSG::4202 to EPSG::4283 should produce the following operation (when there is no NTv2 datum shift grid available):
CoordinateOperation["AGD66 to GDA94 (19)", SourceCRS[GeodeticCRS["AGD66", (...snip...)], TargetCRS[GeodeticCRS["GDA94", (...snip...)], Method["Coordinate Frame rotation (geog2D domain)"], (...snip...)], OperationAccuracy[0.5], Scope["Recommended for mid-accuracy use in A.C.T. 1m accuracy."], Area["Australia - Australian Capital Territory."], BBox[-35.93, 148.76, -35.12, 149.40], Id["EPSG", 5827, "9.7", URI["urn:ogc:def:coordinateOperation:EPSG:9.7:5827"]], Remark["Replaces nationally-derived transformation code 1458."]]
But we get instead the name "Ellipsoidal 2D CS. Axes: longitude, latitude. Orientations: east, north. UoM: degree" together with identifier and remarks of EPSG::6424 coordinate system. The accuracy, scope, area and bounding box are lost. The bug is in EPSGDataAccess where metadata are accidentally overwritten before we finished to construct the CoordinateOperation. This bug affects only metadata; the coordinate operation parameters are unaffected so the numerical results of coordinate operations should be the same.