| Age | Commit message (Collapse) | Author |
|
This worked for cs2cs / pj_transform(), but not the new API
|
|
Complements f2b3604
|
|
Assorted fixes related to +geoc flag handing
|
|
[BREAKING] Helmert: add +convention=position_vector/coordinate_frame, forbids +transpose (fixes #1091)
|
|
|
|
forbids +transpose (fixes #1091)
As identified in #1091, Helmert implementation in PROJ 5.0 and 5.1 is confusing.
It happens that by default it used the coordinate_frame convention, contrary to
the position_vector convention used traditionaly for +towgs84. The documentation
of Helmert was also wrongly specifying that the default convention was
position_vector.
This commit:
- bans the confusing +transpose parameter
- removes the concept of a default convention, since in practice both are
equally found, and requires +convention as soon as a rotational term parameter
is present.
For translation only, convention is ignored and optional, as having no effect.
- fixes all the identified uses of proj=helmert in code, doc and tests
This is obviously a breaking change:
- users will have to adapt their pipeline expressions
- in particular, init files that would use helmert must be adapted
However, as designed, the break will be explicit, and not silent.
|
|
There is a regression in PROJ 5 regarding the handling of the +geoc flag,
specific to the case of +proj=longlat, and the inverse transformation,
which makes it a no-op:
echo "12 55 0 " | src/cct +proj=pipeline +step +proj=longlat +ellps=GRS80 +geoc +inv
12.0000000000 55.0000000000 0.0000 inf
With this fix, we now get:
echo "12 55 0 " | src/cct +proj=pipeline +step +proj=longlat +ellps=GRS80 +geoc +inv
12.0000000000 54.8189733083 0.0000 inf
The fix consists in making inv_prepare() do symetrically as fwd_finalize(), ie
skip a number of transforms when left and right units are angular,
and in inv_finalize() apply the (OUTPUT_UNITS==PJ_IO_UNITS_ANGULAR) processing
even if INPUT_UNITS == PJ_IO_UNITS_ANGULAR
|
|
Implement the Equal Earth projection (closes #1085)
|
|
DHDN_ETRS89 autoconf test
|
|
(we should have a way to state that some grids must be present) (refs #872)
|
|
Add test coordinates for webmerc
|
|
|
|
As mentionned in #1071, it is often unclear how the offset of a vertical grid
is applied.
|
|
|
|
Courtesy of Michael Stumpf <mi12st34@gmail.com>
|
|
Make +proj=geocent and +proj=cart take into account +to_meter (relates to #1053)
|
|
|
|
|
|
that it supports numeric factors (refs #1053)
|
|
The previous commits were added way to prematurely. The code was not
properly tested and it turned out to do more bad than good. This commit
hopefully fixes that. And this time it is backed up by tests!
DMS style coordinates should now be fully functional in gie. Finger
crossed.
|
|
|
|
|
|
Temporal gridshifts allow [h|v]gridshift operations to be used as step functions
in a pipeline. This is useful in transformations dealing with deformations caused
by earthquakes.
See the included documentation for details.
|
|
#1002)
|
|
|
|
|
|
When transforming coordinates outside the grid model the deformation
operation failed spectatularly. This is now fixed by checking that the
coordinate is inside the grid. If it isn't an error is returned and a
debugging log message is issued.
Closes #934
|
|
|
|
Add more tests for laea
|
|
|
|
Airy updates
|
|
|
|
|
|
|
|
|
|
|
|
As suggested in [0], steps in a pipeline are now checked for compliance.
If the right side units in step n differ from the left side units in
step n+1 the pipeline can't be constructed and an error is raised.
[0] https://lists.osgeo.org/pipermail/grass-dev/2018-March/088123.html
|
|
geodetic->cartesian->geodetic (fixes #881)
|
|
|
|
|
|
The prepare/finalize steps in pj_fwd*/pj_inv* now checks the error level
of the PJ object before returning the coordinate. If an error is
detected proj_coord_error() is returned.
|
|
|
|
|
|
Following PR #806 which removed various grids from nad/, we now have
to download the BETA2007 grid before that DHDN_ETRS89 test can pass
successfully.
|
|
|
|
Copy ellipsoid definition for proj=cart directly into the
proj_create call, rather than calling pj_inherit_ellipsoid_def
afterwards.
Previously, the ellipsoid definition was left out from the call.
pj_init_ctx would then pick up WGS84 from proj_def.dat, and the
init would succeed (and the possibly wrong ellipsoid definition
would later on be overwritten with the correct values by
pj_inherit_ellipsoid_def.
But if PROJ_LIB was not set or proj_def.dat was inaccessible for
other reasons, things went wrong.
|
|
Reset error type PJD_ERR_MAJOR_AXIS_NOT_GIVEN for operations
that do not need an ellipsoid.
|
|
|
|
|
|
Also make corresponding sign corrections in a number of tests,
and comment out a few tests which work correctly, but report
failure since gie is not yet ready to handle unusual axis
orders in cases with angular output coordinates.
|