| Age | Commit message (Collapse) | Author |
|
Switch pj_factors to use proj_geoc_lat
|
|
|
|
|
|
|
|
* Introduce geodetic-geocentric conversions, as PJ_xxx style conversion step and as API entry points
* minor improvements and minor bug squashing
|
|
Give definition and def'n line no. in "Invalid operation" message
|
|
A year or so ago, @micahcochran put quite some effort into rationalizing the PI usage in PROJ.4, by ensuring that a useful number of M_PI related constants were defined in projects.h.
But apparently adjlon.c was left behind still using its own set of definitions - perhaps because it bends the values slightly, to avoid unwanted sign switching near the date line.
In this PR the "bending trick" is reimplemented using the rationalized M_PI constants only.
|
|
* Support numerical factors only
* Make sure h positive. Improve some comments
* Let pole overshoot check have effect even for geocentric latitudes
* Factor-typological constants, now all returning false, for backwards compatibility
|
|
|
|
* Removed remaining traces of the builtin selftest system. Moved all functionality to test/gie
* Updated Appveyor and Travis build scripts
* Another appveyor script update
|
|
* Poder dual autochecking implementation
* Debugging aid: Improvements in PJ_vgridshift.c and gie.c
* Most likely, the bugbeing tripped is in the gridshift code, so. uncomment suspicious lines in deformation.gie and merge this to support the debugging effort
|
|
Remove selftests from projection files starting with v,w
|
|
|
|
Remove selftests from projection files starting with r,s,t,u
|
|
Remove selftests from projection files starting with l, m
|
|
Remove selftests from projection files starting with n,o,p,q
|
|
|
|
|
|
Remove selftests from projection files starting with h, i, j, k
|
|
|
|
|
|
grid area. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3960. Credit to OSS Fuzz. master only
|
|
NULL. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3645. Credit to OSS Fuzz
|
|
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3573 , https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3643 and https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3641 . Credit to OSS Fuzz
|
|
Use HAVE_C99_MATH instead of _WIN32_ and __ANSI__
|
|
HAVE_C99_MATH was recently added to the build system as a safer way to
determine if non-ansi math functions are available on the current
system. Previously different combinations of tests including _WIN32_ and
__ANSI__ have been in use, but cases where that strategy has failed is
known. Hence this change to a hopefully more robust check of math
function availability.
|
|
proj_create is now indifferent whether or not proj definition terms start with a '+' character. Also, improve gie to support testing this.
|
|
* Ensure C89 compliance and enable more warnings
According to the contributing guidelines, the library is developed
strictly in ANSI C 89. However, this is not enforced.
Additionally, we enable more warnings: apart from -Wall and -Wextra we
enable a warning that makes sure all enumeration values are covered in
a switch statement.
When compiling with Clang, we also turn on the warnings -Wc99-extensions
and -Wc11-extensions.
* Enable all warnings that are used on Travis
This makes it easier to notice problems before pushing.
|
|
|
|
* enter proj_angular_input and proj_angular_output, exit proj_angular_left and proj_angular_right
* remove unused variable 'unit'
* In gie: remove unused func 'torad_if_needed', and add static keyword where needed
* In gie: add some comments
|
|
|
|
CONVERSIONS that are not PROJECTIONS
|
|
Enumerations have the following advantages over #define:
- they clearly connect a variable and the allowed constants,
- the meaning of code is not obfuscated by integer values,
- they are visible to the compiler, which can warn about (possibly)
incorrect usage.
There should be no functional change.
|
|
of special cases to handle in pj_init.c
|
|
PJ_OBS eliminated, API adjusted to reflect that we now have only one 4D data type.
2 new API functions added to determine output types of a PJ.
|
|
|
|
Add Clifford J. Mugnier notes about LCCA from PROJ.4 mailing list
|
|
* Discern between conversions and transformations
|
|
* Remove a number of debugging calls and memory management from the inner loop of the pipeline drivers
* An attempt at handling inverted steps in a more straightforward way
|
|
|
|
Add 'axisswap' operation - swap axes in pipelines
|
|
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3944
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3947
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3955
Credit to OSS-Fuzz.
|
|
|
|
Resolves https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3940
Credit to OSS-Fuzz.
|
|
* change suspicious loop exit condition in nad_cvt
* touch up nad_cvt.c
* ...and remove tabs
|
|
Kinematic gridshifting
|
|
|
|
|
|
Kinematic deformation models are used in some geodetic transformations.
This commit introduces the ability to do transformations involving a
gridded deformation/velocity model. For practical reasons a gridded deformation
model needs to be split into two seperate files, one for the horizontal
components and one for the vertical component. For this we use formats
already known to PROJ.4, namely the CTable/CTable2 and the GTX formats.
Grids are specified in the proj-string with +xy_grids and +z_grids.
Grid values are expected to be in m/year. The kinematic part of the
operation is controlled by the +t_epoch parameter, which is the central
epoch of the transformation. An observation epoch is also needed. It can
be specified either in the PJ_OBS input as the fourth element in the
coordinate, or in the proj-string with +t_obs. If +t_obs is present in
the proj-string it takes presedence over the value in the PJ_OBS
coordinate.
|
|
This refactoring of the grid shift functions allows for easier access to
the actual grid values, as well as making it possible to perform
horizontal grid shift on a single coordinate without using the
pj_apply_gridshift* functions. The latter simplifies the execution path
of the forward and inverse functions in PJ_hgridshift.c.
This commit introduces proj_*grid_init, proj_*grid_value
and proj_hgrid_apply. The init functions initialises horizontal and
vertical grids respectivelive (wrappers for pj_gridlist_from_nadgrids
with simpler parameters). The proj_*grid_value functions returns the
specific grid value at coordinate lp. The proj_hgrid_apply function
applies the grid offset to the input coordinate and outputs the adjusted
coordinate.
|