| Age | Commit message (Collapse) | Author |
|
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.
|
|
It promotes use of deprecated paramters +datum and +towgs84 which we
don't want to encourage.
Closes #1308
|
|
Improvements regarding name aliases (refs #1823)
|
|
|
|
|
|
|
|
trace messages to stderr
|
|
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.
|
|
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...
|
|
|
|
HEAD/1.90dev happy (fixes #1648)
|
|
createOperations(), and test it (fixes #1623)
|
|
* Allow arbitrarily complex polygons in geod_polygon_*. In the case
of self-intersecting polygons the area is accumulated
"algebraically", e.g., the areas of the 2 loops in a figure-8
polygon will partially cancel.
* Simplify code by using C99 functions remainder and remquo.
* More test coverage.
Fixes to associated files:
* src/pipeline.cpp invoke geod_init with f = es / (1 + sqrt(1 - es))
instead of (the less accurate) f = 1 - sqrt(1 - es)
* src/apps/geod_set.cpp remove "#undef f" (a dangling relic?).
|
|
needs <limits.h>. Update scripts/reference_exported_symbols.txt and
src/proj_symbol_rename.h.
|
|
|
|
proj_crs_create_projected_3D_crs_from_2D() (fixes #1587)
Also add a --3d switch to projinfo
|
|
- C API: PJ_GUESSED_WKT2_2019 is added, PJ_GUESSED_WKT2_2018 aliased to it
- C API: PJ_WKT2_2019[_SIMPLIFIED] is added, PJ_WKT2_2018[_SIMPLIFIED] alias to it
- C++ API: similarly for WKTFormatter::Convention::WKT2_2019[_SIMPLIFIED]
Those above changes should be fully backward API and ABI compatible.
projinfo changes:
- accept WKT2_2019 as value for -o switch. WKT2_2018 is still accepted (undocumented)
- output now uses 'WKT2_2019 string:', so might break scripts that would rely on that.
Other internal code references to WKT2_2018 changes to WKT2_2019, included
in tests.
|
|
termination
|
|
Add CRS JSON export (refs #1545)
|
|
|
|
|
|
|
|
sys_errlist has been remove from Solaris 8 and after and is replaced by strerror
|
|
|
|
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14602
Credit to OSS Fuzz
|
|
|
|
#124)
|
|
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14044
Credit to OSS Fuzz
|
|
Fixes Ossfuzz 14015 and gie bug
|
|
When comparing expected result with got result, in the case the
distance computation returns NaN, gie incorrectly considered the
test to be OK.
Adapt / comment out a few broken tests revealed after that fix.
|
|
|
|
Introduced by "Merge projects.h into proj_internal.h" 8ab6f683.
|
|
|
|
|
|
Coverity fixes
|
|
Doc: Be consistent in use of +opts
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+opt represents one parameter. An ellipsis indicates additional
instances of the previous parameter may be given.
Spaces are used between parameters and before an ellipsis, not purely to
format brackets. See man(1) SYNOPSIS conventions.
|
|
This is a bit of a hack, 4D coordinates *will* be written to STDOUT
but the output format speficied with -f is not respected for the
t component, rather it is forward verbatim from the input.
Fixes #1354
|
|
Build: automatically enable system error messages
|
|
Define HAVE_STRERROR during configuration.
Before:
$ cs2cs +proj=latlong +to +proj=latlong dummy
<cs2cs>:
Sys errno: 2: <system mess. texts unavail.>
dummy
After:
$ cs2cs +proj=latlong +to +proj=latlong dummy
<cs2cs>:
Sys errno: 2: No such file or directory
dummy
|
|
Allows querying of ellipsoid definitions by auth:code lookup
|
|
- coordinateoperation_internal.hpp: missing 'explicit' keyword
- proj.cpp: unused 'generic' member in enumeration
- init.cpp: useless assignment to a_orig and es_orig, because done again a
few lines below.
- crs.cpp: unused variable
- datum.cpp: inefficient use of find() function
- io.cpp:
* missing 'static' qualifier for method
* useles ternary test (left and right have same value)
- aeqd.cpp: useless assignment of inv and fwd, snice done again a few lines
below
- isea.cpp: useless assignment of resolution and aperture since done again a
few lines below, and with default values when params are absent
- mod_ster.cpp: useless assignment of lp.lam, overriden in below code paths.
- stere.cpp: false positive, but better not modify another variable than the
iterator in a for() loop.
|