diff options
| author | Kristian Evers <kristianevers@gmail.com> | 2018-05-10 12:35:33 +0200 |
|---|---|---|
| committer | Kristian Evers <kristianevers@gmail.com> | 2018-05-12 12:22:19 +0200 |
| commit | 5272565cdf5acfd15ab5c96a74f49d57b5a18217 (patch) | |
| tree | f90e96586c8c9d518a8bd5e0f2ba8d98eae4a88e /docs/source/index.rst | |
| parent | d02e9ede9aebc10d63007ca8d18650fad6d301d7 (diff) | |
| download | PROJ-5272565cdf5acfd15ab5c96a74f49d57b5a18217.tar.gz PROJ-5272565cdf5acfd15ab5c96a74f49d57b5a18217.zip | |
Complete overhaul of the website frontpage
Removed everything but the leading introduction and added release
history from 5.0.0 and on.
Diffstat (limited to 'docs/source/index.rst')
| -rw-r--r-- | docs/source/index.rst | 330 |
1 files changed, 298 insertions, 32 deletions
diff --git a/docs/source/index.rst b/docs/source/index.rst index 03e993ec..ca14a5d6 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,37 +1,11 @@ .. _home: -****************************************************************************** PROJ -****************************************************************************** - -PROJ is a standard UNIX filter function which converts geographic longitude -and latitude coordinates into cartesian coordinates (and vice versa), and it is -a C API for software developers to include coordinate transformation in their -own software. PROJ is maintained on `GitHub <http://github.com/OSGeo/proj.4/>`_. - -.. only:: html - - ============= ================================================================ - Platform Test Status and Coverage - ============= ================================================================ - Travis |travis| - AppVeyor |appveyor| - Coverage |coverals| - ============= ================================================================ - - - .. |travis| image:: https://travis-ci.org/OSGeo/proj.4.svg?branch=master - :target: https://travis-ci.org/OSGeo/proj.4 - .. |appveyor| image:: https://ci.appveyor.com/api/projects/status/584j49uguwoo5evi?svg=true - :target: https://ci.appveyor.com/project/OSGeo/proj-4 - .. |coverals| image:: https://coveralls.io/repos/OSGeo/proj.4/badge.svg?branch=master - :target: https://coveralls.io/r/OSGeo/proj.4?branch=master - -Documentation -================= +############################################################################### .. toctree:: :maxdepth: 1 + :hidden: download install @@ -47,10 +21,302 @@ Documentation license references +PROJ is a standard UNIX filter function which converts geographic longitude +and latitude coordinates into cartesian coordinates (and vice versa), and it is +a C API for software developers to include coordinate transformation in their +own software. PROJ is maintained on `GitHub <http://github.com/OSGeo/proj.4/>`_. + +.. only:: html + + NEWS + --------------------------------------------------------------------------- + + .. attention:: + + The ``projects.h`` header and the functions related to it is considered + deprecated from version 5.0.0 and onwards. The header will be removed + from PROJ in version 6.0.0 scheduled for release February 1st 2019. + + .. attention:: + + The nmake build system on Windows will not be supported from + version 6.0.0 on onwards. Use CMake instead. + + .. attention:: + + The ``proj_api.h`` header and the functions related to it is + considered deprecated from version 5.0.0 and onwards. The header will be + removed from PROJ in version 7.0.0 scheduled for release February 1st + 2020. + + + + + PROJ 5.0.1 + ++++++++++++++++++++++++++++++++++++++++ + *March 1st 2018* + + Bug fixes + *********** + + * Handle ellipsoid change correctly in pipelines when ``+towgs84=0,0,0`` is set (`#881 <https://github.com/OSGeo/proj.4/issues/881>`_) + + + * Handle the case where nad_ctable2_init returns NULL (`#883 <https://github.com/OSGeo/proj.4/issues/883>`_) + + + * Avoid shadowed declaration errors with old gcc (`#880 <https://github.com/OSGeo/proj.4/issues/880>`_) + + + * Expand ``+datum`` properly in pipelines (`#872 <https://github.com/OSGeo/proj.4/issues/872>`_) + + + * Fail gracefully when incorrect headers are encountered in grid files (`#875 <https://github.com/OSGeo/proj.4/issues/875>`_) + + + * Improve roundtrip stability in pipelines using ``+towgs84`` (`#871 <https://github.com/OSGeo/proj.4/issues/871>`_) + + + * Fixed typo in gie error codes (`#861 <https://github.com/OSGeo/proj.4/issues/861>`_) + + + * Numerical stability fixes to the geodesic package (`#826 <https://github.com/OSGeo/proj.4/issues/826>`_ & `#843 <https://github.com/OSGeo/proj.4/issues/843>`_) + + + * Make sure that transient errors are returned correctly (`#857 <https://github.com/OSGeo/proj.4/issues/857>`_) + + + * Make sure that locally installed header files are not used when building PROJ (`#849 <https://github.com/OSGeo/proj.4/issues/849>`_) + + + * Fix inconsistent parameter names in ``proj.h``/``proj_4D_api.c`` (`#842 <https://github.com/OSGeo/proj.4/issues/842>`_) + + + * Make sure ``+vunits`` is applied (`#833 <https://github.com/OSGeo/proj.4/issues/833>`_) + + + * Fix incorrect Web Mercator transformations (`#834 <https://github.com/OSGeo/proj.4/issues/834>`_) + + + + PROJ 5.0.0 + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + *February 1st 2018* + + This version of PROJ introduces some significant extensions and + improvements to (primarily) the geodetic functionality of the system. + + The main driver for introducing the new features is the emergence of + dynamic reference frames, the increasing use of high accuracy GNSS, + and the related growing demand for accurate coordinate + transformations. While older versions of PROJ included some geodetic + functionality, the new framework lays the foundation for turning PROJ + into a generic geospatial coordinate transformation engine. + + The core of the library is still the well established projection code. + The new functionality is primarily exposed in a new programming + interface and a new command line utility, :ref:`cct<cct>` + (for "Coordinate Conversion and Transformation"). The old programming interface is + still available and can - to some extent - use the new geodetic + transformation features. + + The internal architecture has also seen many changes and much + improvement. So far, these improvements respect the existing + programming interface. But the process has revealed a need to simplify + and reduce the code base, in order to support sustained active + development. + + + **Therefore we have scheduled regular releases over the coming years** + **which will gradually remove the old programming interface.** + + **This will cause breaking changes with the next two major version** + **releases, which will affect all projects that depend on PROJ** + **(cf. section "deprecations" below).** + + The decision to break the existing API has not been easy, but has + ultimately been deemed necessary to ensure the long term survival of + the project. Not only by improving the maintainability immensely, but + also by extending the potential user (and hence developer) community. + + The end goal is to deliver a generic coordinate transformation + software package with a clean and concise code base appealing to + both users and developers. + + + Versioning and naming + *************************************************************************** + + For the first time in more than 25 years the major version number of + the software is changed. The decision to do this is based on the many + new features and new API. While backwards compatibility remains - + except in a few rare corner cases - the addition of a new and improved + programming interface warrants a new major release. + + The new major version number unfortunately leaves the project in a bit + of a conundrum regarding the name. For the majority of the life-time + of the product it has been known as PROJ.4, but since we have now + reached version 5 the name is no longer aligned with the version + number. + + Hence we have decided to decouple the name from the version number and + from this version and onwards the product will simply be called PROJ. + + In recognition of the history of the software we are keeping PROJ.4 as + the *name of the organizing project*. The same project team also + produces the datum-grid package. + + In summary: + + * The PROJ.4 project provides the product PROJ, which is now at + version 5.0.0. + + * The foundational component of PROJ is the library libproj. + + * Other PROJ components include the application proj, which provides + a command line interface to libproj. + + * The PROJ.4 project also distributes the datum-grid package, + which at the time of writing is at version 1.6.0. + + Updates + *************************************************************************** + + * Introduced new API in ``proj.h``. + + - The new API is orthogonal to the existing ``proj_api.h`` API and the internally used ``projects.h`` API. + + - The new API adds the ability to transform spatiotemporal (4D) coordinates. + + - Functions in the new API use the ``proj_`` namespace. + + - Data types in the new API use the ``PJ_`` namespace. + + * Introduced the concept of "transformation pipelines" that makes possible to do complex geodetic transformations of coordinates by daisy chaining simple coordinate operations. + + * Introduced :ref:`cct`, the Coordinate Conversion and Transformation application. + + * Introduced :ref:`gie`, the Geospatial Integrity Investigation Environment. + + - Selftest invoked by ``-C`` flag in :ref:`proj` has been removed + - Ported approx. 1300 built-in selftests to :ref:`gie` format + - Ported approx. 1000 tests from the gigs test framework + - Added approx. 200 new tests + + * Adopted terminology from the OGC/ISO-19100 geospatial standards series. Key definitions are: + + - At the most generic level, a *coordinate operation* is a change of coordinates, based on a one-to-one relationship, from one coordinate reference system to another. + + - A *transformation* is a coordinate operation in which the two coordinate reference systems are based on different datums, e.g. a change from a global reference frame to a regional frame. + + - A *conversion* is a coordinate operation in which both coordinate reference systems are based on the same datum, e.g. change of units of coordinates. + + - A *projection* is a coordinate conversion from an ellipsoidal coordinate system to a plane. Although projections are simply conversions according to the standard, they are treated as separate entities in PROJ as they make up the vast majority of operations in the library. + + * New operations + + - :ref:`The pipeline operator<pipeline>` (``pipeline``) + + - Transformations + + :ref:`Helmert transform<helmert>` (``helmert``) + + Horner real and complex polynomial evaluation (``horner``) + + :ref:`Horizontal gridshift<hgridshift>` (``hgridshift``) + + :ref:`Vertical gridshift<vgridshift>` (``vgridshift``) + + :ref:`Molodensky transform<molodensky>` (``molodensky``) + + :ref:`Kinematic gridshift with deformation model<deformation>` (``deformation``) + + - Conversions + + :ref:`Unit conversion<unitconvert>` (``unitconvert``) + + :ref:`Axis swap<axisswap>` (``axisswap``) + + - Projections + + :ref:`Central Conic projection<ccon>` (``ccon``) + + * Significant documentation updates, including + + - Overhaul of the structure of the documentation + - A better introduction to the use of PROJ + - :ref:`A complete reference to the new API<reference>` + - a complete rewrite of the section on geodesic calculations + - Figures for all projections + + * New "free format" option for operation definitions, which permits separating tokens by whitespace when specifying key/value- pairs, e.g. ``proj = merc lat_0 = 45``. + + * Added metadata to init-files that can be read with the :c:func:`proj_init_info` function in the new ``proj.h`` API. + + * Added ITRF2000, ITRF2008 and ITRF2014 init-files with ITRF transformation parameters, including plate motion model parameters. + + * Added ellipsoid parameters for GSK2011, PZ90 and "danish". The latter is similar to the already supported andrae ellipsoid, but has a slightly different semimajor axis. + + * Added Copenhagen prime meridian. + + * Updated EPSG database to version 9.2.0. + + * Geodesic library updated to version 1.49.2-c. + + * Support for analytical partial derivatives has been removed. + + * Improved performance in Winkel Tripel and Aitoff. + + * Introduced ``pj_has_inverse()`` function to ``proj_api.h``. Checks if an operation has an inverse. Use this instead of checking whether ``P->inv`` exists, since that can no longer be relied on. + + * ABI version number updated to 13:0:0. + + * Removed support for Windows CE. + + * Removed the VB6 COM interface. + + Bug fixes + *************************************************************************** + + * Fixed incorrect convergence calculation in Lambert Conformal Conic. (`#16 <https://github.com/OSGeo/proj.4/issues/16>`_) + + + * Handle ellipsoid parameters correctly when using ``+nadgrids=@null``. (`#22 <https://github.com/OSGeo/proj.4/issues/22>`_) + + + * Return correct latitude when using negative northings in Transverse Mercator. (`#138 <https://github.com/OSGeo/proj.4/issues/138>`_) + + + * Return correct result at origin in inverse Mod. Stereographic of Alaska. (`#161 <https://github.com/OSGeo/proj.4/issues/161>`_) + + + * Return correct result at origin in inverse Mod. Stereographic of 48 U.S. (`#162 <https://github.com/OSGeo/proj.4/issues/162>`_) + + + * Return correct result at origin in inverse Mod. Stereographic of 50 U.S. (`#163 <https://github.com/OSGeo/proj.4/issues/163>`_) + + + * Return correct result at origin in inverse Lee Oblated Stereographic. (`#164 <https://github.com/OSGeo/proj.4/issues/164>`_) + + + * Return correct result at origin in inverse Miller Oblated Stereographic. (`#165 <https://github.com/OSGeo/proj.4/issues/165>`_) + + + * Fixed scaling and wrap-around issues in Oblique Cylindrical Equal Area. (`#166 <https://github.com/OSGeo/proj.4/issues/166>`_) + + + * Corrected a coefficient error in inverse Transverse Mercator. (`#174 <https://github.com/OSGeo/proj.4/issues/174>`_) + + * Respect ``-r`` flag when calling :program:`proj` with ``-V``. (`#184 <https://github.com/OSGeo/proj.4/issues/184>`_) + + * Remove multiplication by 2 at the equator error in Stereographic projection. (`#194 <https://github.com/OSGeo/proj.4/issues/194>`_) + + * Allow +alpha=0 and +gamma=0 when using Oblique Mercator. (`#195 <https://github.com/OSGeo/proj.4/issues/195>`_) + + * Return correct result of inverse Oblique Mercator when alpha is between 90 and 270. (`#331 <https://github.com/OSGeo/proj.4/issues/331>`_) + + * Avoid segmentation fault when accessing point outside grid. (`#396 <https://github.com/OSGeo/proj.4/issues/396>`_) + + * Avoid segmentation fault on NaN input in Robin inverse. (`#463 <https://github.com/OSGeo/proj.4/issues/463>`_) + + * Very verbose use of :program:`proj` (``-V``) on Windows is fixed. (`#484 <https://github.com/OSGeo/proj.4/issues/484>`_) + + * Fixed memory leak in General Oblique Transformation. (`#497 <https://github.com/OSGeo/proj.4/issues/497>`_) -Indices and tables -================== + * Equations for meridian convergence and partial derivatives have + been corrected for non-conformal projections. (`#526 <https://github.com/OSGeo/proj.4/issues/526>`_) -* :ref:`genindex` -* :ref:`search` + * Fixed scaling of cartesian coordinates in ``pj_transform()``. (`#726 <https://github.com/OSGeo/proj.4/issues/726>`_) + * Additional bug fixes courtesy of `Google's OSS-Fuzz program <https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&q=proj4>`_ |
