| Age | Commit message (Collapse) | Author |
|
|
|
Fixes #1750
|
|
Fixes #1846
|
|
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
|
|
|
|
|
|
|
|
needs <limits.h>. Update scripts/reference_exported_symbols.txt and
src/proj_symbol_rename.h.
|
|
just includes math.h and limits.h) since it's included in a score of
places.
|
|
|
|
|
|
|
|
Remove `PROJ_COMPILATION=1` definition
|
|
#124)
|
|
|
|
|
|
|
|
* Make tmerc an alias for etmerc
This switches the algorithm used in tmerc to the Poder/Engsager
tmerc algorithm. The original tmerc algorithm of Evenden/Snyder
origin can still be accessed by adding the +approx flag when
initializing a tmerc projection. The +approx flag can also
be used when initializing UTM projections, in which case the
Evenden/Snyder algorithm is used as well.
If a tmerc projection is instantiated on a spherical earth
the Evenden/Snyder algorithm is used as well since the
Poder/Engsager algorithm is only defined on the ellipsoid.
+proj=etmerc can still be instantiated for backwards compatibility
reasons.
Co-authored-by: Kristian Evers <kristianevers@gmail.com>
Co-authored-by: Even Rouault <even.rouault@spatialys.com>
|
|
c6ab83f5742bc5ac6f9cb9a8b2a4f1ea241b6f63 already removed their availability
in user facing application, but the library code remained, and appeared to be
unused by the rest of the library, and not available to library users,
the API being only in proj_internal.h. So remove all remains.
|
|
Remove all traces of nad2bin and nad2nad
|
|
The source material for the default grids used by
PROJ has been moved to the proj-datumgrid repository. For that
reason it is no longer necessary to include the nad2bin program
in the PROJ repository and source distribution. From now on the
nad2bin application will be kept in the proj-datumgrid repo.
Previously the null grid was generated by running nad2bin on the
null.lla file. Since nad2bin is no longer available null.lla has
been replaced by its binary counterpart null. This file will be
distributed and installed alongside PROJ.
Build scripts and documenation has been adjusted so that nad2bin
is not mentioned anywhere. Additionally all references to nad2nad
has been removed as well. nad2nad has not been part of the PROJ
distribution for quite some time so this has been long overdue.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
projections/ transformations/ tests/ subdirectories
|
|
|
|
|
|
|
|
|
|
proj_experimental.h header
|
|
|
|
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
|
|
|
|
|
|
|
|
of it (fixes #535)
|
|
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
|
|
|
|
In version 6 we stop exposing the deprecated projects.h API to the world outside PROJ.
Closes #835
|
|
Increment age instead of revision for added interfaces, see:
https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
|
|
|
|
Implement the Equal Earth projection (closes #1085)
|
|
builds only (CMake integration to be done)
|
|
|
|
|
|
|