<div dir="auto"><div>9Thanks a lot Nyall, i just noticed I never answered.<div dir="auto"><br></div><div dir="auto">That is really great! And indeed I think a clear communication of where this is used is the most beneficial way. We for sure don't want a GIS team to mess-up a multi-million projeect somewhere ;)</div><div dir="auto"><br></div><div dir="auto">Thanks again!</div><div dir="auto"><br></div><div dir="auto">Marco</div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 1 Aug 2024, 20:38 Nyall Dawson via QGIS-PSC, <<a href="mailto:qgis-psc@lists.osgeo.org">qgis-psc@lists.osgeo.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 2 Aug 2024 at 03:23, Régis Haubourg <<a href="mailto:regis@qgis.org" target="_blank" rel="noreferrer">regis@qgis.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Wow Nyall. This is huge. <div dir="auto">Thanks for the very clear explanations and the cautious path you took to avoid regressions. </div></div></blockquote><div><br></div><div>Thanks for the kind words Régis!</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">We will have to make some noise in the deodetic and topographic communities that QGIS is now fully z aware.</blockquote><div><br></div><div>I agree, and it would be fantastic to have eyes on this and more feedback from domain experts! One thing on my mind is that we should try to be quite cautious about how we describe this functionality and be explicit about everywhere in QGIS where vertical datums are respected. (I.e. for vector and point cloud layers in elevation profiles, identify results and 3d map views). There's still many places in QGIS where we are using z values without any handling of vertical transforms, e.g. in all the processing tools. And then there's all the plugins which may be doing calculations and analysis based on Z without any consideration of this too 😬. So I'd love us to take the approach that we always advertise exactly where the transform is used, just to reduce the risk of someone getting misleading results from a tool which doesn't support these. (I once worked in an office where someone messed up a multi-million dollar engineering project because they incorrectly handled the vertical datum for a bunch of surveyed elevation points. Fun times. I was just glad it was someone from the CAD/design team, and not GIS who was responsible! 😅 )</div><div><br></div><div>Nyall</div><div><br></div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto">Hats off</div><div dir="auto">Régis </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le jeu. 1 août 2024, 05:26, Nyall Dawson via QGIS-PSC <<a href="mailto:qgis-psc@lists.osgeo.org" target="_blank" rel="noreferrer">qgis-psc@lists.osgeo.org</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">PSC,<br><br>I'm writing to provide an update on the grant for QEP 267 -- Add vertical CRS handling to QGIS.<div><br></div><div>This project has been underway since the grant application, with work being slowly "drip-fed" into QGIS over the last year's worth of releases. All work has been done in a step-by-step, atomic approach, to ensure that every little part of it is thoroughly reviewed and that no regressions have been introduced before moving to the next step. This approach was taken to reduce the risk of regressions in our critical transformation code. I've been carefully monitoring the issue tracker after each part is merged (and after each stable release during this time) to watch for any regression reports, and thankfully we've avoided them so far!</div><div><br></div><div>Work which has been completed to date includes:</div><div><br></div><div>- As of QGIS 3.34, QGIS can now create and handle vertical and compound CRSes. (Prior to this work QGIS was limited to creation and handling of horizontal CRS only, for various legacy reasons). There are a range of new PyQGIS API calls which make creation of vertical and compound CRS easy, and to make it possible to eg query the vertical component of an existing compound CRS.</div><div>- In QGIS 3.36 the coordinate reference selection widgets were updated to offer choices of 2d only, compound, or vertical only CRSes. We use these in QGIS itself, but plugins can now also offer users choices of eg "pick a vertical CRS" where ONLY vertical CRSes are offered.</div><div> - In QGIS 3.34 coordinate transforms were reworked so that they function correctly with vertical transformation, if both the source and destination CRS have vertical components. (We delegate the actual transformation to PROJ, but QGIS itself no longer gets in the way and forces 2d only transformations!)</div><div>  - In version 3.38 we introduced a new setting for QGIS projects, for their vertical reference system. Users can control this through project properties, and it's accessible via PyQGIS and via associated expression variables (eg @project_vertical_crs) for use in print layouts.</div><div>- Similarly, in 3.38 we introduced the API support for map layers to have a vertical CRS. (This was not exposed to users in 3.38 though)</div><div>- In QGIS 3.40 so far we have exposed the vertical CRS setting for vector layers to users (via the layer properties dialog), allowing users to specify the associated vertical CRS for these layers. The vertical CRS is respected in elevation profile plots, in Identify tool results, and in 3D Map views (assuming the 3D map is created with an associated vertical CRS).</div><div>- There is an open pull-request for 3.40 to expose the vertical CRS for point cloud layers in a similar way, with the vertical CRS being respected in elevation profiles, identify tool results, and 3D map views</div><div>- We have open pull requests for 3.40 to show layer vertical CRS information in the layer properties "information" pages, and add expression variables at the layer scope (eg @layer_vertical_crs).</div><div><br></div><div>While the work conducted to date satisfies the original target deliverables of the grant*, we also accounted for follow ups to this work as user feedback and tickets are submitted. We'll continue to monitor the QGIS issue tracker and mailing lists for these reports, and (where appropriate) will address them in future releases.</div><div><br></div><div>Kind regards,</div><div>Nyall</div><div><br></div><div>* We've gone a little further than the original deliverables here, and have implemented some of the functionality originally identified as "out of scope"! 😁</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>  - QGIS map layers also have individual settings for the vertical reference system. This isn't YET exposed for user control. Before I expose this setting I want to ensure that the layer type correctly uses vertical transforms in the elevation profiles, in 3d views, and in the identify tool z values. This will definitely be done for vector layers in 3.40, (and hopefully the other layer types too)<br></div></div>
_______________________________________________<br>
QGIS-PSC mailing list<br>
<a href="mailto:QGIS-PSC@lists.osgeo.org" rel="noreferrer noreferrer" target="_blank">QGIS-PSC@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/qgis-psc" rel="noreferrer noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-psc</a><br>
</blockquote></div>
</blockquote></div></div>
_______________________________________________<br>
QGIS-PSC mailing list<br>
<a href="mailto:QGIS-PSC@lists.osgeo.org" target="_blank" rel="noreferrer">QGIS-PSC@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/qgis-psc" rel="noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-psc</a><br>
</blockquote></div></div></div>