<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">Le 21/10/2021 à 20:53, Javier Jimenez
      Shaw a écrit :<br>
    </div>
    <blockquote type="cite"
cite="mid:CADRrdKsRwKNgxw3bpvAoRZQtoSOA-5yA8T=W-x3Eicer8FFiwQ@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div>Hi</div>
        <div><br>
        </div>
        <div>There is currently a method</div>
        <div><br>
        </div>
        <div><span style="font-family:monospace">CRSNNPtr
            CRS::promoteTo3D(const std::string &newName,<br>
                                      const io::DatabaseContextPtr
            &dbContext) const</span></div>
        <div><br>
        </div>
        <div>that adds vertical axis in Meters (if there is no one
          there, etc).</div>
        <div><br>
        </div>
        <div>Sometimes (when working with CRS from USA), I need the
          vertical one in ft or ftUS.</div>
      </div>
    </blockquote>
    promoteTo3D() will create a Geographic3D CRS or a Projected 3D CRS,
    ie with ellipsoidal heights, not orthometric height. Are ellipsoidal
    heights in ft/ftUS really what you need ?<br>
    <blockquote type="cite"
cite="mid:CADRrdKsRwKNgxw3bpvAoRZQtoSOA-5yA8T=W-x3Eicer8FFiwQ@mail.gmail.com">
      <div dir="ltr">
        <div><br>
        </div>
        <div>There is another function</div>
        <div><span style="font-family:monospace">CRSNNPtr
            CRS::promoteTo3D(const std::string &newName,<br>
                                      const io::DatabaseContextPtr
            &dbContext,<br>
                                      const
            cs::CoordinateSystemAxisNNPtr<br>
                                         
            &verticalAxisIfNotAlreadyPresent) const</span></div>
        <div><br>
        </div>
        <div>but it is "PROJ_INTERNAL" (whatever it means)</div>
      </div>
    </blockquote>
    Just that it restricts a method from being exported in a class that
    is exported. I tend to be conservative of what I expose in the API
    if I'm not sure it will be needed by external users.<br>
    <blockquote type="cite"
cite="mid:CADRrdKsRwKNgxw3bpvAoRZQtoSOA-5yA8T=W-x3Eicer8FFiwQ@mail.gmail.com">
      <div dir="ltr">
        <div><br>
        </div>
        <div>Would it make sense to have a function (or overload) that
          specifies the unit?</div>
      </div>
    </blockquote>
    <p>If that's the function you need, just removing PROJ_INTERNAL,
      moving it in the public part and adding doc should be enough.</p>
    <p>The CRS::alterCSLinearUnit() method could also be useful.<br>
    </p>
    <blockquote type="cite"
cite="mid:CADRrdKsRwKNgxw3bpvAoRZQtoSOA-5yA8T=W-x3Eicer8FFiwQ@mail.gmail.com">
      <div dir="ltr">
        <div><br>
        </div>
        <div>Thanks.<br>
        </div>
        <br>
        <div>
          <div>
            <div dir="ltr" class="gmail_signature"
              data-smartmail="gmail_signature">.___ ._ ..._ .. . ._. 
              .___ .. __ . _. . __..  ... .... ._ .__<br>
              Entre dos pensamientos racionales <br>
              hay infinitos pensamientos irracionales.<br>
              <br>
            </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>