<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Javier,</p>
<p>the proper fix would be to add a PJ_TYPE_DERIVED_PROJECTED_CRS to
the enumeration (9.2 type of change only, not to be backported to
stable branch). Returning PJ_TYPE_PROJECTED_CRS could cause issues
as you can't cast the C++ object corresponding to a
DerivedProjectedCRS to be a ProjectedCRS</p>
<p>ISO 19111 doesn't consider a DerivedProjectedCRS to be a
ProjectedCRS, presumably because that the conversion applied to
the ProjectedCRS to make it a DerivedProjectedCRS might loose some
of the properties of the projection (conformality, equal area,
etc.). For example if you apply an affine transformation where the
scaling isn't the same in both axis. Just guessing.</p>
<p>Even<br>
</p>
<div class="moz-cite-prefix">Le 23/11/2022 à 11:35, Javier Jimenez
Shaw a écrit :<br>
</div>
<blockquote type="cite"
cite="mid:CADRrdKtu4G4mQy7Rk3WjS8RXh2LdNOK36Sb3-tU7icqVbVwDjQ@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">
<div>Hi</div>
<div><br>
</div>
<div>Searching from PDAL (SpatialReference::isProjected) to GDAL
(OSRIsProjected) to PROJ, I ended up in the function</div>
<div>PJ_TYPE proj_get_type(const PJ *obj) <br>
</div>
<div><br>
</div>
<div>Inspecting the code I realized that a DerivedProjectedCRS
is not covered by the selector, and will return
PJ_TYPE_OTHER_CRS</div>
<div><br>
</div>
<div>Remember that unlike other derived, like
DerivedGeographicCRS that is a GeographicCRS or
DerivedVerticalCRS is a VerticalCRS, a DerivedProjectedCRS is
not inheriting from ProjectedCRS.</div>
<div><br>
</div>
<div>How should it be? Should it be returned as
PJ_TYPE_PROJECTED_CRS ? Should we create a new category? Leave
as it is now (abandoned among other first class citizen CRS
types)?</div>
<div><br>
</div>
<div>In my opinion a DerivedProjectedCRS "behaves" like a
ProjectedCRS in the same way as a DerivedVerticalCRS behaves
like a VerticalCRS and so on. But maybe I am missing
something.<br>
</div>
<div><br>
</div>
<div>Thanks.<br>
</div>
<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="moz-mime-attachment-header"></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>