aboutsummaryrefslogtreecommitdiff
path: root/src/PJ_krovak.c
AgeCommit message (Collapse)Author
2018-12-26cpp conversion: minimal steps to fix compilation errors, not warningsEven Rouault
2018-10-06Make PROJ_HEAD descriptions more uniformIvan Veselov
Before that, approximately half of the descriptions had a period at the end, e.g. 'Cyl.' or 'Sph.' and the other half did not have those periods. This commit drops all the dots in PROJ_HEAD descriptions.
2018-07-21Check for use of both +k and +k_0 in krovakKristian Evers
2018-07-06Use M_PI_2 and M_PI_4 instead of locally defined constantsKristian Evers
2018-05-15IWYU: Partial PJ_gstmerc.c..PJ_molodensky.cKurt Schwehr
2017-11-13Removed remaining traces of the built in selftest system (#661)Thomas Knudsen
* Removed remaining traces of the builtin selftest system. Moved all functionality to test/gie * Updated Appveyor and Travis build scripts * Another appveyor script update
2017-11-12Remove selftests from projection files starting with h, i, j, kThomas Knudsen
2017-10-06Enable default destructor for all PJ objects.Thomas Knudsen
In most cases memory deallocation is completely removed from the code since it can be handled by the default destructor. In a few special cases a local destructor overrides the default destructor and makes sure that locally allocated memored is cleaned up correctly. Move all deallocation from pj_free to pj_default_destructor Rename pj_latlong.c to fit with the conventional format PJ_latlong.c - freeup was missed here due to wrong naming Clean up pj_init to avoid double deallocation; Also resolve #576 by adding z_0 and t_0 options in pj_init, while cleaning Add a prototype for dealloc_params Added missing errno.h include in pj_ctx.c Temporarily removing ob_tran from testvarious, to be sure that is where the trouble is Make PJ_ob_tran.c use proper initialization for the chained projection proj=ob_tran: make it clear, that we disallow ellipsoidal projections, and, for improved backwards compatibility, turns off default settings, which could inject unwanted ellipsoid definitions ... then also remove the ellipsoid definition from the testvarious test case - which is probably buggy anyway Work around cs2cs spherical init bug in testvarious; Forbid defs for ob_tran in pj_init
2017-06-08PJ_krovak.c: avoid infinite loop in inverse method. Credit to OSS FuzzEven Rouault
2016-12-15Horner and helmert (#456)Thomas Knudsen
Introducing the Horner polynomial evaluator also introduces the need for very long +init:tag arguments (a n'th order 2D polynomium has (n+1)(n+2)/2 coefficients, and n is typically in the range 5-10, i.e. up to around 60 coefficients for each polynomium, and there are 4 polynomia in a complete back/forward transformation set). Hence, in this commit, along with the first part of the Horner code, the code for reading +init files has been modified in a (for all practical purposes) backwards compatible way, by making it possible to introduce line continuations by escaping line breaks, i.e. preceding them with a backslash. An escaped line break works (as it would in TeX), by skipping all following whitespace, including interspersed #-comments. This simple extension makes it possible to create very long initialization elements without losing track of the structure (cf. s45b.pol and pj_init_test.c in the examples-directory for a demo). The s45b.pol file was created by hand-editing the output of the software doing the original constrained adjustment for the polynomial coefficients. The simple adding of the “skip following whitespace and comments” feature has made it possible to retain almost all metadata from the source material. This is considered very important, since 1) For the lack of a prior common file format for geodetic polynomial coefficients, there is a good chance that this will become THE standard, at least for the time being, and 2) Without the metadata represented, it will be very hard for a human to debug code involving a slightly misrepresented polynomium. Due to the current architecture of the pj_init.c code (mostly around the fill_buffer() function), it is next to impossible to implement the line continuation functionality in full generality. Hence, it has been necessary to limit this format extension to files smaller than 64 kB. * Correction of spherical HEALpix test case The first HEALpix test case in nad/testvarious is clearly intended to invoke the spherical form of HEALpix. It does, however, specify the spheroid using the +a=1 size parameter, without specifying any shape parameter. But since +no_defs is not specified either, a shape parameter is picked up from the nad/proj_def.dat file (where ellps=WGS84 is given in the <general> section). It appears that this has not happened before I updated the pj_init code to support projection pipelines (see below). I do, however, believe that the present behaviour is the correct one, and rather than retrohacking the pj_init code, to (incorrectly, I believe) reproduce the prior behaviour, I have corrected the test case invocation in nad/testvarious to specify the spheroid using the +R=1 size parameter (which was already used in the following test case). * Repair scaling of projections stomping on value of semimajor axis * Workaround MSVC HUGE_VAL misimplementation. The "return const err object" idiom (i.e. const <type> err = {HUGE_VAL,...}; ... if (bad) return err) is problematic to implement due to MSVC's misimplementation of HUGE_VAL as a non-const. Hence, we need to run-time initialize these. In the pj_inv functions, this was mistakenly done to the wrong object. For pj_fwdobs/invobs and the remaining part of the obs-based API, this is now worked around by providing functions returning a run time HUGE_VAL initialized PJ_OBS or PJ_COO resp. Obnoxious, but given MSVC's market penetration there is really not much else we can do.
2016-08-22Changed self-test build behaviour from opt-out to opt-inKristian Evers
2016-06-08Added +ellps argument to self-test call since it might be the reason the ↵Kristian Evers
self-test fails on travis
2016-06-07Complete overhaul of Krovak projection. Remove unused and duplicate code. ↵Kristian Evers
Using standard variables from P and added an opaque object to P which has shared values used both in forward and inverse calculations. Added more background information to comments.
2016-05-24Removed unused opaque object (the only parameter, C_x, never used)Kristian Evers
2016-05-19Removed a few superfluous assignments and an erroneously committed fileThomas Knudsen
An intermediate file, PJ_etmerc.c, was mistakenly committed in 1b17a573ffb07e9565e0df296e2a3a21bce8e971 P->pfree and P->descr were being identically reinitialized in a few of the first files converted - and in the last: proj_etmerc.c
2016-04-20Portability cleanups for the code in PR #5Thomas Knudsen
Eliminated load time non-constant initializers, mixed code/declarations and C++ style comments. A lot of non-constant initializers remain in PJ_healpix. Should probably be handled before next release.
2016-04-19Converted krovakKristian Evers
2016-04-18Expanded tabs and removed trailing whitespace in an attempt at getting ↵Kristian Evers
cleaner diffs for upcomming commits.
2015-06-28Merge branch '4-warning-fixes' of github.com:QuLogic/proj.4Even Rouault
2015-06-21PJ_krovak.c: remove LATIN1 characters to please coverallsEven Rouault
2015-05-31Remove unused $Id$ keywords.Elliott Sales de Andrade
2010-06-11roll projCtx through various other low level functionsFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1856 4e78687f-474d-0410-85f9-8d5e500ac6b2
2010-03-03avoid warningsFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1827 4e78687f-474d-0410-85f9-8d5e500ac6b2
2009-01-06removed CVS log messages since they are not maintained by subversionFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1504 4e78687f-474d-0410-85f9-8d5e500ac6b2
2007-03-07remove orphan semicolon.Frank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1391 4e78687f-474d-0410-85f9-8d5e500ac6b2
2007-03-07Make it reasonably clear that this is ellipsoidal in the code.Frank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1390 4e78687f-474d-0410-85f9-8d5e500ac6b2
2007-03-07report krovak as ellipsoidal, not sphericalFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1389 4e78687f-474d-0410-85f9-8d5e500ac6b2
2006-09-14Add +czech flag to control reversal of signs (bug 1133,147)Frank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1342 4e78687f-474d-0410-85f9-8d5e500ac6b2
2006-03-30Removed win32 only debug hack.Frank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1327 4e78687f-474d-0410-85f9-8d5e500ac6b2
2002-12-15handle lon_0, k, and prime meridian properlyFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1062 4e78687f-474d-0410-85f9-8d5e500ac6b2
2002-12-15lat_0 may now be set by user, but still defaults to 49d30NFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1061 4e78687f-474d-0410-85f9-8d5e500ac6b2
2002-12-14updated headersFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1049 4e78687f-474d-0410-85f9-8d5e500ac6b2
2002-04-16NewFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1003 4e78687f-474d-0410-85f9-8d5e500ac6b2