aboutsummaryrefslogtreecommitdiff
path: root/docs/source
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-11-04 14:58:24 +0100
committerEven Rouault <even.rouault@spatialys.com>2019-11-04 14:58:24 +0100
commitc975c6d13f5c0c13c57834c15ecd265a9d91a705 (patch)
tree556baa55635a44b21e83366d9e92254f3cce0b23 /docs/source
parentcff22050faa67017eb4c5b44cb383b265c07d156 (diff)
parent90c1166e316cc95296cd6db3ab1fc81243310de6 (diff)
downloadPROJ-c975c6d13f5c0c13c57834c15ecd265a9d91a705.tar.gz
PROJ-c975c6d13f5c0c13c57834c15ecd265a9d91a705.zip
Merge remote-tracking branch 'origin/master' into geoid_model
Diffstat (limited to 'docs/source')
-rw-r--r--docs/source/_extensions/redirects.py39
-rw-r--r--docs/source/conf.py5
-rw-r--r--docs/source/download.rst6
-rw-r--r--docs/source/news.rst73
-rw-r--r--docs/source/usage/index.rst2
-rw-r--r--docs/source/usage/projjson.rst261
6 files changed, 383 insertions, 3 deletions
diff --git a/docs/source/_extensions/redirects.py b/docs/source/_extensions/redirects.py
new file mode 100644
index 00000000..6a59b622
--- /dev/null
+++ b/docs/source/_extensions/redirects.py
@@ -0,0 +1,39 @@
+import os
+
+# https://tech.signavio.com/2017/managing-sphinx-redirects
+
+
+template="""<html>
+ <head>
+ <meta http-equiv="refresh" content="1; url=%s" />
+ <script>
+ window.location.href = "%s"
+ </script>
+ </head>
+</html>"""
+
+
+def gather_redirects():
+ output = {}
+
+ output.update({ 'projjson.html' : 'usage/projjson.html' })
+ return output
+
+from shutil import copyfile
+# copy legacy redirects
+def copy_legacy_redirects(app, docname): # Sphinx expects two arguments
+ if app.builder.name == 'html':
+ for key in app.config.redirect_files:
+ src = key
+ tgt = app.config.redirect_files[key]
+ html = template % (tgt, tgt)
+ with open(os.path.join(app.outdir, src), 'wb') as f:
+ f.write(html.encode('utf-8'))
+ f.close()
+
+
+
+def setup(app):
+ app.add_config_value('redirect_files', {}, 'html')
+ app.connect('build-finished', copy_legacy_redirects)
+ return { 'parallel_read_safe': False, 'parallel_write_safe': True }
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 243c93b7..cd004777 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -20,6 +20,7 @@ import datetime
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
sys.path.insert(0, os.path.abspath('.'))
+sys.path.insert(0, os.path.abspath('_extensions'))
import bibstyle
@@ -35,6 +36,7 @@ extensions = [
'sphinx.ext.mathjax',
'sphinxcontrib.bibtex',
'breathe',
+ 'redirects',
]
# Add any paths that contain templates here, relative to this directory.
@@ -370,3 +372,6 @@ texinfo_documents = [
breathe_projects = {
"cpp_stuff":"../build/xml/",
}
+
+import redirects
+redirect_files = redirects.gather_redirects()
diff --git a/docs/source/download.rst b/docs/source/download.rst
index 9ec03368..36e2a897 100644
--- a/docs/source/download.rst
+++ b/docs/source/download.rst
@@ -13,7 +13,7 @@ distribution of the source code and various resource file archives. See
Current Release
--------------------------------------------------------------------------------
-* **2019-09-01** `proj-6.2.0.tar.gz`_ (`md5`_)
+* **2019-11-01** `proj-6.2.1.tar.gz`_ (`md5`_)
* **2018-09-15** `proj-datumgrid-1.8.zip`_
* **2019-09-01** `proj-datumgrid-europe-1.4.zip`_
* **2019-03-01** `proj-datumgrid-north-america-1.2.zip`_
@@ -24,6 +24,7 @@ Current Release
Past Releases
--------------------------------------------------------------------------------
+* **2019-09-01** `proj-6.2.0.tar.gz`_
* **2019-07-01** `proj-6.1.1.tar.gz`_
* **2019-05-15** `proj-6.1.0.tar.gz`_
* **2019-03-01** `proj-6.0.0.tar.gz`_
@@ -44,6 +45,7 @@ Past Releases
* **2018-03-01** `proj-datumgrid-europe-1.0.zip`_
* **2018-03-01** `proj-datumgrid-north-america-1.0.zip`_
+.. _`proj-6.2.1.tar.gz`: https://download.osgeo.org/proj/proj-6.2.1.tar.gz
.. _`proj-6.2.0.tar.gz`: https://download.osgeo.org/proj/proj-6.2.0.tar.gz
.. _`proj-6.1.1.tar.gz`: https://download.osgeo.org/proj/proj-6.1.1.tar.gz
.. _`proj-6.1.0.tar.gz`: https://download.osgeo.org/proj/proj-6.1.0.tar.gz
@@ -68,5 +70,5 @@ Past Releases
.. _`proj-datumgrid-north-america-1.2.zip`: https://download.osgeo.org/proj/proj-datumgrid-north-america-1.2.zip
.. _`proj-datumgrid-oceania-1.0.zip`: https://download.osgeo.org/proj/proj-datumgrid-oceania-1.0.zip
.. _`proj-datumgrid-world-1.0.zip`: https://download.osgeo.org/proj/proj-datumgrid-world-1.0.zip
-.. _`md5`: https://download.osgeo.org/proj/proj-6.2.0.tar.gz.md5
+.. _`md5`: https://download.osgeo.org/proj/proj-6.2.1.tar.gz.md5
.. _`proj.pdf`: https://raw.githubusercontent.com/OSGeo/PROJ/gh-pages/proj.pdf
diff --git a/docs/source/news.rst b/docs/source/news.rst
index 2a6e8e47..17e573a7 100644
--- a/docs/source/news.rst
+++ b/docs/source/news.rst
@@ -3,6 +3,77 @@
News
###############################################################################
+6.2.1 Release Notes
+++++++++++++++++++++++++++++++++++++++++
+*November 1st 2019*
+
+Updates
+-------
+
+* Update the EPSG database to version 9.8.2
+
+Bug fixes
+----------
+
+* Fixed erroneous spelling of "Potsdam" (`#1573 <https://github.com/OSGeo/PROJ/issues/1573>`_)
+
+* Calculate y-coordinate correctly in :ref:`bertin1953` in all cases (`#1579 <https://github.com/OSGeo/PROJ/issues/1579>`_)
+
+* :c:func:`proj_create_crs_to_crs_from_pj()`: make the PJ* arguments const PJ* (`#1583 <https://github.com/OSGeo/PROJ/issues/1583>`_)
+
+* :c:func:`PROJStringParser::createFromPROJString()`: avoid potential infinite
+ recursion (`#1574 <https://github.com/OSGeo/PROJ/issues/1574>`_)
+
+* Avoid core dump when setting ``ctx==NULL`` in functions
+ :c:func:`proj_coordoperation_is_instantiable` and
+ :c:func:`proj_coordoperation_has_ballpark_transformation` (`#1590 <https://github.com/OSGeo/PROJ/issues/1590>`_)
+
+* :c:func:`createOperations()`: fix conversion from/to PROJ.4 CRS strings with
+ non-ISO-kosher options and ``+towgs84``/``+nadgrids`` (`#1602 <https://github.com/OSGeo/PROJ/issues/1602>`_)
+
+* :c:func:`proj_trans_generic()`: properly set coordinate time to ``HUGE_VAL``
+ when no value is passed to the function (`#1604 <https://github.com/OSGeo/PROJ/issues/1604>`_)
+
+* Fix support for ``+proj=ob_tran +o_proj=lonlat/latlong/latlon`` instead of only
+ only allowing ``+o_proj=longlat`` (`#1601 <https://github.com/OSGeo/PROJ/issues/1601>`_)
+
+* Improve backwards compatibility of vertical transforms (`#1613 <https://github.com/OSGeo/PROJ/issues/1613>`_)
+
+* Improve emulation of deprecated ``+init`` style initialization (`#1614 <https://github.com/OSGeo/PROJ/issues/1614>`_)
+
+* :program:`cs2cs`: autopromote CRS to 3D when there's a mix of 2D and 3D (`#1563 <https://github.com/OSGeo/PROJ/issues/1563>`_)
+
+* Avoid divisions by zero in odd situations (`#1620 <https://github.com/OSGeo/PROJ/issues/1620>`_)
+
+* Avoid compile error on Solaris (`#1639 <https://github.com/OSGeo/PROJ/issues/1639>`_)
+
+* :c:func:`proj_create_crs_to_crs()`: fix when there are only transformations with
+ ballpark steps (`#1643 <https://github.com/OSGeo/PROJ/issues/1643>`_)
+
+* PROJ string CRS ingester: recognize more unit-less parameters, and general
+ handling of ``+key=string_value`` parameters (`#1645 <https://github.com/OSGeo/PROJ/issues/1645>`_)
+
+* Only call pkg-config in configure when necessary (`#1652 <https://github.com/OSGeo/PROJ/issues/1652>`_)
+
+* :ref:`aeqd`: for spherical forward path, go to higher precision ellipsoidal
+ case when the point coordinates are super close to the origin (`#1654 <https://github.com/OSGeo/PROJ/issues/1654>`_)
+
+* :c:func:`proj_create_crs_to_crs()`: remove elimination of Ballpark operations
+ that caused transformation failures in some cases (`#1665 <https://github.com/OSGeo/PROJ/issues/1665>`_)
+
+* :c:func:`createOperations()`: allow transforming from a compoundCRS of a bound
+ verticalCRS to a 2D CRS (`#1667 <https://github.com/OSGeo/PROJ/issues/1667>`_)
+
+* Avoid segfaults in case of out-of-memory situations (`#1679 <https://github.com/OSGeo/PROJ/issues/1679>`_)
+
+* :c:func:`createOperations()`: fix double vertical unit conversion from CompoundCRS
+ to other CRS when the horizontal part of the projected CRS uses non-metre
+ unit (#1683)(`#1683 <https://github.com/OSGeo/PROJ/issues/1683>`_)
+
+* :c:func:`importFromWkt()`: fix axis orientation for non-standard ESRI WKT (`#1690 <https://github.com/OSGeo/PROJ/issues/1690>`_)
+
+
+
6.2.0 Release Notes
++++++++++++++++++++++++++++++++++++++++
*September 1st 2019*
@@ -10,7 +81,7 @@ News
Updates
-------
- * Introduced PROJJSON, a JSON encoding of WKT2 (`#1547 <https://github.com/OSGeo/PROJ/issues/15475>`_)
+ * Introduced :ref:`PROJJSON`, a JSON encoding of WKT2 (`#1547 <https://github.com/OSGeo/PROJ/issues/1547>`_)
* Support CRS instantiation of OGC URN's (`#1505 <https://github.com/OSGeo/PROJ/issues/1505>`_)
* Expose scope and remarks of database objects (`#1537 <https://github.com/OSGeo/PROJ/issues/1537>`_)
diff --git a/docs/source/usage/index.rst b/docs/source/usage/index.rst
index 823e8fe7..c31c6dce 100644
--- a/docs/source/usage/index.rst
+++ b/docs/source/usage/index.rst
@@ -17,3 +17,5 @@ command line applications or the C API that is a part of the software package.
transformation
environmentvars
differences
+ projjson
+
diff --git a/docs/source/usage/projjson.rst b/docs/source/usage/projjson.rst
new file mode 100644
index 00000000..09123711
--- /dev/null
+++ b/docs/source/usage/projjson.rst
@@ -0,0 +1,261 @@
+.. _projjson:
+
+================================================================================
+PROJJSON
+================================================================================
+
+PROJJSON is a JSON encoding of
+`WKT2:2019 / ISO-19162:2019 <http://docs.opengeospatial.org/is/18-010r7/18-010r7.html>`_,
+which itself implements the model of
+`OGC Topic 2: Referencing by coordinates <http://docs.opengeospatial.org/as/18-005r4/18-005r4.html>`_.
+Apart from the difference of encodings, the semantics is intented to be exactly
+the same as WKT2:2019.
+
+PROJJSON is available as input and output of PROJ since PROJ 6.2.
+
+The current version is 0.1.
+
+Schema
+------
+
+A JSON schema of its grammar is available at
+https://proj.org/schemas/v0.1/projjson.schema.json
+
+Content
+-------
+
+The high level objects are:
+
+* Coordinate Reference Systems (CRS):
+
+ - Common ones:
+
+ + ``GeographicCRS``
+ + ``GeodeticCRS``
+ + ``ProjectedCRS``
+ + ``CompoundCRS``
+ + ``BoundCRS``
+
+ - More esoteric ones:
+
+ + ``VerticalCRS``
+ + ``EngineeringCRS``
+ + ``TemporalCRS``
+ + ``ParametricCRS``
+ + ``DerivedGeographicCRS``
+ + ``DerivedGeodeticCRS``
+ + ``DerivedProjectedCRS``
+ + ``DerivedVerticalCRS``
+ + ``DerivedEngineeringCRS``
+ + ``DerivedTemporalCRS``
+ + ``DerivedParametricCRS``
+
+* Coordinate operations:
+
+ - ``Transformation``
+ - ``Conversion``
+ - ``ConcatenatedOperation``
+
+* Others:
+
+ - ``PrimeMeridian``
+ - ``Ellipsoid``
+ - ``Datum``
+ - ``DatumEnsemble``
+
+Examples
+--------
+
+GeographicCRS
++++++++++++++
+
+The following invokation
+
+::
+
+ projinfo EPSG:4326 -o PROJJSON -q
+
+will output:
+
+.. code-block:: json
+
+ {
+ "$schema": "https://proj.org/schemas/v0.1/projjson.schema.json",
+ "type": "GeographicCRS",
+ "name": "WGS 84",
+ "datum": {
+ "type": "GeodeticReferenceFrame",
+ "name": "World Geodetic System 1984",
+ "ellipsoid": {
+ "name": "WGS 84",
+ "semi_major_axis": 6378137,
+ "inverse_flattening": 298.257223563
+ }
+ },
+ "coordinate_system": {
+ "subtype": "ellipsoidal",
+ "axis": [
+ {
+ "name": "Geodetic latitude",
+ "abbreviation": "Lat",
+ "direction": "north",
+ "unit": "degree"
+ },
+ {
+ "name": "Geodetic longitude",
+ "abbreviation": "Lon",
+ "direction": "east",
+ "unit": "degree"
+ }
+ ]
+ },
+ "area": "World",
+ "bbox": {
+ "south_latitude": -90,
+ "west_longitude": -180,
+ "north_latitude": 90,
+ "east_longitude": 180
+ },
+ "id": {
+ "authority": "EPSG",
+ "code": 4326
+ }
+ }
+
+
+ProjectedCRS
+++++++++++++
+
+The following invokation
+
+::
+
+ projinfo EPSG:32631 -o PROJJSON -q
+
+will output:
+
+.. code-block:: json
+
+ {
+ "$schema": "https://proj.org/schemas/v0.1/projjson.schema.json",
+ "type": "ProjectedCRS",
+ "name": "WGS 84 / UTM zone 31N",
+ "base_crs": {
+ "name": "WGS 84",
+ "datum": {
+ "type": "GeodeticReferenceFrame",
+ "name": "World Geodetic System 1984",
+ "ellipsoid": {
+ "name": "WGS 84",
+ "semi_major_axis": 6378137,
+ "inverse_flattening": 298.257223563
+ }
+ },
+ "coordinate_system": {
+ "subtype": "ellipsoidal",
+ "axis": [
+ {
+ "name": "Geodetic latitude",
+ "abbreviation": "Lat",
+ "direction": "north",
+ "unit": "degree"
+ },
+ {
+ "name": "Geodetic longitude",
+ "abbreviation": "Lon",
+ "direction": "east",
+ "unit": "degree"
+ }
+ ]
+ },
+ "id": {
+ "authority": "EPSG",
+ "code": 4326
+ }
+ },
+ "conversion": {
+ "name": "UTM zone 31N",
+ "method": {
+ "name": "Transverse Mercator",
+ "id": {
+ "authority": "EPSG",
+ "code": 9807
+ }
+ },
+ "parameters": [
+ {
+ "name": "Latitude of natural origin",
+ "value": 0,
+ "unit": "degree",
+ "id": {
+ "authority": "EPSG",
+ "code": 8801
+ }
+ },
+ {
+ "name": "Longitude of natural origin",
+ "value": 3,
+ "unit": "degree",
+ "id": {
+ "authority": "EPSG",
+ "code": 8802
+ }
+ },
+ {
+ "name": "Scale factor at natural origin",
+ "value": 0.9996,
+ "unit": "unity",
+ "id": {
+ "authority": "EPSG",
+ "code": 8805
+ }
+ },
+ {
+ "name": "False easting",
+ "value": 500000,
+ "unit": "metre",
+ "id": {
+ "authority": "EPSG",
+ "code": 8806
+ }
+ },
+ {
+ "name": "False northing",
+ "value": 0,
+ "unit": "metre",
+ "id": {
+ "authority": "EPSG",
+ "code": 8807
+ }
+ }
+ ]
+ },
+ "coordinate_system": {
+ "subtype": "Cartesian",
+ "axis": [
+ {
+ "name": "Easting",
+ "abbreviation": "E",
+ "direction": "east",
+ "unit": "metre"
+ },
+ {
+ "name": "Northing",
+ "abbreviation": "N",
+ "direction": "north",
+ "unit": "metre"
+ }
+ ]
+ },
+ "area": "World - N hemisphere - 0°E to 6°E - by country",
+ "bbox": {
+ "south_latitude": 0,
+ "west_longitude": 0,
+ "north_latitude": 84,
+ "east_longitude": 6
+ },
+ "id": {
+ "authority": "EPSG",
+ "code": 32631
+ }
+ }