aboutsummaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2018-11-26test/fuzzers/build_google_oss_fuzzers.sh: link against libsqlite3Even Rouault
2018-11-22Make proj_create_crs_to_crs() use proj_obj_create_operations() and use area ↵Even Rouault
of use argument, and make createFromUserInput() recognize init=epsg: / init=IGNF: in legacy mode, that is when proj_context_get_use_proj4_init_rules() is used
2018-11-22Fix transformation between geographic CRS that differ by axis order and unitsEven Rouault
2018-11-21Move 'builtins' test of src/gie.c to test/unit/gie_self_tests.cppEven Rouault
2018-11-21createFromUserInput("authname:code"): make it case insensitive regarding ↵Even Rouault
authname
2018-11-20Database: use official IGNF.xml registry to create content from the IGNF ↵Even Rouault
authority Up to now, we re-processed the data/IGNF PROJ.4 definition to ingest it into proj.db, but this file originally come from a processing of IGNF.xml ( http://librairies.ign.fr/geoportail/resources/IGNF.xml ) The end result is not strictly equivalent, as data/IGNF has some 'magic' to create towgs84 / nadgrids, since IGNF.xml doesn't necessary contain all transformations from its geodetic systems to WGS84. I've tried to re-add some of those missing transforms (null Helmert transforms), so it can be used for pivoting, but that might be incomplete.
2018-11-19Assorted set of fixes for PROJString to ISO19111 model:Even Rouault
- createFromPROJString(): take into account axisswap step for Krovak and Transverse Mercator (South Orientated) - Geocentric export to PROJ4: use datum when possible, and add explicit units=m - ESRI WKT parser: make it case insensitive to parameter and projection names, and more tolerant about possible parameter name aliases - import from WKT1 for Polar_Stereographic: don't be case sensitive - importFromPROJString: allow pm to override datum - Equidistant cylindrical: add support for non-standard latitude of natural origin, used in a GDAL test case - tmerc export to PROJString: use 'k' instead of 'k_0' - pj_ellps: use official value from EPSG for reverse flattening of Airy ellipsoid - GDAL compatibility: add support for importing odd formulations of Mercator as WKT1, but rejecting them when exporting to PROJ - Add export of 'Geostationary Satellite (Sweep X)' to WKT1_GDAL via EXTENSION.PROJ4 node - importFromPROJString: add support for +f - WKT1 / PROJ4: add support for EXTENSION.PROJ4 nodes and +wktext - exportToWKT: change way we deal with AXIS by default for WKT1_GDAL - Improve etmerc handling - Fix WKT import of peg_point_heading for Spherical_Cross_Track_Height - International Map of the World Polyconic: change parameter mapping - exportToPROJ: add alpha parameter - Hotine_Oblique_Mercator_Two_Point_Natural_Origin: GDAL_WKT1 related fix - GDAL compatibility improvements in import from PROJ4 / WKT1 for polar stereographic - Add support for +towgs84 when importing a +proj=geocent - import from WKT1: add support for an odd Mercator_1SP formulation handled by GDAL - export to proj4 strings: add +units=m to projected CRS for better GDAL compatibility - export to proj4 strings: add +no_defs to CRS for better GDAL compatibility
2018-11-14Implement RFC 2: Initial integration of "GDAL SRS barn" workEven Rouault
This work mostly consists of: - a C++ implementation of the ISO-19111:2018 / OGC Topic 2 "Referencing by coordinates" classes to represent Datums, Coordinate systems, CRSs (Coordinate Reference Systems) and Coordinate Operations. - methods to convert between this C++ modeling and WKT1, WKT2 and PROJ string representations of those objects - management and query of a SQLite3 database of CRS and Coordinate Operation definition - a C API binding part of those capabilities This is all-in-one squashed commit of the work of https://github.com/OSGeo/proj.4/pull/1040
2018-10-27Implement Molodensky-Badekas transform (fixes #1160)Even Rouault
2018-10-15Add Tobler-Mercator projectionIvan Veselov
2018-10-11Merge pull request #1133 from Fil/bertin1953Kristian Evers
the Bertin 1953 projection
2018-10-11Merge remote-tracking branch 'osgeo/master' into bertin1953Kristian Evers
2018-10-11Merge pull request #1144 from rouault/ntv1_fixKristian Evers
NTv1 grid shift: fix file offset for reading of shift values in ntv1_can.dat
2018-10-11Support LCC 2SP Michigan projectionIvan Veselov
2018-10-08NTv1 grid shift: fix file offset for reading of shift values in ntv1_can.datEven Rouault
When investigating the format of NTv1 and comparing PROJ code with the actual header of ntv1_can.dat, I discovered that the longitude & latitude shift values started at offset 192, whereas PROJ assumed that the header was 176 bytes only. This caused PROJ to use the wrong offsets values (shift of one grid sample by longitude). So the effect was moderately visible, especially on the latitude, but when comparing with NTv2, one can see that the longitude value after the fix seems to closer to NTv2. old: echo "60.5 -100.5 0" | PROJ_LIB=/usr/share/proj src/cct -d 8 +proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=hgridshift +grids=ntv1_can.dat +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1 60.50022624 -100.50040292 0.00000000 inf new: echo "60.5 -100.5 0" | PROJ_LIB=/usr/share/proj src/cct -d 8 +proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=hgridshift +grids=ntv1_can.dat +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1 60.50022403 -100.50041841 0.00000000 inf echo "60.5 -100.5 0" | PROJ_LIB=/usr/share/proj src/cct -d 8 +proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=hgridshift +grids=$HOME/proj/proj-datumgrid/north-america/ntv2_0.gsb +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1 60.50022348 -100.50041978 0.00000000 inf old: $ echo "80.1 -70.9 0" | PROJ_LIB=/usr/share/proj src/cct -d 8 +proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=hgridshift +grids=ntv1_can.dat +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1 80.10096789 -70.89746834 0.00000000 inf new: $ echo "80.1 -70.9 0" | PROJ_LIB=/usr/share/proj src/cct -d 8 +proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=hgridshift +grids=ntv1_can.dat +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1 80.10096858 -70.89749190 0.00000000 inf $ echo "80.1 -70.9 0" | PROJ_LIB=/usr/share/proj src/cct -d 8 +proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=hgridshift +grids=$HOME/proj/proj-datumgrid/north-america/ntv2_0.gsb +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1 80.10096782 -70.89749276 0.00000000 inf
2018-10-01Add a affine transformation method, and make geogoffset as a particular case ↵Even Rouault
of it (fixes #535)
2018-10-01Add geographic offset transformation method.Even Rouault
The Geographic offsets transformation adds an offset to the geographic longitude, latitude coordinates, and an offset to the ellipsoidal height. This method is normally only used when low accuracy is tolerated. It is documented as coordinate operation method code 9619 (for geographic 2D) and 9660 (for geographic 3D) in the EPSG dataset. It can also be used to implement the method Geographic2D with Height Offsets (code 9618) by noting that the input vertical component is a gravity-related height and the output vertical component is the ellispoid height (dh being the geoid undulation). It can also be used to implement the method Vertical offset (code 9616) It is used for example to transform: - from the old Greek geographic 2D CRS to the newer GGRS87 CRS - from Tokyo + JSLD69 height to WGS 84 - from Baltic 1977 height to Black Sea height It is also useful to document the implicit zero-offset transformation we do in pipelines such as +proj=pipeline +step +inv +proj=longlat +ellps=A +step +proj=longlat +ellps=B that can be explicited as +proj=pipeline +step +inv +proj=longlat +ellps=A +step +proj=geogoffset [+dlon=0 +dlat=0 +dh=0] +step +proj=longlat +ellps=B
2018-09-24Req. changes for Bertin1953:Philippe Rivière
- classification - tests - coding style
2018-09-22Fix typo in Plate Carree projection name (#1132)Philippe Rivière
2018-09-19autoconf: fix 'make check' on out-of-tree buildsEven Rouault
2018-09-18Move data/test* scripts and expected results to test/old/Even Rouault
2018-09-18Rename nad/ directory as data/Even Rouault
2018-09-11Merge pull request #1117 from mwtoews/intelKristian Evers
Modifications for Intel compilers
2018-09-11workaround Intel's shortcoming with constexprMike Toews
2018-09-11Merge pull request #1116 from sebastic/dont-install-test-executablesEven Rouault
Don't install test executables.
2018-09-11Don't install test executables.Bas Couwenberg
2018-09-11Don't install gtest libraries.Bas Couwenberg
2018-08-294D API: honour vto_meter / vunits for proj=longlatEven Rouault
This worked for cs2cs / pj_transform(), but not the new API
2018-08-24Improve numerical precision of inverse spherical mercatorKristian Evers
Complements f2b3604
2018-08-24Merge pull request #1093 from rouault/geoc_flag_fixKristian Evers
Assorted fixes related to +geoc flag handing
2018-08-23Merge pull request #1096 from rouault/fix_helmert_convention_confusionEven Rouault
[BREAKING] Helmert: add +convention=position_vector/coordinate_frame, forbids +transpose (fixes #1091)
2018-08-22Adding ellipsoidal equations for the Equal Earth (#1101)Bojan Šavrič
2018-08-21[BREAKING] Hermert: add +convention=position_vector/coordinate_frame, ↵Even Rouault
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.
2018-08-19pj_inv(): fix inverse of +proj=longlat +geocEven Rouault
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
2018-08-17Implementation of Equal Earth projection (#1090)jdugge
Implement the Equal Earth projection (closes #1085)
2018-08-11gie: add a require_grid keyword, and use if for DHDN_ETRS89.gie; aso fix ↵Even Rouault
DHDN_ETRS89 autoconf test
2018-08-114D-API_cs2cs-style.gie: rewrite test to not rely on presence of 'conus' grid ↵Even Rouault
(we should have a way to state that some grids must be present) (refs #872)
2018-07-20Merge pull request #1079 from kbevers/webmerc-testsKristian Evers
Add test coordinates for webmerc
2018-07-20Add test coordinates for webmercKristian Evers
2018-07-10vgridshift: add a +multiplier={value} parameterEven Rouault
As mentionned in #1071, it is often unclear how the offset of a vertical grid is applied.
2018-07-07Remoe ellps parameter from Helmert documentation and gie tests (fixes #1068)Even Rouault
2018-06-26Add inverse lagrange projectionKristian Evers
Courtesy of Michael Stumpf <mi12st34@gmail.com>
2018-06-22Merge pull request #1055 from rouault/geocent_cart_to_meterKristian Evers
Make +proj=geocent and +proj=cart take into account +to_meter (relates to #1053)
2018-06-21Make +proj=geocent and +proj=cart take into account +to_meter (relates to #1053)Even Rouault
2018-06-21unitconvert: error out if xy_in/xy_out z_in/z_out use different unit typesEven Rouault
2018-06-21Add support for deg, rad and grad in unitconvert (fixes #1052), and document ↵Even Rouault
that it supports numeric factors (refs #1053)
2018-06-20Add test for proj_errno_string()Kristian Evers
2018-06-18Add pj_phi2_test (#1039 & #1045)Even Rouault
Nigrated from: schwehr/gdal-autotest2:cpp/third_party/proj/pj_phi2_test.cc@master License intentionally changed from Apache 2 to match PROJ.
2018-06-08Add CMakeLists.txt.in to EXTRA_DIST of test/googletest/Makefile.amEven Rouault
2018-06-08test/unit/Makefile.am: do not install gtest_include.hEven Rouault