-
Notifications
You must be signed in to change notification settings - Fork 47
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
Appendix F: inconsistent name for Polar stereographic map parameter #445
Comments
Dear @sadielbartholomew Thanks for raising the issue. If I remember correctly, many of the names of these attributes were taken from the PROJ software. Perhaps it would be useful to see whether it has anything to say about this? By the way, I note that the Snyder map projection document, which we also refer to in App F, is no longer at the URL we give in the bibliography. It is at https://pubs.er.usgs.gov/publication/pp1395, but it also has a DOI, which would be more future-proof, viz https://doi.org/10.3133/pp1395. Best wishes Jonathan |
lon0/longitude of projection center is what I see in the PROJ docs. |
I did not find my way to the documentation of old PROJ versions, but it seems to have been the same back in 2008 (PROJ4), see this email. When browsing the net (for about an hour) I only found this parameter name sort of mentioned in Section 6.2.3 of this GEOTIFF document. Probably this is the same document that @sadielbartholomew found regarding GEOTIFF ID. And when searching the net for "straight vertical longitude from pole" (also with underscores) a few US government organizations come up (maybe not so up-to-date??). Also, a number of fairly recent ESA product documents appears high up, but those seems to be based on CF. |
Thanks all for your useful comments. I'll respond to them all in turn, one moment... |
Good spot, thanks. Do we need to update the link in the Conventions Document in this respect? If so, I am happy to coordinate to put up a minor PR to sort that. Either way, I managed to find my way to it via the references in the PROJ documentation, but naturally better it is clearly linked in the CF document itself.
Indeed. I've in fact been using the PROJ and pyproj documentation in parallel with the CF Conventions parts relating to Grid Mappings, and cross-referencing between all of those, as part of doing some work for cf-python (NCAS-CMS/cf-python#628 if anyone finds it useful to see what I'm doing, though note I'm doing some subsidiary work related to modelling the Grid Mappings to facilitate the work for that Issue), which is how I noted that there was this, as I see it, discrepancy with the two RE the Polar Stereographic parameters. The particular aspect of divergence between PROJ and CF is as I will outline below in response to @dopplershift's comment, and probably the main argument I can provide to back up my proposal here, so maybe I should highlight that as a supporting comment... |
Thanks @dopplershift. You pick up on an important point which I believes makes the case for the proposal I am suggesting. As you link, in PROJ, both the Stereographic ("stere") projection and the (Universal) Polar Stereographic ("ups") have the parameter In the CF Appendix F, however, the only longitude referred to for the Polar Stereographic GM is this 'straight_vertical_longitude_from_pole' one which has this different name unlike for all of the other Azimuthal classification GMs under both CF and PROJ, though that parameter has the same valid domain as the Hence why I highlight this as an inconsistency that could potentially (and did for me) cause confusion. With respect to object-oriented code, with an inheritance structure of: |
If it can established for a fact that the parameter 'straight_vertical_longitude_from_pole' is indeed the same as |
Dear @sadielbartholomew et al. I agree with all the arguments given for renaming the parameter, provided the old and new names refer to the same parameter (echoing Lars's proviso). Earlier I said that CF parameters have been named after PROJ, but my memory was faulty, it seems, because in a posting of 4 Oct 2006, John Caron wrote
It appears from earlier emails that the decision to use FGDC parameter names was made in beta releases of the convention in 2002. In a posting of 15 Oct 2003, I wrote
In a posting of 16 Dec 2011, John Caron wrote
Does this help at all? I don't remember whether we have renamed a grid mapping attribute before, but it doesn't strike me as problematic. We can retain the old one in App F, and say it means the same as the new one but is deprecated. In that case the CF checker will emit a warning if it finds it used, but no existing data will be invalidated. Best wishes Jonathan |
Dear @sadielbartholomew If you are willing and have time to raise a defect issue with a PR to fix the Snyder ref, that would be great. Thanks. I was thinking it could perhaps be wrapped up with this one for convenience, but maybe that's not ideal. Best wishes Jonathan |
PyProj is currently mapping My MetPy project is essentially doing that (with Cartopy as the middle step). |
It seems like we have convergence towards deprecating While we are at it, looking into the technicalities of the Polar Stereographic projection: The Notes states:
I do not think that linking to Universal Polar Stereographic is correct. This is, I believe, a special case of the Stereographic projection designed to be used with the Universal Transverse Mercator (UTM) projection. I.e. the "universal" is in reference to UTM, not to "universal" as in "general". I think, again as non-expert, that a better link would be to the documentation of the Stereographic projection, https://proj.org/en/9.2/operations/projections/stere.html |
When deprecating |
Hi all, sorry for the delay in replying, due to my taking annual leave. Some interesting points have been made since I last commented. I am glad that there seems to be a consensus towards making a change, though I would like to emphasise first that I think it is much better to, as per my original suggestion:
rather than:
as the latest comments are suggesting (specifically, the same but without |
Thanks Lars, I wasn't aware of this. Though we already have the Stereographic GM linking to the PROJ But equally, I am not an expert in this, so getting the opinion(s) of those who do know much more about Grid Mappings, projections, and the likes would be really useful... |
Digging as bit deeper it seems that my unauthoritative conjecture regarding UPS being connected to UTM seems to be corroborated by Snyder, who under the heading "UNIVERSAL TRANSVERSE MERCATOR PROJECTION" (p.57) writes on p.58:
Further down, when describing the stereographic projection, he writes (p.157):
which means that This table may give a better overview of how the projections we are discussing compare in terms of parameter specification:
As is shown in the table neither of the proj alternatives are fully equivalent to the CF |
Yes, that is my understanding, too. Then she continues:
This would indeed be a good outcome of this discussion. And further:
Well, I do not think so because Polar Stereographic is a well established and widely known name/label/concept for a specific projection. Similarly, we have the Oblique Mercator as the general case with the two special cases Mercator and Transverse Mercator. All these map projection names are commonplace, which means that it is helpful to have them in Appendix F, so I do not think that deprecating It seems that we are in agreement to change the name of the attribute to |
I just came across the initial section of Appendix F, which states
When (if ...) we are implementing the attribute name change as @sadielbartholomew suggests this piece of text should maybe be updated, e.g.: {With few exceptions we | In general we} have used the FGDC "Content Standard for Digital Geospatial Metadata" [FGDC] as a guide in choosing the values for grid_mapping_name and the attribute names for the parameters describing map projections. |
Thanks @larsbarring and sorry for the slow reply to your new comments. Admittedly the Issue here fell off my radar, I think I must have accidentally dismissed it on my GitHub notifications. Thanks firstly for your research and clarifications about the Polar Stereographic grid mapping.
Fair enough. Your explanation make sense, so I am happy to retract the idea to change that and leave it as-is in that respect. Thanks.
Good spot (I did notice that text during writing my proposal). That sounds like a good idea, to me, assuming we go ahead with my proposal. It would be sensible, and accurate, to include this update.
Yes, I am more than happy to put together a PR for this. To confirm, do we think this proposal is at a stage where it is likely to be approved, and therefore it isn't likely for it to end up being a waste of time if I create the corresponding PR very soon? If not, I'll wait to check we have consensus (I'll wait a few days at least, anyway, for a chance for anyone to add anything first). Anyone with immediate comments against the current idea, please do comment ASAP! A related question is, do we need and have a moderator for this thread, since I believe an issue is meant to be assigned one? |
When briefly looking through the comments I do not see any diverging views, rather the opposite regarding changing the name of the attribute. And there are no direct comments at all (except for the one from you) regarding changing the proj link from UPS to STERE, which is uncontroversial given the parameters and their values as detailed in the table. Thus, I do not think that a moderator is essential at this stage, but it would be good to have approval from one or a few more (ping @dblodgett-usgs, @davidhassell) |
Dear @sadielbartholomew I agree with Lars that this isn't controversial, so a moderator is not needed at the moment. If you could restate in this issue explicitly what you are now proposing, that will serve as a summary. If enough support is expressed and no concerns, we'll count it as accepted in three weeks, according to the usual rule. It's fine to do the PR after that, having already set out what changes it will make. Best wishes and thanks Jonathan |
Thanks @larsbarring and @JonathanGregory for your guidance. And everyone for the discussion so far.
Sounds wise at this stage. Here goes... Present proposal, incorporating ideas and feedback from the thread above (and edited to include points from a later comment, #445 (comment) and a correction from #445 (comment))This discussion has converged (I think) so that we are proposing seven updates to the Conventions, all relating to the Polar Stereographic Grid Mapping. Namely, for the Polar stereographic grid mapping:
I welcome further thoughts on the above. Maybe we can work with the numbering I have assigned here, to help us refer to the specific proposed update of concern? |
This looks good to me! Two minor points:
|
Dear @sadielbartholomew Thanks for this clear summary. I support the proposal and I don't have any concerns. In point 1b, do you mean 'longitude_of_projection_origin'? Lars is right that point 2 requires a new recommendation in the conformance document. Best wishes Jonathan |
Thanks again, both. I will correct my proposal above, via edit (without changing anything else, though the visible comment edit history should confirm this if you want to see what's changed to re-review) to:
Then it should be up-to-date. And it seems as well as my (obvious) support for this, Lars and Jonathan are in support, therefore we have three people backing the proposal. So we now wait for any further comments, I believe (all of which are very welcome, naturally)... |
Edits all one! Thanks all. Awaiting any further thoughts on this. Newcomers to the thread, or those who aren't up-to-date: please see my summary in #445 (comment) which states where we are at with our precise proposal, at present. |
Thanks, @sadielbartholomew. If there are no new concerns raised, this proposal will be accepted in three weeks (9th Oct). |
As there has been no further comments regarding this proposal, could you @sadielbartholomew put together a PR implementing the changes detailed in your excellent summary of this issue. |
Thanks @larsbarring. Yes of course, I can and will prepare and open a PR to implement this all and link it to this Issue. I might not get time to do that until next week, but I will try to do it by then at the latest. |
Hi all, just FYI I have been busy with other work lately but I am committing to putting up a PR for this by the end of this working week, so that there is enough time to review it for (hopeful, eventual) merging in time for the release of CF 1.11. |
A small comment regarding Table F.1 in the PR: Because there are a number of published datasets using
|
I agree with Lars, keeping it in the table seems prudent. I prefer the first option, but would like to suggest an alternative wording:
(I used "must" because a BCP14 SHOULD would still allow the deprecated parameter to be used in some circumstances - we don't want that, right?) Thanks, |
OK, thanks @larsbarring and @davidhassell: I will update my PR to amend point (3) from my summary, specifically to not remove
removing the 'has' (typo left in, it seems). Good thinking David to consider BCP14! |
Dear @sadielbartholomew Regarding your question on the PR, Yes, please add yourself as a contributing author, because this is a material change to the conventions. I don't think Best wishes Jonathan |
OK, thanks Jonathan and all. Sounds like we have agreement RE Table F.1. I'm updating the PR now.
Great, will do. Thanks for clarifying. |
As for the precise message for Table F.1, I am going with: "Deprecated. Has the same meaning as with the important update of |
Ops -- of course I did ....🙂 |
If there are no further comments to this proposal (cf #469) it can be accepted in three weeks time counting from November 2, which means on November 24. |
Title
Appendix F: use consistent name for Polar stereographic map parameter
Moderator
<TBC>
Requirement Summary
I propose to rename the quoted parameter 'straight_vertical_longitude_from_pole' for the Polar stereographic grid mapping to 'longitude_of_projection_origin', so that it becomes consistent with the documented corresponding parameter for other grid mappings and a symmetry is formed (latitude and longitude as a pair) in the parameters quoted for that grid mapping.
Technical Proposal Summary
n/a
Benefits
I think this will make the Polar Stereographic grid mapping less confusing in relation to the other mappings (it certainly would have saved me a lot of confusion). For example (and this is how I noticed this issue, during some work towards cf-python), if one wanted to create a class hierarchy to model the recognised grid mappings including their map parameters, Azimuthal grid mappings all take certain parameters and the Polar Stereographic one having this oddly-named parameter makes inheritance from an Azimuthal base class less clean and simple.
Status Quo
I can't see any open or closed issues noting this or inquiring about it. But I am no expert in grid mappings or projections, so some expert advice would be appreciated. I might have misunderstood something important about this...
Associated pull request
n/a (at present).
Detailed Proposal
In 'Appendix F: Grid Mappings', there are a number of grid mappings corresponding to Azimuthal class projections which have a map parameter 'longitude_of_projection_origin', which in analogous to the PROJ option
+lon_0
ie, "longitude of projection center" as described in the PROJ documentation. For all but one of the grid mappings in which this is a parameter, it is referred to as "longitude of projection center", such as for the Orthographic, Stereographic and Vertical perspective cases, the exception being the case of Polar Stereographic, where it is referred to by the alias 'straight_vertical_longitude_from_pole' instead.I don't quite understand the reasons for calling the parameter this (apparently in line with the 'GeoTIFF ID' name) for this one specific case, instead of 'longitude_of_projection_origin' as it is referred to as in the named parameters for other grid mappings it applies to, especially when 'latitude_of_projection_origin' is the next parameter and there would be a natural symmetry there (for latitude and longitude as a pair) which is broken by it being referred to by this alternate name.
As I understand it, 'straight_vertical_longitude_from_pole' essentially reduces down to 'longitude_of_projection_origin' for the case of the Universal Polar Stereographic projection, so unless I am missing something here, it wouldn't be inaccurate to use this name instead. Note that the Polar Stereographic grid mapping is the only one listed under Appendix F to need the 'straight_vertical_longitude_from_pole' parameter, and cross-referencing the 'Table F.1. Grid Mapping Attributes' the descriptions are almost identical apart from in the first case to denote that the context is "to be oriented straight up from the North or South Pole":
Therefore my proposal is to:
The text was updated successfully, but these errors were encountered: