| Age | Commit message (Collapse) | Author |
|
Refines #1034
|
|
For CMake builds, latest googletest 1.8.0 is downloaded.
Following officially recommended integration for CMake-enabled projects
https://github.com/google/googletest/blob/master/googletest/README.md
"Use CMake to download GoogleTest as part of the build's configure step.
This is just a little more complex, but doesn't have the limitations
of the other methods."
Since, our copy of test/googletest
- is a very minimalist copy of googletest
- does not include any official CMake scripts
- would require copying parts of googletest CMakeLists.txt, compilater/linker flags (e.g. -lpthreads)
for reliable multi-platform builds, it is reasoanable to rely on download
All pros and cons advantages are discussed in teh README.md linked above.
Closes #1033
|
|
builds only (CMake integration to be done)
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
and add catch2 framework
Hardened compilation flags come from GDAL' configure.ac and are
'combat proven'
Dummy test added just to demonstrate catch2 based tests work.
|
|
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.
|
|
|
|
For reasons unknown to anyone but the geniuses from Redmond: In
MSWindows, the wildcard pattern "*.gie" expands to all files having
an extension *starting* with ".gie".
In other words "dir *.gie" will list files with extension ".gie"
*and* with extension ".gie_failing".
This means that running "gie test\gigs\*.gie" will run all gigs
tests, even the ones known to fail.
So rather than getting a quick check for regressions, one gets
a lot of noise and no easy way to be sure whether any regressions
have appeared.
To work around this oddity, we rename all files ending in
".gie_failing" to end in ".gie.failing" - and while at it,
adding all the non-failing gigs tests to the AppVeyor test suite.
This extends the regression test suite, run at the end of each
AppVeyor integration, to over 2500 individual tests.
Test coverage, however, is still hovering just below 75%, so
there's still plenty of room and reason for additional tests.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
All the GIGS JSON files have been converted to the gie format
and are now covered by running "make check". Therefore we no
longer need the Python setup. Removing it from the Travis CI
setup should speed up the test execution time a bit.
|
|
Make sure that the gie files in test/gie and test/gigs are included
in the distribution tarball. Tests with gie are set up to run all
available files matching *.gie in the gie and gigs directories. For
this reason tests that are known to fail in gigs/ have been renamed
to *.gie_failing, so that "make check" can be run in-tree in local
copies of the git repository.
|
|
The GIGS tests that are known to work are added to the CMake test
setup. The GIGS gie files have been auto-translated from the
existing json-files and some corrections to tolerances have been
necessary since gie uses different norms than GIGS specify. The GIGS
tolerances are specified as the infinity norm of angular coordinates,
whereas gie uses the actual distances between calculated and expected
coordinates (using geodesics). In a few tests +towgs84 is overriden
from the EPSG inits to avoid creeping numerical inaccuracy in
roundtrips.
Co-authored-by: Thomas Knudsen <thokn@sdfe.dk>
Co-authored-by: Kristian Evers <kristianevers@gmail.com>
|
|
Parameters such as towgs84, nadgrids and geoidgrids was previously only
handled by pj_transform(). This commit add a compatibility layer in
proj_create() by calling the pj_cs2cs_emulation_setup() function. This
function sets up a handful of predefined transformation objects on the
PJ object that is being created. Each of these transformation objects
are related to the cs2cs-style parameters we are trying to emulate in
the 4D API. That is, if the +towgs84 parameters is used we create
P->helmert with the parameters specified in +towgs84. Similarly for
+axis, +nadgrids and +geoidgrids. When these transformation objects
exists we use them in the prepare and finalize functions in pj_fwd/
pj_inv. If no cs2cs-style parametes are specified we skip those
parts of the prepare and finalizing steps.
Co-authored-by:Thomas Knudsen <thokn@sdfe.dk>
Co-authored-by:Kristian Evers <kristianevers@gmail.com>
|