aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-03-09Extended tmerc (Poder/Engsager): speed optimizationsEven Rouault
fwd: 52% faster on Core-i7@2.6GHz, 40% faster on GCE Xeon@2GHz inv: 24% faster on Core-i7@2.6GHz, 36% faster on GCE Xeon@2GHz Those speed-ups are obtained due to elimination of a number of transcendental functions (atan, sincos, cosh, sinh), through the use of usual trigonometric/hyperbolic formulas. The numeric results before/after seem identical at worse up to 14 decimal digits, which is way beyond the apparent accuracy of the computations On a point, far from central meridian, where round-tripping is not so great: Before: echo "81 1" | src/proj -d 18 +proj=utm +zone=31 | src/proj -d 18 -I +proj=utm +zone=31 80.999994286593448578 0.999987970918421620 After: $ echo "81 1" | src/proj -d 18 +proj=utm +zone=31 | src/proj -d 18 -I +proj=utm +zone=31 80.999994286593448578 0.999987970918422175 The benchmarking program used is: ``` #include "proj.h" #include <stdlib.h> #include <stdio.h> #include <string.h> int main(int argc, char* argv[]) { if( argc != 3 ) { fprintf(stderr, "Usage: bench quoted_proj_string fwd/inv\n"); exit(1); } PJ* p = proj_create(0, argv[1]); const int dir = strcmp(argv[2], "inv") == 0 ? PJ_INV : PJ_FWD; PJ_COORD coord; if( dir == PJ_FWD ) { coord.xy.x = 0.5; // rad coord.xy.y = 0.5; // rad } else { coord.xy.x = 450000; // m coord.xy.y = 5000000; // m } for(int i = 0; i < 40 * 1000* 1000; i++) proj_trans(p, dir, coord); proj_destroy(p); return 0; } ```
2020-03-09Merge pull request #2031 from snowman2/appveyorEven Rouault
Updated appveyor to not copy DLL & update existing vcpkg
2020-03-09Merge pull request #2025 from ↵Kristian Evers
rouault/projections_remove_assignments_in_expressions src/projections/: remove assignments in expression and multiple statements per line
2020-03-08Updated appveyor to not copy DLL & update existing vcpkgsnowman2
2020-03-08src/projections/: remove assignments in expression and multiple statements ↵Even Rouault
per line Should hopefully result in no change in results, and hopefully more readable code...
2020-03-06proj_internal.h: fix typo in macro name due to bad copy&paste. (No ↵Even Rouault
functional impact)
2020-03-06proj.ini: typo fix in comment [ci skip]Even Rouault
2020-03-06Typo fixes identified by scripts/fix_typos.shEven Rouault
2020-03-06Merge pull request #2024 from rouault/add_support_for_WKT1_ESRI_VERTCSEven Rouault
WKT import/export: add support for WKT1_ESRI VERTCS syntax
2020-03-06WKT import/export: add support for WKT1_ESRI VERTCS syntaxEven Rouault
2020-03-06Merge pull request #2023 from nyalldawson/update_notesKristian Evers
Add some more missing methods and notes to esri projection mapping
2020-03-06Add some more missing methods and notes to esri projection mappingNyall Dawson
2020-03-05ESRI WKT: map Mercator_Variant_A, Mercator_Variant_C and ↵Even Rouault
Transverse_Cylindrical_Equal_Area projections (#2020) * Add mapping of ESRI projection methods Mercator_Variant_A, Mercator_Variant_C and Transverse_Cylindrical_Equal_Area * Add a few notes about missing mappings
2020-03-05Remove occurences of deprecated PROJ.4 syntaxKristian Evers
+no_defs and +datum has no effect on the behaviour of proj, so can be left out in these examples in the docs. +no_defs in rare occasions would have had an effect in older PROJ versions but not from PROJ 6 and onwards. +datum has ever only been honoured by cs2cs and pj_transform(). Fixes #2017
2020-03-04Merge pull request #1986 from nyalldawson/behrmanEven Rouault
Map the Behrman projection to cae when converting ESRI CRSes
2020-03-04Add missing tests for ESRI projection method conversionNyall Dawson
2020-03-04Add capability to force a fixed value for a non-specified CRS componentNyall Dawson
while mapping ESRI projections, and map the Behrman projection to cae with lat_ts=30, lon_0=0
2020-03-04Document Autotools and CMake configure options (#2010)Mike Taves
2020-03-04Update README with info on PROJ-data (#2015) [ci skip]Kristian Evers
Removes section about proj-datumgrid-* packages in favour for a section about the PROJ-data package and the CDN.
2020-03-03createUnitOfMeasure(): use full double resolution for the conversion factor ↵Even Rouault
(#2011) Fixes https://github.com/OSGeo/gdal/issues/2290 where it was found that PROJ returned value for conversion factor of US Survey Foot unit wasn't at the maximum resolution, but only accurate to 15 significant digits.
2020-03-03Merge pull request #2009 from OSGeo/cmake-rpathKristian Evers
Follow PDAL's CMake RPATH strategy
2020-03-03cmakelint changes as requestedHoward Butler
2020-03-03Fix download link for proj-data 1.0Chris Mayo
2020-03-02Follow PDAL's CMake RPATH strategyHoward Butler
2020-03-02Fix bad copy&replace pattern on HEALPix and rHEALPix projection names. ↵Even Rouault
Affects output of 'proj -l'
2020-03-01Update github_version in sphinx configKristian Evers
2020-03-01Bump version numbers in preparation for 7.1.0Kristian Evers
2020-03-01Update docs in preparation for 7.0.0 releaseKristian Evers
2020-02-29createOperations(): fix wrong pipeline generation with CRS that has ↵Even Rouault
+nadgrids= and +pm= (#1998) Fixes issue reported at https://lists.osgeo.org/pipermail/gdal-dev/2020-February/051749.html The generated pipeline assumes that the input coordinates for the grid transformation were related to the non-Greenwich based datum, so we must compensate for that and add logic to go back to Greenwich.
2020-02-28Avoid crash when running against SQLite3 binary built with ↵Even Rouault
-DSQLITE_OMIT_AUTOINIT (fixes #1932) (#1997)
2020-02-28Formatting fixEven Rouault
2020-02-27Fix warnings of latest cppcheck masterEven Rouault
2020-02-27Doc: Add missing projection property tables (#1992)Chatziargyriou Eleftheria
2020-02-27Make tests independent of proj-datumgridEven Rouault
Fixes #1984 - Copy BETA2007.gsb, MD, alaska, conus, ntf_r93.gsb, ntv1_can.dat grids from proj-datumgrid to data/tests. - Replace a couple uses of nzgd2kgrid0005.gsb in tests by ntf_r93.gsb - Add downsampled/subsetted versions of egm96_15.gtx as tests/egm96_15_downsampled.gtx and ntv2_0.gsb as tests/ntv2_0_downsampled.gsb This results in a few changes in expected results - Simpify travis/install.sh due to less configurations to test This results in a hopefully acceptable increase of the proj-X.Y.Z.tar.gz from 2.9 to 5.3 MB
2020-02-27proj_create_crs_to_crs(): avoid potential reprojection failures when ↵Even Rouault
reprojecting area of use to source and target CRS Was found with https://github.com/OSGeo/PROJ/pull/1989 when using cs2cs EPSG:4937 EPSG:31258+5778 - We do not need to do vertical transformation in that context. This failed here because the Austrian grids have nodata value outside of the shape of Austria, so the edges of the grids are mostly nodata values. - And we should avoid grid-based transformations too.
2020-02-27Merge pull request #1989 from rouault/register_austrian_height_gridsEven Rouault
Database: register 4 height Austrian grids from https://github.com/OSGeo/PROJ-data/pull/13 + handle 'Vertical Offset by Grid Interpolation (BEV AT)' method
2020-02-27Merge pull request #1987 from nyalldawson/flat_polar_quarticEven Rouault
Support conversion of Flat_Polar_Quartic projection method
2020-02-26Database: register 4 height Austrian grids from ↵Even Rouault
https://github.com/OSGeo/PROJ-data/pull/13 + handle 'Vertical Offset by Grid Interpolation (BEV AT)' method
2020-02-26Database: update to EPSG v9.8.7Even Rouault
2020-02-26Support conversion of Flat_Polar_Quartic projection methodNyall Dawson
2020-02-25Merge pull request #1983 from rouault/fix_1982Even Rouault
createOperations(): be robust to a GeographicCRS having a wrong ID attached to it (fixes #1982)
2020-02-25createOperations(): be robust to a GeographicCRS having a wrong ID attached ↵Even Rouault
to it (fixes #1982)
2020-02-25CompoundCRS::create(): reject combinations of components not allowed by ISO ↵Even Rouault
19111
2020-02-24createOperations(): keep height/z value in Helmert transform between 3D CRSEven Rouault
This is the consequence of a private email thread between me, Joel Haasdyk and Roger Lott. I initially raised that the GDA2020 technical manual advertized the Helmert transformation between GDA94 to GDA2020 to be a 3D one, with example of a test point where ellipsoidal heights where modified. It appears this was intended. The corresponding record in EPSG uses the EPSG:9607 "Coordinate Frame rotation (geog2D domain)" method between the 2D geographic CRS of GDA94 and GDA2020. From the email exchange, it appears that there's a lot of legacy explaining that Helmert transformations are registered only between 2D CRS, which doesn't mean that when applied to the corresponding 3D CRS, the change in ellipsoidal height should be discarded. Related to that, the EPSG database, while it has methods flagged "(geog3D domain)" never uses them. So... this changeset slightly ammends PROJ behaviour to ignore the "(geog2D domain)" flag, but only consider the dimensionality of the source & target CRS. However, for a EPSG transformation, those are always 2D CRS, hence introduce the use3DHelmert_ hack when we know that ultimately the 'real' source & target CRS are 3D. I wouldn't be surprised if in more complex pipeline the above logic would be lacking. But it fixes at least simple transformations.
2020-02-24pj_hgrid_apply(): change error code when no grid match to PJD_ERR_GRID_AREA ↵Even Rouault
(refs #1973)
2020-02-24Fix mapping of Vertical_Near_Side_Perspective (fixes #1965)Nyall Dawson
2020-02-24Expose proj_context_is_network_enabled() in C APIEven Rouault
2020-02-24Merge pull request #1968 from wonder-sk/slovakia-jtsk-ntv2-masterEven Rouault
Add alternative grid for JTSK - JTSK03 transform (EPSG:8364)
2020-02-23Add alternative grid for JTSK - JTSK03 transform (EPSG:8364)Martin Dobias
The definition of EPSG:8364 uses NADCON method for horizontal grid (.las/.los files) but this format is not supported by PROJ. UGKK (Slovak Geodetic and Cartographic Institute) provides NADCON .las/.los files here: https://www.geoportal.sk/files/gz/slovakia_jtsk03_to_jtsk.zip Additionally UGKK also provides the same grid file in NTv2 format: https://www.geoportal.sk/files/gz/slovakia_jtsk03_to_jtsk_ntv2.zip So let's add the NTv2 file the grid_alternatives table so that PROJ can automatically pick it up...
2020-02-22Merge pull request #1962 from mwtoews/sharedMike Taves
CMake: rename BUILD_LIBPROJ_SHARED to BUILD_SHARED_LIBS