| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Fixes #2482
And also add proj_context_errno_string()
Revise gie 'expect failure errno XXXX' strings
|
|
control where coordinate operations are looked for (fixes #2442)
|
|
PROJ_SPATIAL_CRITERION_PARTIAL_INTERSECTION if area is specified
|
|
Gone are pj_malloc, pj_calloc, pj_dalloc and pj_dealloc. Their primary
function as API memory functions in proj_api.h is no longer there and
the other use as a workaround for old errno problems is no longer valid
either.
Replaced with malloc and free across the codebase.
|
|
|
|
|
|
|
|
|
|
Fixes #2382
|
|
|
|
epsg.org WKT export
|
|
operation (fixes #2352)
|
|
Add a +proj=defmodel transformation for multi-component time-based deformation models
|
|
|
|
|
|
Equivalent to proj_angular_input() and proj_angular_output() but
checking for degree units instead. proj_create_crs_to_crs() rarely, if
ever, returns pipelines that has radians as input or output so using
proj_angular_*() is not a useful check for io units of pipelines.
These two new functions should make life a bit easier for users that
generally store there angular coordinates in radians.
Closes #2027
|
|
Return the index of the operation that would be the most appropriate to
transform the specified coordinates.
This operation may use resources that are not locally available, depending
on the search criteria used by proj_create_operations().
This could be done by using proj_create_operations() with a punctual bounding
box, but this function is faster when one needs to evaluate on many points
with the same (source_crs, target_crs) tuple.
|
|
|
|
reprojecting area of use to source and target CRS
Was found with https://github.com/OSGeo/PROJ/pull/1989
when using cs2cs EPSG:4937 EPSG:31258+5778
- We do not need to do vertical transformation in that context. This failed here
because the Austrian grids have nodata value outside of the shape of Austria, so
the edges of the grids are mostly nodata values.
- And we should avoid grid-based transformations too.
|
|
|
|
|
|
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.
|
|
- 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
|
|
fails.
Relates to https://github.com/OSGeo/PROJ/issues/1808
|
|
|
|
alternatives, to select the operation with best accuracy
|
|
correctly the geographic coordinates of the input coord when the CRS is not Greenwich based
|
|
HEAD/1.90dev happy (fixes #1648)
|
|
caused transformation failures in some cases
|
|
ballpark steps
Currently we would discard all operations, resulting in a PJ object with
zero candidates. Better use those operations if nothing better is available.
Was seen on transforming from ETRS89 / UTM zone 31N + EGM96 height to WGS 84 (G1762).
The horizontal transformation from ETRS89 to WGS 84 (G1762) is a ballpark one.
|
|
needs <limits.h>. Update scripts/reference_exported_symbols.txt and
src/proj_symbol_rename.h.
|
|
is passed to the function
|
|
This will make the life of C++ users using the C API slightly easier.
There's no ABI or API backward compatibility issue in doing that change as
constness of arguments is not retained in the C ABI, and any non-const
object passed as argument is implicitly converted as a const object if
that is what is mentionned in the argument list.
|
|
I've been frustrated a number of times with proj_create_crs_to_crs()
not accepting a PJ* object for the source and target CRS.
And thus constraining to go back to WKT2 in a artificial way.
|
|
database (fixes #1565)
|
|
(#1497)
Fix incorrect delimator ";" used to separate proj_info().searchpath entries
|
|
entries on non-windows platforms, should be ":"
|
|
the context search_paths is not empty
The logic used when actually searching for files is that if
the context search_paths are set, these completely override
the PROJ_LIB variable. So we should make proj_info().searchpath
correctly reflect this, and not include the PROJ_LIB path
in searchpath if the context has search_paths manually set.
|
|
193530
|
|
#1329)
In case several coordinate operations are returned for a CRS to CRS transformation,
we currently determine the one to use by selecting the first operation whose
bounding box contains the input point.
This commit adds a fallback case where after doing that first iteration and finding
no appropriate candidate, we try again by selecting the first operation available
that does not involve grid based transformations.
|
|
used to know if it includes a very approximative transformation term
|
|
proper CoordinateOperation so that we can call proj_get_source_crs() on it for example
|
|
|
|
operations (fixes #1237)
|
|
Coordinate operation computation with boundcrs / wktext: drop useless early bindins terms in generated pipeline (fixes #1232)
|
|
|
|
until proj_trans() is called (fixes #1229)
|