<feed xmlns='http://www.w3.org/2005/Atom'>
<title>PROJ/test/unit, 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>createOperations(): in some circumstances we wrongly promoted a Helmert geog2D transformation to a geog3D</title>
<updated>2019-11-03T14:33:55+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2019-11-03T14:33:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=97a468bbbea4a18126f2b5e1516183f30fa0ac6b'/>
<id>97a468bbbea4a18126f2b5e1516183f30fa0ac6b</id>
<content type='text'>
Fixes for example EPSG:4979 to EPSG:2189, as raised in
https://github.com/OSGeo/gdal/issues/1972#issuecomment-548814354</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes for example EPSG:4979 to EPSG:2189, as raised in
https://github.com/OSGeo/gdal/issues/1972#issuecomment-548814354</pre>
</div>
</content>
</entry>
<entry>
<title>createFromWkt(): be tolerant to missing scale_factor parameter (fixes #1700)</title>
<updated>2019-10-30T16:49:39+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2019-10-30T15:56:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=970946b5668b31c1f2498db4b1dbc83871d52a91'/>
<id>970946b5668b31c1f2498db4b1dbc83871d52a91</id>
<content type='text'>
This is invalid WKT, but GDAL 2.4 used to accept it and make a reasonable
use of it...

Currently we default it to 0 which is non sensical. Better use 1 as GDAL 2.4
did, and emit a warning.

Other fix: proj_create_from_wkt() was documented to operate by default in
non-strict validation mode, but it was actually in strict mode. So do as
documented.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is invalid WKT, but GDAL 2.4 used to accept it and make a reasonable
use of it...

Currently we default it to 0 which is non sensical. Better use 1 as GDAL 2.4
did, and emit a warning.

Other fix: proj_create_from_wkt() was documented to operate by default in
non-strict validation mode, but it was actually in strict mode. So do as
documented.</pre>
</div>
</content>
</entry>
<entry>
<title>importFromWkt(): fix axis orientation for non-standard ESRI WKT (fixes #1690)</title>
<updated>2019-10-25T09:04:16+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2019-10-25T09:04:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=f96f8ef4ffc0002219799cc5b0b2364c94a4ed49'/>
<id>f96f8ef4ffc0002219799cc5b0b2364c94a4ed49</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>createOperations(): fix double vertical unit conversion from CompoundCRS to other CRS when the horizontal part of the projected CRS uses non-metre unit</title>
<updated>2019-10-18T19:55:22+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2019-10-18T19:54:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=00bac075a1b626f87262ea5c64a805a104765cba'/>
<id>00bac075a1b626f87262ea5c64a805a104765cba</id>
<content type='text'>
Fix issue reported on https://lists.osgeo.org/pipermail/proj/2019-October/008939.html</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix issue reported on https://lists.osgeo.org/pipermail/proj/2019-October/008939.html</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #1636 from OSGeo/backport-1633-to-6.2</title>
<updated>2019-09-28T08:19:50+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2019-09-28T08:19:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=f0c148abf30201fef9f9958d4e47c5a28d9e66b0'/>
<id>f0c148abf30201fef9f9958d4e47c5a28d9e66b0</id>
<content type='text'>
Backport #1633 to 6.2</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backport #1633 to 6.2</pre>
</div>
</content>
</entry>
<entry>
<title>Database: update to EPSG 9.8.2</title>
<updated>2019-09-27T23:47:40+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2019-09-23T13:03:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=1f66818745be99767dd477fcf4a0ebcfaed59e1c'/>
<id>1f66818745be99767dd477fcf4a0ebcfaed59e1c</id>
<content type='text'>
With limitation of https://github.com/OSGeo/PROJ/issues/1632 regarding
concatenated operations with more than 3 steps.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With limitation of https://github.com/OSGeo/PROJ/issues/1632 regarding
concatenated operations with more than 3 steps.
</pre>
</div>
</content>
</entry>
<entry>
<title>proj_create_crs_to_crs(): fix when there are only transformations with ballpark steps</title>
<updated>2019-09-26T11:28:54+00:00</updated>
<author>
<name>Even Rouault</name>
<email>even.rouault@spatialys.com</email>
</author>
<published>2019-09-26T10:16:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=668d882938b3e907bc3738df770f903843bf8578'/>
<id>668d882938b3e907bc3738df770f903843bf8578</id>
<content type='text'>
Currently we would discard all operations, resulting in a PJ object with
zero candidates. Better use those operations if nothing better is available.

Was seen on transforming from ETRS89 / UTM zone 31N + EGM96 height to WGS 84 (G1762).
The horizontal transformation from ETRS89 to WGS 84 (G1762) is a ballpark one.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently we would discard all operations, resulting in a PJ object with
zero candidates. Better use those operations if nothing better is available.

Was seen on transforming from ETRS89 / UTM zone 31N + EGM96 height to WGS 84 (G1762).
The horizontal transformation from ETRS89 to WGS 84 (G1762) is a ballpark one.
</pre>
</div>
</content>
</entry>
<entry>
<title>[6.2 backport] cs2cs: autopromote CRS to 3D when there's a mix… (#1615)</title>
<updated>2019-09-16T07:23:00+00:00</updated>
<author>
<name>Kristian Evers</name>
<email>kristianevers@gmail.com</email>
</author>
<published>2019-09-16T07:23:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.otimperi.dev/PROJ/commit/?id=355f43ca41ac4e9a01037e6481ce611da9c13805'/>
<id>355f43ca41ac4e9a01037e6481ce611da9c13805</id>
<content type='text'>
[6.2 backport] cs2cs: autopromote CRS to 3D when there's a mix of 2D and 3D (fixes #1563)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[6.2 backport] cs2cs: autopromote CRS to 3D when there's a mix of 2D and 3D (fixes #1563)</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>
</feed>
