<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Helvetica;
panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
code
{mso-style-priority:99;
font-family:"Courier New";}
pre
{mso-style-priority:99;
mso-style-link:"HTML-esimuotoiltu Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
span.HTML-esimuotoiltuChar
{mso-style-name:"HTML-esimuotoiltu Char";
mso-style-priority:99;
mso-style-link:HTML-esimuotoiltu;
font-family:Consolas;}
span.Shkpostityyli21
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 2.0cm 70.85pt 2.0cm;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="FI" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">The more or less same question seems to be asked some time ago in gis.stackexchange https://gis.stackexchange.com/questions/420378/can-we-construct-wkt2-from-proj4string-correctly.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">-Jukka Rahkonen-<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b>Lähettäjä:</b> gdal-dev <gdal-dev-bounces@lists.osgeo.org>
<b>Puolesta </b>Felipe Matas via gdal-dev<br>
<b>Lähetetty:</b> maanantai 10. tammikuuta 2022 22.07<br>
<b>Vastaanottaja:</b> gdal-dev@lists.osgeo.org<br>
<b>Aihe:</b> [gdal-dev] [Question] PROJ4String to WKT2 Transformations<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Helvetica",sans-serif">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.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Helvetica",sans-serif">Actually, probably I'm not the only one, I have some questions about how WKT2 and PROJ4Strings are transformed.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Helvetica",sans-serif">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.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Helvetica",sans-serif">Actually, we can transform a old CRS to a WKT2:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</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"<o:p></o:p></code></pre>
<pre><code>+ )<o:p></o:p></code></pre>
<pre><code>Coordinate Reference System:<o:p></o:p></code></pre>
<pre><code> User input: +type=crs +proj=utm +zone=19 +south +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0 <o:p></o:p></code></pre>
<pre><code> wkt:<o:p></o:p></code></pre>
<pre><code>BOUNDCRS[<o:p></o:p></code></pre>
<pre><code> SOURCECRS[<o:p></o:p></code></pre>
<pre><code> PROJCRS["unknown",<o:p></o:p></code></pre>
<pre><code> BASEGEOGCRS["unknown",<o:p></o:p></code></pre>
<pre><code> DATUM["World Geodetic System 1984",<o:p></o:p></code></pre>
<pre><code> ELLIPSOID["WGS 84",6378137,298.257223563,<o:p></o:p></code></pre>
<pre><code> LENGTHUNIT["metre",1]],<o:p></o:p></code></pre>
<pre><code> ID["EPSG",6326]],<o:p></o:p></code></pre>
<pre><code> PRIMEM["Greenwich",0,<o:p></o:p></code></pre>
<pre><code> ANGLEUNIT["degree",0.0174532925199433],<o:p></o:p></code></pre>
<pre><code> ID["EPSG",8901]]],<o:p></o:p></code></pre>
<pre><code> CONVERSION["UTM zone 19S",<o:p></o:p></code></pre>
<pre><code> METHOD["Transverse Mercator",<o:p></o:p></code></pre>
<pre><code> ID["EPSG",9807]],<o:p></o:p></code></pre>
<pre><code> PARAMETER["Latitude of natural origin",0,<o:p></o:p></code></pre>
<pre><code> ANGLEUNIT["degree",0.0174532925199433],<o:p></o:p></code></pre>
<pre><code> ID["EPSG",8801]],<o:p></o:p></code></pre>
<pre><code> PARAMETER["Longitude of natural origin",-69,<o:p></o:p></code></pre>
<pre><code> ANGLEUNIT["degree",0.0174532925199433],<o:p></o:p></code></pre>
<pre><code> ID["EPSG",8802]],<o:p></o:p></code></pre>
<pre><code> PARAMETER["Scale factor at natural origin",0.9996,<o:p></o:p></code></pre>
<pre><code> SCALEUNIT["unity",1],<o:p></o:p></code></pre>
<pre><code> ID["EPSG",8805]],<o:p></o:p></code></pre>
<pre><code> PARAMETER["False easting",500000,<o:p></o:p></code></pre>
<pre><code> LENGTHUNIT["metre",1],<o:p></o:p></code></pre>
<pre><code> ID["EPSG",8806]],<o:p></o:p></code></pre>
<pre><code> PARAMETER["False northing",10000000,<o:p></o:p></code></pre>
<pre><code> LENGTHUNIT["metre",1],<o:p></o:p></code></pre>
<pre><code> ID["EPSG",8807]],<o:p></o:p></code></pre>
<pre><code> ID["EPSG",17019]],<o:p></o:p></code></pre>
<pre><code> CS[Cartesian,2],<o:p></o:p></code></pre>
<pre><code> AXIS["(E)",east,<o:p></o:p></code></pre>
<pre><code> ORDER[1],<o:p></o:p></code></pre>
<pre><code> LENGTHUNIT["metre",1,<o:p></o:p></code></pre>
<pre><code> ID["EPSG",9001]]],<o:p></o:p></code></pre>
<pre><code> AXIS["(N)",north,<o:p></o:p></code></pre>
<pre><code> ORDER[2],<o:p></o:p></code></pre>
<pre><code> LENGTHUNIT["metre",1,<o:p></o:p></code></pre>
<pre><code> ID["EPSG",9001]]]]],<o:p></o:p></code></pre>
<pre><code> TARGETCRS[<o:p></o:p></code></pre>
<pre><code> GEOGCRS["WGS 84",<o:p></o:p></code></pre>
<pre><code> DATUM["World Geodetic System 1984",<o:p></o:p></code></pre>
<pre><code> ELLIPSOID["WGS 84",6378137,298.257223563,<o:p></o:p></code></pre>
<pre><code> LENGTHUNIT["metre",1]]],<o:p></o:p></code></pre>
<pre><code> PRIMEM["Greenwich",0,<o:p></o:p></code></pre>
<pre><code> ANGLEUNIT["degree",0.0174532925199433]],<o:p></o:p></code></pre>
<pre><code> CS[ellipsoidal,2],<o:p></o:p></code></pre>
<pre><code> AXIS["latitude",north,<o:p></o:p></code></pre>
<pre><code> ORDER[1],<o:p></o:p></code></pre>
<pre><code> ANGLEUNIT["degree",0.0174532925199433]],<o:p></o:p></code></pre>
<pre><code> AXIS["longitude",east,<o:p></o:p></code></pre>
<pre><code> ORDER[2],<o:p></o:p></code></pre>
<pre><code> ANGLEUNIT["degree",0.0174532925199433]],<o:p></o:p></code></pre>
<pre><code> ID["EPSG",4326]]],<o:p></o:p></code></pre>
<pre><code> ABRIDGEDTRANSFORMATION["Transformation from unknown to WGS84",<o:p></o:p></code></pre>
<pre><code> METHOD["Geocentric translations (geog2D domain)",<o:p></o:p></code></pre>
<pre><code> ID["EPSG",9603]],<o:p></o:p></code></pre>
<pre><code> PARAMETER["X-axis translation",0,<o:p></o:p></code></pre>
<pre><code> ID["EPSG",8605]],<o:p></o:p></code></pre>
<pre><code> PARAMETER["Y-axis translation",0,<o:p></o:p></code></pre>
<pre><code> ID["EPSG",8606]],<o:p></o:p></code></pre>
<pre><code> PARAMETER["Z-axis translation",0,<o:p></o:p></code></pre>
<pre><code> ID["EPSG",8607]]]]</code><o:p></o:p></pre>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Helvetica",sans-serif">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.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Helvetica",sans-serif">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.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Helvetica",sans-serif">Thx.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
</div>
</div>
</div>
</body>
</html>