aboutsummaryrefslogtreecommitdiff
path: root/docs/source/operations/transformations
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2018-10-01 12:32:52 +0200
committerEven Rouault <even.rouault@spatialys.com>2018-10-01 21:31:51 +0200
commitfe29f8acdce81607c11a597f4bffc7ff61fa9c19 (patch)
tree5eb8696603b3b814e4aea7f686266fd72847f035 /docs/source/operations/transformations
parent1583a566a208d2451fb1acc8bcf16fbd8151983e (diff)
downloadPROJ-fe29f8acdce81607c11a597f4bffc7ff61fa9c19.tar.gz
PROJ-fe29f8acdce81607c11a597f4bffc7ff61fa9c19.zip
Add a affine transformation method, and make geogoffset as a particular case of it (fixes #535)
Diffstat (limited to 'docs/source/operations/transformations')
-rw-r--r--docs/source/operations/transformations/affine.rst123
-rw-r--r--docs/source/operations/transformations/geogoffset.rst2
-rw-r--r--docs/source/operations/transformations/index.rst1
3 files changed, 126 insertions, 0 deletions
diff --git a/docs/source/operations/transformations/affine.rst b/docs/source/operations/transformations/affine.rst
new file mode 100644
index 00000000..8b1681b3
--- /dev/null
+++ b/docs/source/operations/transformations/affine.rst
@@ -0,0 +1,123 @@
+.. _affine:
+
+================================================================================
+Affine transformation
+================================================================================
+
+.. versionadded:: 6.0.0
+
+The affine transformation applies translation and scaling/rotation terms on the
+x,y,z coordinates, and translation and scaling on the temporal cordinate.
+
++---------------------+----------------------------------------------------------+
+| **Alias** | affine |
++---------------------+----------------------------------------------------------+
+| **Domain** | 4D |
++---------------------+----------------------------------------------------------+
+| **Input type** | XYZT |
++---------------------+----------------------------------------------------------+
+| **output type** | XYZT |
++---------------------+----------------------------------------------------------+
+
+By default, the parameters are set for an identity transforms. The transformation
+is reversible unless the determinant of the sji matrix is 0, or `tscale` is 0
+
+
+Parameters
+################################################################################
+
+Optional
+-------------------------------------------------------------------------------
+
+.. option:: +xoff=<value>
+
+ Offset in X. Default value: 0
+
+.. option:: +yoff=<value>
+
+ Offset in Y. Default value: 0
+
+.. option:: +zoff=<value>
+
+ Offset in Z. Default value: 0
+
+.. option:: +toff=<value>
+
+ Offset in T. Default value: 0
+
+.. option:: +s11=<value>
+
+ Rotation/scaling term. Default value: 1
+
+.. option:: +s12=<value>
+
+ Rotation/scaling term. Default value: 0
+
+.. option:: +s13=<value>
+
+ Rotation/scaling term. Default value: 0
+
+.. option:: +s21=<value>
+
+ Rotation/scaling term. Default value: 0
+
+.. option:: +s22=<value>
+
+ Rotation/scaling term. Default value: 1
+
+.. option:: +s23=<value>
+
+ Rotation/scaling term. Default value: 0
+
+.. option:: +s31=<value>
+
+ Rotation/scaling term. Default value: 0
+
+.. option:: +s32=<value>
+
+ Rotation/scaling term. Default value: 0
+
+.. option:: +s33=<value>
+
+ Rotation/scaling term. Default value: 1
+
+.. option:: +tscale=<value>
+
+ Time scaling term. Default value: 1
+
+
+
+Mathematical description
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+.. math::
+ :label: formula
+
+ \begin{align}
+ \begin{bmatrix}
+ X \\
+ Y \\
+ Z \\
+ T \\
+ \end{bmatrix}^{dest} =
+ \begin{bmatrix}
+ xoff \\
+ yoff \\
+ zoff \\
+ toff \\
+ \end{bmatrix} +
+ \begin{bmatrix}
+ s11 & s12 & s13 & 0 \\
+ s21 & s22 & s23 & 0 \\
+ s31 & s32 & s33 & 0 \\
+ 0 & 0 & 0 & tscale \\
+ \end{bmatrix}
+ \begin{bmatrix}
+ X \\
+ Y \\
+ Z \\
+ T \\
+ \end{bmatrix}^{source}
+ \end{align}
+
+
diff --git a/docs/source/operations/transformations/geogoffset.rst b/docs/source/operations/transformations/geogoffset.rst
index 91c91c83..f643485e 100644
--- a/docs/source/operations/transformations/geogoffset.rst
+++ b/docs/source/operations/transformations/geogoffset.rst
@@ -32,6 +32,8 @@ It can also be used to implement the method Vertical offset (code 9616)
The reverse transformation simply consists in subtracting the offsets.
+This method is a conveniency wrapper for the more general :ref:`affine`.
+
Examples
###############################################################################
diff --git a/docs/source/operations/transformations/index.rst b/docs/source/operations/transformations/index.rst
index c2fe6baa..121215f7 100644
--- a/docs/source/operations/transformations/index.rst
+++ b/docs/source/operations/transformations/index.rst
@@ -10,6 +10,7 @@ systems are based on different datums.
.. toctree::
:maxdepth: 1
+ affine
deformation
geogoffset
helmert