<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink=purple style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>Rather than a proj string, it would be better to use WKT2 or PROJJSON. You should use projinfo to generate the output srs. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Mike<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>-- <o:p></o:p></p></div><div><p class=MsoNormal>Michael Smith<o:p></o:p></p><p class=MsoNormal>US Army Corps / Remote Sensing GIS Center<o:p></o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:12.0pt;color:black'>From: </span></b><span style='font-size:12.0pt;color:black'>pdal <pdal-bounces@lists.osgeo.org> on behalf of Jeff Bourdier <jeffbourdier@gmail.com><br><b>Date: </b>Friday, April 28, 2023 at 3:24 PM<br><b>To: </b>pdal <pdal@lists.osgeo.org><br><b>Subject: </b>Re: [pdal] proper syntax for applying a geoid in newer versions<o:p></o:p></span></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><div><p class=MsoNormal>Instead of "+init=EPSG:32611" or "+proj=utm +zone=11 +type=crs", you might try the <a href="https://spatialreference.org/ref/epsg/32611/proj4/">fully expanded PROJ string</a>:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><blockquote style='margin-left:30.0pt;margin-right:0in'><div><p class=MsoNormal>+proj=utm +zone=11 +ellps=WGS84 +datum=WGS84 +units=m +no_defs<o:p></o:p></p></div></blockquote></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>So your pipeline would be:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><blockquote style='margin-left:30.0pt;margin-right:0in'><div><p class=MsoNormal><i>{"pipeline": [{"type" : "readers.las",</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                  "filename": "input_Ellipsoidal.laz"},</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                 {"type":"filters.reprojection",</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                  "in_srs":"EPSG:32611",</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                  "out_srs":"</i><span style='color:black;background:yellow'>+proj=utm +zone=11 +ellps=WGS84 +datum=WGS84 +units=m +no_defs</span><i> +geoidgrids=g2003conus.gtx"},</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                 {"type" : "writers.las",</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                  "filename": "output_Geoid.laz",</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                  "compression": "laszip",</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                  "a_srs": "EPSG:32611+5703"</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                 }]}</i><o:p></o:p></p></div></blockquote><div><p class=MsoNormal><o:p> </o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On Fri, Apr 28, 2023 at 10:09 AM Matt Beckley <<a href="mailto:matt.beckley@earthscope.org">matt.beckley@earthscope.org</a>> wrote:<o:p></o:p></p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><p class=MsoNormal>Hello,<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>In older versions of PDAL I used to be able to run a pipeline like:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><blockquote style='margin-left:30.0pt;margin-right:0in'><div><p class=MsoNormal><i>{"pipeline": [{"type" : "readers.las",</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                  "filename": "input_Ellipsoidal.laz"},</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                 {"type":"filters.reprojection",</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                  "in_srs":"EPSG:32611",</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                  "out_srs":"+init=EPSG:32611 +geoidgrids=g2003conus.gtx"},</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                 {"type" : "writers.las",</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                  "filename": "output_Geoid.laz",</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                  "compression": "laszip",</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                  "a_srs": "EPSG:32611+5703"</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                 }]}</i><o:p></o:p></p></div></blockquote><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>This would run fine, and the output would have the geoid properly applied.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>However, newer versions of PDAL (e.g. 2.5.3) uses newer version of PROJ, which no longer likes its string in the form, "+init=epsg:XXXX".  It will give the warning:<o:p></o:p></p></div><p class=MsoNormal>"Warning 1: +init=epsg:XXXX syntax is deprecated. It might return a CRS with a non-EPSG compliant axis order." <o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I adjusted the PROJ string to remove this convention:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><div><p class=MsoNormal><i>{"pipeline": [{"type" : "readers.las",</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                  "filename": "input_Ellipsoidal.laz"},</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                 {"type":"filters.reprojection",</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                  "in_srs":"EPSG:32611",</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                  "out_srs":"</i>+proj=utm +zone=11 +type=crs<i> +geoidgrids=g2003conus.gtx"},</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                 {"type" : "writers.las",</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                  "filename": "output_Geoid.laz",</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                  "compression": "laszip",</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                  "a_srs": "EPSG:32611+5703"</i><o:p></o:p></p></div><div><p class=MsoNormal><i>                 }]}</i><o:p></o:p></p></div></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>This runs without warning or errors, but the output grid <b>does not</b> have the geoid applied.  Most of the documentation on this type of operation I've seen still refers to the older PROJ syntax of, "+init=epsg:XXXX".<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Is there a way to apply a geoid with the new PROJ syntax, and hopefully I am just missing something with the proper syntax to do this operation on the newer versions of PDAL?<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Thanks!<o:p></o:p></p></div></div><p class=MsoNormal>_______________________________________________<br>pdal mailing list<br><a href="mailto:pdal@lists.osgeo.org" target="_blank">pdal@lists.osgeo.org</a><br><a href="https://lists.osgeo.org/mailman/listinfo/pdal" target="_blank">https://lists.osgeo.org/mailman/listinfo/pdal</a><o:p></o:p></p></blockquote></div></div><p class=MsoNormal>_______________________________________________ pdal mailing list pdal@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/pdal <o:p></o:p></p></div></body></html>