[gdal-dev] OGRCreateCoordinateTransformation problem on GDAL 3.0.3 and PROJ 6.3.0
Edzer Pebesma
edzer.pebesma at uni-muenster.de
Thu Jan 23 08:40:04 PST 2020
On 1/23/20 5:29 PM, Sean Gillies wrote:
> Hi,
>
> On Thu, Jan 23, 2020 at 8:01 AM Edzer Pebesma
> <edzer.pebesma at uni-muenster.de <mailto:edzer.pebesma at uni-muenster.de>>
> wrote:
>
> The combination of GDAL 3.0.3 and PROJ 6.3.0 arriving on debian
> platforms is causing some havoc for some spatial R packages. I could
> bring one particular problem back to the following C++ program:
>
> #include <stdio.h>
> #include "ogrsf_frmts.h"
> #include <ogr_spatialref.h>
>
> int main() {
>
> OGRSpatialReference *aSRS = new OGRSpatialReference;
> OGRSpatialReference *bSRS = new OGRSpatialReference;
>
> char *pszSRS = NULL, *wkta = NULL, *wktb = NULL;
>
> aSRS->importFromProj4("+init=epsg:4326");
> aSRS->exportToPrettyWkt(&wkta);
> aSRS->importFromWkt((const char *) wkta);
>
> bSRS->importFromProj4("+init=epsg:3857");
> bSRS->exportToPrettyWkt(&wktb);
> bSRS->importFromWkt((const char *) wktb);
>
> OGRCoordinateTransformation *ct =
> OGRCreateCoordinateTransformation(aSRS, bSRS);
> if (ct == NULL) {
> printf("ct NULL\n");
> exit(1);
> }
> exit(0);
> }
>
> which outputs:
>
> Warning 1: +init=epsg:XXXX syntax is deprecated. It might return a CRS
> with a non-EPSG compliant axis order.
> ERROR 1: PROJ: proj_create_operations: At least one of the operation
> lacks a source and/or target CRS
> ERROR 6: Cannot find coordinate operations from `GEOGCRS["WGS
> 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS
> 84",6378137,298.257223563,LENGTHUNIT["metre",1]],ID["EPSG",6326]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8901]],CS[ellipsoidal,2],AXIS["longitude",east,ORDER[1],ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9122]]],AXIS["latitude",north,ORDER[2],ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9122]]]]'
> to `PROJCRS["WGS 84 / Pseudo-Mercator",BASEGEOGCRS["WGS 84",DATUM["World
> Geodetic System 1984",ELLIPSOID["WGS
> 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4326]],CONVERSION["unnamed",METHOD["Popular
> Visualisation Pseudo Mercator",ID["EPSG",1024]],PARAMETER["Latitude of
> natural
> origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude
> of natural
> origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["False
> easting",0,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False
> northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1,ID["EPSG",9001]]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1,ID["EPSG",9001]]]]'
> ct NULL
>
> What am I doing wrong?
>
>
> If you pass "EPSG:4326" to importFromProj4 instead of "+init=epsg:4326"
> (and likewise for EPSG:3857) the deprecated syntax warning won't be
> printed. I expect that the error would be cleared up too, at least that
> is my experience with the latest in these libraries.
Thanks! Yes, with SRS->importFromUserInput("EPSG:3857"); etc this works
fine; I'm OK with the warning, I just don't see how the subsequent error
relates to syntax that is deprecated.
--
Edzer Pebesma
Institute for Geoinformatics
Heisenbergstrasse 2, 48151 Muenster, Germany
Phone: +49 251 8333081
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pEpkey.asc
Type: application/pgp-keys
Size: 3110 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20200123/0d346557/attachment-0001.key>
More information about the gdal-dev
mailing list