-
Notifications
You must be signed in to change notification settings - Fork 807
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
EPSG v10 update part 2: ingest DatumEnsemble from the database #2371
Conversation
Nothing concerning from the failures in pyproj4/pyproj#717. Mostly changes the representation of the data based on database changes. |
Some interesting behavior: Based on: >>> Datum.from_epsg(6326)
DATUM["World Geodetic System 1984",
ELLIPSOID["WGS 84",6378137,298.257223563,
LENGTHUNIT["metre",1]],
ID["EPSG",6326]] Based on >>> Datum.from_string("World Geodetic System 1984")
ENSEMBLE["World Geodetic System 1984 ensemble",
MEMBER["World Geodetic System 1984 (Transit)",
ID["EPSG",1166]],
MEMBER["World Geodetic System 1984 (G730)",
ID["EPSG",1152]],
MEMBER["World Geodetic System 1984 (G873)",
ID["EPSG",1153]],
MEMBER["World Geodetic System 1984 (G1150)",
ID["EPSG",1154]],
MEMBER["World Geodetic System 1984 (G1674)",
ID["EPSG",1155]],
MEMBER["World Geodetic System 1984 (G1762)",
ID["EPSG",1156]],
ELLIPSOID["WGS 84",6378137,298.257223563,
LENGTHUNIT["metre",1],
ID["EPSG",7030]],
ENSEMBLEACCURACY[2.0],
ID["EPSG",6326]] |
yes, this is intended. If you force instantiation of EPSG:6326 as a Datum (and not a DatumEnsemble), PROJ will instanciate it as such. This is mostly intended to be used internally by PROJ to be still able to export WKT < 2019. If you don't put constraint, it will return it as a DatumEnsemble. |
Also, for: >>> Datum.from_string("World Geodetic System 1984")
ENSEMBLE["World Geodetic System 1984 ensemble", Thoughts on having |
just added one
I'm not super keen on adding special processing for that. proj_create("World Geodetic System 1984") returns |
Okay, that makes sense. Should the ensemble be preferred over the datum in general? Also, thanks for adding the category 👍 |
Not sure if that answers your question, but reporting an ensemble as such is the nominal behaviour now in EPSG v10 / ISO-19111:2019. Returning it as a Datum is a kind of degraded / backward behaviour. But this is admittedly geodesic pedantry. |
Is |
I'd say only 8, as in 7.2 DatumEnsemble objects are not instanciated from the database |
…th a DatumEnsemble, typically for WGS 84 and ETRS89 ('breaking change')
…nsemble Only occurence for now is EPSG:9451 'BI height' using the 'British Isles height ensemble'
This is a follow-up to #2370. It incorporates changes that have backward compatible challenges. That is with this pull request, CRS that depend on the WGS 1984 and ETRS89 datum, will know use a DatumEnsemble object instead of a Datum. The WKT:2019 export of such CRS could cause hick-ups to PROJ < 7.2 (assuming PROJ 7.2 will incorporate PR #2370) because it is not fully ready to deal with DatumEnsemble.
Only the few commits starting with 'When reading from database, possibly return Geographic/GeodeticCRS with a DatumEnsemble, typically for WGS 84 and ETRS89 ('breaking change')" are specific to this pull request.
With this pull request, WKT2:2019 output of EPSG:4326 will be
What I didn't do since I wasn't sure if we really needed it is to offer an option to emit WKT:2019 with old style DATUM[]. (but reiterating something mentionned in the part 1 pull request, if exporting to WKT < 2019, this will be done automatically)
Final fixes #2355
Funded by Safe software, GeoCue and Phoenix LiDAR Systems