<div dir="ltr"><div dir="ltr"><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 21 Oct 2021 at 21:14, Even Rouault <<a href="mailto:even.rouault@spatialys.com" target="_blank">even.rouault@spatialys.com</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>
<p><br>
</p>
<div>Le 21/10/2021 à 20:53, Javier Jimenez
Shaw a écrit :<br>
</div>
<blockquote type="cite">
<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">
<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">
<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></div></blockquote><div>Thanks. alterCSLinearUnit() seems to be a good option.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p>
</p>
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div>Thanks.<br>
</div>
<br>
<div>
<div>
<div dir="ltr">.___ ._ ..._ .. . ._.
.___ .. __ . _. . __.. ... .... ._ .__<br>
Entre dos pensamientos racionales <br>
hay infinitos pensamientos irracionales.<br>
<br>
</div>
</div>
</div>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
PROJ mailing list
<a href="mailto:PROJ@lists.osgeo.org" target="_blank">PROJ@lists.osgeo.org</a>
<a href="https://lists.osgeo.org/mailman/listinfo/proj" target="_blank">https://lists.osgeo.org/mailman/listinfo/proj</a>
</pre>
</blockquote>
<pre cols="72">--
<a href="http://www.spatialys.com" target="_blank">http://www.spatialys.com</a>
My software is free, but my time generally not.</pre>
</div>
</blockquote></div></div>