aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-12-26Update version number for 8.2.1 releaseKristian Evers
2021-12-20Fix and additional options for Peirce Quincuncial projections (#2978)Toby C. Wilkinson
This fixes the current forward implementation of Peirce Quincuncial proj to correctly flip/reflect out the southern hemisphere to four triangles, and rotate entire result to a square or diamond. (It there resolves the issues identified with pull request https://github.com/OSGeo/PROJ/pull/2230 , where southern hemisphere was wrongly projected over northern, and reverses the restriction to northern hemisphere introduced there). It also adds additional lateral projection of the hemispheres. - This PR adds an optional parameter `+type` which allows selection of projection. The `+type=square` and `+type=diamond` types match in principle ESRI's twin implementations of square and diamond PQ projs. The **default** if not specified is `+type=diamond`. - The previous behaviour restricted to the northern hemisphere can be reproduced using the `+type=nhemisphere`, though this is an edge case only. - An additional `+type=horizontal` and `+type=vertical` rectangular lateral versions have been added that place each hemisphere side-by-side. This is primarily to allow creation of projections such as Greiger Triptychial, which also require the additional optional params `scrollx` or `scrolly` in order to shift parts of the projection from one side of the map to the other. - Additional documentation has been added to proj description, including quoting the usual meridian used in common usage of projection, and images showing the different types.
2021-12-17Merge pull request #2985 from rouault/wkt1_hotine_without_rectified_grid_angleEven Rouault
WKT1 import: correctly deal with missing rectified_grid_angle parameter
2021-12-09Merge pull request #2976 from rouault/compound_to_compound_ballparkEven Rouault
createOperations(): improvement for "NAD83(CSRS) + CGVD28 height" to "NAD83(CSRS) + CGVD2013(CGG2013) height"
2021-12-02Merge pull request #2966 from rouault/fix_2965Even Rouault
Cache result of proj_get_type() to help for performance of proj_factors() (fixes #2965)
2021-11-20Docs: Add new Ellipsoids page to explain ellipsoidal parameters (#2922)Brendan Jurd
Co-authored-by: Rohit <rohitpingale103@gmail.com> Co-authored-by: Brendan Jurd <brendan.jurd@geoplex.com.au> Co-authored-by: Mike Taves <mwtoews@gmail.com>
2021-11-19Merge pull request #2944 from direvus/2540-docs-missing-funcsKristian Evers
DOCS: Add doxygen entry for proj_context_set_search_paths.
2021-11-15createOperationsGeogToGeog(): avoid potential harmless floating-point ↵Even Rouault
division by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=41045
2021-11-15Merge pull request #2940 from OSGeo/backport-2938-to-8.2Even Rouault
[Backport 8.2] createOperationsCompoundToCompound(): fix null pointer dereference when connection to proj.db doesn't exist.
2021-11-14Merge pull request #2938 from rouault/fix_ossfuzz_40955Even Rouault
createOperationsCompoundToCompound(): fix null pointer dereference when connection to proj.db doesn't exist.
2021-11-14Merge pull request #2937 from rouault/fix_2936Even Rouault
createOperations(): do not stop at the first operation in the PROJ namespace for vertical transformations
2021-11-09Merge pull request #2932 from rouault/fix_2931Even Rouault
PROJStringFormatter::toString(): avoid invalid iterator increment (fixes #2931)
2021-11-07Merge pull request #2928 from OSGeo/backport-2926-to-8.2Even Rouault
[Backport 8.2] DOC: Add warning in proj_as_proj_string about potential information loss with CRS
2021-11-06Merge pull request #2926 from snowman2/warnEven Rouault
DOC: Add warning in proj_as_proj_string about potential information loss with CRS
2021-11-06Merge pull request #2925 from snowman2/docsEven Rouault
DOC: add available keys to proj_context_get_database_metadata
2021-11-05Merge pull request #2921 from rouault/epsg_10_039Even Rouault
Database: update to EPSG v10.039
2021-11-03Merge pull request #2917 from rouault/fix_boundcrs_nameEven Rouault
BoundCRS WKT import: fix setting of name
2021-10-26Update ABI numbers for 8.2.0 releaseKristian Evers
2021-10-25Merge pull request #2913 from rouault/fix_2905Even Rouault
lib_proj.cmake: add a PROJ::proj alias and add BUILD_INTERFACE include directories...
2021-10-25lib_proj.cmake: add a PROJ::proj alias and add BUILD_INTERFACE include ↵Even Rouault
directories, so that proj can be used as a subdirectory of a larger project (fixes #2905)
2021-10-23CMake: revise how we deal with symbol export and static buildsEven Rouault
- Remove the explicit PROJ_MSVC_DLL_IMPORT symbol used for importing symbols from a MSVC .dll: by default on MSVC, we use now __declspec(dllimport), unless PROJ_MSVC_DLL_EXPORT is defined by PROJ at build time. This makes it easier for users: they don't have to define anything special. This simplifies in particular the build of our binaries - For static builds, export -DPROJ_DLL= as public, so that users that import PROJ through CMake mechanism don't have to do it manually.
2021-10-22Merge pull request #2907 from josch/tinshiftfallbackEven Rouault
add fallback strategy for tinshift transform to use closest triangle for points not in any
2021-10-21Add fallback_strategy to tinshift transformJohannes Schauer Marin Rodrigues
- this bumps format_version of tinshift JSON to 1.1 for the new field fallback_strategy - the default behaviour without that field is retained - if fallback_strategy is set to "nearest_side", then points that do not fall into any of the triangles will be transformed according to the nearest triangle - if fallback_centroid is set to "nearest_side", then points that do not fall into any of the triangles will be transformed according to the triangle with the nearest centroid
2021-10-19TYPE: Update const declarations in proj_trans_boundssnowman2
2021-10-17exportToPROJStringGeneric(): avoid harmless floating-point division by zero ↵Even Rouault
if conversion factor is 0. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40050
2021-10-16createOperations(): avoid harmless floating-point division by zero if ↵Even Rouault
conversion factor of target unit is 0. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39969
2021-10-16Fix previous commitEven Rouault
2021-10-16CMake: fix invproj/invgeod generation on Windows when building with an ↵Even Rouault
explicit configuration
2021-10-12Geographic 3D CRS: allow to export to WKT1:ESRI if only the GEOGCS is known ↵Even Rouault
(and thus extrapolating a VERTCS) (fixes #2757)
2021-10-12Fix export to WKT1:ESRI of CRS, datum, ellipsoids name that don't have a ↵Even Rouault
EPSG equivalent and have parentheses in their name
2021-10-12Merge pull request #2897 from rouault/fix_2852Even Rouault
CMake build: generate invproj/invgeod binaries (symlinks on Unix, copy otherwise) (fixes #2852)
2021-10-12Merge pull request #2900 from rouault/cmake_wkt_parserEven Rouault
CMake build: add generate_wkt1_parser and generate_wkt2_parser manual target, and logic to detect when they must be run
2021-10-11Merge pull request #2895 from rouault/cmake_BUILD_PROGRAMSEven Rouault
CMake: add a BUILD_APPS to be able to disable build of all applications
2021-10-11CMake build: add generate_wkt1_parser and generate_wkt2_parser manual ↵Even Rouault
target, and logic to detect when they must be run
2021-10-11CMake: Always build gie if testing is requested (#2899)Mike Taves
Co-authored-by: Even Rouault <even.rouault@spatialys.com>
2021-10-10proj_crs_get_datum_forced(): catch potential exception (fixes CID 358433, ↵Even Rouault
358434, 358435)
2021-10-10CMake: add a BUILD_APPS to be able to disable build of all programsEven Rouault
This makes it easier to turn off all programs, rather than individually. Useful for example to avoid https://github.com/OSGeo/gdal/blob/master/gdal/fuzzers/build.sh#L138
2021-10-09geod / proj: accept lt-inv[geod/proj] name for older libtool versionsEven Rouault
2021-10-09autoconf build: build invproj and invgeod in build directoryEven Rouault
Due to libtool wrapper scripts, it is easier to build fully fledged binaries. The installed binaries will be symlinks, as before.
2021-10-09CMake build: generate invproj/invgeod binaries (symlinks on Unix, copy ↵Even Rouault
otherwise) (fixes #2852)
2021-10-08WKT1 parser: recognize Lambert_Conformal_Conic as projection name for LCC ↵Even Rouault
1SP or 2SP (fixes #2892)
2021-10-08WKT concatenated operation parsing: fix when a axis order reversal ↵Even Rouault
conversion is the first or last operation (fixes #2890)
2021-10-07cmake build: install proj_symbol_rename.hEven Rouault
2021-10-06CRS::_isEquivalentTo(): be tolerant to different order of PROJ step options ↵Even Rouault
(fixes #2886)
2021-10-06ProjectedCRS::_isEquivalentTo(): ignore base CRS axis order even in ↵Even Rouault
EQUIVALENT mode if one of them is lacking an explicit CS order (refs #2886)
2021-10-06proj_create_crs_to_crs() + proj_trans(): fix when non-Greenwich prime ↵Even Rouault
meridian is involved This fixes a regression introduced in 7af1d5741da08d9546b907e0da2c21c54c61b27 / PROJ 7.2.0 where reprojection of area of use was broken when the source/target CRS did not use Greenwich as prime meridian. Fixes https://lists.osgeo.org/pipermail/gdal-dev/2021-October/054764.html Now with the fix: - using grid: $ echo 286415 431434 | PROJ_NETWORK=ON src/cs2cs -d 4 EPSG:20790 EPSG:3763 86412.4262 131434.1706 0.0000 - not using it: $ echo 286415 431434 | src/cs2cs -d 4 EPSG:20790 EPSG:3763 86412.5265 131433.8561 0.0000
2021-10-05Add proj_trans_bounds to compute the image of a input bounding box through a ↵Alan D. Snow
transformation (#2882) Fixes #2779
2021-10-05Merge pull request #2876 from rouault/iauEven Rouault
Add IAU_2015 CRS definitions
2021-10-05Merge pull request #2868 from rouault/proj_factors_with_projected_crsEven Rouault
proj_factors(): accept P to be a projected CRS (fixes #2854)
2021-09-30proj_factors(): accept P to be a projected CRS (fixes #2854)Even Rouault
Updated doc: Starting with PROJ 8.2, the P object can be a projected CRS, for example instantiated from a EPSG CRS code. The factors computed will be those of the map projection implied by the transformation from the base geographic CRS of the projected CRS to the projected CRS. The input geodetic coordinate lp should be such that lp.lam is the longitude in radian, and lp.phi the latitude in radian (thus independently of the definition of the base CRS, if P is a projected CRS).