<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Felipe,</p>
<p>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. <br>
</p>
<p>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.</p>
<p>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.<br>
</p>
<p>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.</p>
<p>Even<br>
</p>
<div class="moz-cite-prefix">Le 10/01/2022 à 21:06, Felipe Matas via
gdal-dev a écrit :<br>
</div>
<blockquote type="cite"
cite="mid:1767405678.2154900.1641845197046@mail.yahoo.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div class="yahoo-style-wrap" style="font-family:Helvetica Neue,
Helvetica, Arial, sans-serif;font-size:16px;">
<div dir="ltr" data-setdir="false">
<div>
<div dir="ltr">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.</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">Actually, probably I'm not the only one, I
have some questions about how WKT2 and PROJ4Strings are
transformed.</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">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.</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">Actually, we can transform a old CRS to a
WKT2:</div>
<div dir="ltr"><br>
</div>
<div>
<pre><code>> 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]]]]</code></pre>
</div>
<div><br>
</div>
<div dir="ltr">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.</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">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.</div>
<div dir="ltr"><br>
</div>
Thx.</div>
<div><br>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
gdal-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/gdal-dev">https://lists.osgeo.org/mailman/listinfo/gdal-dev</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>