| Age | Commit message (Collapse) | Author |
|
|
|
allowing to choose which nlohmann/json to use
Co-authored-by: Mike Taves <mwtoews@gmail.com>
|
|
|
|
If PROJ is built with the PROJ_LIB_ENV_VAR_TRIED_LAST CMake option /
--enable-proj-lib-env-var-tried-last configure switch, then the
hard-wired path ($prefix/share/proj) will be tried before looking at the
environment PROJ_LIB.
|
|
|
|
Fixes #2326
Partially reverts commit b84c9d0cb61f3bd561da6092e15e294ae7e410e0 to
remove the use of the gcc 6 mechanism of generated multiple versions of
functions with different optimization flags, which was found to causes
crashes when dlopen'ing PROJ on CentOS 7.8 with gcc 8.3.1
|
|
|
|
__attribute__((target_clones("fma","default"))) doesn't work for some reason
|
|
|
|
|
|
* Autotools interface should be the same, but different ./configure --help
* For CMake, the option should be -DENABLE_TIFF=NO (default is YES)
* Use TIFF_ENABLED and CURL_ENABLED variables, based on option and outcome
* Reword some messages and add hints
* Move -DTIFF_ENABLED and -DCURL_ENABLED from global add_definitions()
to target_compile_definitions(), which is recommended practice
* Minor spelling and style consistency around SQLITE_VERSION check
|
|
Ignore WARNING: 'proj.pc.in' seems to ignore the --datarootdir setting
|
|
|
|
Fixes #1490
This is an extension of the Window-specific logic added recently to
Unix builds. This reuses parts of proposed past commit
https://github.com/OSGeo/PROJ/pull/1517/commits/82a07e51c6e24ddb936d131ababe29f1ac36ef14
(credits to @abellgithub)
|
|
Fixes #1750
|
|
--disable-tiff
|
|
only
|
|
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.
|
|
Closes #1757
|
|
|
|
|
|
PROJ can build and run against older version (3.7 for example), but it has
been found that performance is horrible. With 3.11 (Ubuntu 16.04), it is
fine, so sets this as the minimum version.
|
|
Only call pkg-config in the configure script when the variables $SQLITE3_CFLAGS and $SQLITE3_LIBS are not set.
This allows building PROJ when pkg-config is not available.
|
|
cmake and autoconf now stipulate C99
change c89 to c99 in travis jobs
remove HAVE_C99_MATH checks
(unrelated) relax Visual Studio compatibility check in
cmake/project-config-version.cmake.in (VS 2019 can use a VS 2015 library
but not vice versa).
|
|
just includes math.h and limits.h) since it's included in a score of
places.
|
|
eliminate most of math.cpp. All that is left is the handling of
isnan (and I've this because math.cpp notes that gie.c uses pj_isnan).
geodesic.c now handles supplying C99 math functions internally and this
can go away once C99 support is mandated.
|
|
The supported C99 math functions provided by math.cpp are thus
hypot
log1p
asinh
atanh
copysign
cbrt
remainder
remquo
round
lround
Make compiler checks in CMakeLists.txt and configure.ac consistent with
this set.
Make geodesic.c use the math.cpp defined (instead of the internally
defined) versions of
hypot
atanh
copysign
cbrt
This is keyed off the presence of the PROJ_LIB macro. I had at one
time
https://github.com/OSGeo/PROJ/pull/1425
suggested supplying an additional macro PROJ_COMPILATION when compiling
geodesic.c. However, PROJ_LIB seems to fill the bill OK.
The *next* version of geodesic.c (due out in a few weeks) will also use
remainder
remquo
All of this is only of concern for C compilers without C99 support. So
this may become an historical footnote at some point.
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
The files referenced in it (and more) are already installed by listing
them in `pkgdata_DATA` (for autotools) and in the `install` command (for
CMake).
|
|
|
|
|
|
projections/ transformations/ tests/ subdirectories
|
|
|
|
I've found that if building PROJ with lto, but GDAL without lto, exceptions
thrown in PROJ are not properly captured by try {} blocks in PROJ C API,
and unexpectedly go back up to GDAL.
Might be a defect of the particular compiler I use (gcc 5.4 Ubuntu 16.04)
|
|
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
|
|
|
|
|
|
|
|
|
|
builds only (CMake integration to be done)
|
|
|
|
|
|
and add catch2 framework
Hardened compilation flags come from GDAL' configure.ac and are
'combat proven'
Dummy test added just to demonstrate catch2 based tests work.
|