<div dir="ltr"><div>When you say "I was running a test of all available projections in PROJ 9.6.2 using GDAL 3.11.3", you mean all the available Coordinate Reference Systems (CRS).</div><div><br></div><div>Some of those CRS have a projection that is not included in PROJ. For instance, the first in the list, EPSG:2299 says</div><div></div><div>"Error when exporting to PROJ string: Unsupported conversion method: Lambert Conic Conformal (West Orientated)"<br><br></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, 30 Jul 2025 at 12:13, Ray at Daylon via gdal-dev <<a href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</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">I was running a test of all available projections in PROJ 9.6.2 using <br>
GDAL 3.11.3 (both current as of this writing), on Windows.<br>
<br>
I got errors trying to project from lat/lon and back with the 55 <br>
projections listed in the attached CSV file. If I leave off the<br>
SetAxisMappingStrategy calls, many more projections fail.<br>
No deprecated or celestial body projections were tested.<br>
<br>
When a transformation failed to go from lat/lon to the projected CRS,<br>
the reason was usually that the transformation wound up with an infinity.<br>
<br>
<br>
My test program is essentially this:<br>
<br>
LatLonCRS = OGRSpatialReference(EPSG:4326)<br>
LatLonCRS.SetAxisMappingStrategy(OAMS_TRADITIONAL_GIS_ORDER)<br>
<br>
Projections = proj_get_crs_info_list_from_database()<br>
<br>
For each Projection<br>
Wkt2 = proj_as_wkt(Projection, PJ_WKT2_2019)<br>
<br>
ProjCRS = OGRSpatialReference(Wkt2)<br>
ProjCRS.SetAxisMappingStrategy(OAMS_TRADITIONAL_GIS_ORDER)<br>
<br>
Xfm1 = OGRCreateCoordTransform(LatLonCRS, ProjCRS)<br>
Xfm2 = OGRCreateCoordTransform(ProjCRS, LatLonCRS)<br>
<br>
ProjCRS.GetAreaOfUse(West, South, East, North)<br>
// Get center of bbox<br>
X = (West + East) / 2<br>
Y = (North + South) / 2<br>
<br>
Xfm1.Transform(X, Y) // Go from lat/lon to Proj CRS<br>
Xfm2.Transform(X, Y) // and back to lat/lon<br>
<br>
Next projection<br>
<br>
There were various errors logged by PROJ:<br>
<br>
Cannot find coordinate operations from `EPSG:2299' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:2301' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:2303' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:2304' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:2305' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:2306' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:2307' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:2963' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:3144' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:5017' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:5800' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:5801' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:5802' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:5803' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:5808' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:5809' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:5810' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:5811' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:5812' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:5813' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:5814' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:5815' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:5816' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:5817' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:6715' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:10642' to `EPSG:4326'<br>
Cannot find coordinate operations from `EPSG:10740' to `EPSG:4326'<br>
No inverse operation<br>
Point outside of projection domain<br>
PROJ: proj_crs_get_geodetic_crs: CRS has no geodetic CRS<br>
PROJ: omerc: Invalid value for lat_1: lat_1 should be different from 0<br>
PROJ: pipeline: Pipeline: Bad step definition: inv (Invalid value for an <br>
argument)<br>
PROJ: pipeline: Pipeline: Bad step definition: proj=omerc (Invalid value <br>
for an argument)<br>
PROJ: pipeline: Pipeline: Inverse operation for wag7 is not available<br>
<br>
Are any of these bugs in PROJ or GDAL?<br>
<br>
If so, are there any workarounds?<br>
<br>
I was also wondering, should it be necessary to take a projection's axis <br>
mapping into account? Isn't that a detail that GDAL or PROJ can abstract <br>
away? Is SetAxisMappingStrategy() really needed?<br>
<br>
My thanks in advance for any help,<br>
Ray Gardener<br>
_______________________________________________<br>
gdal-dev mailing list<br>
<a href="mailto:gdal-dev@lists.osgeo.org" target="_blank">gdal-dev@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/gdal-dev" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a><br>
</blockquote></div>