<feed xmlns='http://www.w3.org/2005/Atom'>
<title>PROJ/include/proj, branch 6.2</title>
<subtitle>Forked from https://github.com/OSGeo/PROJ</subtitle>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/'/>
<entry>
<title>normalizeForVisualization() and other methods applying on a ProjectedCRS: do not mess the derivingConversion object of the original object (fixes #1736)</title>
<updated>2019-11-25T12:14:35+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2019-11-25T03:54:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=bce4b158ab5f7d146de8e8fc98df4612dc8c2c9e'/>
<id>bce4b158ab5f7d146de8e8fc98df4612dc8c2c9e</id>
<content type='text'>
normalizeForVisualization(), promoteTo3D(), demoteTo2D(), alterGeodeticCRS(),
alterCSLinearUnit() and alterParametersLinearUnit() all used the object
returned by derivingConversionRef() to create a new ProjectedCRS. While doing
so, this caused the derivingConversion of the original object to have its
targetCRS set to the object returned by normalizeForVisualization() and similar.
If that object died, then the weak pointer would be reset, and the original
ProjectedCRS() has now its derivingConversionRef()-&gt;targetCRS() nullptr

So bottom line is use derivingConversion() for anything that is not pure
reading !!!

This is confirmed to be the fix for the QGIS scenario in
https://github.com/qgis/QGIS/issues/30569#issuecomment-540060919

In QGIS use case, the issue arised when using a projected CRS with a non-GIS
friendly axis (that is where normalizeForVisualization() created a new projectedCRS)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
normalizeForVisualization(), promoteTo3D(), demoteTo2D(), alterGeodeticCRS(),
alterCSLinearUnit() and alterParametersLinearUnit() all used the object
returned by derivingConversionRef() to create a new ProjectedCRS. While doing
so, this caused the derivingConversion of the original object to have its
targetCRS set to the object returned by normalizeForVisualization() and similar.
If that object died, then the weak pointer would be reset, and the original
ProjectedCRS() has now its derivingConversionRef()-&gt;targetCRS() nullptr

So bottom line is use derivingConversion() for anything that is not pure
reading !!!

This is confirmed to be the fix for the QGIS scenario in
https://github.com/qgis/QGIS/issues/30569#issuecomment-540060919

In QGIS use case, the issue arised when using a projected CRS with a non-GIS
friendly axis (that is where normalizeForVisualization() created a new projectedCRS)
</pre>
</div>
</content>
</entry>
<entry>
<title>API: add CRS::promoteTo3D(), proj_crs_promote_to_3D() and proj_crs_create_projected_3D_crs_from_2D() (fixes #1587)</title>
<updated>2019-09-15T16:39:07+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2019-09-15T16:39:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=e35aa372afbd8a7423f53306d9e222d525fb32ef'/>
<id>e35aa372afbd8a7423f53306d9e222d525fb32ef</id>
<content type='text'>
(projinfo changes adding --3d from master removed)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(projinfo changes adding --3d from master removed)
</pre>
</div>
</content>
</entry>
<entry>
<title>createOperations(): fix pipeline generation when a CRS has terms like +datum=NAD27 and +over, where the datum was just replaced by its ellipsoid</title>
<updated>2019-08-26T16:12:38+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2019-08-26T16:12:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=78302efb70eb4b49610cda6a60bf9ce39b82264f'/>
<id>78302efb70eb4b49610cda6a60bf9ce39b82264f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>C API: add proj_context_set_autoclose_database() to automatically close database (fixes #1565)</title>
<updated>2019-08-20T11:26:54+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2019-08-19T18:57:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=15d6475b8caeb169fd2c060076738db75fc527b3'/>
<id>15d6475b8caeb169fd2c060076738db75fc527b3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>PROJJSON: rename file as projjson.schema.json, and add versionning to it and to exported PROJJSON strings</title>
<updated>2019-08-17T10:15:53+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2019-08-17T08:58:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=cad1c5cf61fc00759bf4ad17b0b34f57f4945de6'/>
<id>cad1c5cf61fc00759bf4ad17b0b34f57f4945de6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>PROJJSON: add support for DatumEnsemble and Dynamic[Geodetic|Vertical]ReferenceFrame</title>
<updated>2019-08-10T13:27:59+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2019-08-10T13:15:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=63981af418d84749cd4d70752f83fd551100389f'/>
<id>63981af418d84749cd4d70752f83fd551100389f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>PROJSJON: add import/export of VerticalCRS, CompoundCRS, BoundCRS, Transformation and ConcatenatedOperation</title>
<updated>2019-08-09T15:41:23+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2019-08-09T15:10:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=f0d766e45640800412c08a7cb9ab4f8823d88d05'/>
<id>f0d766e45640800412c08a7cb9ab4f8823d88d05</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>createFromUserInput(): add capability to import PROJJSON</title>
<updated>2019-08-09T12:42:39+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2019-08-09T10:59:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=81bd57dfd8cfae609288643d1b09a4805f1bcded'/>
<id>81bd57dfd8cfae609288643d1b09a4805f1bcded</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>PROJJSON export: use more compact form</title>
<updated>2019-08-09T11:22:25+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2019-08-08T18:04:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=89f2cc7ec4178a369e73e9cd115a2552a55d870a'/>
<id>89f2cc7ec4178a369e73e9cd115a2552a55d870a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>CRS JSON: export GeographicCRS and Projected CRS</title>
<updated>2019-07-07T22:05:00+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2019-07-06T15:06:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=ece151aed1b4bf2634de5759f37fd7bc005e8313'/>
<id>ece151aed1b4bf2634de5759f37fd7bc005e8313</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
