aboutsummaryrefslogtreecommitdiff
path: root/src/Makefile.am
AgeCommit message (Collapse)Author
2017-08-30Back out of previous change. Coverage stats are still wrong. geodtestCharles Karney
should have included geodesic.c and not geod.c and yet I'm not allowed to use geodesic.c except through the library and then the coverage of geodesic.c seems to be wildly wrong.
2017-08-30Rejig how geodtest is specified in automake to make coverage stats accurate??Charles Karney
2017-08-30Add geodtest to autoconf's 'make check' suite.Charles Karney
It's already including in cmake's test suite.
2017-07-10Introducing the Molodensky transform (#541)Kristian Evers
2017-07-07obs_api revision and improvements: new namespace etc. (#530)Thomas Knudsen
* obs_api revision and improvements: new namespace etc. * Minor corrections: use unused functions, add missing prototype, added fwd/invcoord to PJ * Minor correction: MSVC barfs on va_arg type specification. Trying once more with added parens * Reverting paren correction, which appears to be a non-solution * Significant improvements to the OBS_API, plus a number of corrections, mostly in test code, to reflect API changes * Added two missing prototypes * Adding the proj_transform function and some related checks * Improvements to proj_transform etc. based on suggestions from Even Rouault * Reducing the libc include footprint of proj.h - again based on suggestions from Even Rouault * A few minor corrections * Eliminate a MSVC warning about non-initialized usage. Not an actual issue, as another check has locked the path, but at least this should calm down MSVC * Improved support for the errno reset/restore paradigm * Introduced the internal header proj_internal.h; Moved most non-API stuff from pj_obs_api.c to pj_internal.c * Adding proj_internal.h to HEADERS_LIBPROJ to solve build problems * Correcting a few pj...proj blunders in PJ_pipeline.c * Correcting a few additional blunders in PJ_pipeline.c * Changed angle-brackets to quotation marks in includes of proj_internal.h * Some minor build system repairs * Some PJ_CONTEXT usage simplifications following suggestions by Kristian Evers @kbevers * Added version numbering to proj.h - Fixes #529 * remove proj_errno_restore macro, provide function implementation * Add proj_get_definition. Fixes #538 * Added library specific deallocator proj_buffer_free, eliminating a potential cross heap issues on Windows. Thx to Even Rouault for spotting this * Got rid of a meaningless cast in proj_buffer_free * Added some missing functions to proj.def (again spotted by @rouault); removed some not-yet-implemented material from proj.h * Renamed proj_get_definition/proj_buffer_free to proj_definition_create/proj_definition_destroy, for symmetry and clarity * Renaming the definition handlers to proj_definition_retrieve / proj_free * Renaming proj_free to proj_release
2017-05-19Unit conversion pseudo-projection.Kristian Evers
A pseudo-projection that can be used to convert units of input and output data. Primarily useful in pipelines. Unit conversion is performed by means of a pivot unit. The pivot unit for distance units are the meter and for time we use the modified julian date. A time unit conversion is performed like Unit A -> Modified Julian date -> Unit B distance units are converted in the same manner, with meter being the central unit. The modified Julian date is chosen as the pivout unit since it has a fairly high precision, goes sufficiently long backwards in time, has no danger of hitting the upper limit in the near future and it is a fairly common time unit in astronomy and geodesy. Note that we are using the Julian date and not day. The difference being that the latter is defined as an integer and is thus limited to days in resolution. This approach has been extended wherever it makes sense, e.g. the GPS week unit also has a fractional part that makes it possible to determine the day, hour and minute of an observation. In- and output units are controlled with the parameters +xy_in, +xy_out, +z_in, +z_out, +t_in and +t_out where xy denotes horizontal units, z vertical units and t time units. Distance units are converted similar to what is already in use in PROJ.4. To ease usage of the already defined conversion factors a new column with the factors defined as doubles has been added to the pj_units array. This simplifies the code significantly, since parsing the defined strings can be avoided.
2017-03-27Horisontal and vertical gridshift driversKristian Evers
Until now gridshifts has not been working with the new API in proj.h since parsing of +nadgrids and +geoidgrids is build into pj_transform(). This commit introduces the possibility to do both horizontal and vertical gridshift with the pipeline API. The vgridshift and hgridshift kernels are simple wrappers for pj_apply_gridshift3() and pj_apply_vgridshift() that are also used by pj_transform(). Introduced in PR #492.
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-11-20Plumbing for pipelines (#453)Thomas Knudsen
* re-enter pipeline The pipeline interface is now internally based on the pj_obs_api, which simplifies the implementation significantly. This is the first mock up - it compiles fine, but is currently untested * pipeline code cleaned up The pipeline code is now based on the PJ_OBS api (although you can still invoke a pipeline through pj_fwd/pj_inv and their 3D brethren). This has made it possible to eliminate scores of funky casts and convoluted workarounds. The code is now way more straightforward and mostly conforming with common C idioms.. Also, the proj.h / obs_api interface to the logging system has been streamlined through the introduction of the pj_log_error, pj_log_debug, and pj_log_trace functions. * Geodesics + minor changes First proj.h style interface to Charles Karney's geodesics code: pj_lp_dist. Also, renamed pj_apply -> pj_trans * Extended Ellipsoidal Parameters Second eccentricity, second and third flattening etc. * Rename pj_debug_set -> pj_log_level ... and add self test code for PJ_pipeline * Clean up missing pj_apply->pj_trans * Clean up missing pj_obs_dist_2d rename * pj_strerrno bug fixed. Some doc/comments added (In response to a review by @kbevers)
2016-11-12Pipeline plus api - in continuation of the Genereic Coordinates pull request ↵Thomas Knudsen
(#445) This commit reflects continued work on the new rationalized API with geodetic extensions (see rationale in proj.h). It also reflects the parallel work on the transformation pipeline reimplementation, by introducing the PJ_cart cartesian/ellipsoidal converter. See example/pj_obs_api_test.c for demo example code
2016-10-24Generic coordinates (#431)Thomas Knudsen
* Pipeline preliminaries Introducing the PJ_OBSERVATION data type as the basis for generic geodetic transformations. Also introducing the elements of a new minimalistic API focused on generic geodetic transformations. This API is documented in the new proj.h header, and is orthogonal (non-intrusive) wrt. the existing API from proj_api.h Finally added a large amount of comments to the somewhat intractable projects.h, and extended the PJ object with a number of additional ellipsoidal parameters of general geodetic usefulness. The PJ elements fwdobs and invobs extend fwd3d and inv3d in a homologous way to how fwd3d and inv3d extend fwd and inv.
2016-08-21Merge pull request #400 from kbevers/times-projectionHoward Butler
Implementation of Times projection
2016-08-16fix incorrect Makefile.am definition in de19a33f3003ec4a2c32e40f8421c7fbefbd6e94Howard Butler
2016-08-16add bin_geodtest.cmake and geodtest.c to distributionHoward Butler
2016-08-15increment version numbers for 4.9.3RC1Howard Butler
2016-07-28Implemented Times projectionKristian Evers
2016-04-06Updating VS and Autotools build systemsThomas Knudsen
2016-04-04Adding Natural Earth II and Compact MillerBojan Savric
2016-03-27Add Patterson Cylindrical projection. Add tests for projection.Micah Cochran
2016-02-24Add support for MISR SOM projectionmbull
2016-02-15Upgrade geodesic library from GeographicLib 1.46.Charles Karney
* upgrade geodesic.[ch3] * add test suite geodtest.c and invoke via cmake's add_test * increment version to 4.9.3 and library version to 11.0.0
2015-10-23- API Extension to include fwd3d / inv3dPiyush Agram
- New SCH coordinate system for radar imaging systems
2015-09-10BLD: Change INCLUDES to AM_CPPFLAGS.Elliott Sales de Andrade
The former is deprecated and automake emits a warning about it.
2015-09-10increment libtool versioning to 10:0:0 to account for PVALUE symbol rename #273Howard Butler
2015-09-08Increment version to 4.9.2 in preparation for releaseHoward Butler
2015-07-09Make multistresstext.exe compile, and work, with mingw cross compiler ↵Even Rouault
(autoconf build)
2015-07-07Make pj_init() locale safe and no longer modify locale (#226)Even Rouault
Remove setlocale() use in pj_init_ctx(), and replace uses of atof() & strtod() by their locale safe variants pj_atof() and pj_strtod(). Proj versions from now advertize #define PJ_LOCALE_SAFE 1 in proj_api.h and export pj_atof() & pj_strtod()
2015-02-21bump SOVERSION to 9:0:0 for 4.9.1 release (removed symbols from PJ_healpix)Howard Butler
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2616 4e78687f-474d-0410-85f9-8d5e500ac6b2
2014-09-13more CMake-related dist fixups #243Howard Butler
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2531 4e78687f-474d-0410-85f9-8d5e500ac6b2
2014-08-19Make pj_gridinfo_load() thread-safe (#228)Even Rouault
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2488 4e78687f-474d-0410-85f9-8d5e500ac6b2
2013-12-06add qsc projection (#179)Frank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2409 4e78687f-474d-0410-85f9-8d5e500ac6b2
2013-10-20move projects.h to installed headers list (#220)Frank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2396 4e78687f-474d-0410-85f9-8d5e500ac6b2
2013-10-20add gcc warning flag for msvc limitations (#224)Frank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2390 4e78687f-474d-0410-85f9-8d5e500ac6b2
2013-07-09add calcofi projection (#135)Frank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2376 4e78687f-474d-0410-85f9-8d5e500ac6b2
2013-06-22prepare for 4.9.0 beta releaseFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2350 4e78687f-474d-0410-85f9-8d5e500ac6b2
2013-06-22preliminary step implementing virtual fileioFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2344 4e78687f-474d-0410-85f9-8d5e500ac6b2
2013-05-10Major upgrade to geodesic support from Charles Karney (#197). Frank Warmerdam
Syncs geodesic routines with GeographicLib. Adds geodesic.3 man page. geod_* api exposed publically. geodesic.h is installed. git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2333 4e78687f-474d-0410-85f9-8d5e500ac6b2
2012-12-07replacement of geodesic engine with one from Charles Karney (#197)Frank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2297 4e78687f-474d-0410-85f9-8d5e500ac6b2
2012-06-18preliminary work on grid catalogsFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2218 4e78687f-474d-0410-85f9-8d5e500ac6b2
2012-03-26add missing org_proj4_PJ.h (#153)Frank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2198 4e78687f-474d-0410-85f9-8d5e500ac6b2
2012-03-04added the Natural Earth projectionFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2182 4e78687f-474d-0410-85f9-8d5e500ac6b2
2012-02-27added optional multistresstest target, slightly extended multistresstestFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2174 4e78687f-474d-0410-85f9-8d5e500ac6b2
2012-02-21prepare for 4.8.0 beta1Frank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2167 4e78687f-474d-0410-85f9-8d5e500ac6b2
2012-02-21preliminary addition of Icosahedral Snyder Equal Area projection (#111)Frank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2165 4e78687f-474d-0410-85f9-8d5e500ac6b2
2011-12-14added Healpix projectionFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2125 4e78687f-474d-0410-85f9-8d5e500ac6b2
2011-11-14nad2bin products NTv2, nad2nad removedFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2118 4e78687f-474d-0410-85f9-8d5e500ac6b2
2011-05-04added goodes interrupted homolosine (#106)Frank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1997 4e78687f-474d-0410-85f9-8d5e500ac6b2
2011-02-21upgrade automake, autoconf, and libtool versions to current stableFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1975 4e78687f-474d-0410-85f9-8d5e500ac6b2
2010-06-11preliminary implementation of projCtx APIFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1854 4e78687f-474d-0410-85f9-8d5e500ac6b2
2010-05-11preliminary addition of vertical datum shifting capabilityFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1839 4e78687f-474d-0410-85f9-8d5e500ac6b2