aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-01-23Database: add a geoid_like value for proj_method column of ↵Even Rouault
grid_alternatives, fix related entries and simplify/robustify logic to deal with EPSG 'Geographic3D to GravityRelatedHeight' methods
2020-01-22Database: update to EPSG v9.8.6Even Rouault
Fixes #1867
2020-01-22Merge RFC4 (#1865)Even Rouault
This commit is the result of the squashing of rfc4_dev branch in a single commit. It implements mostly RFC 4 related work. * Grid handling: - remove obsolete and presumably unfinished implementation of grid catalog functionality - all grid functionality is in grids.cpp/.hpp - vertical and horizontal grid shift: rework to no longer load whole grid into memory - remove hgrids and vgrids member from PJ structure, and store them in hgridshift/vgridshift/deformation structures - build systems: add optional libtiff dependency. Must be explicitly disabled if not desired - add support for horizontal and vertical grids in GeoTIFF, if libtiff is available - add GenericShiftGridSet and GenericShiftGrid classes, relying on TIFF grids, that can be used for generic purpose grid-based adjustment - add a +proj=xyzgridshift method to perform geocentric translation by grid. Used for French NTF to RGF93 transformation using gr3df97a.tif grid - deformation: add support for +grids= for GeoTIFF grids - horizontal grid shift: fix failures on points slightly outside a subgrid (fixes #209) * File management: - add a filemanager.cpp/.hpp to deal with file related work - test for legacy proj_api.h fileapi - proj.h: add proj_context_set_fileapi() and proj_context_set_sqlite3_vfs_name() (fixes #866) - add capability to read resource files from the user writable directory * Network access: - build systems: add optional curl dependency - add a curl-based default implementation for network related functionality - proj.h: add C API to control network functionality, and optionaly provide network callbacks - add data/proj.ini with default settings - add a SQLite3 local cache of downloaded chunks - add proj_is_download_needed() and proj_download_file() * Use Win32 Unicode APIs and expect all strings to be UTF-8 (fixes #1765) For backward compatibility, if PROJ_LIB content is found to be not UTF-8 or pointing to a non existing directory, then an attempt at interpretating it in the ANSI page encoding is done. proj_context_set_search_paths() now assumes strings to be in UTF-8, and functions returning paths will also return values in UTF-8.
2020-01-21ProjectedCRS::identify(): fix wrong identification of some ESRI WKT linked ↵Even Rouault
to units Fixes bug reported in https://lists.osgeo.org/pipermail/gdal-dev/2020-January/051481.html
2020-01-14Merge pull request #1844 from kbevers/remove-ld-optionKristian Evers
Remove -ld option from proj and cs2cs
2020-01-13Remove -ld option from proj and cs2csKristian Evers
It promotes use of deprecated paramters +datum and +towgs84 which we don't want to encourage. Closes #1308
2020-01-13unitconvert with mjd time format: avoid potential integer overflowEven Rouault
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=20072
2020-01-11Merge pull request #1838 from rouault/limit_datum_name_massaging_wkt1Even Rouault
WKT1_GDAL export: limit datum name massaging to names matching EPSG (fixes #1835)
2020-01-11Merge pull request #1836 from rouault/fix_projcrs3D_with_non_metre_z_unitEven Rouault
createOperations(): fix dealing with projected 3D CRS whose Z units != metre
2020-01-11WKT1_GDAL export: limit datum name massaging to names matching EPSG (fixes ↵Even Rouault
#1835)
2020-01-10CompoundCRS::identify(): avoid exception when horiz/vertical part is a BoundCRSEven Rouault
The exception only affects C++ users. It was caught by the C layer.
2020-01-10createOperations(): fix dealing with projected 3D CRS whose Z units != metreEven Rouault
2020-01-10Doc of CRS::identify(): make it clear that this is a best-effort attempt onlyEven Rouault
2020-01-08Merge pull request #1827 from rouault/improve_createObjectsFromNameKristian Evers
Improvements regarding name aliases (refs #1823)
2020-01-07projinfo: use No. abbreviation instead of UTF-8 character (fixes #1828)Even Rouault
2020-01-07projinfo: support -k datumEven Rouault
2020-01-07createObjectsFromName(): make it look up in the alias_name table too (fixes ↵Even Rouault
#1823)
2020-01-07Remove deprecated JNI bindingsKristian Evers
Closes #1757
2020-01-02Merge pull request #1820 from snowman2/cs_projjsonEven Rouault
fix exporting CoordinateSystem to PROJ JSON with ID
2020-01-01fix exporting CoordinateSystem to PROJ JSON with IDsnowman2
2020-01-01Bump version numbers in preparation for 7.0.0 releaseKristian Evers
2019-12-28Update ABI numbers for 6.3.0 releaseKristian Evers
2019-12-25cct: make it honour PROJ_DEBUG if -v/-vv/-vvv are not specifiedEven Rouault
2019-12-25cct: revise end-of-line handling in logging, and always output debug and ↵Even Rouault
trace messages to stderr
2019-12-25Merge pull request #1810 from rouault/projinfo_wkt1_gdal_no_longer_boundcrsKristian Evers
projinfo: no longer call createBoundCRSToWGS84IfPossible() for WKT1:GDAL
2019-12-25Modify verbosity level of some debug/trace messagesEven Rouault
- unitconvert, ell_set and helmert were using debug level, which is too verbose. Using trace instead - proj_trans() was using trace to indicate the operation it selects. Changing it to debug
2019-12-25projinfo: no longer call createBoundCRSToWGS84IfPossible() for WKT1:GDALEven Rouault
To align with GDAL 3.0.3 behaviour, no longer automatically try to create a boundCRS to WGS84 when exporting to WKT1:GDAL. The user has to explicitly specify --boundcrs-to-wgs84 if he wishes this behaviour.
2019-12-24proj_trans: add retry logic to select other transformation if the best one ↵Even Rouault
fails. Relates to https://github.com/OSGeo/PROJ/issues/1808
2019-12-20test: transformation_NZLVD_to_PROJ_string: attach database context to get ↵Even Rouault
filename substitution
2019-12-20Adding support for NZLVD vertical height transformationChris Crook
2019-12-17Merge pull request #1803 from ↵Even Rouault
rouault/improve_identification_with_datum_name_aliases identify(): take into datum name aliases (fixes #1800)
2019-12-16Merge pull request #1802 from rouault/improve_boundcrs_identifyEven Rouault
BoundCRS::identify(): improvements to discard CRS that aren't relevant (fixes #1801)
2019-12-16identify(): take into datum name aliases (fixes #1800)Even Rouault
2019-12-16Merge pull request #1786 from rouault/fake_EPSG_102100Kristian Evers
Make EPSG:102100 resolve to ESRI:102100 (fixes #1730)
2019-12-16BoundCRS::identify(): improvements to discard CRS that aren't relevant ↵Even Rouault
(fixes #1801) Fix for ``` projinfo --identify "+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +towgs84=198,881,317,0,0,0,0 +units=m +no_defs +type=crs" ``` to only return BoundCRS of EPSG:3148: 70 % Previously it also returned EPSG:23948 and EPSG:24048 whose projected CRS-only parts where likely matches, but those 2 CRSs don't have a +towgs84=198,881,317,0,0,0,0, so discard them.
2019-12-15Merge pull request #1783 from ↵Kristian Evers
rouault/restore_ob_tran_to_meter_compat_with_pj_transform ob_tran: restore traditional handling of +to_meter with pj_transform() and proj utility (fixes #1782)
2019-12-14Horizontal grid shift: fix issue on iterative inverse computation when ↵Even Rouault
switching between (sub)grids (fixes #1663) Given in.txt with 53.999759140 5.144478208 252.6995 Before the fix, cct -t 0 -d 4 +proj=pipeline +step +proj=axisswap +order=2,1,3,4 +step +proj=hgridshift +inv +grids=rdtrans2018.gsb +step +proj=vgridshift +grids=naptrans2018.gtx +step +proj=sterea +lat_0=52.156160556 +lon_0=5.387638889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel in.txt returned: 139079.8814 668306.0302 212.1724 0.0000 It now returns: 139079.8850 668306.0458 212.1724 0.0000 which meets with the 1mm accuracy the expected result of test point ``` 30010049 53.999759140 5.144478208 252.6995 139079.8850 668306.0460 212.1723 ```
2019-12-14Add proj_coordoperation_create_inverse to C API (#1795)Nyall Dawson
2019-12-13Fix compilation breakage of previous commit with some compilersEven Rouault
2019-12-13normalizeForVisualization(): address EPSG:32661 "WGS 84 / UPS North (N,E)" ↵Even Rouault
and EPSG:32761 "WGS 84 / UPS South (N,E)" Fixes https://github.com/qgis/QGIS/issues/33077
2019-12-13PROJStringFormatter: make startInversion/stopInversion properly deal with ↵Even Rouault
omit_fwd/omit_inv
2019-12-13WKTParser: fix assertion that can trigger on corrupted input. Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19367
2019-12-11Merge pull request #1773 from orudge/msvc-no-static-exportsEven Rouault
Build: Only export symbols if building DLL
2019-12-11Make EPSG:102100 resolve to ESRI:102100 (fixes #1730)Even Rouault
2019-12-11createOperations(): make filtering out of 'uninteresting' operations less ↵Even Rouault
aggressive (refs #1787) 'EPSG:1304, Indian 1975 to WGS 84 (2), 5.0 m, Thailand - onshore and Gulf of Thailand' was removed because considered useless w.r.t first result 'EPSG:1812, Indian 1975 to WGS 84 (4), 3.0 m, Thailand - onshore' However the name of the area of use is not completely the same, so might be worth keeping it.
2019-12-10Database: update to IGNF v3.1.0Even Rouault
2019-12-10ob_tran: restore traditional handling of +to_meter with pj_transform() and ↵Even Rouault
proj utility (fixes #1782) Fixes side-effect of https://github.com/OSGeo/PROJ/issues/1525 that went in 6.1.1 The correction is horribly hacky. Sorry...
2019-12-09CRS identification: use case insensitive comparison for authority name ↵Even Rouault
(fixes #1779)
2019-12-06test228.cpp: update to use OSTN15_NTv2_OSGBtoETRS.gsbEven Rouault
2019-12-05import from PROJ string CRS: better deal with strings that look like Google ↵Even Rouault
Mercator projection, but with subtlely different parameters (fixes https://github.com/OSGeo/gdal/issues/2087)