-
Notifications
You must be signed in to change notification settings - Fork 779
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
Support AUTH:nnnnn+ellipsoidal
syntax in osgeo::proj::io::createFromUserInput
#3075
Comments
Sorry for being pushy, but I would like to rely on this behavior for something else than just a handy shortcut in the command line, so if it's an absolute no go, I would like to know to find another solution to my problem. |
Seems to me that implementing the With
which is equivalent to your
I believe the logic from |
Thanks for the reply. The use case I have in mind is labeling data always with a 3D CRS. For that I would like to express 2D CRSs promoted to 3D with a syntax accepted by |
Yeah, cause now you've made it into a thing the authority didn't intend you to do :-) To me it sounds like this is a problem that needs to be solved upstream by registering proper 3D versions of the relevant systems. |
... or, @hernando - perhaps just promote, and live with, the fact that transformations are more fundamental than CRS: There's always a multitude of highways between any two CRS, but if you want to specify a specific one, then refer to the transformation specifier, rather than trying to force your software system to guess what you mean with nothing but two CRS as hints. The latter is a nicety for low accuracy work - the former is a necessity for high accuracy work |
I see that I'll have to look for another solution.
I get what you mean by that (for example, promoting OSGB36 doesn't work as expected as I mentioned above). However, I don't think the absence of a 3D system always implies it's invalidity, but I think it's a consequence of the EPSG data model not handling the combinatorial explosion very well, so many valid variants are omitted for pragmatic reasons.
That's on our radar, but much further down the road. Also, we've noticed that many users have troubles understanding what are the choices that they have to make, so while some power users will benefit from specifying transformations rather that picking codes, most of the users would still prefer to just pick a CRS from a list. |
Just in case it was missed, let me repeat that I'm offering to implement this extension (the same way I would have implemented |
I certainly agree that the EPSG database and the standards it is based on is limiting. @busstoptaktik and others are actively working towards fixing that. In the meantime I don't think it is a good idea to make our own extensions to the standards. That'll just make things even more messy. So for now it is up to those of us who work in geodetic authorities to register usable CRSs and transformations. And if we are lucky some day we may have standars that allow us to do things smarter.
That much was clear. I appreciate the initiative. I am not convinced yet that this is a good idea though. I'd like to hear @rouault's opinion on this too. |
The issue with EPSG:XXXX+ellipsoidal is that it is not obvious which unit will be used for the vertical axis (same issue as with --3d). There's a less sexy (ok let's be honest: completely user unfriendly), but more precise way, of creating Projected 3D CRS using a not very well known syntax of OGC CRS URNs ( OGC 07-092r2: para 7.5.4 "URN combined references for projected or derived CRSs"), which is already implemented (using a PROJ:ENh custom coordinate system that was included in the database for that purpose):
|
Yes, that's my concern as well. If it wasn't for this detail, I would have directly submitted a PR.
This is quite interesting, where can I find the list of valid coodinate operations, directly in the database? (edited, I wrote wrongly right-handed as Northing-Easting) |
this is the
yes, in the |
I think this ticket can be closed. @rouault, thanks for adding |
I would like to pitch an idea for extending the behavior of
osgeo::proj::io::createFromUserInput
that I would offer to implement if it gets accepted.Quite often I find myself having to write things like
cs2cs "$(projinfo -q -o WKT2:2019 --single-line --3d EPSG:32632)" "$(projinfo -q -o WKT2:2019 --single-line --3d EPSG:2056)" -d 12
in order to get the vertical axis transformed between CRSs with different ellipsoids. I'm aware that this doesn't always make sense (e.g. specially with OSGB36), but in the previous example it's perfectly valid as far as I know.Since there's already an option for 3D promotion in
projinfo
, I believe it would be handy to make the same functionality available through the CRS identifiers accepted bycreateFromUserInput
, so the example above would become:cs2cs EPSG:32632+ellipsoidal EPSG:2056+ellipsoidal
.The open question to me is how to handle extensions to 3D of projected CRSs in units other than meter. I know that the
promoteTo3D
member function always adds the z axis in meter regardless of the unit of the other axes. I'm fine with this behaviour, however some users may find it surprising when writing something like EPSG:2234+ellipsoidal, where EPSG:2234 is a projected CRS using ftUS.The text was updated successfully, but these errors were encountered: