<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Eric,</p>
    <p>Besides a few minor issues in the below WKT (use of single
      quotes, or non-ASCII double quote characters), more fundamental
      remarks:</p>
    <p>- I don't think DerivedVerticalCRS is the appropriate modeling.
      <a class="moz-txt-link-freetext" href="http://docs.opengeospatial.org/is/18-010r7/18-010r7.html">http://docs.opengeospatial.org/is/18-010r7/18-010r7.html</a> in §3.1.14
      mentions: "A derived coordinate reference system inherits its
      datum or reference frame from its base coordinate reference
      system.", so you can't have the derived CRS having VDATUM["NOAA
      Chart Datum"] and the base CRS VDATUM["NAD83(2011) Height"]. And
      if you look at the grammar at
      <a class="moz-txt-link-freetext" href="http://docs.opengeospatial.org/is/18-010r7/18-010r7.html#120">http://docs.opengeospatial.org/is/18-010r7/18-010r7.html#120</a>,
      VDATUM[] is not allowed for the derived vertical CRS, and when
      PROJ re-exports to WKT2 this definition, it will omit it.<br>
    </p>
    <p>- One could question too if the derivation is a conversion.
      §14.2.1 mentions "Because by definition coordinate conversions are
      exact, the attribute operation accuracy is not relevant and
      excluded from the deriving conversion WKT string". Using grids is
      probably a big unusual to define a conversion</p>
    <p>- you can't use EPSG:6319 that is the Geographic 3D CRS as a
      (base) vertical CRS. Ellipsoidal heights in ISO-19111 can't exist
      as standalone vertical CRS. They must be associated with the
      horizontal coordinates.</p>
    <p>- the proper model would probably be to define a NOAA Chart Datum
      vertical datum and vertical CRS, and define a transformation
      between EPSG:6319 and the NOAA Chart Datum vertical CRS. You could
      reference that transformation in a GEOIDMODEL[] node attached as a
      child of the VERTCRS[].<br>
    </p>
    <p>- besides importing/exporting/querying the attributes, PROJ will
      not be able currently to do anything useful (ie compute a PROJ
      pipeline between that and another vertical CRS) with a derived
      projected CRS.<br>
    </p>
    <p>Even<br>
    </p>
    <div class="moz-cite-prefix">Le 26/03/2021 à 16:06, Eric Younkin -
      NOAA Federal via PROJ a écrit :<br>
    </div>
    <blockquote type="cite"
cite="mid:CAFe6qKjkoMv-FVXTkckoYr8o11L2faiBrRhQ2j_jPwtFZuT1tw@mail.gmail.com">
      <div dir="ltr">Hello,
        <div><br>
        </div>
        <div>As we move to registering our vdatum grids in EPSG, we
          needed to develop a stop gap solution, describing our custom
          datums in WKT for archival.  These would be derived datums
          based on elheight or geoid height, with proj vgrid pipelines
          applied to get to water level datum.  We are thinking about
          using something like this:</div>
        <div><br>
        </div>
        <div>VERTCRS["NOAA Chart Datum",<br>
                            BASEVERTCRS["NAD83(2011) Height",<br>
                                                       
          VDATUM["NAD83(2011) Height"],<br>
                                                       
          ID["EPSG",6319]],<br>
                            DERIVINGCONVERSION["NAD83(2011) Height to
          NOAA Mean Lower Low Water",<br>
                                                       
           METHOD["VDatum_VXXX gtx grid transformation",<br>
                                                           
          ID["EPSG",1084]],<br>
                                                         
          PARAMETERFILE['g2012bu0', 'core\\geoid12b\\g2012bu0.gtx',<br>
                                                            ID[“NOAA
          VDatum”, “NAD83 to Geoid12B”, “10/23/2012”]],<br>
                                                         
          PARAMETERFILE['tss', 'CAORblan01_8301\\tss.gtx',<br>
                                                            ID[“NOAA
          VDatum”, “Geoid12B to Tss", “06/20/2019”]],<br>
                                                         
          PARAMETERFILE['mllw', 'CAORblan01_8301\\mllw.gtx',<br>
                                                            ID[“NOAA
          VDatum”, “Tss to Mean Lower Low Water”, “06/20/2019”]]],<br>
                              VDATUM["NOAA Chart Datum"],<br>
                              CS[vertical,1],<br>
                                    AXIS["gravity-related height
          (H)",up],<br>
                                    LENGTHUNIT["metre",1]]<br>
        </div>
        <div><br>
        </div>
        <div>I know this isn't something we could use in PROJ in the
          same way that a registered EPSG reference could, but we could
          at least have something describing what we do for archival. 
          I'm thinking of building some code to manually translate a
          move between two of these WKT strings into a pipeline
          operation.</div>
        <div><br>
        </div>
        <div>Hopefully that made sense.  Please let me know if you have
          any suggestions.</div>
        <div><br>
        </div>
        <div>Thanks,<br>
          Eric</div>
        <div>
          <div><br>
          </div>
          -- <br>
          <div dir="ltr" class="gmail_signature"
            data-smartmail="gmail_signature">
            <div dir="ltr">
              <div>
                <div dir="ltr">
                  <div>
                    <div dir="ltr">
                      <div>
                        <div dir="ltr">
                          <div dir="ltr">
                            <div dir="ltr">
                              <div dir="ltr">
                                <div dir="ltr"><span>Eric Younkin<br>
                                    Physical Scientist<br>
                                  </span></div>
                                <div dir="ltr"><span>NOAA OCS, </span><span>Hydrographic
                                    Systems and Technology Branch</span></div>
                                <div dir="ltr"><span>1315 East-West
                                    Highway</span></div>
                                <div dir="ltr"><span>N/CS11, Room 6604<br>
                                    Silver Spring, MD 20910</span></div>
                                <div><span>Office: </span><span>240-847-8208</span></div>
                                <div dir="ltr"><span>
                                    Cell: 828-331-8197<br>
                                  </span></div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
PROJ mailing list
<a class="moz-txt-link-abbreviated" href="mailto:PROJ@lists.osgeo.org">PROJ@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/proj">https://lists.osgeo.org/mailman/listinfo/proj</a>
</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
<a class="moz-txt-link-freetext" href="http://www.spatialys.com">http://www.spatialys.com</a>
My software is free, but my time generally not.</pre>
  </body>
</html>