aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-11-12Merge pull request #660 from busstoptaktik/selftest-removal-vwThomas Knudsen
Remove selftests from projection files starting with v,w
2017-11-12Remove selftests from projection files starting with v,wThomas Knudsen
2017-11-12Merge pull request #659 from busstoptaktik/selftest-removal-rstuThomas Knudsen
Remove selftests from projection files starting with r,s,t,u
2017-11-12Merge pull request #657 from busstoptaktik/selftest-removal-lmThomas Knudsen
Remove selftests from projection files starting with l, m
2017-11-12Merge pull request #658 from busstoptaktik/selftest-removal-nopqThomas Knudsen
Remove selftests from projection files starting with n,o,p,q
2017-11-12Remove selftests from projection files starting with r,s,t,uThomas Knudsen
2017-11-12Remove selftests from projection files starting with n,o,p,qThomas Knudsen
2017-11-12Merge pull request #656 from busstoptaktik/selftest-removal-hijkThomas Knudsen
Remove selftests from projection files starting with h, i, j, k
2017-11-12Remove selftests from projection files starting with l, mThomas Knudsen
2017-11-12Remove selftests from projection files starting with h, i, j, kThomas Knudsen
2017-11-11pj_apply_gridshift_3(): avoid illegal read access with point outside any ↵Even Rouault
grid area. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3960. Credit to OSS Fuzz. master only
2017-11-11PJ_ob_tran: avoid null pointer dereference when underling fwd method is ↵Even Rouault
NULL. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3645. Credit to OSS Fuzz
2017-11-11Fix various memory leaks. Fixes ↵Even Rouault
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
2017-11-11add axisswap documentationKristian Evers
2017-11-11Merge pull request #647 from kbevers/use_have_c99_mathKristian Evers
Use HAVE_C99_MATH instead of _WIN32_ and __ANSI__
2017-11-10Use HAVE_C99_MATH instead of _WIN32_ and __ANSI__Kristian Evers
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.
2017-11-10Do not require needless plusses (#651)Thomas Knudsen
proj_create is now indifferent whether or not proj definition terms start with a '+' character. Also, improve gie to support testing this.
2017-11-10Ensure C89 compliance and enable more warnings (#650)Aaron Puchert
* 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.
2017-11-08minor clean ups in and around proj_4D_api (#649)Thomas Knudsen
2017-11-08Improved IO predicates (#648)Thomas Knudsen
* 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
2017-11-07Fix misleading indent. Newer GCC's chokes on this when compiling with -Wall.Kristian Evers
2017-11-07Merge pull request #645 from kbevers/operations-operations-operationsKristian Evers
Change the initialization type of the some operations
2017-11-07Wrote docs for unitconvert operation [skip-ci]Kristian Evers
2017-11-07Formally change the initialization type of the TRANSFORMATIONS and ↵Kristian Evers
CONVERSIONS that are not PROJECTIONS
2017-11-06Merge pull request #644 from aaronpuchert/use-enumKristian Evers
Use enumerations where appropriate
2017-11-06Use enumerations where appropriateAaron Puchert
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.
2017-11-06Merge pull request #642 from kbevers/pipeline-initKristian Evers
Pipeline initialisation improvements
2017-11-06Move pipeline initialization logic to PJ_pipeline.c and decrease the number ↵Kristian Evers
of special cases to handle in pj_init.c
2017-11-06Eliminate the last traces of PJ_OBS (#643)Thomas Knudsen
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.
2017-11-06Remove CVS echo in PJ_sch.cThomas Knudsen
2017-11-06Eliminate the last traces of PJ_OBS (#643)Thomas Knudsen
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.
2017-11-06Remove CVS echo in PJ_sch.cThomas Knudsen
2017-11-05Merge pull request #640 from busstoptaktik/lcca-add-mugnier-descriptionThomas Knudsen
Add Clifford J. Mugnier notes about LCCA from PROJ.4 mailing list
2017-11-05Improve ISO 19000 alignment (#639)Thomas Knudsen
* Discern between conversions and transformations
2017-11-05Pipeline cleanup (WIP) (#637)Thomas Knudsen
* 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
2017-11-04Add Clifford J. Mugnier notes about LCCA from PROJ.4 mailing listThomas Knudsen
2017-11-01Merge pull request #636 from kbevers/axisKristian Evers
Add 'axisswap' operation - swap axes in pipelines
2017-11-01Merge pull request #638 from kbevers/gridshift_overflowKristian Evers
Resolves several OSS-Fuzz issues: 3944, 3947, 3955.
2017-11-01Resolves several OSS-Fuzz issues: 3944, 3947, 3955.Kristian Evers
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.
2017-10-31Add 'axisswap' operation - swap axes in pipelinesKristian Evers
2017-10-31Fix heap-buffer-overflow in proj_hgrid_init.Kristian Evers
Resolves https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3940 Credit to OSS-Fuzz.
2017-10-30change suspicious loop exit condition in nad_cvt (#634)Thomas Knudsen
* change suspicious loop exit condition in nad_cvt * touch up nad_cvt.c * ...and remove tabs
2017-10-30Merge pull request #588 from kbevers/kinematic-gridsKristian Evers
Kinematic gridshifting
2017-10-30Merge pull request #635 from kbevers/pipeline-contextThomas Knudsen
Make sure to use the same context for pipeline childs as for the parent
2017-10-29Make sure to use the same context for pipeline childs as for the parentKristian Evers
2017-10-29Merge branch 'master' into kinematic-gridsKristian Evers
2017-10-29Merge branch 'master' into kinematic-gridsKristian Evers
2017-10-29Addition of 'deformation': Kinematic grid shifting.Kristian Evers
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.
2017-10-29Refactor grid shift functions.Kristian Evers
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.
2017-10-29Remove superfluous internal selftests from projection files matching ↵Thomas Knudsen
patterns PJ_f....c and PJ_e....c