[gdal-dev] [Question] PROJ4String to WKT2 Transformations

Even Rouault even.rouault at spatialys.com
Mon Jan 10 12:15:29 PST 2022


Felipe,

when using PROJ to transform a PROJ.4 string to WKT2, there's (as far as 
I can think of) no loss of information. Loss of information can occur in 
the other way round.

The main source of loss is that proj4 strings have a limited set of 
known datums, so sometimes you'll just have a +ellps without any 
+towgs84 or +nadgrids, which is underspecified.

When you've +ellps with +towgs84, datum transformations will be limited 
to using WGS84 as a pivot, whereas if you had a WKT2 string with the 
original datum name, PROJ could potentially avoid going through WGS84 
when doing datum transformation.

Here's with +datum=WGS84, your PROJ.4 string is fully qualified. You can 
remove the +ellps=WGS84 and +towgs84=0,0,0 which are completely 
redundant here.

Even

Le 10/01/2022 à 21:06, Felipe Matas via gdal-dev a écrit :
> Hi hi, I was looking for someplace to ask about this, and I was in 
> doubt is was here or in PROJ, but lets do a try.
>
> Actually, probably I'm not the only one, I have some questions about 
> how WKT2 and PROJ4Strings are transformed.
>
> From what I read, a PROJ4String don't have enough info to construct a 
> precise WKT2, so, actually how PROJ4String is deprecated my main 
> question is how to construct the right WKT2, there is a lot o data 
> stored in the old format, there is usually no more information, and 
> even the software/hardware that get the data in some way save all of 
> it with all the errors.
>
> Actually, we can transform a old CRS to a WKT2:
>
> |> st_crs("+type=crs +proj=utm +zone=19 +south +datum=WGS84 +units=m 
> +no_defs +ellps=WGS84 +towgs84=0,0,0" + ) Coordinate Reference System: 
> User input: +type=crs +proj=utm +zone=19 +south +datum=WGS84 +units=m 
> +no_defs +ellps=WGS84 +towgs84=0,0,0 wkt: BOUNDCRS[ SOURCECRS[ 
> PROJCRS["unknown", BASEGEOGCRS["unknown", 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]]], 
> CONVERSION["UTM zone 19S", METHOD["Transverse Mercator", 
> ID["EPSG",9807]], PARAMETER["Latitude of natural origin",0, 
> ANGLEUNIT["degree",0.0174532925199433], ID["EPSG",8801]], 
> PARAMETER["Longitude of natural origin",-69, 
> ANGLEUNIT["degree",0.0174532925199433], ID["EPSG",8802]], 
> PARAMETER["Scale factor at natural origin",0.9996, 
> SCALEUNIT["unity",1], ID["EPSG",8805]], PARAMETER["False 
> easting",500000, LENGTHUNIT["metre",1], ID["EPSG",8806]], 
> PARAMETER["False northing",10000000, LENGTHUNIT["metre",1], 
> ID["EPSG",8807]], ID["EPSG",17019]], 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]]]]], TARGETCRS[ 
> GEOGCRS["WGS 84", DATUM["World Geodetic System 1984", ELLIPSOID["WGS 
> 84",6378137,298.257223563, LENGTHUNIT["metre",1]]], 
> PRIMEM["Greenwich",0, ANGLEUNIT["degree",0.0174532925199433]], 
> CS[ellipsoidal,2], AXIS["latitude",north, ORDER[1], 
> ANGLEUNIT["degree",0.0174532925199433]], AXIS["longitude",east, 
> ORDER[2], ANGLEUNIT["degree",0.0174532925199433]], ID["EPSG",4326]]], 
> ABRIDGEDTRANSFORMATION["Transformation from unknown to WGS84", 
> METHOD["Geocentric translations (geog2D domain)", ID["EPSG",9603]], 
> PARAMETER["X-axis translation",0, ID["EPSG",8605]], PARAMETER["Y-axis 
> translation",0, ID["EPSG",8606]], PARAMETER["Z-axis translation",0, 
> ID["EPSG",8607]]]]|
>
> So, in some way, GDAL is able to cover this "breach" of information 
> betwen PROJ4String and WKT2, but is not like the breach does not 
> exist, it was just handled in some way, so, the lack of info, also 
> means, there can be othe aproximations to that CRS.
>
> Maybe I'm just confused, and mixing things the things I read, I'm just 
> trying to figure it out, what and how would be the right 
> transformation from proj4string to wkt2.
>
> Thx.
>
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/gdal-dev

-- 
http://www.spatialys.com
My software is free, but my time generally not.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20220110/700965d8/attachment.html>


More information about the gdal-dev mailing list