From a3f43744feec86272fe532124679d3a013ef9a8c Mon Sep 17 00:00:00 2001 From: PROJ deploybot Date: Tue, 22 Mar 2022 20:00:06 +0000 Subject: update with results of commit https://github.com/OSGeo/PROJ/commit/53c07a8bd211b7aee4bc07a9c6726005504b7181 --- operations/conversions/axisswap.html | 214 +++++++ operations/conversions/cart.html | 203 +++++++ operations/conversions/geoc.html | 230 +++++++ operations/conversions/index.html | 166 +++++ operations/conversions/latlon.html | 214 +++++++ operations/conversions/noop.html | 181 ++++++ operations/conversions/pop.html | 255 ++++++++ operations/conversions/push.html | 254 ++++++++ operations/conversions/set.html | 238 ++++++++ operations/conversions/topocentric.html | 279 +++++++++ operations/conversions/unitconvert.html | 401 ++++++++++++ operations/index.html | 152 +++++ operations/operations_computation.html | 875 +++++++++++++++++++++++++++ operations/pipeline.html | 296 +++++++++ operations/projections/adams_hemi.html | 364 +++++++++++ operations/projections/adams_ws1.html | 364 +++++++++++ operations/projections/adams_ws2.html | 364 +++++++++++ operations/projections/aea.html | 389 ++++++++++++ operations/projections/aeqd.html | 385 ++++++++++++ operations/projections/airy.html | 385 ++++++++++++ operations/projections/aitoff.html | 364 +++++++++++ operations/projections/alsk.html | 358 +++++++++++ operations/projections/apian.html | 371 ++++++++++++ operations/projections/august.html | 364 +++++++++++ operations/projections/bacon.html | 364 +++++++++++ operations/projections/bertin1953.html | 381 ++++++++++++ operations/projections/bipc.html | 370 +++++++++++ operations/projections/boggs.html | 364 +++++++++++ operations/projections/bonne.html | 382 ++++++++++++ operations/projections/calcofi.html | 402 ++++++++++++ operations/projections/cass.html | 471 ++++++++++++++ operations/projections/cc.html | 364 +++++++++++ operations/projections/ccon.html | 457 ++++++++++++++ operations/projections/cea.html | 430 +++++++++++++ operations/projections/chamb.html | 406 +++++++++++++ operations/projections/col_urban.html | 379 ++++++++++++ operations/projections/collg.html | 364 +++++++++++ operations/projections/comill.html | 367 +++++++++++ operations/projections/crast.html | 364 +++++++++++ operations/projections/denoy.html | 364 +++++++++++ operations/projections/eck1.html | 367 +++++++++++ operations/projections/eck2.html | 364 +++++++++++ operations/projections/eck3.html | 364 +++++++++++ operations/projections/eck4.html | 369 +++++++++++ operations/projections/eck5.html | 364 +++++++++++ operations/projections/eck6.html | 364 +++++++++++ operations/projections/eqc.html | 472 +++++++++++++++ operations/projections/eqdc.html | 389 ++++++++++++ operations/projections/eqearth.html | 397 ++++++++++++ operations/projections/euler.html | 380 ++++++++++++ operations/projections/fahey.html | 364 +++++++++++ operations/projections/fouc.html | 364 +++++++++++ operations/projections/fouc_s.html | 380 ++++++++++++ operations/projections/gall.html | 432 +++++++++++++ operations/projections/geos.html | 423 +++++++++++++ operations/projections/gins8.html | 364 +++++++++++ operations/projections/gn_sinu.html | 365 +++++++++++ operations/projections/gnom.html | 371 ++++++++++++ operations/projections/goode.html | 364 +++++++++++ operations/projections/gs48.html | 358 +++++++++++ operations/projections/gs50.html | 358 +++++++++++ operations/projections/gstmerc.html | 387 ++++++++++++ operations/projections/guyou.html | 364 +++++++++++ operations/projections/hammer.html | 379 ++++++++++++ operations/projections/hatano.html | 404 +++++++++++++ operations/projections/healpix.html | 408 +++++++++++++ operations/projections/igh.html | 364 +++++++++++ operations/projections/igh_o.html | 364 +++++++++++ operations/projections/imw_p.html | 380 ++++++++++++ operations/projections/index.html | 446 ++++++++++++++ operations/projections/isea.html | 410 +++++++++++++ operations/projections/kav5.html | 369 +++++++++++ operations/projections/kav7.html | 369 +++++++++++ operations/projections/krovak.html | 379 ++++++++++++ operations/projections/labrd.html | 379 ++++++++++++ operations/projections/laea.html | 380 ++++++++++++ operations/projections/lagrng.html | 389 ++++++++++++ operations/projections/larr.html | 364 +++++++++++ operations/projections/lask.html | 364 +++++++++++ operations/projections/lcc.html | 432 +++++++++++++ operations/projections/lcca.html | 380 ++++++++++++ operations/projections/leac.html | 388 ++++++++++++ operations/projections/lee_os.html | 358 +++++++++++ operations/projections/loxim.html | 371 ++++++++++++ operations/projections/lsat.html | 388 ++++++++++++ operations/projections/mbt_fps.html | 364 +++++++++++ operations/projections/mbt_s.html | 365 +++++++++++ operations/projections/mbtfpp.html | 364 +++++++++++ operations/projections/mbtfpq.html | 364 +++++++++++ operations/projections/mbtfps.html | 365 +++++++++++ operations/projections/merc.html | 500 +++++++++++++++ operations/projections/mil_os.html | 358 +++++++++++ operations/projections/mill.html | 404 +++++++++++++ operations/projections/misrsom.html | 381 ++++++++++++ operations/projections/moll.html | 364 +++++++++++ operations/projections/murd1.html | 380 ++++++++++++ operations/projections/murd2.html | 380 ++++++++++++ operations/projections/murd3.html | 380 ++++++++++++ operations/projections/natearth.html | 388 ++++++++++++ operations/projections/natearth2.html | 368 +++++++++++ operations/projections/nell.html | 364 +++++++++++ operations/projections/nell_h.html | 364 +++++++++++ operations/projections/nicol.html | 364 +++++++++++ operations/projections/nsper.html | 383 ++++++++++++ operations/projections/nzmg.html | 306 ++++++++++ operations/projections/ob_tran.html | 460 ++++++++++++++ operations/projections/ocea.html | 418 +++++++++++++ operations/projections/oea.html | 382 ++++++++++++ operations/projections/omerc.html | 496 +++++++++++++++ operations/projections/ortel.html | 364 +++++++++++ operations/projections/ortho.html | 391 ++++++++++++ operations/projections/patterson.html | 367 +++++++++++ operations/projections/pconic.html | 380 ++++++++++++ operations/projections/peirce_q.html | 441 ++++++++++++++ operations/projections/poly.html | 373 ++++++++++++ operations/projections/putp1.html | 364 +++++++++++ operations/projections/putp2.html | 364 +++++++++++ operations/projections/putp3.html | 364 +++++++++++ operations/projections/putp3p.html | 364 +++++++++++ operations/projections/putp4p.html | 364 +++++++++++ operations/projections/putp5.html | 364 +++++++++++ operations/projections/putp5p.html | 364 +++++++++++ operations/projections/putp6.html | 364 +++++++++++ operations/projections/putp6p.html | 364 +++++++++++ operations/projections/qsc.html | 488 +++++++++++++++ operations/projections/qua_aut.html | 364 +++++++++++ operations/projections/rhealpix.html | 400 ++++++++++++ operations/projections/robin.html | 364 +++++++++++ operations/projections/rouss.html | 373 ++++++++++++ operations/projections/rpoly.html | 372 ++++++++++++ operations/projections/s2.html | 467 ++++++++++++++ operations/projections/sch.html | 400 ++++++++++++ operations/projections/sinu.html | 373 ++++++++++++ operations/projections/somerc.html | 351 +++++++++++ operations/projections/stere.html | 397 ++++++++++++ operations/projections/sterea.html | 380 ++++++++++++ operations/projections/tcc.html | 364 +++++++++++ operations/projections/tcea.html | 371 ++++++++++++ operations/projections/times.html | 365 +++++++++++ operations/projections/tissot.html | 351 +++++++++++ operations/projections/tmerc.html | 711 ++++++++++++++++++++++ operations/projections/tobmerc.html | 418 +++++++++++++ operations/projections/tpeqd.html | 381 ++++++++++++ operations/projections/tpers.html | 400 ++++++++++++ operations/projections/ups.html | 350 +++++++++++ operations/projections/urm5.html | 365 +++++++++++ operations/projections/urmfps.html | 342 +++++++++++ operations/projections/utm.html | 414 +++++++++++++ operations/projections/vandg.html | 364 +++++++++++ operations/projections/vandg2.html | 364 +++++++++++ operations/projections/vandg3.html | 364 +++++++++++ operations/projections/vandg4.html | 364 +++++++++++ operations/projections/vitk1.html | 380 ++++++++++++ operations/projections/wag1.html | 368 +++++++++++ operations/projections/wag2.html | 367 +++++++++++ operations/projections/wag3.html | 375 ++++++++++++ operations/projections/wag4.html | 364 +++++++++++ operations/projections/wag5.html | 364 +++++++++++ operations/projections/wag6.html | 364 +++++++++++ operations/projections/wag7.html | 325 ++++++++++ operations/projections/webmerc.html | 413 +++++++++++++ operations/projections/weren.html | 364 +++++++++++ operations/projections/wink1.html | 372 ++++++++++++ operations/projections/wink2.html | 372 ++++++++++++ operations/projections/wintri.html | 371 ++++++++++++ operations/transformations/affine.html | 303 ++++++++++ operations/transformations/defmodel.html | 220 +++++++ operations/transformations/deformation.html | 396 ++++++++++++ operations/transformations/geogoffset.html | 230 +++++++ operations/transformations/helmert.html | 603 ++++++++++++++++++ operations/transformations/hgridshift.html | 292 +++++++++ operations/transformations/horner.html | 369 +++++++++++ operations/transformations/index.html | 169 ++++++ operations/transformations/molobadekas.html | 320 ++++++++++ operations/transformations/molodensky.html | 275 +++++++++ operations/transformations/tinshift.html | 378 ++++++++++++ operations/transformations/vgridshift.html | 310 ++++++++++ operations/transformations/xyzgridshift.html | 256 ++++++++ 178 files changed, 65875 insertions(+) create mode 100644 operations/conversions/axisswap.html create mode 100644 operations/conversions/cart.html create mode 100644 operations/conversions/geoc.html create mode 100644 operations/conversions/index.html create mode 100644 operations/conversions/latlon.html create mode 100644 operations/conversions/noop.html create mode 100644 operations/conversions/pop.html create mode 100644 operations/conversions/push.html create mode 100644 operations/conversions/set.html create mode 100644 operations/conversions/topocentric.html create mode 100644 operations/conversions/unitconvert.html create mode 100644 operations/index.html create mode 100644 operations/operations_computation.html create mode 100644 operations/pipeline.html create mode 100644 operations/projections/adams_hemi.html create mode 100644 operations/projections/adams_ws1.html create mode 100644 operations/projections/adams_ws2.html create mode 100644 operations/projections/aea.html create mode 100644 operations/projections/aeqd.html create mode 100644 operations/projections/airy.html create mode 100644 operations/projections/aitoff.html create mode 100644 operations/projections/alsk.html create mode 100644 operations/projections/apian.html create mode 100644 operations/projections/august.html create mode 100644 operations/projections/bacon.html create mode 100644 operations/projections/bertin1953.html create mode 100644 operations/projections/bipc.html create mode 100644 operations/projections/boggs.html create mode 100644 operations/projections/bonne.html create mode 100644 operations/projections/calcofi.html create mode 100644 operations/projections/cass.html create mode 100644 operations/projections/cc.html create mode 100644 operations/projections/ccon.html create mode 100644 operations/projections/cea.html create mode 100644 operations/projections/chamb.html create mode 100644 operations/projections/col_urban.html create mode 100644 operations/projections/collg.html create mode 100644 operations/projections/comill.html create mode 100644 operations/projections/crast.html create mode 100644 operations/projections/denoy.html create mode 100644 operations/projections/eck1.html create mode 100644 operations/projections/eck2.html create mode 100644 operations/projections/eck3.html create mode 100644 operations/projections/eck4.html create mode 100644 operations/projections/eck5.html create mode 100644 operations/projections/eck6.html create mode 100644 operations/projections/eqc.html create mode 100644 operations/projections/eqdc.html create mode 100644 operations/projections/eqearth.html create mode 100644 operations/projections/euler.html create mode 100644 operations/projections/fahey.html create mode 100644 operations/projections/fouc.html create mode 100644 operations/projections/fouc_s.html create mode 100644 operations/projections/gall.html create mode 100644 operations/projections/geos.html create mode 100644 operations/projections/gins8.html create mode 100644 operations/projections/gn_sinu.html create mode 100644 operations/projections/gnom.html create mode 100644 operations/projections/goode.html create mode 100644 operations/projections/gs48.html create mode 100644 operations/projections/gs50.html create mode 100644 operations/projections/gstmerc.html create mode 100644 operations/projections/guyou.html create mode 100644 operations/projections/hammer.html create mode 100644 operations/projections/hatano.html create mode 100644 operations/projections/healpix.html create mode 100644 operations/projections/igh.html create mode 100644 operations/projections/igh_o.html create mode 100644 operations/projections/imw_p.html create mode 100644 operations/projections/index.html create mode 100644 operations/projections/isea.html create mode 100644 operations/projections/kav5.html create mode 100644 operations/projections/kav7.html create mode 100644 operations/projections/krovak.html create mode 100644 operations/projections/labrd.html create mode 100644 operations/projections/laea.html create mode 100644 operations/projections/lagrng.html create mode 100644 operations/projections/larr.html create mode 100644 operations/projections/lask.html create mode 100644 operations/projections/lcc.html create mode 100644 operations/projections/lcca.html create mode 100644 operations/projections/leac.html create mode 100644 operations/projections/lee_os.html create mode 100644 operations/projections/loxim.html create mode 100644 operations/projections/lsat.html create mode 100644 operations/projections/mbt_fps.html create mode 100644 operations/projections/mbt_s.html create mode 100644 operations/projections/mbtfpp.html create mode 100644 operations/projections/mbtfpq.html create mode 100644 operations/projections/mbtfps.html create mode 100644 operations/projections/merc.html create mode 100644 operations/projections/mil_os.html create mode 100644 operations/projections/mill.html create mode 100644 operations/projections/misrsom.html create mode 100644 operations/projections/moll.html create mode 100644 operations/projections/murd1.html create mode 100644 operations/projections/murd2.html create mode 100644 operations/projections/murd3.html create mode 100644 operations/projections/natearth.html create mode 100644 operations/projections/natearth2.html create mode 100644 operations/projections/nell.html create mode 100644 operations/projections/nell_h.html create mode 100644 operations/projections/nicol.html create mode 100644 operations/projections/nsper.html create mode 100644 operations/projections/nzmg.html create mode 100644 operations/projections/ob_tran.html create mode 100644 operations/projections/ocea.html create mode 100644 operations/projections/oea.html create mode 100644 operations/projections/omerc.html create mode 100644 operations/projections/ortel.html create mode 100644 operations/projections/ortho.html create mode 100644 operations/projections/patterson.html create mode 100644 operations/projections/pconic.html create mode 100644 operations/projections/peirce_q.html create mode 100644 operations/projections/poly.html create mode 100644 operations/projections/putp1.html create mode 100644 operations/projections/putp2.html create mode 100644 operations/projections/putp3.html create mode 100644 operations/projections/putp3p.html create mode 100644 operations/projections/putp4p.html create mode 100644 operations/projections/putp5.html create mode 100644 operations/projections/putp5p.html create mode 100644 operations/projections/putp6.html create mode 100644 operations/projections/putp6p.html create mode 100644 operations/projections/qsc.html create mode 100644 operations/projections/qua_aut.html create mode 100644 operations/projections/rhealpix.html create mode 100644 operations/projections/robin.html create mode 100644 operations/projections/rouss.html create mode 100644 operations/projections/rpoly.html create mode 100644 operations/projections/s2.html create mode 100644 operations/projections/sch.html create mode 100644 operations/projections/sinu.html create mode 100644 operations/projections/somerc.html create mode 100644 operations/projections/stere.html create mode 100644 operations/projections/sterea.html create mode 100644 operations/projections/tcc.html create mode 100644 operations/projections/tcea.html create mode 100644 operations/projections/times.html create mode 100644 operations/projections/tissot.html create mode 100644 operations/projections/tmerc.html create mode 100644 operations/projections/tobmerc.html create mode 100644 operations/projections/tpeqd.html create mode 100644 operations/projections/tpers.html create mode 100644 operations/projections/ups.html create mode 100644 operations/projections/urm5.html create mode 100644 operations/projections/urmfps.html create mode 100644 operations/projections/utm.html create mode 100644 operations/projections/vandg.html create mode 100644 operations/projections/vandg2.html create mode 100644 operations/projections/vandg3.html create mode 100644 operations/projections/vandg4.html create mode 100644 operations/projections/vitk1.html create mode 100644 operations/projections/wag1.html create mode 100644 operations/projections/wag2.html create mode 100644 operations/projections/wag3.html create mode 100644 operations/projections/wag4.html create mode 100644 operations/projections/wag5.html create mode 100644 operations/projections/wag6.html create mode 100644 operations/projections/wag7.html create mode 100644 operations/projections/webmerc.html create mode 100644 operations/projections/weren.html create mode 100644 operations/projections/wink1.html create mode 100644 operations/projections/wink2.html create mode 100644 operations/projections/wintri.html create mode 100644 operations/transformations/affine.html create mode 100644 operations/transformations/defmodel.html create mode 100644 operations/transformations/deformation.html create mode 100644 operations/transformations/geogoffset.html create mode 100644 operations/transformations/helmert.html create mode 100644 operations/transformations/hgridshift.html create mode 100644 operations/transformations/horner.html create mode 100644 operations/transformations/index.html create mode 100644 operations/transformations/molobadekas.html create mode 100644 operations/transformations/molodensky.html create mode 100644 operations/transformations/tinshift.html create mode 100644 operations/transformations/vgridshift.html create mode 100644 operations/transformations/xyzgridshift.html (limited to 'operations') diff --git a/operations/conversions/axisswap.html b/operations/conversions/axisswap.html new file mode 100644 index 00000000..ada19f35 --- /dev/null +++ b/operations/conversions/axisswap.html @@ -0,0 +1,214 @@ + + + + + + + Axis swap — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Axis swap

+
+

New in version 5.0.0.

+
+

Change the order and sign of 2,3 or 4 axes.

+ ++++ + + + + + + + + + + + + + + +

Alias

axisswap

Domain

2D, 3D or 4D

Input type

Any

Output type

Any

+

Each of the possible four axes are numbered with 1–4, such that the first input axis +is 1, the second is 2 and so on. The output ordering is controlled by a list of the +input axes re-ordered to the new mapping.

+
+

Usage

+

Reversing the order of the axes:

+
+proj=axisswap +order=4,3,2,1
+
+
+

Swapping the first two axes (x and y):

+
+proj=axisswap +order=2,1,3,4
+
+
+

The direction, or sign, of an axis can be changed by adding a minus in +front of the axis-number:

+
+proj=axisswap +order=1,-2,3,4
+
+
+

It is only necessary to specify the axes that are affected by the swap +operation:

+
+proj=axisswap +order=2,1
+
+
+
+
+

Parameters

+
+
++order=<list>
+

Ordered comma-separated list of axis, e.g. +order=2,1,3,4. +Adding a minus in front of an axis number results in a change of direction +for that axis, e.g. southward instead of northward.

+

Required.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/conversions/cart.html b/operations/conversions/cart.html new file mode 100644 index 00000000..080354e4 --- /dev/null +++ b/operations/conversions/cart.html @@ -0,0 +1,203 @@ + + + + + + + Geodetic to cartesian conversion — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Geodetic to cartesian conversion

+
+

New in version 5.0.0.

+
+

Convert geodetic coordinates to cartesian coordinates (in the forward path).

+ ++++ + + + + + + + + + + + + + + +

Alias

cart

Domain

3D

Input type

Geodetic coordinates

Output type

Geocentric cartesian coordinates

+

This conversion converts geodetic coordinate values (longitude, latitude, +elevation above ellipsoid) to their geocentric (X, Y, Z) representation, where +the first axis (X) points from the Earth centre to the point of longitude=0, +latitude=0, the second axis (Y) points from the Earth centre to the point of +longitude=90, latitude=0 and the third axis (Z) points to the North pole.

+
+

Usage

+

Convert geodetic coordinates to GRS80 cartesian coordinates:

+
echo 17.7562015132 45.3935192042 133.12 2017.8 | cct +proj=cart +ellps=GRS80
+4272922.1553   1368283.0597  4518261.3501     2017.8000
+
+
+
+
+

Parameters

+
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/conversions/geoc.html b/operations/conversions/geoc.html new file mode 100644 index 00000000..5cb5b976 --- /dev/null +++ b/operations/conversions/geoc.html @@ -0,0 +1,230 @@ + + + + + + + Geocentric Latitude — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Geocentric Latitude

+
+

New in version 5.0.0.

+
+

Convert from Geodetic Latitude to Geocentric Latitude (in the forward path).

+ ++++ + + + + + + + + + + + + + + +

Alias

geoc

Domain

2D

Input type

Geodetic coordinates

Output type

Geocentric angular coordinates

+

The geodetic (or geographic) latitude (also called planetographic latitude +in the context of non-Earth bodies) is the angle between the equatorial plane +and the normal (vertical) to the ellipsoid surface at the considered point. +The geodetic latitude is what is normally used everywhere in PROJ when angular +coordinates are expected or produced.

+

The geocentric latitude (also called planetocentric latitude in the context of +non-Earth bodies) is the angle between the equatorial plane and a line joining +the body centre to the considered point.

+Geocentric latitude +
+

Note

+

This conversion must be distinguished from the Geodetic to cartesian conversion +which converts geodetic coordinates to geocentric coordinates in the cartesian +domain.

+
+
+

Mathematical definition

+

The formulas describing the conversion are taken from [Snyder1987] +(equation 3-28)

+

Let \(\phi'\) to be the geocentric latitude and \(\phi\) the +geodetic latitude, then

+
+\[\phi' = \arctan \left[ (1 - e^2) \tan \left( \phi \right) \right]\]
+

The geocentric latitude is consequently lesser (in absolute value) than the geodetic +latitude, except at the equator and the poles where they are equal.

+

On a sphere, they are always equal.

+
+
+

Usage

+

Converting from geodetic latitude to geocentric latitude:

+
+proj=geoc +ellps=GRS80
+
+
+

Converting from geocentric latitude to geodetic latitude:

+
+proj=pipeline +step +proj=geoc +inv +ellps=GRS80
+
+
+
+
+

Parameters

+
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/conversions/index.html b/operations/conversions/index.html new file mode 100644 index 00000000..eea9c43f --- /dev/null +++ b/operations/conversions/index.html @@ -0,0 +1,166 @@ + + + + + + + Conversions — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Conversions

+

Conversions are coordinate operations in which both coordinate reference systems +are based on the same datum. In PROJ projections are differentiated from +conversions.

+ +
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/conversions/latlon.html b/operations/conversions/latlon.html new file mode 100644 index 00000000..764c686c --- /dev/null +++ b/operations/conversions/latlon.html @@ -0,0 +1,214 @@ + + + + + + + Lat/long (Geodetic alias) — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Lat/long (Geodetic alias)

+

Passes geodetic coordinates through unchanged.

+ ++++ + + + + + + + + + + + + + + +

Aliases

latlon, latlong, lonlat, longlat

Domain

2D

Input type

Geodetic coordinates

Output type

Geodetic coordinates

+
+

Note

+

Can not be used with the proj application.

+
+
+

Parameters

+

No parameters will affect the output of the operation if used on it’s own. +However, the parameters below can be used in a declarative manner when used with +cs2cs or in a transformation pipeline .

+
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++datum=<value>
+

Declare the datum used with the coordinates. Available options are: +WGS84, GGRS87, NAD38, NAD27, potsdam, carthage, +hermannskogel, ire65, nzgd49, OSGB336.

+
+

Note

+

The +datum option is primarily available to support the legacy +use of PROJ.4 strings as CRS descriptors and should in most cases +be avoided.

+
+
+ +
+
++towgs84=<list>
+

A list of three or seven Helmert parameters that maps +the input coordinates to the WGS84 datum.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/conversions/noop.html b/operations/conversions/noop.html new file mode 100644 index 00000000..40c602ae --- /dev/null +++ b/operations/conversions/noop.html @@ -0,0 +1,181 @@ + + + + + + + No operation — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

No operation

+
+

New in version 6.1.0.

+
+

Pass a coordinate through unchanged.

+ ++++ + + + + + + + + + + + + + + +

Alias

noop

Domain

4D

Input type

Any

Output type

Any

+

The no operation is a dummy operation that returns whatever is passed to it +as seen in this example:

+
$ echo 12 34 56 78 | cct +proj=noop
+  12.0000        34.0000       56.0000       78.0000
+
+
+

The operation has no options and default options will not affect the output.

+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/conversions/pop.html b/operations/conversions/pop.html new file mode 100644 index 00000000..dc8680d5 --- /dev/null +++ b/operations/conversions/pop.html @@ -0,0 +1,255 @@ + + + + + + + Pop coordinate value to pipeline stack — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Pop coordinate value to pipeline stack

+
+

New in version 6.0.0.

+
+

Retrieve components of a coordinate that was saved in a previous pipeline step.

+ ++++ + + + + + + + + + + + + + + +

Alias

pop

Domain

4D

Input type

Any

Output type

Any

+

This operations makes it possible to retrieve coordinate components that was +saved in previous pipeline steps. A retrieved coordinate component is loaded, +or popped, from a memory stack that is part of a pipeline. +The pipeline coordinate stack is inspired by the stack data structure that is +commonly used in computer science. There’s four stacks available: One four each +coordinate dimension. The dimensions, or coordinate components, are numbered +1–4. It is only possible to move data to and from the stack within the same +coordinate component number. Values can be saved to the stack by using the +push operation.

+

If the pop operation is used by itself, e.g. not in a pipeline, it will +function as a no-operation that passes the coordinate through unchanged. +Similarly, if no coordinate component is available on the stack to be popped +the operation does nothing.

+
+

Examples

+

A common use of the push and pop operations is in 3D +Helmert transformations where only the horizontal components +are needed. This is often the case when combining heights from a legacy +vertical reference with a modern geocentric reference. Below is a an example of +such a transformation, where the horizontal part is transformed with a Helmert +operation but the vertical part is kept exactly as the input was.

+
$ echo 12 56 12.3 2020 | cct +proj=pipeline  \
++step +proj=push +v_3                        \
++step +proj=cart +ellps=GRS80                \
++step +proj=helmert +x=3000 +y=1000 +z=2000  \
++step +proj=cart +ellps=GRS80 +inv           \
++step +proj=pop +v_3                         \
+
+ 12.0056753463   55.9866540552       12.3000     2000.0000
+
+
+

Note that the third coordinate component in the output is the same as the input.

+

The same transformation without the push and pop operations would look like this:

+
$ echo 12 56 12.3 2020 | cct +proj=pipeline  \
++step +proj=cart +ellps=GRS80                \
++step +proj=helmert +x=3000 +y=1000 +z=2000  \
++step +proj=cart +ellps=GRS80 +inv           \
+
+      12.0057        55.9867     3427.7404     2000.0000
+
+
+

Here the vertical component is adjusted significantly.

+
+
+

Parameters

+
+
++v_1
+

Retrieves the first coordinate component from the pipeline stack

+
+ +
+
++v_2
+

Retrieves the second coordinate component from the pipeline stack

+
+ +
+
++v_3
+

Retrieves the third coordinate component from the pipeline stack

+
+ +
+
++v_4
+

Retrieves the fourth coordinate component from the pipeline stack

+
+ +
+
+

Further reading

+
    +
  1. Stack data structure on Wikipedia

  2. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/conversions/push.html b/operations/conversions/push.html new file mode 100644 index 00000000..a31a2565 --- /dev/null +++ b/operations/conversions/push.html @@ -0,0 +1,254 @@ + + + + + + + Push coordinate value to pipeline stack — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Push coordinate value to pipeline stack

+
+

New in version 6.0.0.

+
+

Save components of a coordinate from one step of a pipeline and make it +available for retrieving in another pipeline step.

+ ++++ + + + + + + + + + + + + + + +

Alias

push

Domain

4D

Input type

Any

Output type

Any

+

This operations allows for components of coordinates to be saved for +application in a later step. A saved coordinate component is moved, or +pushed, to a memory stack that is part of a pipeline. The +pipeline coordinate stack is inspired by the stack data structure that is +commonly used in computer science. There’s four stacks available: One four each +coordinate dimension. The dimensions, or coordinate components, are numbered +1–4. It is only possible to move data to and from the stack within the same +coordinate component number. Values can be moved off the stack again by using +the pop operation.

+

If the push operation is used by itself, e.g. not in a pipeline, it will +function as a no-operation that passes the coordinate through unchanged.

+
+

Examples

+

A common use of the push and pop operations is in 3D +Helmert transformations where only the horizontal components +are needed. This is often the case when combining heights from a legacy +vertical reference with a modern geocentric reference. Below is a an example of +such a transformation, where the horizontal part is transformed with a Helmert +operation but the vertical part is kept exactly as the input was.

+
$ echo 12 56 12.3 2020 | cct +proj=pipeline  \
++step +proj=push +v_3                        \
++step +proj=cart +ellps=GRS80                \
++step +proj=helmert +x=3000 +y=1000 +z=2000  \
++step +proj=cart +ellps=GRS80 +inv           \
++step +proj=pop +v_3                         \
+
+ 12.0056753463   55.9866540552       12.3000     2000.0000
+
+
+

Note that the third coordinate component in the output is the same as the input.

+

The same transformation without the push and pop operations would look like this:

+
$ echo 12 56 12.3 2020 | cct +proj=pipeline  \
++step +proj=cart +ellps=GRS80                \
++step +proj=helmert +x=3000 +y=1000 +z=2000  \
++step +proj=cart +ellps=GRS80 +inv           \
+
+      12.0057        55.9867     3427.7404     2000.0000
+
+
+

Here the vertical component is adjusted significantly.

+
+
+

Parameters

+
+
++v_1
+

Stores the first coordinate component on the pipeline stack

+
+ +
+
++v_2
+

Stores the second coordinate component on the pipeline stack

+
+ +
+
++v_3
+

Stores the third coordinate component on the pipeline stack

+
+ +
+
++v_4
+

Stores the fourth coordinate component on the pipeline stack

+
+ +
+
+

Further reading

+
    +
  1. Stack data structure on Wikipedia

  2. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/conversions/set.html b/operations/conversions/set.html new file mode 100644 index 00000000..07760e66 --- /dev/null +++ b/operations/conversions/set.html @@ -0,0 +1,238 @@ + + + + + + + Set coordinate value — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Set coordinate value

+
+

New in version 7.0.0.

+
+

Set component(s) of a coordinate to a fixed value.

+ ++++ + + + + + + + + + + + + + + +

Alias

set

Domain

4D

Input type

Any

Output type

Any

+

This operations allows for components of coordinates to be set to a fixed value. +This may be useful in pipeline when a step requires some +component, typically an elevation or a date, to be set to a fixed value.

+
+

Example

+

In the ETRS89 to Dutch RD with NAP height transformation, the used ellipsoidal +height for the Helmert transformation is not the NAP height, but the height is +set to 0 m. This is an unconventional trick to get the same results as when the +effect of the Helmert transformation is included in the horizontal NTv2 grid. +For the forward transformation from ETRS89 to RD with NAP height, we need to set +the ellipsoidal ETRS89 height for the Helmert transformation to the equivalent +of 0 m NAP. This is 43 m for the centre of the Netherlands and this value can +be used as an approximation elsewhere (the effect of this approximation is +below 1 mm for the horizontal coordinates, in an area up to hundreds of km +outside the Netherlands).

+

The +proj=set +v_3=0 close to the end of the pipeline is to make it usable in +the reverse direction.

+
$ cct -t 0 -d 4 +proj=pipeline \
+     +step +proj=unitconvert +xy_in=deg +xy_out=rad \
+     +step +proj=axisswap +order=2,1 \
+     +step +proj=vgridshift +grids=nlgeo2018.gtx \
+     +step +proj=push +v_3 \
+     +step +proj=set +v_3=43 \
+     +step +proj=cart +ellps=GRS80 \
+     +step +proj=helmert +x=-565.7346 +y=-50.4058 +z=-465.2895 +rx=-0.395023 +ry=0.330776 +rz=-1.876073 +s=-4.07242 +convention=coordinate_frame +exact \
+     +step +proj=cart +inv +ellps=bessel \
+     +step +proj=hgridshift +inv +grids=rdcorr2018.gsb,null \
+     +step +proj=sterea +lat_0=52.156160556 +lon_0=5.387638889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel \
+     +step +proj=set +v_3=0 \
+     +step +proj=pop +v_3
+
+
+
+
+

Parameters

+
+
++v_1=value
+

Set the first coordinate component to the specified value

+
+ +
+
++v_2=value
+

Set the second coordinate component to the specified value

+
+ +
+
++v_3=value
+

Set the third coordinate component to the specified value

+
+ +
+
++v_4=value
+

Set the fourth coordinate component to the specified value

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/conversions/topocentric.html b/operations/conversions/topocentric.html new file mode 100644 index 00000000..f1027efa --- /dev/null +++ b/operations/conversions/topocentric.html @@ -0,0 +1,279 @@ + + + + + + + Geocentric to topocentric conversion — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Geocentric to topocentric conversion

+
+

New in version 8.0.0.

+
+

Convert geocentric coordinates to topocentric coordinates (in the forward path).

+ ++++ + + + + + + + + + + + + + + +

Alias

topocentric

Domain

3D

Input type

Geocentric cartesian coordinates

Output type

Topocentric cartesian coordinates

+

This operation converts geocentric coordinate values (X, Y, Z) to topocentric +(E/East, N/North, U/Up) values. This is also sometimes known as the ECEF (Earth +Centered Earth Fixed) to ENU conversion.

+

Topocentric coordinates are expressed in a frame whose East and North axis form +a local tangent plane to the Earth’s ellipsoidal surface fixed to a specific +location (the topocentric origin), and the Up axis points upwards along the +normal to that plane.

+ENU coordinate frame +

The topocentric origin is a required parameter of the conversion, and can be +expressed either as geocentric coordinates (X_0, Y_0 and Z_0) or +as geographic coordinates (lat_0, lon_0, h_0).

+

When conversion between geographic and topocentric coordinates is desired, the +topocentric conversion must be preceded by the Geodetic to cartesian conversion conversion to +perform the initial geographic to geocentric coordinates conversion.

+

The formulas used come from the “Geocentric/topocentric conversions” paragraph +of [IOGP2018]. +proj=topocentric alone corresponds to the EPSG:9836 +conversion method, +proj=cart followed by +proj=topocentric corresponds +to EPSG:9837.

+
+

Usage

+

Convert geocentric coordinates to topocentric coordinates, with the topocentric +origin specified in geocentric coordinates:

+
echo 3771793.968 140253.342 5124304.349 2020 | \
+    cct -d 3 +proj=topocentric +ellps=WGS84 +X_0=3652755.3058 +Y_0=319574.6799 +Z_0=5201547.3536
+
+-189013.869    -128642.040     -4220.171     2020.0000
+
+
+

Convert geographic coordinates to topocentric coordinates, with the topocentric +origin specified in geographic coordinates:

+
echo 2.12955 53.80939444 73 2020 | cct -d 3 +proj=pipeline \
+    +step +proj=cart +ellps=WGS84 \
+    +step +proj=topocentric +ellps=WGS84 +lon_0=5 +lat_0=55 +h_0=200
+
+-189013.869    -128642.040     -4220.171     2020.0000
+
+
+
+
+

Parameters

+
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+

Topocentric origin described as geocentric coordinates

+
+

Note

+

The below options are mutually exclusive with the ones to express the origin as geographic coordinates.

+
+
+
++X_0=<value>
+

Geocentric X value of the topocentric origin (in metre)

+
+ +
+
++Y_0=<value>
+

Geocentric Y value of the topocentric origin (in metre)

+
+ +
+
++Z_0=<value>
+

Geocentric Z value of the topocentric origin (in metre)

+
+ +
+
+

Topocentric origin described as geographic coordinates

+
+

Note

+

The below options are mutually exclusive with the ones to express the origin as geocentric coordinates.

+
+
+
++lat_0=<value>
+

Latitude of topocentric origin (in degree)

+
+ +
+
++lon_0=<value>
+

Longitude of topocentric origin (in degree)

+
+ +
+
++h_0=<value>
+

Ellipsoidal height of topocentric origin (in metre)

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/conversions/unitconvert.html b/operations/conversions/unitconvert.html new file mode 100644 index 00000000..52c618ae --- /dev/null +++ b/operations/conversions/unitconvert.html @@ -0,0 +1,401 @@ + + + + + + + Unit conversion — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Unit conversion

+
+

New in version 5.0.0.

+
+

Convert between various distance, angular and time units.

+ ++++ + + + + + + + + + + + + + + +

Alias

unitconvert

Domain

2D, 3D or 4D

Input type

Any

Output type

Any

+

There are many examples of coordinate reference systems that are expressed in +other units than the meter. There are also many cases where temporal data +has to be translated to different units. The unitconvert operation takes care +of that.

+

Many North American systems are defined with coordinates in feet. For example +in Vermont:

+
+proj=pipeline
++step +proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k_0=0.999964286 +x_0=500000.00001016 +y_0=0
++step +proj=unitconvert +xy_in=m +xy_out=us-ft
+
+
+

Often when working with GNSS data the timestamps are presented in GPS-weeks, +but when the data transformed with the helmert operation timestamps are +expected to be in units of decimalyears. This can be fixed with unitconvert:

+
+proj=pipeline
++step +proj=unitconvert +t_in=gps_week +t_out=decimalyear
++step +proj=helmert +epoch=2000.0 +t_obs=2017.5 ...
+
+
+
+

Parameters

+
+
++xy_in=<unit> or <conversion_factor>
+

Horizontal input units. See Distance units and Angular units +for a list of available units. <conversion_factor> is the conversion factor +from the input unit to metre for linear units, or to radian for angular +units.

+
+ +
+
++xy_out=<unit> or <conversion_factor>
+

Horizontal output units. See Distance units and Angular units +for a list of available units. <conversion_factor> is the conversion factor +from the output unit to metre for linear units, or to radian for angular +units.

+
+ +
+
++z_in=<unit> or <conversion_factor>
+

Vertical output units. See Distance units and Angular units +for a list of available units. <conversion_factor> is the conversion factor +from the input unit to metre for linear units, or to radian for angular +units.

+
+ +
+
++z_out=<unit> or <conversion_factor>
+

Vertical output units. See Distance units and Angular units +for a list of available units. <conversion_factor> is the conversion factor +from the output unit to metre for linear units, or to radian for angular +units.

+
+ +
+
++t_in=<unit>
+

Temporal input units. See Time units for a list of available units.

+
+ +
+
++t_out=<unit>
+

Temporal output units. See Time units for a list of available units.

+
+ +
+
+

Distance units

+

In the table below all distance units supported by PROJ are listed. +The same list can also be produced on the command line with proj or +cs2cs, by adding the -lu flag when calling the utility.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Label

Name

km

Kilometer

m

Meter

dm

Decimeter

cm

Centimeter

mm

Millimeter

kmi

International Nautical Mile

in

International Inch

ft

International Foot

yd

International Yard

mi

International Statute Mile

fath

International Fathom

ch

International Chain

link

International Link

us-in

U.S. Surveyor’s Inch

us-ft

U.S. Surveyor’s Foot

us-yd

U.S. Surveyor’s Yard

us-ch

U.S. Surveyor’s Chain

us-mi

U.S. Surveyor’s Statute Mile

ind-yd

Indian Yard

ind-ft

Indian Foot

ind-ch

Indian Chain

+
+
+

Angular units

+
+

New in version 5.2.0.

+
+

In the table below all angular units supported by PROJ unitconvert are listed.

+ ++++ + + + + + + + + + + + + + + + + +

Label

Name

deg

Degree

grad

Grad

rad

Radian

+
+
+

Time units

+

In the table below all time units supported by PROJ are listed.

+
+
+

Note

+

When converting time units from a date-only format (yyyymmdd), PROJ +assumes a time value of 00:00 midnight. When converting time units +to a date-only format, PROJ rounds to the nearest date at 00:00 +midnight. That is, any time values less than 12:00 noon will round to +00:00 on the same day. Time values greater than or equal to 12:00 noon +will round to 00:00 on the following day.

+
+
+ ++++ + + + + + + + + + + + + + + + + + + + +

Label

Name

mjd

Modified Julian date

decimalyear

Decimal year

gps_week

GPS Week

yyyymmdd

Date in yyyymmdd format

+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/index.html b/operations/index.html new file mode 100644 index 00000000..36a0f6f7 --- /dev/null +++ b/operations/index.html @@ -0,0 +1,152 @@ + + + + + + + Coordinate operations — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Coordinate operations

+

Coordinate operations in PROJ are divided into three groups: +Projections, conversions and transformations. +Projections are purely cartographic mappings of the sphere onto the plane. +Technically projections are conversions (according to ISO standards), though in +PROJ projections are distinguished from conversions. Conversions are coordinate +operations that do not exert a change in reference frame. Operations that do +exert a change in reference frame are called transformations.

+ +
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/operations_computation.html b/operations/operations_computation.html new file mode 100644 index 00000000..3ab5848c --- /dev/null +++ b/operations/operations_computation.html @@ -0,0 +1,875 @@ + + + + + + + Computation of coordinate operations between two CRS — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Computation of coordinate operations between two CRS

+
+
Author
+

Even Rouault

+
+
Last Updated
+

2021-02-10

+
+
+
+

Introduction

+

When using projinfo -s {crs_def} -t {crs_def}, +cs2cs {crs_def} {crs_def} or the underlying +proj_create_crs_to_crs() or proj_create_operations() functions, +PROJ applies an algorithm to compute one or several candidate coordinate operations, +that can be expressed as a PROJ pipeline to transform between the source +and the target CRS. This document is about the description of this algorithm that +finds the actual operations to apply to be able later to perform transform coordinates. +So this is mostly about metadata management around coordinate operation methods, +and not about the actual mathematics used to implement those methods. +As a matter of fact with PROJ 6, there are about 60 000 +lines of code dealing with “metadata” management (including conversions between PROJ +strings, all CRS WKT variants), to be compared to 30 000 for the purely computation part.

+

This document is meant as a plain text explanation of the code for developers, +but also as a in-depth examination of what happens under the hood for curious PROJ +users. It is important to keep in mind that it is not meant to be the ultimate +source of truth of how coordinate operations should be computed. There are clearly +implementation choices and compromises that can be questioned.

+

Let us start with an example to research operations between the NAD27 and NAD83 +geographic CRS:

+
$ projinfo -s NAD27 -t NAD83 --summary --spatial-test intersects --grid-check none
+
+Candidate operations found: 10
+DERIVED_FROM(EPSG):1312, NAD27 to NAD83 (3), 1.0 m, Canada
+DERIVED_FROM(EPSG):1313, NAD27 to NAD83 (4), 1.5 m, Canada - NAD27, at least one grid missing
+DERIVED_FROM(EPSG):1241, NAD27 to NAD83 (1), 0.15 m, USA - CONUS including EEZ
+DERIVED_FROM(EPSG):1243, NAD27 to NAD83 (2), 0.5 m, USA - Alaska including EEZ
+DERIVED_FROM(EPSG):1573, NAD27 to NAD83 (6), 1.5 m, Canada - Quebec, at least one grid missing
+EPSG:1462, NAD27 to NAD83 (5), 1.0 m, Canada - Quebec, at least one grid missing
+EPSG:9111, NAD27 to NAD83 (9), 1.5 m, Canada - Saskatchewan, at least one grid missing
+unknown id, Ballpark geographic offset from NAD27 to NAD83, unknown accuracy, World, has ballpark transformation
+EPSG:8555, NAD27 to NAD83 (7), 0.15 m, USA - CONUS and GoM, at least one grid missing
+EPSG:8549, NAD27 to NAD83 (8), 0.5 m, USA - Alaska, at least one grid missing
+
+
+

The algorithm involves many cases, so we will progress in the explanation from +the most simple case to more complex ones. We document here the working of this +algorithm as implemented in PROJ 8.0.0. +The results of some examples might also be quite sensitive to the content of the +PROJ database and the PROJ version used.

+

From a code point of view, the entry point of the algorithm is the C++ +osgeo::proj::operation::CoordinateOperation::createOperations() method.

+

It combines several strategies:

+
+
    +
  • look up in the PROJ database for available operations

  • +
  • consider the pair (source CRS, target CRS) to synthetize operations depending +on the nature of the source and target CRS.

  • +
+
+
+
+

Geographic CRS to Geographic CRS, with known identifiers

+

With the above example of two geographic CRS, that have an identified identifier, +(projinfo internally resolves NAD27 to EPSG:4267 and NAD83 to EPSG:4269) +the algorithm will first search +in the coordinate operation related tables of the proj.db if there are records +that list direct transformations between the source and the target CRS. The +transformations typically involve Helmert-style operations or datum shift based on +grids (more esoteric operations are possible).

+

A request similar to the following will be emitted:

+
$ sqlite3 proj.db "SELECT auth_name, code, name, method_name, accuracy FROM \
+                   coordinate_operation_view WHERE \
+                   source_crs_auth_name = 'EPSG' AND \
+                   source_crs_code = '4267' AND \
+                   target_crs_auth_name = 'EPSG' AND \
+                   target_crs_code = '4269'"
+
+EPSG|1241|NAD27 to NAD83 (1)|NADCON|0.15
+EPSG|1243|NAD27 to NAD83 (2)|NADCON|0.5
+EPSG|1312|NAD27 to NAD83 (3)|NTv1|1.0
+EPSG|1313|NAD27 to NAD83 (4)|NTv2|1.5
+EPSG|1462|NAD27 to NAD83 (5)|NTv1|1.0
+EPSG|1573|NAD27 to NAD83 (6)|NTv2|1.5
+EPSG|8549|NAD27 to NAD83 (8)|NADCON5 (2D)|0.5
+EPSG|8555|NAD27 to NAD83 (7)|NADCON5 (2D)|0.15
+EPSG|9111|NAD27 to NAD83 (9)|NTv2|1.5
+ESRI|108003|NAD_1927_To_NAD_1983_PR_VI|NTv2|0.05
+
+
+

As we have found direct transformations, we will not attempt any more complicated +research. +One can note in the above result set that a ESRI:108003 operation was found, +but as the source and target CRS are in the EPSG registry, and there are +operations between those CRS in the EPSG registry itself, transformations from +other authorities will be ignored (except if they are in the PROJ authority, +which can be used as an override).

+

As those results all involve operations that does not have a perfect accuracy and that +does not cover the area of use of the 2 CRSs, a +‘Ballpark geographic offset from NAD27 to NAD83’ operation is synthetized by PROJ +(see Ballpark transformation)

+
+
+

Filtering and sorting of coordinate operations

+

The last step is to filter and sort results in order of relevance.

+

The filtering takes into account the following criteria to decide which operations +must be retained or discarded:

+
    +
  • a minimum accuracy that the user might have expressed,

  • +
  • an area of use on which the coordinate operation(s) must apply

  • +
  • if the absence of grids needed by an operation must result in discarding it.

  • +
+

The sorting algorithm determines the order of relevance of the operations we got. +A comparison function compares pair of operations to determine which of the +two is the most relevant. This is implemented by the operator () +method of the SortFunction structure. +When comparing two operations, the following criteria are used. The tests are +performed in the order they are listed below:

+
    +
  1. consider as more relevant an operation that can be expressed as a PROJ operation string +(the database might list operations whose method is not (yet) implemented by PROJ)

  2. +
  3. if both operations evaluate identically with respect to the above criterion, +consider as more relevant an operation that does not include a synthetic +ballpark vertical transformation (occurs when there is a geoid model).

  4. +
  5. if both operations evaluate identically with respect to the above criterion, +consider as more relevant an operation that does not include a synthetic +ballpark horizontal transformation.

  6. +
  7. consider as more relevant an operation that refers to shift grids that are locally available.

  8. +
  9. consider as more relevant an operation that refers to grids that are available +in one of the proj-datumgrid packages, but not necessarily locally available

  10. +
  11. consider as more relevant an operation that has a known accuracy.

  12. +
  13. if two operations have unknown accuracy, consider as more relevant an operation +that uses grid(s) if the other one does not (grid based operations are assumed +to be more precise than operations relying on a few parameters)

  14. +
  15. consider as more relevant an operation whose area of use is larger +(note: the computation of the are of use is approximate, based on a bounding box)

  16. +
  17. consider as more relevant an operation that has a better accuracy.

  18. +
  19. in case of same accuracy, consider as more relevant an operation that does +not use grids (operations that use only parameters will be faster)

  20. +
  21. consider as more relevant an operation that involves less transformation steps +(transformation steps considered are the ones listed in the WKT output, not PROJ pipeline steps)

  22. +
  23. and for completeness, if two operations are comparable given all the above criteria, +consider as more relevant the one which has the shorter name, and if they +have the same length, consider as more relevant the one whose name comes last in +lexicographic order (e.g. “FOO to BAR (3)” will have higher precedence than +“FOO to BAR (2)”)

  24. +
+
+

Note

+

proj_trans(), on the results returned by proj_create_crs_to_crs(), +will not necessarily use the operation that +is listed in first position due to the above algorithm. proj_trans() +has more context, since it has the coordinate to transform, so it can compare +this coordinate to the area of use of operations. Typically, the above criteria +will favor an operation that has a larger area of use over another one with a +smaller area, due to it being more generally applicable. But once coordinates are known, +proj_trans() can select an operation with a smaller +area of use that applies to the coordinate to transform.

+
+
+
+

Geodetic/geographic CRS to Geodetic/geographic CRS, without known identifiers

+

In a number of situations, the source and/or target CRS do not have an identifier +(WKT without identifier, PROJ string, ..) +The first step is to try to find in the proj.db a CRS of the same nature of +the CRS to identify and whose name exactly matches the one provided to the +createOperations() method. If there is exactly one match and that the CRS are +“computationally” equivalent, then use the code of the CRS for further computations.

+

If this search did not succeed, or if the previous case with known CRS identifiers +did not result in matches in the database, the search will be based on the +datums. That is, a list of geographic CRS whose datum matches the datum of the +source and target CRS is searched for in the database (by querying the geodetic_crs +database table). If the datum has a known +identifier, we will use it, otherwise we will look for an equivalent datum in the +database based on the datum name.

+

Let’s consider the case where the datum of the source CRS is EPSG:6171 “Reseau +Geodesique Francais 1993” and the datum of the target CRS is EPSG:6258 “European +Terrestrial Reference System 1989”. +For EPSG:6171, there are 10 matching (non-deprecated) geodetic CRSs:

+
    +
  • EPSG:4171, RGF93, geographic 2D

  • +
  • EPSG:4964, RGF93, geocentric

  • +
  • EPSG:4965, RGF93, geographic 3D

  • +
  • EPSG:7042, RGF93 (lon-lat), geographic 3D

  • +
  • EPSG:7084, RGF93 (lon-lat), geographic 2D

  • +
  • IGNF:RGF93, RGF93 cartesiennes geocentriques, geocentric

  • +
  • IGNF:RGF93GDD, RGF93 geographiques (dd),geographic 2D

  • +
  • IGNF:RGF93GEODD, RGF93 geographiques (dd), geographic 3D

  • +
  • IGNF:RGF93G, RGF93 geographiques (dms), geographic 2D

  • +
  • IGNF:RGF93GEO, RGF93 geographiques (dms), geographic 3D

  • +
+

The first three entries from the EPSG dataset are typical: for each datum, +one can define a geographic 2D CRS (latitude, longitude), a geographic 3D crs +(latitude, longitude, ellipsoidal height) and a geocentric one. For that particular +case, the EPSG dataset has also included two extra definitions corresponding to a +longitude, latitude, [ellipsoidal height] coordinate system, as found in the official +French IGNF registry. This IGNF registry has also definitions for a geographic 2D +CRS (with an extra subtlety with an entry using decimal degree as unit and another +one degree-minute-second), geographic 3D and geocentric.

+

For EPSG:6258, there are 7 matching (non-deprecated) geodetic CRSs:

+
    +
  • EPSG:4258, ETRS89, geographic 2D

  • +
  • EPSG:4936, ETRS89, geocentric

  • +
  • EPSG:4937, ETRS89, geographic 3D

  • +
  • IGNF:ETRS89, ETRS89 cartesiennes geocentriques, geocentric

  • +
  • IGNF:ETRS89G, ETRS89 geographiques (dms), geographic 2D

  • +
  • IGNF:ETRS89GEO, ETRS89 geographiques (dms), geographic 3D

  • +
  • ESRI:104129, GCS_EUREF_FIN, geographic 2D

  • +
+

So the 3 typical EPSG entries, 3 equivalent (with long, lat ordering for the +geographic CRS) and one from the ESRI registry;

+

PROJ can now test 10 x 7 different combinations of source x target CRSs, using +the database searching method explained in the previous section. As soon as +one of this combination returns at least one non-ballpark combination, the result +set coming from that combination is used. PROJ will then add before that +transformation a conversion between the source CRS and the first intermediate CRS, +and will add at the end a conversion between the second intermediate CRS and the +target CRS. Those conversions are conversion between geographic 2D and geographic 3D +CRS or geographic 2D/3D and geocentric CRS.

+

This is done by the createOperationsWithDatumPivot() method.

+

So if transforming between EPSG:7042, RGF93 (lon-lat), geographic 3D and +EPSG:4936, ETRS89, geocentric, one get the following concatenated operation, +chaining an axis order change, the null geocentric translation between +RGF93 and ETRS89 (EPSG:1591), and a conversion between geographic and geocentric +coordinates. This concatenated operation is assumed to have a perfect accuracy +as both the initial and final operations are conversions, and the middle transformation +accounts for the fact that the RGF93 datum is one realization of ETRS89, so they +are equivalent for most purposes.

+
$ projinfo -s EPSG:7042 -t EPSG:4936
+
+Candidate operations found: 1
+-------------------------------------
+Operation No. 1:
+
+unknown id, axis order change (geographic3D horizontal) + RGF93 to ETRS89 (1) + Conversion from ETRS89 (geog2D) to ETRS89 (geocentric), 0 m, France
+
+PROJ string:
++proj=pipeline +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=cart +ellps=GRS80
+
+WKT2:2019 string:
+CONCATENATEDOPERATION["axis order change (geographic3D horizontal) + RGF93 to ETRS89 (1) + Conversion from ETRS89 (geog2D) to ETRS89 (geocentric)",
+    SOURCECRS[
+        GEOGCRS["RGF93 (lon-lat)",
+            [...]
+            ID["EPSG",7042]]],
+    TARGETCRS[
+        GEODCRS["ETRS89",
+            [...]
+            ID["EPSG",4936]]],
+    STEP[
+        CONVERSION["axis order change (geographic3D horizontal)",
+            METHOD["Axis Order Reversal (Geographic3D horizontal)",
+                ID["EPSG",9844]],
+            ID["EPSG",15499]]],
+    STEP[
+        COORDINATEOPERATION["RGF93 to ETRS89 (1)",
+            [...]
+            METHOD["Geocentric translations (geog2D domain)",
+                ID["EPSG",9603]],
+            PARAMETER["X-axis translation",0,
+                LENGTHUNIT["metre",1],
+                ID["EPSG",8605]],
+            PARAMETER["Y-axis translation",0,
+                LENGTHUNIT["metre",1],
+                ID["EPSG",8606]],
+            PARAMETER["Z-axis translation",0,
+                LENGTHUNIT["metre",1],
+                ID["EPSG",8607]],
+            OPERATIONACCURACY[0.0],
+            ID["EPSG",1591],
+            REMARK["May be taken as approximate transformation RGF93 to WGS 84 - see code 1671."]]],
+    STEP[
+        CONVERSION["Conversion from ETRS89 (geog2D) to ETRS89 (geocentric)",
+            METHOD["Geographic/geocentric conversions",
+                ID["EPSG",9602]]]],
+    USAGE[
+        SCOPE["unknown"],
+        AREA["France"],
+        BBOX[41.15,-9.86,51.56,10.38]]]
+
+
+
+
+

Geodetic/geographic CRS to Geodetic/geographic CRS, without direct transformation

+

Still considering transformations between geodetic/geographic CRS, but let’s +consider that the lookup in the database for a transformation between +the source and target CRS (possibly going through the “equivalent” CRS based on +the same datum as detailed in the previous section) leads to an empty set.

+

Of course, as most operations are invertible, one first tries to do a lookup switching +the source and target CRS, and inverting the resulting operation(s):

+
$ projinfo -s NAD83 -t NAD27 --spatial-test intersects --summary
+
+Candidate operations found: 10
+INVERSE(DERIVED_FROM(EPSG)):1312, Inverse of NAD27 to NAD83 (3), 2.0 m, Canada
+INVERSE(DERIVED_FROM(EPSG)):1313, Inverse of NAD27 to NAD83 (4), 1.5 m, Canada - NAD27
+INVERSE(DERIVED_FROM(EPSG)):1241, Inverse of NAD27 to NAD83 (1), 0.15 m, USA - CONUS including EEZ
+INVERSE(DERIVED_FROM(EPSG)):1243, Inverse of NAD27 to NAD83 (2), 0.5 m, USA - Alaska including EEZ
+INVERSE(DERIVED_FROM(EPSG)):1573, Inverse of NAD27 to NAD83 (6), 1.5 m, Canada - Quebec, at least one grid missing
+INVERSE(EPSG):1462, Inverse of NAD27 to NAD83 (5), 2.0 m, Canada - Quebec, at least one grid missing
+INVERSE(EPSG):9111, Inverse of NAD27 to NAD83 (9), 1.5 m, Canada - Saskatchewan, at least one grid missing
+unknown id, Ballpark geographic offset from NAD83 to NAD27, unknown accuracy, World, has ballpark transformation
+INVERSE(EPSG):8555, Inverse of NAD27 to NAD83 (7), 0.15 m, USA - CONUS and GoM, at least one grid missing
+INVERSE(EPSG):8549, Inverse of NAD27 to NAD83 (8), 0.5 m, USA - Alaska, at least one grid missing
+
+
+

That was an easy case. Now let’s consider the transformation between the Australian +CRS AGD84 and GDA2020. There is no direct transformation from AGD84 to GDA2020, or +in the reverse direction, even when considering alternative geodetic CRS based on +the underlying datums. PROJ will then do a cross-join in the coordinate_operation_view +table to find the tuples (op1, op2) of coordinate operations such that:

+
    +
  • SOURCE_CRS = op1.source_crs AND op1.target_crs = op2.source_crs AND op2.target_crs = TARGET_CRS or

  • +
  • SOURCE_CRS = op1.source_crs AND op1.target_crs = op2.target_crs AND op2.source_crs = TARGET_CRS or

  • +
  • SOURCE_CRS = op1.target_crs AND op1.source_crs = op2.source_crs AND op2.target_crs = TARGET_CRS or

  • +
  • SOURCE_CRS = op1.target_crs AND op1.source_crs = op2.target_crs AND op2.source_crs = TARGET_CRS

  • +
+

Depending on which case is selected, op1 and op2 should be reversed, before +being concatenated.

+

This logic is implement by the findsOpsInRegistryWithIntermediate() method.

+

Assuming that the proj-datumgrid-oceania package is installed, we get the +following results for the AGD84 to GDA2020 coordinate operations lookup:

+
$ projinfo -s AGD84 -t GDA2020 --spatial-test intersects -o PROJ
+
+Candidate operations found: 4
+-------------------------------------
+Operation No. 1:
+
+unknown id, AGD84 to GDA94 (5) + GDA94 to GDA2020 (1), 0.11 m, Australia - AGD84
+
+PROJ string:
++proj=pipeline +step +proj=axisswap +order=2,1 \
+               +step +proj=unitconvert +xy_in=deg +xy_out=rad \
+               +step +proj=hgridshift +grids=National_84_02_07_01.gsb \
+               +step +proj=push +v_3 \
+               +step +proj=cart +ellps=GRS80 \
+               +step +proj=helmert +x=0.06155 +y=-0.01087 +z=-0.04019 \
+                                   +rx=-0.0394924 +ry=-0.0327221 +rz=-0.0328979 \
+                                   +s=-0.009994 +convention=coordinate_frame \
+               +step +inv +proj=cart +ellps=GRS80 \
+               +step +proj=pop +v_3 \
+               +step +proj=unitconvert +xy_in=rad +xy_out=deg \
+               +step +proj=axisswap +order=2,1
+
+-------------------------------------
+Operation No. 2:
+
+unknown id, AGD84 to GDA94 (2) + GDA94 to GDA2020 (1), 1.01 m, Australia - AGD84
+
+PROJ string:
++proj=pipeline +step +proj=axisswap +order=2,1 \
+               +step +proj=unitconvert +xy_in=deg +xy_out=rad \
+               +step +proj=push +v_3 \
+               +step +proj=cart +ellps=aust_SA \
+               +step +proj=helmert +x=-117.763 +y=-51.51 +z=139.061 \
+                                   +rx=-0.292 +ry=-0.443 +rz=-0.277 +s=-0.191 \
+                                   +convention=coordinate_frame \
+               +step +proj=helmert +x=0.06155 +y=-0.01087 +z=-0.04019 \
+                                   +rx=-0.0394924 +ry=-0.0327221 +rz=-0.0328979 \
+                                   +s=-0.009994 +convention=coordinate_frame \
+               +step +inv +proj=cart +ellps=GRS80 \
+               +step +proj=pop +v_3 \
+               +step +proj=unitconvert +xy_in=rad +xy_out=deg \
+               +step +proj=axisswap +order=2,1
+
+-------------------------------------
+Operation No. 3:
+
+unknown id, AGD84 to GDA94 (5) + GDA94 to GDA2020 (2), 0.15 m, unknown domain of validity
+
+PROJ string:
++proj=pipeline +step +proj=axisswap +order=2,1 \
+               +step +proj=unitconvert +xy_in=deg +xy_out=rad \
+               +step +proj=hgridshift +grids=National_84_02_07_01.gsb \
+               +step +proj=hgridshift +grids=GDA94_GDA2020_conformal_and_distortion.gsb \
+               +step +proj=unitconvert +xy_in=rad +xy_out=deg \
+               +step +proj=axisswap +order=2,1
+
+-------------------------------------
+Operation No. 4:
+
+unknown id, AGD84 to GDA94 (5) + GDA94 to GDA2020 (3), 0.15 m, unknown domain of validity
+
+PROJ string:
++proj=pipeline +step +proj=axisswap +order=2,1 \
+               +step +proj=unitconvert +xy_in=deg +xy_out=rad \
+               +step +proj=hgridshift +grids=National_84_02_07_01.gsb \
+               +step +proj=hgridshift +grids=GDA94_GDA2020_conformal.gsb \
+               +step +proj=unitconvert +xy_in=rad +xy_out=deg \
+               +step +proj=axisswap +order=2,1
+
+
+

One can see that the selected intermediate CRS that has been used is GDA94. +This is a completely novel behavior of PROJ 6 as opposed to the logic of PROJ.4 +where datum transformations implied using EPSG:4326 / WGS 84 has the mandatory +datum hub. PROJ 6 no longer hardcodes it as the mandatory datum hub, and relies +on the database to find the appropriate hub(s). +Actually, WGS 84 has been considered during the above lookup, because there are +transformations between AGD84 and WGS 84 and WGS 84 and GDA2020. However those +have been discarded in a step which we did not mention previously: just after +the initial filtering of results and their sorting, there is a final filtering +that is done. In the list of sorted results, given two operations A and B that +have the same area of use, if B has an accuracy lower than A, and A does not use +grids, or all the needed grids are available, then B is discarded.

+

If one forces the datum hub to be considered to be EPSG:4326, ones gets:

+
$ projinfo -s AGD84 -t GDA2020 --spatial-test intersects --pivot-crs EPSG:4326 -o PROJ
+
+Candidate operations found: 2
+-------------------------------------
+Operation No. 1:
+
+unknown id, AGD84 to WGS 84 (7) + Inverse of GDA2020 to WGS 84 (2), 4 m, Australia - AGD84
+
+PROJ string:
++proj=pipeline +step +proj=axisswap +order=2,1 \
+               +step +proj=unitconvert +xy_in=deg +xy_out=rad \
+               +step +proj=push +v_3 \
+               +step +proj=cart +ellps=aust_SA \
+               +step +proj=helmert +x=-117.763 +y=-51.51 +z=139.061 \
+                                   +rx=-0.292 +ry=-0.443 +rz=-0.277 \
+                                   +s=-0.191 +convention=coordinate_frame \
+               +step +inv +proj=cart +ellps=GRS80 \
+               +step +proj=pop +v_3 \
+               +step +proj=unitconvert +xy_in=rad +xy_out=deg \
+               +step +proj=axisswap +order=2,1
+
+-------------------------------------
+Operation No. 2:
+
+unknown id, AGD84 to WGS 84 (9) + Inverse of GDA2020 to WGS 84 (2), 4 m, Australia - AGD84
+
+PROJ string:
++proj=pipeline +step +proj=axisswap +order=2,1 \
+               +step +proj=unitconvert +xy_in=deg +xy_out=rad \
+               +step +proj=hgridshift +grids=National_84_02_07_01.gsb \
+               +step +proj=unitconvert +xy_in=rad +xy_out=deg \
+               +step +proj=axisswap +order=2,1
+
+
+

Those operations are less accurate, since WGS 84 is assumed to be equivalent to +GDA2020 with an accuracy of 4 metre. This is an instance demonstrating that using +WGS 84 as a hub systematically can be sub-optimal.

+

There are still situations where the attempt to find a hub CRS does not work, +because there is no such hub. This can occur for example when transforming from +GDA94 to the latest realization at time of writing of WGS 84, WGS 84 (G1762). +There are transformations between WGS 84 (G1762). Using the above described +techniques, we would only find one non-ballpark operation taking the route: +1. Conversion from GDA94 (geog2D) to GDA94 (geocentric): synthetized by PROJ +2. Inverse of ITRF2008 to GDA94 (1): from EPSG +3. Inverse of WGS 84 (G1762) to ITRF2008 (1): from EPSG +4. Conversion from WGS 84 (G1762) (geocentric) to WGS 84 (G1762): synthetized by PROJ

+

This is not bad, but the global validity area of use is “Australia - onshore and EEZ”, +whereas GDA94 has a larger area of use. +There is another road that can be taken by going through GDA2020 instead of ITRF2008. +The GDA94 to GDA2020 transformations operate on the respective geographic CRS, +whereas GDA2020 to WGS 84 (G1762) operate on the geocentric CRS. Consequently, +GDA2020 cannot be identifier as a hub by a “simple” self-join SQL request on +the coordinate operation table. This requires to do the join based on the datum +referenced by the source and target CRS of each operation rather than the +source and target CRS themselves. When there is a match, PROJ inserts the required +conversions between geographic and geocentric CRS to have a consistent concatenated +operation, like the following: +1. GDA94 to GDA2020 (1): from EPSG +2. Conversion from GDA2020 (geog2D) to GDA2020 (geocentric): synthetized by PROJ +3. GDA2020 to WGS 84 (G1762) (1): from EPSG +4. Conversion from WGS 84 (G1762) (geocentric) to WGS 84 (G1762) (geog2D): synthetized by PROJ

+
+
+

Projected CRS to any target CRS

+

This actually extends to any Derived CRS, whose Projected CRS is a well-known +particular case. Such transformations are done in 2 steps:

+
    +
  1. Use the inverse conversion of the derived CRS to its base CRS, typically an +inverse map projection.

  2. +
  3. Find transformations from this base CRS to the target CRS. If the base CRS +is the target CRS, this step can be skipped.

  4. +
+
$ projinfo -s EPSG:32631 -t RGF93
+
+Candidate operations found: 1
+-------------------------------------
+Operation No. 1:
+
+unknown id, Inverse of UTM zone 31N + Inverse of RGF93 to WGS 84 (1), 1 m, France
+
+PROJ string:
++proj=pipeline +step +inv +proj=utm +zone=31 +ellps=WGS84 +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1
+
+
+

This is implemented by the createOperationsDerivedTo method

+

For the symmetric case, source CRS to a derived CRS, the above algorithm is applied +by switching the source and target CRS, and then inverting the resulting operation(s). +This is mostly a matter of avoiding to write very similar code twice. This logic +is also applied to all below cases when considering the transformation between 2 different +types of objects.

+
+
+

Vertical CRS to a Geographic CRS

+

Such transformation is normally not meant as being used as standalone by PROJ +users, but as an internal computation step of a Compound CRS to a target CRS.

+

In cases where we are lucky, the PROJ database will have a transformation registered +between those:

+
$ projinfo -s "NAVD88 height" -t "NAD83(2011)" -o PROJ --spatial-test intersects
+Candidate operations found: 11
+-------------------------------------
+Operation No. 1:
+
+INVERSE(DERIVED_FROM(EPSG)):9229, Inverse of NAD83(2011) to NAVD88 height (3), 0.015 m, USA - CONUS - onshore
+
+PROJ string:
++proj=vgridshift +grids=g2018u0.gtx +multiplier=1
+
+
+

But in cases where there is no match, the createOperationsVertToGeog method +will be used to synthetize a ballpark vertical transformation, just taking care +of unit changes, and axis reversal in case the vertical CRS was a depth rather than +a height. Of course the results of such an operation are questionable, hence the +ballpark qualifier and a unknown accuracy advertized for such an operation.

+
+
+

Vertical CRS to a Vertical CRS

+

Overall logic is similar to the above case. There might be direct operations in +the PROJ database, involving grid transformations or simple offsets. The fallback +case is to synthetize a ballpark transformation.

+

This is implemented by the createOperationsVertToVert method

+
$ projinfo -s "NGVD29 depth (ftUS)" -t "NAVD88 height" --spatial-test intersects -o PROJ
+
+Candidate operations found: 3
+-------------------------------------
+Operation No. 1:
+
+unknown id, Inverse of NGVD29 height (ftUS) to NGVD29 depth (ftUS) + NGVD29 height (ftUS) to NGVD29 height (m) + NGVD29 height (m) to NAVD88 height (3), 0.02 m, USA - CONUS east of 89°W - onshore
+
+PROJ string:
++proj=pipeline +step +proj=axisswap +order=1,2,-3 +step +proj=unitconvert +z_in=us-ft +z_out=m +step +proj=vgridshift +grids=vertcone.gtx +multiplier=0.001
+
+-------------------------------------
+Operation No. 2:
+
+unknown id, Inverse of NGVD29 height (ftUS) to NGVD29 depth (ftUS) + NGVD29 height (ftUS) to NGVD29 height (m) + NGVD29 height (m) to NAVD88 height (2), 0.02 m, USA - CONUS 89°W-107°W - onshore
+
+PROJ string:
++proj=pipeline +step +proj=axisswap +order=1,2,-3 +step +proj=unitconvert +z_in=us-ft +z_out=m +step +proj=vgridshift +grids=vertconc.gtx +multiplier=0.001
+
+-------------------------------------
+Operation No. 3:
+
+unknown id, Inverse of NGVD29 height (ftUS) to NGVD29 depth (ftUS) + NGVD29 height (ftUS) to NGVD29 height (m) + NGVD29 height (m) to NAVD88 height (1), 0.02 m, USA - CONUS west of 107°W - onshore
+
+PROJ string:
++proj=pipeline +step +proj=axisswap +order=1,2,-3 +step +proj=unitconvert +z_in=us-ft +z_out=m +step +proj=vgridshift +grids=vertconw.gtx +multiplier=0.001
+
+
+
+
+

Compound CRS to a Geographic CRS

+

A typical example of a Compound CRS is a CRS made of a geographic or projected CRS +as the horizontal component, and a vertical CRS. E.g. “NAD83 + NAVD88 height”

+

When the horizontal component of the compound source CRS is a projected CRS, we +first look for the operation from this source CRS to another compound CRS made +of the geographic CRS base of the projected CRS, +like “NAD83 / California zone 1 (ftUS) + NAVD88 height” to “NAD83 + NAVD88 height”, +which ultimately goes to one of the above described case. Then we can consider +the transformation from a compound CRS made of a geographic CRS to another geographic CRS.

+

It first starts by the vertical transformations from the vertical CRS of the +source compound CRS to the target geographic CRS, using the strategy detailed +in Vertical CRS to a Geographic CRS

+

What we did not mention is that when there is not a transformation registered +between the vertical CRS and the target geographic CRS, PROJ attempts to find +transformations between that vertical CRS and any other geographic CRS. This is +clearly an approximation. +If the research of the vertical CRS to the target geographic CRS resulted in +operations that use grids that are not available, as another approximation, we +research operations from the vertical CRS to the source geographic CRS for the +vertical component.

+

Once we got those more or less accurate vertical transformations, we must consider +the horizontal transformation(s). The algorithm iterates over all found vertical +transformations and look for their target geographic CRS. This will be used as +the interpolation CRS for horizontal transformations. PROJ will then look for +available transformations from the source geographic CRS to the interpolation CRS +and from the interpolation CRS to the target geographic CRS. There is then a +3-level loop to create the final set of operations chaining together:

+
    +
  • the horizontal transformation from the source geographic CRS to the interpolation CRS

  • +
  • the vertical transformation from the source vertical CRS to the interpolation CRS

  • +
  • the horizontal transformation from the interpolation CRS to the target geographic CRS.

  • +
+

This is implemented by the createOperationsCompoundToGeog method

+

Example:

+
$ projinfo -s "NAD83(NSRS2007) + NAVD88 height" -t "WGS 84 (G1762)" --spatial-test intersects --summary
+
+Candidate operations found: 21
+unknown id, Inverse of NAD83(NSRS2007) to NAVD88 height (1) + NAD83(NSRS2007) to WGS 84 (1) + WGS 84 to WGS 84 (G1762), 3.05 m, USA - CONUS - onshore
+unknown id, Inverse of NAD83(HARN) to NAD83(NSRS2007) (1) + Inverse of NAD83(HARN) to NAVD88 height (7) + NAD83(HARN) to WGS 84 (1) + WGS 84 to WGS 84 (G1762), 3.15 m, USA - CONUS south of 41°N, 95°W to 78°W - onshore
+unknown id, Inverse of NAD83(HARN) to NAD83(NSRS2007) (1) + Inverse of NAD83(HARN) to NAVD88 height (7) + NAD83(HARN) to WGS 84 (3) + WGS 84 to WGS 84 (G1762), 3.15 m, USA - CONUS south of 41°N, 95°W to 78°W - onshore
+unknown id, Inverse of NAD83(HARN) to NAD83(NSRS2007) (1) + Inverse of NAD83(HARN) to NAVD88 height (6) + NAD83(HARN) to WGS 84 (1) + WGS 84 to WGS 84 (G1762), 3.15 m, USA - CONUS south of 41°N, 112°W to 95°W - onshore
+unknown id, Inverse of NAD83(HARN) to NAD83(NSRS2007) (1) + Inverse of NAD83(HARN) to NAVD88 height (6) + NAD83(HARN) to WGS 84 (3) + WGS 84 to WGS 84 (G1762), 3.15 m, USA - CONUS south of 41°N, 112°W to 95°W - onshore
+unknown id, Inverse of NAD83(HARN) to NAD83(NSRS2007) (1) + Inverse of NAD83(HARN) to NAVD88 height (2) + NAD83(HARN) to WGS 84 (1) + WGS 84 to WGS 84 (G1762), 3.15 m, USA - CONUS north of 41°N, 112°W to 95°W
+unknown id, Inverse of NAD83(HARN) to NAD83(NSRS2007) (1) + Inverse of NAD83(HARN) to NAVD88 height (2) + NAD83(HARN) to WGS 84 (3) + WGS 84 to WGS 84 (G1762), 3.15 m, USA - CONUS north of 41°N, 112°W to 95°W
+unknown id, Inverse of NAD83(HARN) to NAD83(NSRS2007) (1) + Inverse of NAD83(HARN) to NAVD88 height (3) + NAD83(HARN) to WGS 84 (1) + WGS 84 to WGS 84 (G1762), 3.15 m, USA - CONUS north of 41°N, 95°W to 78°W
+unknown id, Inverse of NAD83(HARN) to NAD83(NSRS2007) (1) + Inverse of NAD83(HARN) to NAVD88 height (3) + NAD83(HARN) to WGS 84 (3) + WGS 84 to WGS 84 (G1762), 3.15 m, USA - CONUS north of 41°N, 95°W to 78°W
+unknown id, Inverse of NAD83(HARN) to NAD83(NSRS2007) (1) + Inverse of NAD83(HARN) to NAVD88 height (5) + NAD83(HARN) to WGS 84 (1) + WGS 84 to WGS 84 (G1762), 3.15 m, USA - CONUS south of 41°N, west of 112°W - onshore
+unknown id, Inverse of NAD83(HARN) to NAD83(NSRS2007) (1) + Inverse of NAD83(HARN) to NAVD88 height (5) + NAD83(HARN) to WGS 84 (3) + WGS 84 to WGS 84 (G1762), 3.15 m, USA - CONUS south of 41°N, west of 112°W - onshore
+unknown id, Inverse of NAD83(HARN) to NAD83(NSRS2007) (1) + Inverse of NAD83(HARN) to NAVD88 height (1) + NAD83(HARN) to WGS 84 (1) + WGS 84 to WGS 84 (G1762), 3.15 m, USA - CONUS north of 41°N, west of 112°W - onshore
+unknown id, Inverse of NAD83(HARN) to NAD83(NSRS2007) (1) + Inverse of NAD83(HARN) to NAVD88 height (1) + NAD83(HARN) to WGS 84 (3) + WGS 84 to WGS 84 (G1762), 3.15 m, USA - CONUS north of 41°N, west of 112°W - onshore
+unknown id, Inverse of NAD83(HARN) to NAD83(NSRS2007) (1) + Inverse of NAD83(HARN) to NAVD88 height (4) + NAD83(HARN) to WGS 84 (1) + WGS 84 to WGS 84 (G1762), 3.15 m, USA - CONUS north of 41°N, east of 78°W - onshore
+unknown id, Inverse of NAD83(HARN) to NAD83(NSRS2007) (1) + Inverse of NAD83(HARN) to NAVD88 height (4) + NAD83(HARN) to WGS 84 (3) + WGS 84 to WGS 84 (G1762), 3.15 m, USA - CONUS north of 41°N, east of 78°W - onshore
+unknown id, Inverse of NAD83(HARN) to NAD83(NSRS2007) (1) + Inverse of NAD83(HARN) to NAVD88 height (8) + NAD83(HARN) to WGS 84 (1) + WGS 84 to WGS 84 (G1762), 3.15 m, USA - CONUS south of 41°N, east of 78°W - onshore
+unknown id, Inverse of NAD83(HARN) to NAD83(NSRS2007) (1) + Inverse of NAD83(HARN) to NAVD88 height (8) + NAD83(HARN) to WGS 84 (3) + WGS 84 to WGS 84 (G1762), 3.15 m, USA - CONUS south of 41°N, east of 78°W - onshore
+unknown id, Ballpark geographic offset from NAD83(NSRS2007) to NAD83(FBN) + Inverse of NAD83(FBN) to NAVD88 height (1) + Ballpark geographic offset from NAD83(FBN) to WGS 84 (G1762), unknown accuracy, USA - CONUS - onshore, has ballpark transformation
+unknown id, Ballpark geographic offset from NAD83(NSRS2007) to NAD83(2011) + Inverse of NAD83(2011) to NAVD88 height (3) + Ballpark geographic offset from NAD83(2011) to WGS 84 (G1762), unknown accuracy, USA - CONUS - onshore, has ballpark transformation
+unknown id, Ballpark geographic offset from NAD83(NSRS2007) to NAD83(2011) + Inverse of NAD83(2011) to NAVD88 height (3) + Conversion from NAD83(2011) (geog2D) to NAD83(2011) (geocentric) + Inverse of ITRF2008 to NAD83(2011) (1) + Inverse of WGS 84 (G1762) to ITRF2008 (1) + Conversion from WGS 84 (G1762) (geocentric) to WGS 84 (G1762) (geog2D), unknown accuracy, USA - CONUS - onshore, has ballpark transformation
+unknown id, NAD83(NSRS2007) to WGS 84 (1) + WGS 84 to WGS 84 (G1762) + Transformation from NAVD88 height to WGS 84 (G1762) (ballpark vertical transformation, without ellipsoid height to vertical height correction), unknown accuracy, USA - CONUS and Alaska; PRVI, has ballpark transformation
+
+
+
+
+

CompoundCRS to CompoundCRS

+

There is some similarity with the previous paragraph. We first research the +vertical transformations between the two vertical CRS.

+
    +
  1. If there is such a transformation, be it direct, or if both vertical CRS +relate to a common intermediate CRS. +If it has a registered interpolation geographic CRS, then it is used. +Otherwise we fallback to the geographic CRS of the source CRS.

    +

    Finally, a 3-level loop to create the final set of operations chaining together:

    +
      +
    • the horizontal transformation from the source CRS to the interpolation CRS

    • +
    • the vertical transformation

    • +
    • the horizontal transformation from the interpolation CRS to the target CRS.

    • +
    +
    +

    Example:

    +
    $ projinfo -s "NAD27 + NGVD29 height (ftUS)" -t "NAD83 + NAVD88 height" --spatial-test intersects --summary
    +
    +Candidate operations found: 20
    +unknown id, NGVD29 height (ftUS) to NAVD88 height (3) + NAD27 to NAD83 (1), 0.17 m, USA - CONUS east of 89°W - onshore
    +unknown id, NGVD29 height (ftUS) to NAVD88 height (2) + NAD27 to NAD83 (1), 0.17 m, USA - CONUS 89°W-107°W - onshore
    +unknown id, NGVD29 height (ftUS) to NAVD88 height (1) + NAD27 to NAD83 (1), 0.17 m, USA - CONUS west of 107°W - onshore
    +unknown id, NGVD29 height (ftUS) to NAVD88 height (3) + NAD27 to NAD83 (3), 1.02 m, unknown domain of validity
    +unknown id, NGVD29 height (ftUS) to NAVD88 height (2) + NAD27 to NAD83 (3), 1.02 m, unknown domain of validity
    +unknown id, NGVD29 height (ftUS) to NAVD88 height (1) + NAD27 to NAD83 (3), 1.02 m, unknown domain of validity
    +unknown id, NGVD29 height (ftUS) to NAVD88 height (3) + NAD27 to NAD83 (5), 1.02 m, unknown domain of validity, at least one grid missing
    +unknown id, NGVD29 height (ftUS) to NAVD88 height (3) + NAD27 to NAD83 (6), 1.52 m, unknown domain of validity, at least one grid missing
    +unknown id, NGVD29 height (ftUS) to NAVD88 height (2) + NAD27 to NAD83 (9), 1.52 m, unknown domain of validity, at least one grid missing
    +unknown id, NGVD29 height (ftUS) to NAVD88 height (1) + NAD27 to NAD83 (9), 1.52 m, unknown domain of validity, at least one grid missing
    +unknown id, NGVD29 height (ftUS) to NAVD88 height (3) + Ballpark geographic offset from NAD27 to NAD83, unknown accuracy, USA - CONUS east of 89°W - onshore, has ballpark transformation
    +unknown id, NGVD29 height (ftUS) to NAVD88 height (2) + Ballpark geographic offset from NAD27 to NAD83, unknown accuracy, USA - CONUS 89°W-107°W - onshore, has ballpark transformation
    +unknown id, NGVD29 height (ftUS) to NAVD88 height (1) + Ballpark geographic offset from NAD27 to NAD83, unknown accuracy, USA - CONUS west of 107°W - onshore, has ballpark transformation
    +unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + NAD27 to NAD83 (1), unknown accuracy, USA - CONUS including EEZ, has ballpark transformation
    +unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + NAD27 to NAD83 (3), unknown accuracy, Canada, has ballpark transformation
    +unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + NAD27 to NAD83 (4), unknown accuracy, Canada - NAD27, has ballpark transformation
    +unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + NAD27 to NAD83 (5), unknown accuracy, Canada - Quebec, has ballpark transformation, at least one grid missing
    +unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + NAD27 to NAD83 (6), unknown accuracy, Canada - Quebec, has ballpark transformation, at least one grid missing
    +unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + NAD27 to NAD83 (9), unknown accuracy, Canada - Saskatchewan, has ballpark transformation, at least one grid missing
    +unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + Ballpark geographic offset from NAD27 to NAD83, unknown accuracy, World, has ballpark transformation
    +
    +
    +
    +
  2. +
  3. Otherwise, when there is no such transformation, we decompose into 3 steps:

    +
      +
    • transform from the source CRS to the geographic 3D CRS corresponding to it

    • +
    • transform from the geographic 3D CRS corresponding to the source CRS to the +geographic 3D CRS corresponding to the target CRS

    • +
    • transform from the geographic 3D CRS corresponding to the target CRS to the +target CRS.

    • +
    +
    +

    Example:

    +
    $  projinfo -s "WGS 84 + EGM96 height" -t "ETRS89 + Belfast height" --spatial-test intersects --summary
    +
    +Candidate operations found: 7
    +unknown id, Inverse of WGS 84 to EGM96 height (1) + Inverse of ETRS89 to WGS 84 (1) + ETRS89 to Belfast height (2), 2.014 m, UK - Northern Ireland - onshore
    +unknown id, Inverse of WGS 84 to EGM96 height (1) + Inverse of ETRS89 to WGS 84 (1) + ETRS89 to Belfast height (1), 2.03 m, UK - Northern Ireland - onshore, at least one grid missing
    +unknown id, Inverse of WGS 84 to EGM96 height (1) + Null geographic offset from WGS 84 (geog3D) to WGS 84 (geog2D) + Inverse of OSGB 1936 to WGS 84 (4) + OSGB 1936 to ETRS89 (2) + Null geographic offset from ETRS89 (geog2D) to ETRS89 (geog3D) + ETRS89 to Belfast height (2), 19.044 m, unknown domain of validity
    +unknown id, Inverse of WGS 84 to EGM96 height (1) + Null geographic offset from WGS 84 (geog3D) to WGS 84 (geog2D) + Inverse of OSGB 1936 to WGS 84 (2) + OSGB 1936 to ETRS89 (2) + Null geographic offset from ETRS89 (geog2D) to ETRS89 (geog3D) + ETRS89 to Belfast height (2), 11.044 m, unknown domain of validity
    +unknown id, Inverse of WGS 84 to EGM96 height (1) + Null geographic offset from WGS 84 (geog3D) to WGS 84 (geog2D) + Inverse of TM75 to WGS 84 (2) + TM75 to ETRS89 (3) + Null geographic offset from ETRS89 (geog2D) to ETRS89 (geog3D) + ETRS89 to Belfast height (2), 2.424 m, UK - Northern Ireland - onshore, at least one grid missing
    +unknown id, Inverse of WGS 84 to EGM96 height (1) + Null geographic offset from WGS 84 (geog3D) to WGS 84 (geog2D) + Inverse of TM75 to WGS 84 (2) + TM75 to ETRS89 (3) + Null geographic offset from ETRS89 (geog2D) to ETRS89 (geog3D) + ETRS89 to Belfast height (1), 2.44 m, UK - Northern Ireland - onshore, at least one grid missing
    +unknown id, Inverse of WGS 84 to EGM96 height (1) + Null geographic offset from WGS 84 (geog3D) to WGS 84 (geog2D) + Inverse of OSGB 1936 to WGS 84 (4) + OSGB 1936 to ETRS89 (2) + Null geographic offset from ETRS89 (geog2D) to ETRS89 (geog3D) + ETRS89 to Belfast height (1), 19.06 m, unknown domain of validity, at least one grid missing
    +
    +
    +
    +
  4. +
+

This is implemented by the createOperationsCompoundToCompound method

+
+
+

When the source or target CRS is a BoundCRS

+

The BoundCRS concept is an hybrid concept where a CRS is linked to a transformation +from it to a hub CRS, typically WGS 84. This is a long-time practice in PROJ.4 +strings with the +towgs84, +nadgrids and +geoidgrids keywords, or the +TOWGS84[] node of WKT 1. When encountering those attributes when parsing +a CRS string, PROJ will create a BoundCRS object capturing this transformation. +A BoundCRS object can also be provided with a WKT2 string, and in that case with +a hub CRS being potentially different from WGS 84.

+

Let’s consider the case of a transformation between a BoundCRS +(“+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 ++ellps=airy +towgs84=446.448,-125.157,542.06,0.15,0.247,0.842,-20.489 +units=m” +which used to be the PROJ.4 definition of “OSGB 1936 / British National Grid”) +and a target Geographic CRS, ETRS89.

+

We apply the following steps:

+
    +
  • transform from the base of the source CRS (that is the CRS wrapped by BoundCRS, +here a ProjectedCRS) to the geographic CRS of this base CRS

  • +
  • apply the transformation of the BoundCRS to go from the geographic CRS of this base CRS +to the hub CRS of the BoundCRS, in that instance WGS 84.

  • +
  • apply a transformation from the hub CRS to the target CRS.

  • +
+

This is implemented by the createOperationsBoundToGeog method

+

Example:

+
$ projinfo -s "+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +towgs84=446.448,-125.157,542.06,0.15,0.247,0.842,-20.489 +units=m +type=crs" -t ETRS89 -o PROJ
+
+Candidate operations found: 1
+-------------------------------------
+Operation No. 1:
+
+unknown id, Inverse of unknown + Transformation from unknown to WGS84 + Inverse of ETRS89 to WGS 84 (1), unknown accuracy, Europe - ETRS89
+
+PROJ string:
++proj=pipeline +step +inv +proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +step +proj=push +v_3 +step +proj=cart +ellps=airy +step +proj=helmert +x=446.448 +y=-125.157 +z=542.06 +rx=0.15 +ry=0.247 +rz=0.842 +s=-20.489 +convention=position_vector +step +inv +proj=cart +ellps=GRS80 +step +proj=pop +v_3 +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1
+
+
+

There are other situations with BoundCRS, involving vertical transformations, +or transforming to other objects than a geographic CRS, but the curious reader +will have to inspect the code for the actual gory details.

+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/pipeline.html b/operations/pipeline.html new file mode 100644 index 00000000..0767b64f --- /dev/null +++ b/operations/pipeline.html @@ -0,0 +1,296 @@ + + + + + + + The pipeline operator — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

The pipeline operator

+
+

New in version 5.0.0.

+
+

Construct complex operations by daisy-chaining operations in a sequential pipeline.

+ ++++ + + + + + + + + + + + + + + +

Alias

pipeline

Domain

2D, 3D and 4D

Input type

Any

Output type

Any

+
+

Note

+

See the section on Geodetic transformation for a more thorough introduction +to the concept of transformation pipelines in PROJ.

+
+

With the pipeline operation it is possible to perform several operations after each +other on the same input data. This feature makes it possible to create transformations +that are made up of more than one operation, e.g. performing a datum shift and then +applying a suitable map projection. Theoretically any transformation between two +coordinate reference systems is possible to perform using the pipeline operation, +provided that the necessary coordinate operations in each step is available in PROJ.

+

A pipeline is made up of a number of steps, with each step being a coordinate operation +in itself. By connecting these individual steps sequentially we end up with a concatenated +coordinate operation. An example of this is a transformation from geodetic coordinates +on the GRS80 ellipsoid to a projected system where the east-west and north-east axes has +been swapped:

+
+proj=pipeline +ellps=GRS80 +step +proj=merc +step +proj=axisswap +order=2,1
+
+
+

Here the first step is applying the Mercator projection and the second step is +applying the Axis swap conversion. Note that the +ellps=GRS80 is specified +before the first occurrence of +step. This means that the GRS80 ellipsoid is used +in both steps, since any parameter stated before the first occurrence of +step is +treated as a global parameter and is transferred to each individual steps.

+
+

Rules for pipelines

+

1. Pipelines must consist of at least one step.

+
+proj=pipeline
+
+
+

Will result in an error.

+

2. Pipelines can only be nested if the nested pipeline is defined in an init file.

+
+proj=pipeline
++step +proj=pipeline +step +proj=merc +step +proj=axisswap +order=2,1
++step +proj=unitconvert +xy_in=m +xy_out=us-ft
+
+
+

Results in an error, while

+
+proj=pipeline
++step +init=predefined_pipelines:projectandswap
++step +proj=unitconvert +xy_in=m +xy_out=us-ft
+
+
+

does not.

+

3. Pipelines without a forward path can’t be constructed.

+
+proj=pipeline +step +inv +proj=urm5
+
+
+

Will result in an error since Urmaev V does not have an inverse operation defined.

+

4. Parameters added before the first `+step` are global and will be applied to all steps.

+

In the following the GRS80 ellipsoid will be applied to all steps.

+
+proj=pipeline +ellps=GRS80
++step +proj=cart
++step +proj=helmert +x=10 +y=3 +z=1
++step +proj=cart +inv
++step +proj=merc
+
+
+

5. Units of operations must match between steps.

+
+

New in version 5.1.0.

+
+

The output units of step n must match the expected input unit of step n+1. E.g., you can’t +pass an operation that outputs projected coordinates to an operation that expects angular units +(degrees). An example of such a unit mismatch is displayed below.

+
+proj=pipeline
++step +proj=merc  # Mercator outputs projected coordinates
++step +proj=robin # The Robinson projection expects angular input
+
+
+
+
+

Parameters

+
+

Required

+
+
++step
+

Separate each step in a pipeline.

+
+ +
+
+

Optional

+
+
++inv
+

Invert a step in a pipeline.

+
+ +
+
++omit_fwd
+
+

New in version 6.3.0.

+
+

Skip a step of the pipeline when it is followed in the forward path.

+

The following example shows a combined use of push and pop operators, +with omit_fwd and omit_inv options, to implement a vertical adjustment that must +be done in a interpolation CRS that is different from the horizontal CRS +used in input and output. +omit_fwd in the forward path avoid a useless +inverse horizontal transformation and relies on the pop operator to restore +initial horizontal coordinates. +omit_inv serves the similar purpose when +the pipeline is executed in the reverse direction

+
+proj=pipeline
++step +proj=unitconvert +xy_in=deg +xy_out=rad
++step +proj=push +v_1 +v_2
++step +proj=hgridshift +grids=nvhpgn.gsb +omit_inv
++step +proj=vgridshift +grids=g1999u05.gtx +multiplier=1
++step +inv +proj=hgridshift +grids=nvhpgn.gsb +omit_fwd
++step +proj=pop +v_1 +v_2
++step +proj=unitconvert +xy_in=rad +xy_out=deg
+
+
+
+ +
+
++omit_inv
+
+

New in version 6.3.0.

+
+

Skip a step of the pipeline when it is followed in the reverse path.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/adams_hemi.html b/operations/projections/adams_hemi.html new file mode 100644 index 00000000..3cd3e80c --- /dev/null +++ b/operations/projections/adams_hemi.html @@ -0,0 +1,364 @@ + + + + + + + Adams Hemisphere in a Square — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Adams Hemisphere in a Square

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward spherical projection

Defined area

Global

Alias

adams_hemi

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Adams Hemisphere in a Square +
+

proj-string: +proj=adams_hemi

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/adams_ws1.html b/operations/projections/adams_ws1.html new file mode 100644 index 00000000..269c3b7b --- /dev/null +++ b/operations/projections/adams_ws1.html @@ -0,0 +1,364 @@ + + + + + + + Adams World in a Square I — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Adams World in a Square I

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward spherical projection

Defined area

Global

Alias

adams_ws1

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Adams World in a Square I +
+

proj-string: +proj=adams_ws1

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/adams_ws2.html b/operations/projections/adams_ws2.html new file mode 100644 index 00000000..a94288b2 --- /dev/null +++ b/operations/projections/adams_ws2.html @@ -0,0 +1,364 @@ + + + + + + + Adams World in a Square II — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Adams World in a Square II

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward and inverse, spherical

Defined area

Global

Alias

adams_ws2

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Adams World in a Square II +
+

proj-string: +proj=adams_ws2

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/aea.html b/operations/projections/aea.html new file mode 100644 index 00000000..b222de6d --- /dev/null +++ b/operations/projections/aea.html @@ -0,0 +1,389 @@ + + + + + + + Albers Equal Area — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Albers Equal Area

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Conic

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

aea

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Albers Equal Area +
+

proj-string: +proj=aea +lat_1=29.5 +lat_2=42.5

+
+
+
+

Options

+
+

Required

+
+
++lat_1=<value>
+

First standard parallel.

+

Defaults to 0.0.

+
+ +
+
++lat_2=<value>
+

Second standard parallel.

+

Defaults to 0.0.

+
+ +
+
+

Optional

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/aeqd.html b/operations/projections/aeqd.html new file mode 100644 index 00000000..39590fe8 --- /dev/null +++ b/operations/projections/aeqd.html @@ -0,0 +1,385 @@ + + + + + + + Azimuthal Equidistant — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Azimuthal Equidistant

+ ++++ + + + + + + + + + + + + + + + + + + + + +

Classification

Azimuthal

Available forms

Forward and inverse, spherical and ellipsoidal

Alias

aeqd

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Azimuthal Equidistant +
+

proj-string: +proj=aeqd

+
+
+
+

Options

+
+

Note

+

All options are optional for the Azimuthal Equidistant projection.

+
+
+
++guam
+

Use Guam ellipsoidal formulas. Only accurate near the Island of Guam +(\(\lambda\approx 144.5^{\circ}\), \(\phi\approx 13.5^{\circ}\))

+
+ +
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/airy.html b/operations/projections/airy.html new file mode 100644 index 00000000..e7ef06e6 --- /dev/null +++ b/operations/projections/airy.html @@ -0,0 +1,385 @@ + + + + + + + Airy — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Airy

+

The Airy projection is an azimuthal minimum error projection for the region +within the small or great circle defined by an angular distance, +\(\phi_b\), from the tangency point of the plane \(( \lambda_0, \phi_0 )\).

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Azimuthal

Available forms

Forward spherical projection

Defined area

Global

Alias

airy

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Airy +
+

proj-string: +proj=airy

+
+
+
+

Options

+
+
++lat_b
+

Angular distance from tangency point of the plane \(( \lambda_0, \phi_0 )\) +where the error is kept at minimum.

+

Defaults to 90° (suitable for hemispherical maps).

+
+ +
+
++no_cut
+

Do not cut at hemisphere limit

+
+ +
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/aitoff.html b/operations/projections/aitoff.html new file mode 100644 index 00000000..0a316173 --- /dev/null +++ b/operations/projections/aitoff.html @@ -0,0 +1,364 @@ + + + + + + + Aitoff — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Aitoff

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward and inverse spherical projection

Defined area

Global

Alias

aitoff

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Aitoff +
+

proj-string: +proj=aitoff

+
+
+
+

Parameters

+
+

Note

+

All parameters for the projection are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/alsk.html b/operations/projections/alsk.html new file mode 100644 index 00000000..ce59b9ba --- /dev/null +++ b/operations/projections/alsk.html @@ -0,0 +1,358 @@ + + + + + + + Modified Stereographic of Alaska — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Modified Stereographic of Alaska

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Modified azimuthal

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Alaska

Alsk

alsk

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Modified Stereographic of Alaska +
+

proj-string: +proj=alsk

+
+
+
+

Options

+
+

Note

+

All options are optional for the projection.

+
+
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/apian.html b/operations/projections/apian.html new file mode 100644 index 00000000..7bbe3e7d --- /dev/null +++ b/operations/projections/apian.html @@ -0,0 +1,371 @@ + + + + + + + Apian Globular I — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Apian Globular I

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward spherical projection

Defined area

Global

Alias

apian

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Apian Globular I +
+

proj-string: +proj=apian

+
+
+
+

Options

+
+

Note

+

All options are optional for the Apian Globular projection.

+
+
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/august.html b/operations/projections/august.html new file mode 100644 index 00000000..9b28ed7b --- /dev/null +++ b/operations/projections/august.html @@ -0,0 +1,364 @@ + + + + + + + August Epicycloidal — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

August Epicycloidal

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward spherical projection

Defined area

Global

Alias

august

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+August Epicycloidal +
+

proj-string: +proj=august

+
+
+
+

Parameters

+
+

Note

+

All options are optional for the August Epicycloidal projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/bacon.html b/operations/projections/bacon.html new file mode 100644 index 00000000..284ccfc5 --- /dev/null +++ b/operations/projections/bacon.html @@ -0,0 +1,364 @@ + + + + + + + Bacon Globular — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Bacon Globular

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward spherical projection

Defined area

Global

Alias

bacon

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Bacon Globular +
+

proj-string: +proj=bacon

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Bacon Globular projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/bertin1953.html b/operations/projections/bertin1953.html new file mode 100644 index 00000000..da8c4822 --- /dev/null +++ b/operations/projections/bertin1953.html @@ -0,0 +1,381 @@ + + + + + + + Bertin 1953 — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Bertin 1953

+
+

New in version 6.0.0.

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward, spherical projection

Defined area

Global

Alias

bertin1953

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Bertin 1953 +
+

proj-string: +proj=bertin1953

+
+
+

The Bertin 1953 projection is intended for making world maps. Created by Jacques Bertin +in 1953, this projection was the go-to choice of the French cartographic school when they +wished to represent phenomena on a global scale. The projection was formulated in 2017 +by Philippe Rivière for visionscarto.net.

+
+

Usage

+

The Bertin 1953 projection has no special options. Its rotation parameters +are fixed. Here is an example of a forward projection with scale 1:

+
$ echo 122 47 | src/proj +proj=bertin1953 +R=1
+0.72    0.73
+
+
+
+
+

Parameters

+
+

Note

+

All parameters for the projection are optional.

+
+
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+

Further reading

+
    +
  1. Philippe Rivière (2017). Bertin Projection (1953) <https://visionscarto.net/bertin-projection-1953>, Visionscarto.net.

  2. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/bipc.html b/operations/projections/bipc.html new file mode 100644 index 00000000..0e00b2ef --- /dev/null +++ b/operations/projections/bipc.html @@ -0,0 +1,370 @@ + + + + + + + Bipolar conic of western hemisphere — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Bipolar conic of western hemisphere

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward and inverse spherical projection

Defined area

Global

Alias

bipc

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Bipolar conic of western hemisphere +
+

proj-string: +proj=bipc +ns

+
+
+
+

Parameters

+
+

Note

+

All options are optional for the Bipolar Conic projection.

+
+
+
++ns
+

Return non-skewed cartesian coordinates.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/boggs.html b/operations/projections/boggs.html new file mode 100644 index 00000000..bf9bb15d --- /dev/null +++ b/operations/projections/boggs.html @@ -0,0 +1,364 @@ + + + + + + + Boggs Eumorphic — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Boggs Eumorphic

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward spherical projection

Defined area

Global

Alias

boggs

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Boggs Eumorphic +
+

proj-string: +proj=boggs

+
+
+
+

Parameters

+
+

Note

+

All options are optional for the Boggs Eumorphic projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/bonne.html b/operations/projections/bonne.html new file mode 100644 index 00000000..5b15da5a --- /dev/null +++ b/operations/projections/bonne.html @@ -0,0 +1,382 @@ + + + + + + + Bonne (Werner lat_1=90) — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Bonne (Werner lat_1=90)

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

bonne

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Bonne (Werner lat_1=90) +
+

proj-string: +proj=bonne +lat_1=10

+
+
+
+

Parameters

+
+

Required

+
+
++lat_1=<value>
+

First standard parallel.

+

Defaults to 0.0.

+
+ +
+
+

Optional

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/calcofi.html b/operations/projections/calcofi.html new file mode 100644 index 00000000..10bf151d --- /dev/null +++ b/operations/projections/calcofi.html @@ -0,0 +1,402 @@ + + + + + + + Cal Coop Ocean Fish Invest Lines/Stations — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Cal Coop Ocean Fish Invest Lines/Stations

+

The CalCOFI pseudo-projection is the line and station coordinate system of the +California Cooperative Oceanic Fisheries Investigations program, known as CalCOFI, for sampling offshore of the west coast of the U.S. and Mexico.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Conformal cylindrical

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Only valid for the west coast of USA and Mexico

Alias

calcofi

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+Cal Coop Ocean Fish Invest Lines/Stations +

The coordinate system is based on the Mercator projection with units rotated -30 +degrees from the meridian so that they are oriented with the coastline of the Southern California Bight and Baja California. +Lines increase from Northwest to Southeast. +A unit of line is 12 nautical miles. Stations increase from inshore to offshore. +A unit of station is equal to 4 nautical miles. +The rotation point is located at line 80, station 60, or 34.15 degrees N, -121.15 degrees W, and is depicted by the red dot in the figure. +By convention, the ellipsoid of Clarke 1866 is used to calculate CalCOFI coordinates.

+

The CalCOFI program is a joint research effort by the U.S. National Oceanic and +Atmospheric Administration, University of California Scripps Oceanographic Institute, and California Department of Fish and Game. +Surveys have been conducted for the CalCOFI program since 1951, creating one of the oldest and most scientifically valuable joint oceanographic and fisheries data sets in the world. +The CalCOFI line and station coordinate system is now used by several other programs including the Investigaciones Mexicanas de la Corriente de California (IMECOCAL) program offshore of Baja California. +The figure depicts some commonly sampled locations from line 40 to line 156.7 and offshore to station 120. Blue numbers indicate line (bottom) or station (left) numbers along the grid. Note that lines spaced at approximate 3-1/3 intervals are commonly sampled, e.g., lines 43.3 and 46.7.

+
+

Usage

+

A typical forward CalCOFI projection would be from lon/lat coordinates on the +Clark 1866 ellipsoid. +For example:

+
proj +proj=calcofi +ellps=clrk66 -E <<EOF
+-121.15 34.15
+EOF
+
+
+

Output of the above command:

+
-121.15 34.15   80.00   60.00
+
+
+

The reverse projection from line/station coordinates to lon/lat would be entered +as:

+
proj +proj=calcofi +ellps=clrk66 -I -E -f "%.2f" <<EOF
+80.0 60.0
+EOF
+
+
+

Output of the above command:

+
80.0 60.0   -121.15 34.15
+
+
+
+
+

Options

+
+

Note

+

All options are optional for the CalCOFI projection.

+
+
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
+

Mathematical definition

+

The algorithm used to make conversions is described in [EberHewitt1979] with +a few corrections reported in [WeberMoore2013].

+
+
+

Further reading

+
    +
  1. General information about the CalCOFI program

  2. +
  3. The Investigaciones Mexicanas de la Corriente de California

  4. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/cass.html b/operations/projections/cass.html new file mode 100644 index 00000000..b3c26e8a --- /dev/null +++ b/operations/projections/cass.html @@ -0,0 +1,471 @@ + + + + + + + Cassini (Cassini-Soldner) — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Cassini (Cassini-Soldner)

+

Although the Cassini projection has been largely replaced by the Transverse Mercator, it is still in limited use outside the United States and was one of the major topographic mapping projections until the early 20th century.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Transverse and oblique cylindrical

Available forms

Forward and inverse, Spherical and ellipsoidal

Defined area

Global, but best used near the central meridian with long, narrow areas

Alias

cass

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Cassini +
+

proj-string: +proj=cass

+
+
+
+

Usage

+

There has been little usage of the spherical version of the Cassini, but the ellipsoidal Cassini-Soldner version was adopted by the Ordnance Survey for the official survey of Great Britain during the second half of the 19th century [Steers1970]. +Many of these maps were prepared at a scale of 1:2,500. +The Cassini-Soldner was also used for the detailed mapping of many German states during the same period.

+

Example using EPSG 30200 (Trinidad 1903, units in clarke’s links):

+
$ echo 0.17453293 -1.08210414 | proj +proj=cass +lat_0=10.44166666666667 +lon_0=-61.33333333333334 +x_0=86501.46392051999 +y_0=65379.0134283 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.201166195164
+66644.94    82536.22
+
+
+

Example using EPSG 3068 (Soldner Berlin):

+
$ echo 13.5 52.4 | proj +proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 +x_0=40000 +y_0=10000 +ellps=bessel +units=m
+31343.05    7932.76
+
+
+
+
+

Options

+
+

Note

+

All options are optional for the Cassini projection.

+
+
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++hyperbolic
+

Use modified form of the standard Cassini-Soldner projection known as the Hyperbolic Cassini-Soldner. +This is used in particular for the “Vanua Levu Grid” of the island of Vanua Levu, Fiji (EPSG:3139)

+
+ +
+
+

Mathematical definition

+

The formulas describing the Cassini projection are taken from [Snyder1987].

+

\(\phi_0\) is the latitude of origin that match the center of the map (default to 0). It can be set with +lat_0.

+
+

Spherical form

+
+

Forward projection

+
+\[x = \arcsin(\cos(\phi) \sin(\lambda))\]
+
+\[y = \arctan2(\tan(\phi), \cos(\lambda)) - \phi_0\]
+
+
+

Inverse projection

+
+\[\phi = \arcsin(\sin(y+\phi_0) \cos(x))\]
+
+\[\lambda = \arctan2(\tan(x), \cos(y+\phi_0))\]
+
+
+
+

Ellipsoidal form

+
+

Forward projection

+
+\[N = (1 - e^2 \sin^2(\phi))^{-1/2}\]
+
+\[T = \tan^2(\phi)\]
+
+\[A = \lambda \cos(\phi)\]
+
+\[C = \frac{e^2}{1-e^2} cos^2(\phi)\]
+
+\[x = N ( A - T \frac{A^3}{6} - (8-T+8C)T\frac{A^5}{120})\]
+
+\[y = M(\phi) - M(\phi_0) + N \tan(\phi)(\frac{A^2}{2} + (5-T+6C)\frac{A^4}{24})\]
+

and M() is the meridional distance function.

+
+
+

Inverse projection

+
+\[\phi' = M^{-1}(M(\phi_0)+y)\]
+

if \(\phi' = \frac{\pi}{2}\) then \(\phi=\phi'\) and \(\lambda=0\)

+

otherwise evaluate T and N above using \(\phi'\) and

+
+\[R = (1 - e^2)(1 - e^2 sin^2 \phi')^{-3/2}\]
+
+\[D = x/N\]
+
+\[\phi = \phi' - \tan \phi' \frac{N}{R}(\frac{D^2}{2}-(1+3T)\frac{D^4}{24})\]
+
+\[\lambda = \frac{(D - T\frac{D^3}{3} + (1+3T)T\frac{D^5}{15})}{\cos \phi'}\]
+
+
+
+
+

Further reading

+
    +
  1. Wikipedia

  2. +
  3. EPSG, POSC literature pertaining to Coordinate Conversions and Transformations including Formulas

  4. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/cc.html b/operations/projections/cc.html new file mode 100644 index 00000000..3e0412f4 --- /dev/null +++ b/operations/projections/cc.html @@ -0,0 +1,364 @@ + + + + + + + Central Cylindrical — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Central Cylindrical

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Cylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

cc

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Central Cylindrical +
+

proj-string: +proj=cc

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Central Cylindrical projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/ccon.html b/operations/projections/ccon.html new file mode 100644 index 00000000..f42a593d --- /dev/null +++ b/operations/projections/ccon.html @@ -0,0 +1,457 @@ + + + + + + + Central Conic — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Central Conic

+
+

New in version 5.0.0.

+
+

This is central (centrographic) projection on cone tangent at :option:lat_1 +latitude, identical with conic() projection from mapproj R package.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Conic

Available forms

Forward and inverse, spherical projection

Defined area

Global, but best used near the standard parallel

Alias

ccon

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Central Conic +
+

proj-string: +proj=ccon +lat_1=52 +lon_0=19

+
+
+
+

Usage

+

This simple projection is rarely used, as it is not equidistant, equal-area, nor +conformal.

+

An example of usage (and the main reason to implement this projection in proj4) +is the ATPOL geobotanical grid of Poland, developed in Institute of Botany, +Jagiellonian University, Krakow, Poland in 1970s [Zajac1978]. The grid was +originally handwritten on paper maps and further copied by hand. The projection +(together with strange Earth radius) was chosen by its creators as the compromise +fit to existing maps during first software development in DOS era. Many years later +it is still de facto standard grid in Polish geobotanical research.

+

The ATPOL coordinates can be achieved with with the following parameters:

+
+proj=ccon +lat_1=52 +lon_0=19 +axis=esu +a=6390000 +x_0=330000 +y_0=-350000
+
+
+

For more information see [Komsta2016] and [Verey2017].

+
+
+

Parameters

+
+

Required

+
+
++lat_1=<value>
+

Standard parallel of projection.

+
+ +
+
+

Optional

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+

Mathematical definition

+
+

Forward projection

+
+\[r = \cot \phi_0 - \tan (\phi - \phi_0)\]
+
+\[x = r \sin (\lambda\sin\phi_0)\]
+
+\[y = \cot \phi_0 - r \cos (\lambda\sin\phi_0)\]
+
+
+

Inverse projection

+
+\[y = \cot \phi_0 - y\]
+
+\[\phi = \phi_0 - \tan^{-1} ( \sqrt{x^2+y^2} - \cot \phi_0 )\]
+
+\[\lambda = \frac{\tan^{-1} \sqrt{x^2+y^2}}{\sin \phi_0}\]
+
+
+
+

Reference values

+

For ATPOL to WGS84 test, run the following script:

+
#!/bin/bash
+cat << EOF | src/cs2cs -v -f "%E" +proj=ccon +lat_1=52 +lat_0=52 +lon_0=19 +axis=esu +a=6390000 +x_0=330000 +y_0=-350000 +to +proj=longlat
+0 0
+0 700000
+700000 0
+700000 700000
+330000 350000
+EOF
+
+
+

It should result with

+
1.384023E+01 5.503040E+01 0.000000E+00
+1.451445E+01 4.877385E+01 0.000000E+00
+2.478271E+01 5.500352E+01 0.000000E+00
+2.402761E+01 4.875048E+01 0.000000E+00
+1.900000E+01 5.200000E+01 0.000000E+00
+
+
+

Analogous script can be run for reverse test:

+
cat << EOF  | src/cs2cs -v -f "%E" +proj=longlat +to +proj=ccon +lat_1=52 +lat_0=52 +lon_0=19 +axis=esu +a=6390000 +x_0=330000 +y_0=-350000
+24 55
+15 49
+24 49
+19 52
+EOF
+
+
+

and it should give the following results:

+
6.500315E+05 4.106162E+03 0.000000E+00
+3.707419E+04 6.768262E+05 0.000000E+00
+6.960534E+05 6.722946E+05 0.000000E+00
+3.300000E+05 3.500000E+05 0.000000E+00
+
+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/cea.html b/operations/projections/cea.html new file mode 100644 index 00000000..dc679a4a --- /dev/null +++ b/operations/projections/cea.html @@ -0,0 +1,430 @@ + + + + + + + Equal Area Cylindrical — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Equal Area Cylindrical

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Cylindrical

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

cea

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Equal Area Cylindrical +
+

proj-string: +proj=cea

+
+
+
+

Named specializations

+

The Equal Area Cylindrical projection is sometimes known under other names when +it is instanciated with particular values of the lat_ts parameter:

+ ++++ + + + + + + + + + + + + + + +

Name

lat_ts

Lambert cylindrical equal-area

0

Behrmann

30

Gall-Peters

45

+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Equal Area Cylindrical projection.

+
+
+
++lat_ts=<value>
+

Latitude of true scale. Defines the latitude where scale is not distorted. +Takes precedence over +k_0 if both options are used together.

+

Defaults to 0.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++k_0=<value>
+

Scale factor. Determines scale factor used in the projection.

+

Defaults to 1.0.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+

Note

+

lat_ts and k_0 are mutually exclusive. If lat_ts +is specified, it is equivalent to setting k_0 to +\(\frac{\cos \phi_{ts}}{\sqrt{1 - e^2 \sin^2 \phi_{ts}}}\)

+
+
+
+

Further reading

+
    +
  1. Wikipedia: Lambert cylindrical equal-area

  2. +
  3. Wikipedia: Gall-Peters

  4. +
  5. Wikipedia: Behrmann

  6. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/chamb.html b/operations/projections/chamb.html new file mode 100644 index 00000000..2261eb29 --- /dev/null +++ b/operations/projections/chamb.html @@ -0,0 +1,406 @@ + + + + + + + Chamberlin Trimetric — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Chamberlin Trimetric

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward spherical projection

Defined area

Global

Alias

chamb

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Chamberlin Trimetric +
+

proj-string: +proj=chamb +lat_1=10 +lon_1=30 +lon_2=40

+
+
+
+

Parameters

+
+

Required

+
+

Note

+

Control points should be oriented clockwise.

+
+
+
++lat_1=<value>
+

Latitude of the first control point.

+
+ +
+
++lon_1=<value>
+

Longitude of the first control point.

+
+ +
+
++lat_2=<value>
+

Latitude of the second control point.

+
+ +
+
++lon_2=<value>
+

Longitude of the second control point.

+
+ +
+
++lat_3=<value>
+

Latitude of the third control point.

+
+ +
+
++lon_3=<value>
+

Longitude of the third control point.

+
+ +
+
+

Optional

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/col_urban.html b/operations/projections/col_urban.html new file mode 100644 index 00000000..122aeca8 --- /dev/null +++ b/operations/projections/col_urban.html @@ -0,0 +1,379 @@ + + + + + + + Colombia Urban — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Colombia Urban

+
+

New in version 7.2.

+
+ ++++ + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward and inverse ellipsoidal projection

Alias

col_urban

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+

From [IOGP2018]:

+
+
+

The capital cites of each department in Colombia use an urban projection for large +scale topographic mapping of the urban areas. It is based on a plane through +the origin at an average height for the area, eliminating the need for corrections +to engineering survey observations.

+
+

proj-string: +proj=col_urban

+
+
+

Parameters

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
++h_0=<value>
+

Projection plane origin height (in metre)

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/collg.html b/operations/projections/collg.html new file mode 100644 index 00000000..1d99b20b --- /dev/null +++ b/operations/projections/collg.html @@ -0,0 +1,364 @@ + + + + + + + Collignon — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Collignon

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

collg

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Collignon +
+

proj-string: +proj=collg

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Collignon projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/comill.html b/operations/projections/comill.html new file mode 100644 index 00000000..d501ea20 --- /dev/null +++ b/operations/projections/comill.html @@ -0,0 +1,367 @@ + + + + + + + Compact Miller — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Compact Miller

+

The Compact Miller projection is a cylindrical map projection with a +height-to-width ratio of 0.6:1.

+

See [Jenny2015]

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Cylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

comill

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Compact Miller +
+

proj-string: +proj=comill

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/crast.html b/operations/projections/crast.html new file mode 100644 index 00000000..78690281 --- /dev/null +++ b/operations/projections/crast.html @@ -0,0 +1,364 @@ + + + + + + + Craster Parabolic (Putnins P4) — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Craster Parabolic (Putnins P4)

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

crast

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Craster Parabolic (Putnins P4) +
+

proj-string: +proj=crast

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Craster Parabolic projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/denoy.html b/operations/projections/denoy.html new file mode 100644 index 00000000..1ffca350 --- /dev/null +++ b/operations/projections/denoy.html @@ -0,0 +1,364 @@ + + + + + + + Denoyer Semi-Elliptical — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Denoyer Semi-Elliptical

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward spherical projection

Defined area

Global

Alias

denoy

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Denoyer Semi-Elliptical +
+

proj-string: +proj=denoy

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Denoyer Semi-Elliptical projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/eck1.html b/operations/projections/eck1.html new file mode 100644 index 00000000..071233af --- /dev/null +++ b/operations/projections/eck1.html @@ -0,0 +1,367 @@ + + + + + + + Eckert I — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Eckert I

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

eck1

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Eckert I +
+

proj-string: +proj=eck1

+
+
+
+\[ \begin{align}\begin{aligned}x &= 2 \sqrt{2/3\pi} \lambda (1- |\phi|/\pi)\\y &= 2 \sqrt{2/3\pi}\phi\end{aligned}\end{align} \]
+
+

Parameters

+
+

Note

+

All parameters are optional for the Eckert I projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/eck2.html b/operations/projections/eck2.html new file mode 100644 index 00000000..17bd635f --- /dev/null +++ b/operations/projections/eck2.html @@ -0,0 +1,364 @@ + + + + + + + Eckert II — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Eckert II

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

eck2

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Eckert II +
+

proj-string: +proj=eck2

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Eckert II projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/eck3.html b/operations/projections/eck3.html new file mode 100644 index 00000000..fc442fef --- /dev/null +++ b/operations/projections/eck3.html @@ -0,0 +1,364 @@ + + + + + + + Eckert III — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Eckert III

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

eck3

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Eckert III +
+

proj-string: +proj=eck3

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Eckert III projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/eck4.html b/operations/projections/eck4.html new file mode 100644 index 00000000..5e4d9bb7 --- /dev/null +++ b/operations/projections/eck4.html @@ -0,0 +1,369 @@ + + + + + + + Eckert IV — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Eckert IV

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

eck4

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Eckert IV +
+

proj-string: +proj=eck4

+
+
+
+\[x = \lambda(1+cos\phi) / \sqrt{ 2 + \pi }\]
+
+\[y = 2 \phi / \sqrt { 2 + \pi }\]
+
+

Parameters

+
+

Note

+

All parameters are optional for the Eckert IV projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/eck5.html b/operations/projections/eck5.html new file mode 100644 index 00000000..24410f35 --- /dev/null +++ b/operations/projections/eck5.html @@ -0,0 +1,364 @@ + + + + + + + Eckert V — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Eckert V

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

eck5

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Eckert V +
+

proj-string: +proj=eck5

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Eckert V projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/eck6.html b/operations/projections/eck6.html new file mode 100644 index 00000000..9bfdb7fd --- /dev/null +++ b/operations/projections/eck6.html @@ -0,0 +1,364 @@ + + + + + + + Eckert VI — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Eckert VI

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

eck6

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Eckert VI +
+

proj-string: +proj=eck6

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Eckert VI projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/eqc.html b/operations/projections/eqc.html new file mode 100644 index 00000000..00054446 --- /dev/null +++ b/operations/projections/eqc.html @@ -0,0 +1,472 @@ + + + + + + + Equidistant Cylindrical (Plate Carrée) — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Equidistant Cylindrical (Plate Carrée)

+

The simplest of all projections. Standard parallels (0° when omitted) may be specified that determine latitude of true scale (k=h=1).

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Conformal cylindrical

Available forms

Forward and inverse

Defined area

Global, but best used near the equator

Alias

eqc

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Equidistant Cylindrical (Plate Carrée) +
+

proj-string: +proj=eqc

+
+
+
+

Usage

+

Because of the distortions introduced by this projection, it has little use in navigation or cadastral mapping and finds its main use in thematic mapping. +In particular, the plate carrée has become a standard for global raster datasets, such as Celestia and NASA World Wind, because of the particularly simple relationship between the position of an image pixel on the map and its corresponding geographic location on Earth.

+

The following table gives special cases of the cylindrical equidistant projection.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Projection Name

(lat ts=) \(\phi_0\)

Plain/Plane Chart

Simple Cylindrical

Plate Carrée

Ronald Miller—minimum overall scale distortion

37°30′

E.Grafarend and A.Niermann

42°

Ronald Miller—minimum continental scale distortion

43°30′

Gall Isographic

45°

Ronald Miller Equirectangular

50°30′

E.Grafarend and A.Niermann minimum linear distortion

61°7′

+

Example using EPSG 32662 (WGS84 Plate Carrée):

+
$ echo 2 47 | proj +proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +units=m
+222638.98       5232016.07
+
+
+

Example using Plate Carrée projection with true scale at latitude 30° and central meridian 90°W:

+
$ echo -88 30 | proj +proj=eqc +lat_ts=30 +lon_0=90w
+192811.01       3339584.72
+
+
+
+
+

Parameters

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lat_ts=<value>
+

Latitude of true scale. Defines the latitude where scale is not distorted. +Takes precedence over +k_0 if both options are used together.

+

Defaults to 0.0.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
+

Mathematical definition

+

The formulas describing the Equidistant Cylindrical projection are all taken from [Snyder1987].

+

\(\phi_{ts}\) is the latitude of true scale, that mean the standard parallels where the scale of the projection is true. It can be set with +lat_ts.

+

\(\phi_0\) is the latitude of origin that match the center of the map. It can be set with +lat_0.

+
+

Forward projection

+
+\[x = \lambda \cos \phi_{ts}\]
+
+\[y = \phi - \phi_0\]
+
+
+

Inverse projection

+
+\[\lambda = x / cos \phi_{ts}\]
+
+\[\phi = y + \phi_0\]
+
+
+
+

Further reading

+
    +
  1. Wikipedia

  2. +
  3. Wolfram Mathworld

  4. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/eqdc.html b/operations/projections/eqdc.html new file mode 100644 index 00000000..82bf48c3 --- /dev/null +++ b/operations/projections/eqdc.html @@ -0,0 +1,389 @@ + + + + + + + Equidistant Conic — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Equidistant Conic

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Conic

Available forms

Forward and inverse, ellipsoidal

Defined area

Global

Alias

eqdc

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Equidistant Conic +
+

proj-string: +proj=eqdc +lat_1=55 +lat_2=60

+
+
+
+

Parameters

+
+

Required

+
+
++lat_1=<value>
+

First standard parallel.

+

Defaults to 0.0.

+
+ +
+
++lat_2=<value>
+

Second standard parallel.

+

Defaults to 0.0.

+
+ +
+
+

Optional

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/eqearth.html b/operations/projections/eqearth.html new file mode 100644 index 00000000..0fd375e8 --- /dev/null +++ b/operations/projections/eqearth.html @@ -0,0 +1,397 @@ + + + + + + + Equal Earth — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Equal Earth

+
+

New in version 5.2.0.

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudo cylindrical

Available forms

Forward and inverse, spherical and ellipsoidal projection

Defined area

Global

Alias

eqearth

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Equal Earth +
+

proj-string: +proj=eqearth

+
+
+

The Equal Earth projection is intended for making world maps. Equal Earth is a +projection inspired by the Robinson projection, but unlike +the Robinson projection retains the relative size of areas. The projection +was designed in 2018 by Bojan Savric, Tom Patterson and Bernhard Jenny [Savric2018].

+
+

Usage

+

The Equal Earth projection has no special options. Here is +an example of an forward projection on a sphere with a radius of 1 m:

+
$ echo 122 47 | src/proj +proj=eqearth +R=1
+1.55    0.89
+
+
+
+
+

Parameters

+
+

Note

+

All parameters for the projection are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+

Further reading

+
    +
  1. Bojan Savric, Tom Patterson & Bernhard Jenny (2018). The Equal Earth map projection, International Journal of Geographical Information Science

  2. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/euler.html b/operations/projections/euler.html new file mode 100644 index 00000000..4bedb0c8 --- /dev/null +++ b/operations/projections/euler.html @@ -0,0 +1,380 @@ + + + + + + + Euler — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Euler

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

euler

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Euler +
+

proj-string: +proj=euler +lat_1=67 +lat_2=75

+
+
+
+

Parameters

+
+

Required

+
+
++lat_1=<value>
+

First standard parallel.

+

Defaults to 0.0.

+
+ +
+
++lat_2=<value>
+

Second standard parallel.

+

Defaults to 0.0.

+
+ +
+
+

Optional

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/fahey.html b/operations/projections/fahey.html new file mode 100644 index 00000000..c33f91a9 --- /dev/null +++ b/operations/projections/fahey.html @@ -0,0 +1,364 @@ + + + + + + + Fahey — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Fahey

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

fahey

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Fahey +
+

proj-string: +proj=fahey

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Fahey projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/fouc.html b/operations/projections/fouc.html new file mode 100644 index 00000000..251c123f --- /dev/null +++ b/operations/projections/fouc.html @@ -0,0 +1,364 @@ + + + + + + + Foucaut — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Foucaut

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

fouc

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Foucaut +
+

proj-string: +proj=fouc

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Foucaut projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/fouc_s.html b/operations/projections/fouc_s.html new file mode 100644 index 00000000..8c7202f0 --- /dev/null +++ b/operations/projections/fouc_s.html @@ -0,0 +1,380 @@ + + + + + + + Foucaut Sinusoidal — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Foucaut Sinusoidal

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

fouc_s

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Foucaut Sinusoidal +
+

proj-string: +proj=fouc_s

+
+
+

The y-axis is based upon a weighted mean of the cylindrical equal-area and +the sinusoidal projections. Parameter \(n=n\) is the weighting factor where +\(0 <= n <= 1\).

+
+\[ \begin{align}\begin{aligned}x &= \lambda \cos \phi / (n + (1 - n) \ cos \phi)\\y &= n \phi + (1 - n) \sin \phi\end{aligned}\end{align} \]
+

For the inverse, the Newton-Raphson method can be used to determine +\(\phi\) from the equation for \(y\) above. As \(n \rightarrow 0\) and +\(\phi \rightarrow \pi/2\), convergence is slow but for \(n = 0\), \(\phi = +\sin^1y\)

+
+

Parameters

+
+

Note

+

All parameters are optional for the Foucaut Sinusoidal projection.

+
+
+
++n=<value>
+

Weighting factor. Value should be in the interval 0-1.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/gall.html b/operations/projections/gall.html new file mode 100644 index 00000000..c9ea3f79 --- /dev/null +++ b/operations/projections/gall.html @@ -0,0 +1,432 @@ + + + + + + + Gall (Gall Stereographic) — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Gall (Gall Stereographic)

+

The Gall stereographic projection, presented by James Gall in 1855, is a cylindrical projection. +It is neither equal-area nor conformal but instead tries to balance the distortion inherent in any projection.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Transverse and oblique cylindrical

Available forms

Forward and inverse, Spherical

Defined area

Global

Alias

gall

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Gall (Gall Stereographic) +
+

proj-string: +proj=gall

+
+
+
+

Usage

+

The need for a world map which avoids some of the scale exaggeration of the Mercator projection has led to some commonly used cylindrical modifications, as well as to other modifications which are not cylindrical. +The earliest common cylindrical example was developed by James Gall of Edinburgh about 1855 (Gall, 1885, p. 119-123). +His meridians are equally spaced, but the parallels are spaced at increasing intervals away from the Equator. +The parallels of latitude are actually projected onto a cylinder wrapped about the sphere, but cutting it at lats. 45° N. and S., the point of perspective being a point on the Equator opposite the meridian being projected. +It is used in several British atlases, but seldom in the United States. +The Gall projection is neither conformal nor equal-area, but has a blend of various features. +Unlike the Mercator, the Gall shows the poles as lines running across the top and bottom of the map.

+
+

Note

+

The Gall projection must not be confused with the Gall-Peters one, the later +being a specialization of Equal Area Cylindrical.

+
+

Example using Gall Stereographic

+
$ echo 9 51 | proj +proj=gall +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +units=m
+708432.90   5193386.36
+
+
+

Example using Gall Stereographic (Central meridian 90°W)

+
$ echo 9 51 | proj +proj=gall +lon_0=90w +x_0=0 +y_0=0 +ellps=WGS84 +units=m
+7792761.91  5193386.36
+
+
+
+
+

Parameters

+
+

Note

+

All parameters for the projection are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
+

Mathematical definition

+

The formulas describing the Gall Stereographic are all taken from [Snyder1993].

+
+

Spherical form

+
+

Forward projection

+
+\[x = \frac{\lambda}{\sqrt{2}}\]
+
+\[y = (1+\frac{\sqrt{2}}{2}) \tan(\phi/2)\]
+
+
+

Inverse projection

+
+\[\phi = 2 \arctan( \frac{y}{1+\frac{\sqrt{2}}{2}} )\]
+
+\[\lambda = \sqrt{2} x\]
+
+
+
+
+

Further reading

+
    +
  1. Wikipedia

  2. +
  3. Cartographic Projection Procedures for the UNIX Environment-A User’s Manual

  4. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/geos.html b/operations/projections/geos.html new file mode 100644 index 00000000..c65b560b --- /dev/null +++ b/operations/projections/geos.html @@ -0,0 +1,423 @@ + + + + + + + Geostationary Satellite View — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Geostationary Satellite View

+

The geos projection pictures how a geostationary satellite scans the earth at regular +scanning angle intervals.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Azimuthal

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

geos

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Geostationary Satellite View +
+

proj-string: +proj=geos +h=35785831.0 +lon_0=-60 +sweep=y

+
+
+
+

Usage

+

In order to project using the geos projection you can do the following:

+
proj +proj=geos +h=35785831.0
+
+
+

The required argument h is the viewing point (satellite position) height above +the earth.

+

The projection coordinate relate to the scanning angle by the following simple +relation:

+
scanning_angle (radians) = projection_coordinate / h
+
+
+
+

Note on sweep angle

+

The viewing instrument on-board geostationary satellites described by this +projection have a two-axis gimbal viewing geometry. This means that the different +scanning positions are obtained by rotating the gimbal along a N/S axis (or y) +and a E/W axis (or x).

+Gimbal geometry +

In the image above, the outer-gimbal axis, or sweep-angle axis, is the N/S axis (y) +while the inner-gimbal axis, or fixed-angle axis, is the E/W axis (x).

+

This example represents the scanning geometry of the Meteosat series satellite. +However, the GOES satellite series use the opposite scanning geometry, with the +E/W axis (x) as the sweep-angle axis, and the N/S (y) as the fixed-angle axis.

+

The sweep argument is used to tell PROJ which on which axis the outer-gimbal +is rotating. The possible values are x or y, y being the default. Thus, the +scanning geometry of the Meteosat series satellite should take sweep as y, and +GOES should take sweep as x.

+
+
+
+

Parameters

+
+

Required

+
+
++h=<value>
+

Height of the view point above the Earth and must be in the same units as +the radius of the sphere or semimajor axis of the ellipsoid.

+
+ +
+
+

Optional

+
+
++sweep=<axis>
+

Sweep angle axis of the viewing instrument. Valid options are “x” and “y”.

+

Defaults to “y”.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/gins8.html b/operations/projections/gins8.html new file mode 100644 index 00000000..4471bbe2 --- /dev/null +++ b/operations/projections/gins8.html @@ -0,0 +1,364 @@ + + + + + + + Ginsburg VIII (TsNIIGAiK) — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Ginsburg VIII (TsNIIGAiK)

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward spherical projection

Defined area

Global

Alias

gins8

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Ginsburg VIII (TsNIIGAiK) +
+

proj-string: +proj=gins8

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Ginsburg VIII projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/gn_sinu.html b/operations/projections/gn_sinu.html new file mode 100644 index 00000000..41f1e8f9 --- /dev/null +++ b/operations/projections/gn_sinu.html @@ -0,0 +1,365 @@ + + + + + + + General Sinusoidal Series — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

General Sinusoidal Series

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

gn_sinu

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+General Sinusoidal Series +
+

proj-string: +proj=gn_sinu +m=2 +n=3

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the General Sinusoidal Series +projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/gnom.html b/operations/projections/gnom.html new file mode 100644 index 00000000..ab7560a1 --- /dev/null +++ b/operations/projections/gnom.html @@ -0,0 +1,371 @@ + + + + + + + Gnomonic — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Gnomonic

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

gnom

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Gnomonic +
+

proj-string: +proj=gnom +lat_0=90 +lon_0=-50

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Gnomonic projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/goode.html b/operations/projections/goode.html new file mode 100644 index 00000000..f352edcb --- /dev/null +++ b/operations/projections/goode.html @@ -0,0 +1,364 @@ + + + + + + + Goode Homolosine — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Goode Homolosine

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

goode

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Goode Homolosine +
+

proj-string: +proj=goode

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Goode Homolosine projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/gs48.html b/operations/projections/gs48.html new file mode 100644 index 00000000..c0714ba5 --- /dev/null +++ b/operations/projections/gs48.html @@ -0,0 +1,358 @@ + + + + + + + Modified Stereographic of 48 U.S. — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Modified Stereographic of 48 U.S.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Azimuthal

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

The lower 48 states of the U.S.

Alias

gs48

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Modified Stereographic of 48 U.S. +
+

proj-string: +proj=gs48

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/gs50.html b/operations/projections/gs50.html new file mode 100644 index 00000000..2e0b7997 --- /dev/null +++ b/operations/projections/gs50.html @@ -0,0 +1,358 @@ + + + + + + + Modified Stereographic of 50 U.S. — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Modified Stereographic of 50 U.S.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Azimuthal

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

All 50 states of the U.S.

Alias

gs50

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Modified Stereographic of 50 U.S. +
+

proj-string: +proj=gs50

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/gstmerc.html b/operations/projections/gstmerc.html new file mode 100644 index 00000000..a5bc960e --- /dev/null +++ b/operations/projections/gstmerc.html @@ -0,0 +1,387 @@ + + + + + + + Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion) — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion)

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Conformal

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

gstmerc

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion) +
+

proj-string: +proj=gstmerc

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++k_0=<value>
+

Scale factor. Determines scale factor used in the projection.

+

Defaults to 1.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/guyou.html b/operations/projections/guyou.html new file mode 100644 index 00000000..54fd613b --- /dev/null +++ b/operations/projections/guyou.html @@ -0,0 +1,364 @@ + + + + + + + Guyou — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Guyou

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward spherical projection

Defined area

Global

Alias

guyou

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Guyou +
+

proj-string: +proj=guyou

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/hammer.html b/operations/projections/hammer.html new file mode 100644 index 00000000..b82dff5e --- /dev/null +++ b/operations/projections/hammer.html @@ -0,0 +1,379 @@ + + + + + + + Hammer & Eckert-Greifendorff — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Hammer & Eckert-Greifendorff

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Azimuthal

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

hammer

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Hammer & Eckert-Greifendorff +
+

proj-string: +proj=hammer

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++W=<value>
+

Set to 0.5 for the Hammer projection and 0.25 for the Eckert-Greifendorff +projection. +W has to be larger than zero.

+

Defaults to 0.5.

+
+ +
+
++M=<value>
+

+M has to be larger than zero.

+

Defaults to 1.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/hatano.html b/operations/projections/hatano.html new file mode 100644 index 00000000..85862326 --- /dev/null +++ b/operations/projections/hatano.html @@ -0,0 +1,404 @@ + + + + + + + Hatano Asymmetrical Equal Area — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Hatano Asymmetrical Equal Area

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical Projection

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

hatano

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Hatano Asymmetrical Equal Area +
+

proj-string: +proj=hatano

+
+
+
+

Parameters

+
+

Note

+

All parameters for the projection are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+

Mathematical Definition

+
+

Forward

+
+\[ \begin{align}\begin{aligned}x &= 0.85\lambda \cos \theta\\y &= C_y \sin \theta\\P(\theta) &= 2\theta + \sin 2\theta - C_p \sin \phi\\P'(\theta) &= 2(1 + \cos 2\theta)\\\theta_0 &= 2\phi\end{aligned}\end{align} \]
+ +++++ + + + + + + + + + + + + + + + + +

Condition

\(C_y\)

\(C_p\)

For \(\phi > 0\)

1.75859

2.67595

For \(\phi < 0\)

1.93052

2.43763

+

For \(\phi = 0\), \(y \leftarrow 0\), and \(x \leftarrow 0.85\lambda\).

+
+
+
+

Further reading

+
    +
  1. Compare Map Projections

  2. +
  3. Mathworks

  4. +
+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/healpix.html b/operations/projections/healpix.html new file mode 100644 index 00000000..e54aeb5a --- /dev/null +++ b/operations/projections/healpix.html @@ -0,0 +1,408 @@ + + + + + + + HEALPix — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

HEALPix

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

healpix

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+HEALPix +

The HEALPix projection is area preserving and can be used with a spherical and +ellipsoidal model. It was initially developed for mapping cosmic background +microwave radiation. The image below is the graphical representation of the +mapping and consists of eight isomorphic triangular interrupted map graticules. +The north and south contains four in which straight meridians converge polewards +to a point and unequally spaced horizontal parallels. HEALPix provides a mapping +in which points of equal latitude and equally spaced longitude are mapped to points +of equal latitude and equally spaced longitude with the module of the polar +interruptions.

+
+

Usage

+

To run a forward HEALPix projection on a unit sphere model, use the following command:

+
proj +proj=healpix +lon_0=0 +a=1 -E <<EOF
+0 0
+EOF
+# output
+0 0 0.00 0.00
+
+
+
+
+

Parameters

+
+

Note

+

All parameters for the projection are optional.

+
+
+
++rot_xy
+
+

New in version 6.3.0.

+
+

Rotation of the HEALPix map in degrees. A positive value results in a clockwise +rotation around (x_0, y_0) in the cartesian / projected coordinate space.

+

Defaults to 0.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
+

Further reading

+
    +
  1. NASA

  2. +
  3. Wikipedia

  4. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/igh.html b/operations/projections/igh.html new file mode 100644 index 00000000..49218e9c --- /dev/null +++ b/operations/projections/igh.html @@ -0,0 +1,364 @@ + + + + + + + Interrupted Goode Homolosine — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Interrupted Goode Homolosine

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

igh

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Interrupted Goode Homolosine +
+

proj-string: +proj=igh

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/igh_o.html b/operations/projections/igh_o.html new file mode 100644 index 00000000..555d5f64 --- /dev/null +++ b/operations/projections/igh_o.html @@ -0,0 +1,364 @@ + + + + + + + Interrupted Goode Homolosine (Oceanic View) — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Interrupted Goode Homolosine (Oceanic View)

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

igh_o

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Interrupted Goode Homolosine +
+

proj-string: +proj=igh_o +lon_0=-160

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection. A value of +lon_0=-160 is recommended.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/imw_p.html b/operations/projections/imw_p.html new file mode 100644 index 00000000..b00be303 --- /dev/null +++ b/operations/projections/imw_p.html @@ -0,0 +1,380 @@ + + + + + + + International Map of the World Polyconic — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

International Map of the World Polyconic

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudoconical

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

imw_p

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+International Map of the World Polyconic +
+

proj-string: +proj=imw_p +lat_1=30 +lat_2=-40

+
+
+
+

Parameters

+
+

Required

+
+
++lat_1=<value>
+

First standard parallel.

+

Defaults to 0.0.

+
+ +
+
++lat_2=<value>
+

Second standard parallel.

+

Defaults to 0.0.

+
+ +
+
+

Optional

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/index.html b/operations/projections/index.html new file mode 100644 index 00000000..e08cfa9d --- /dev/null +++ b/operations/projections/index.html @@ -0,0 +1,446 @@ + + + + + + + Projections — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Projections

+

Projections are coordinate operations that are technically conversions but since +projections are so fundamental to PROJ we differentiate them from conversions.

+

Projections map the spherical 3D space to a flat 2D space.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/isea.html b/operations/projections/isea.html new file mode 100644 index 00000000..c56708a7 --- /dev/null +++ b/operations/projections/isea.html @@ -0,0 +1,410 @@ + + + + + + + Icosahedral Snyder Equal Area — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Icosahedral Snyder Equal Area

+

Snyder’s Icosahedral Equal Area map projections on polyhedral globes for the +dodecahedron and truncated icosahedron offer relatively low scale and +angular distortion. The equations involved are relatively straight-forward, +and for certain instructional tools and databases, the projections are useful +for world maps. The interruptions remain a disadvantage, as with any low-error +projection system applied to the entire globe [Snyder1992].

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Polyhedral, equal area

Available forms

Forward, spherical

Defined area

Global

Alias

isea

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Icosahedral Snyder Equal Area +
+

proj-string: +proj=isea

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++orient=<string>
+

Can be set to either isea or pole. See Snyder’s Figure 12 for pole orientation [Snyder1992].

+

Defaults to isea

+
+ +
+
++azi=<value>
+

Azimuth.

+

Defaults to 0.0

+
+ +
+
++aperture=<value>
+

Defaults to 3.0

+
+ +
+
++resolution=<value>
+

Defaults to 4.0

+
+ +
+
++mode=<string>
+

Can be either plane, di, dd or hex.

+

Defaults to plane

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/kav5.html b/operations/projections/kav5.html new file mode 100644 index 00000000..37da8c8f --- /dev/null +++ b/operations/projections/kav5.html @@ -0,0 +1,369 @@ + + + + + + + Kavrayskiy V — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Kavrayskiy V

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

kav5

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Kavrayskiy V +
+

proj-string: +proj=kav5

+
+
+
+

Note

+

This projection name may also be transliterated as Kavraisky V.

+
+

Created by Soviet cartographer Vladimir V. Kavrayskiy in 1933 [Snyder1993].

+
+

Parameters

+
+

Note

+

All parameters are optional for the Kavrayskiy V projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/kav7.html b/operations/projections/kav7.html new file mode 100644 index 00000000..0e8f5949 --- /dev/null +++ b/operations/projections/kav7.html @@ -0,0 +1,369 @@ + + + + + + + Kavrayskiy VII — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Kavrayskiy VII

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

kav7

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Kavrayskiy VII +
+

proj-string: +proj=kav7

+
+
+
+

Note

+

This projection name may also be transliterated as Kavraisky VII.

+
+

Created by Soviet cartographer Vladimir V. Kavrayskiy in 1939 [Snyder1993].

+
+

Parameters

+
+

Note

+

All parameters are optional for the Kavrayskiy VII projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/krovak.html b/operations/projections/krovak.html new file mode 100644 index 00000000..f9a54980 --- /dev/null +++ b/operations/projections/krovak.html @@ -0,0 +1,379 @@ + + + + + + + Krovak — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Krovak

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Conical

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global, but more accurate around Czechoslovakia

Alias

krovak

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Krovak +
+

proj-string: +proj=krovak

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Krovak projection.

+

The latitude of pseudo standard parallel is hardcoded to 78.5° and +the ellipsoid to Bessel.

+
+
+
++czech
+

Reverse the sign of the output coordinates, as is tradition in the +Czech Republic.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 24°50’ (24.8333333333333)

+
+ +
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 49.5

+
+ +
+
++k_0=<value>
+

Scale factor. Determines scale factor used in the projection.

+

Defaults to 0.9999

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/labrd.html b/operations/projections/labrd.html new file mode 100644 index 00000000..32545b9c --- /dev/null +++ b/operations/projections/labrd.html @@ -0,0 +1,379 @@ + + + + + + + Laborde — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Laborde

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Cylindrical

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global, but more accurate around Madagascar

Alias

labrd

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Laborde +
+

proj-string: +proj=labrd +lon_0=40 +lat_0=-10

+
+
+
+

Parameters

+
+

Required

+
+
++lat_0=<value>
+

Latitude of projection center. Must not be zero.

+
+ +
+
+

Optional

+
+
++azi=<value>
+

Azimuth of the central line.

+

Defaults to 0.0

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/laea.html b/operations/projections/laea.html new file mode 100644 index 00000000..cd668343 --- /dev/null +++ b/operations/projections/laea.html @@ -0,0 +1,380 @@ + + + + + + + Lambert Azimuthal Equal Area — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Lambert Azimuthal Equal Area

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Azimuthal

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

laea

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Lambert Azimuthal Equal Area +
+

proj-string: +proj=laea

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/lagrng.html b/operations/projections/lagrng.html new file mode 100644 index 00000000..d59cbcbe --- /dev/null +++ b/operations/projections/lagrng.html @@ -0,0 +1,389 @@ + + + + + + + Lagrange — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Lagrange

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

lagrng

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Lagrange +
+

proj-string: +proj=lagrng

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++W=<value>
+

The factor +W is the ratio of the difference in longitude from the +central meridian to the a circular meridian to 90. +W must be a +positive value.

+

Defaults to 2.0

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lat_1=<value>
+

First standard parallel.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/larr.html b/operations/projections/larr.html new file mode 100644 index 00000000..5643d1fe --- /dev/null +++ b/operations/projections/larr.html @@ -0,0 +1,364 @@ + + + + + + + Larrivee — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Larrivee

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward spherical projection

Defined area

Global

Alias

larr

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Larrivee +
+

proj-string: +proj=larr

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Larrivee projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/lask.html b/operations/projections/lask.html new file mode 100644 index 00000000..775f1aaa --- /dev/null +++ b/operations/projections/lask.html @@ -0,0 +1,364 @@ + + + + + + + Laskowski — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Laskowski

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward spherical projection

Defined area

Global

Alias

lask

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Laskowski +
+

proj-string: +proj=lask

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/lcc.html b/operations/projections/lcc.html new file mode 100644 index 00000000..8a565245 --- /dev/null +++ b/operations/projections/lcc.html @@ -0,0 +1,432 @@ + + + + + + + Lambert Conformal Conic — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Lambert Conformal Conic

+

A Lambert Conformal Conic projection (LCC) is a conic map projection +used for aeronautical charts, portions of the State Plane Coordinate +System, and many national and regional mapping systems. It is one of +seven projections introduced by Johann Heinrich Lambert in 1772.

+

It has several different forms: with one and two standard parallels +(referred to as 1SP and 2SP in EPSG guidance notes). Additionally we +provide “2SP Michigan” form which is very similar to normal 2SP, but +with a scaling factor on the ellipsoid (given as k_0 parameter). +It is implemented as per EPSG Guidance Note 7-2 (version 54, August +2018, page 25). It is used in a few systems in the EPSG database which +justifies adding this otherwise non-standard projection.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Conformal conic

Available forms

Forward and inverse, spherical and ellipsoidal . +One or two standard parallels (1SP and 2SP). +“LCC 2SP Michigan” form can be used by setting ++k_0 parameter to specify ellipsoid scale.

Defined area

Best for regions predominantly east–west in extent and +located in the middle north or south latitudes.

Alias

lcc

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Lambert Conformal Conic +
+

proj-string: +proj=lcc +lon_0=-90 +lat_1=33 +lat_2=45

+
+
+
+

Parameters

+
+

Required

+
+
++lat_1=<value>
+

First standard parallel.

+

Defaults to 0.0.

+
+ +
+
+

Optional

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lat_2=<value>
+

Second standard parallel.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
++k_0=<value>
+

This parameter can represent two different values depending on the +form of the projection. In LCC 1SP it determines the scale factor +at natural origin. In LCC 2SP Michigan it determines the ellipsoid +scale factor.

+

Defaults to 1.0.

+
+ +
+
+
+

Further reading

+
    +
  1. Wikipedia

  2. +
  3. Wolfram Mathworld

  4. +
  5. John P. Snyder “Map projections: A working manual” (pp. 104-110)

  6. +
  7. ArcGIS documentation on “Lambert Conformal Conic”

  8. +
  9. EPSG Guidance Note 7-2 (version 54, August 2018, page 25)

  10. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/lcca.html b/operations/projections/lcca.html new file mode 100644 index 00000000..4db54ca8 --- /dev/null +++ b/operations/projections/lcca.html @@ -0,0 +1,380 @@ + + + + + + + Lambert Conformal Conic Alternative — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Lambert Conformal Conic Alternative

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Conical

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

lcca

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Lambert Conformal Conic Alternative +
+

proj-string: +proj=lcca +lat_0=35

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/leac.html b/operations/projections/leac.html new file mode 100644 index 00000000..2a45cb89 --- /dev/null +++ b/operations/projections/leac.html @@ -0,0 +1,388 @@ + + + + + + + Lambert Equal Area Conic — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Lambert Equal Area Conic

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Conical

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

leac

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Lambert Equal Area Conic +
+

proj-string: +proj=leac

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Lambert Equal Area Conic +projection.

+
+
+
++lat_1=<value>
+

First standard parallel.

+

Defaults to 0.0.

+
+ +
+
++south
+

Sets the second standard parallel to 90°S. When the flag is off the second +standard parallel is set to 90°N.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/lee_os.html b/operations/projections/lee_os.html new file mode 100644 index 00000000..f3c14cf6 --- /dev/null +++ b/operations/projections/lee_os.html @@ -0,0 +1,358 @@ + + + + + + + Lee Oblated Stereographic — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Lee Oblated Stereographic

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Azimuthal

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

lee_os

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Lee Oblated Stereographic +
+

proj-string: +proj=lee_os

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/loxim.html b/operations/projections/loxim.html new file mode 100644 index 00000000..62efade2 --- /dev/null +++ b/operations/projections/loxim.html @@ -0,0 +1,371 @@ + + + + + + + Loximuthal — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Loximuthal

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

loxim

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Loximuthal +
+

proj-string: +proj=loxim

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Loximuthal projection.

+
+
+
++lat_1=<value>
+

First standard parallel.

+

Defaults to 0.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/lsat.html b/operations/projections/lsat.html new file mode 100644 index 00000000..9f6542de --- /dev/null +++ b/operations/projections/lsat.html @@ -0,0 +1,388 @@ + + + + + + + Space oblique for LANDSAT — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Space oblique for LANDSAT

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Cylindrical

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

lsat

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Space oblique for LANDSAT +
+

proj-string: +proj=lsat +ellps=GRS80 +lat_1=-60 +lat_2=60 +lsat=2 +path=2

+
+
+
+

Parameters

+
+

Required

+
+
++lsat=<value>
+

Landsat satellite used for the projection. Value between 1 and 5.

+
+ +
+
++path=<value>
+

Selected path of satellite. Value between 1 and 253 when +lsat is +set to 1,2 or 3, otherwise valid input is between 1 and 233.

+
+ +
+
+

Optional

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/mbt_fps.html b/operations/projections/mbt_fps.html new file mode 100644 index 00000000..dbce64e8 --- /dev/null +++ b/operations/projections/mbt_fps.html @@ -0,0 +1,364 @@ + + + + + + + McBryde-Thomas Flat-Pole Sine (No. 2) — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

McBryde-Thomas Flat-Pole Sine (No. 2)

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

mbt_fps

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+McBryde-Thomas Flat-Pole Sine (No. 2) +
+

proj-string: +proj=mbt_fps

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/mbt_s.html b/operations/projections/mbt_s.html new file mode 100644 index 00000000..b92cfa8c --- /dev/null +++ b/operations/projections/mbt_s.html @@ -0,0 +1,365 @@ + + + + + + + McBryde-Thomas Flat-Polar Sine (No. 1) — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

McBryde-Thomas Flat-Polar Sine (No. 1)

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

mbt_s

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+McBryde-Thomas Flat-Polar Sine (No. 1) +
+

proj-string: +proj=mbt_s

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the McBryde-Thomas Flat-Polar Sine +projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/mbtfpp.html b/operations/projections/mbtfpp.html new file mode 100644 index 00000000..f261bfb2 --- /dev/null +++ b/operations/projections/mbtfpp.html @@ -0,0 +1,364 @@ + + + + + + + McBride-Thomas Flat-Polar Parabolic — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

McBride-Thomas Flat-Polar Parabolic

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

mbtfpp

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+McBride-Thomas Flat-Polar Parabolic +
+

proj-string: +proj=mbtfpp

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/mbtfpq.html b/operations/projections/mbtfpq.html new file mode 100644 index 00000000..866af297 --- /dev/null +++ b/operations/projections/mbtfpq.html @@ -0,0 +1,364 @@ + + + + + + + McBryde-Thomas Flat-Polar Quartic — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

McBryde-Thomas Flat-Polar Quartic

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

mbtfpq

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+McBryde-Thomas Flat-Polar Quartic +
+

proj-string: +proj=mbtfpq

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/mbtfps.html b/operations/projections/mbtfps.html new file mode 100644 index 00000000..f6d07ae6 --- /dev/null +++ b/operations/projections/mbtfps.html @@ -0,0 +1,365 @@ + + + + + + + McBryde-Thomas Flat-Polar Sinusoidal — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

McBryde-Thomas Flat-Polar Sinusoidal

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

mbtfps

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+McBryde-Thomas Flat-Polar Sinusoidal +
+

proj-string: +proj=mbtfps

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the McBryde-Thomas Flat-Polar +Sinusoidal projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/merc.html b/operations/projections/merc.html new file mode 100644 index 00000000..e9bf7b15 --- /dev/null +++ b/operations/projections/merc.html @@ -0,0 +1,500 @@ + + + + + + + Mercator — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Mercator

+

The Mercator projection is a cylindrical map projection that origins +from the 16th century. It is widely recognized as the first regularly +used map projection. It is a conformal projection in which the equator +projects to a straight line at constant scale. The projection has the +property that a rhumb line, a course of constant heading, projects to a +straight line. This makes it suitable for navigational purposes.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Conformal cylindrical

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global, but best used near the equator

Alias

merc

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Mercator +
+

proj-string: +proj=merc

+
+
+
+

Usage

+

Applications should be limited to equatorial regions, but is frequently +used for navigational charts with latitude of true scale (+lat_ts) specified within +or near chart’s boundaries. +It is considered to be inappropriate for world maps because of the gross +distortions in area; for example the projected area of Greenland is +larger than that of South America, despite the fact that Greenland’s +area is \(\frac18\) that of South America [Snyder1987].

+

Example using latitude of true scale:

+
$ echo 56.35 12.32 | proj +proj=merc +lat_ts=56.5
+3470306.37    759599.90
+
+
+

Example using scaling factor:

+
echo 56.35 12.32 | proj +proj=merc +k_0=2
+12545706.61     2746073.80
+
+
+

Note that +lat_ts and +k_0 are mutually exclusive. +If used together, +lat_ts takes precedence over +k_0.

+
+
+

Parameters

+
+

Note

+

All parameters for the projection are optional.

+
+
+
++lat_ts=<value>
+

Latitude of true scale. Defines the latitude where scale is not distorted. +Takes precedence over +k_0 if both options are used together.

+

Defaults to 0.0.

+
+ +
+
++k_0=<value>
+

Scale factor. Determines scale factor used in the projection.

+

Defaults to 1.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
+

Mathematical definition

+
+

Spherical form

+

For the spherical form of the projection we introduce the scaling factor:

+
+\[k_0 = \cos \phi_{ts}\]
+
+

Forward projection

+
+\[x = k_0R \lambda; \qquad y = k_0R \psi\]
+
+\[\begin{split}\psi &= \ln \tan \biggl(\frac{\pi}{4} + \frac{\phi}{2} \biggr)\\ + &= \sinh^{-1}\tan\phi\end{split}\]
+

The quantity \(\psi\) is the isometric latitude.

+
+
+

Inverse projection

+
+\[\lambda = \frac{x}{k_0R}; \qquad \psi = \frac{y}{k_0R}\]
+
+\[\begin{split}\phi &= \frac{\pi}{2} - 2 \tan^{-1} \exp(-\psi)\\ + &= \tan^{-1}\sinh\psi\end{split}\]
+
+
+
+

Ellipsoidal form

+

For the ellipsoidal form of the projection we introduce the scaling factor:

+
+\[k_0 = m( \phi_{ts} )\]
+

where

+
+\[m(\phi) = \frac{\cos\phi}{\sqrt{1 - e^2\sin^2\phi}}\]
+

\(a\,m(\phi)\) is the radius of the circle of latitude \(\phi\).

+
+

Forward projection

+
+\[x = k_0 a \lambda; \qquad y = k_0 a \psi\]
+
+\[\begin{split}\psi &= \ln\tan\biggl(\frac\pi4 + \frac{\phi}2\biggr) + -\frac12 e + \ln \biggl(\frac{1 + e \sin\phi}{1 - e \sin\phi}\biggr)\\ + &= \sinh^{-1}\tan\phi - e \tanh^{-1}(e \sin\phi)\end{split}\]
+
+
+

Inverse projection

+
+\[\lambda = \frac{x}{k_0 a}; \quad \psi = \frac{y}{k_0 a}\]
+

The latitude \(\phi\) is found by inverting the equation for +\(\psi\). This follows the method given by [Karney2011tm]. +Start by introducing the conformal latitude

+
+\[\chi = \tan^{-1}\sinh\psi\]
+

The tangents of the latitudes \(\tau = \tan\phi\) and \(\tau' = +\tan\chi = \sinh\psi\) are related by

+
+\[\tau' = \tau \sqrt{1 + \sigma^2} - \sigma \sqrt{1 + \tau^2}\]
+

where

+
+\[\sigma = \sinh\bigl(e \tanh^{-1}(e \tau/\sqrt{1 + \tau^2}) \bigr)\]
+

This is obtained by taking the \(\sinh\) of the equation for +\(\psi\) and using the multiple argument formula. The equation for +\(\tau'\) can be solved to give \(\tau\) using Newton’s method +using \(\tau = \tau'/(1 - e^2)\) as an initial guess and with the +needed derivative given by

+
+\[\frac{d\tau'}{d\tau} = \frac{1 - e^2}{1 + (1 - e^2)\tau^2} +\sqrt{1 + \tau'^2} \sqrt{1 + \tau^2}\]
+

This converges after no more than 2 iterations. Finally set +\(\phi=\tan^{-1}\tau\).

+
+
+
+
+

Further reading

+
    +
  1. Wikipedia

  2. +
  3. Wolfram Mathworld

  4. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/mil_os.html b/operations/projections/mil_os.html new file mode 100644 index 00000000..072ea4cb --- /dev/null +++ b/operations/projections/mil_os.html @@ -0,0 +1,358 @@ + + + + + + + Miller Oblated Stereographic — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Miller Oblated Stereographic

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Azimuthal

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

mil_os

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Miller Oblated Stereographic +
+

proj-string: +proj=mil_os

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/mill.html b/operations/projections/mill.html new file mode 100644 index 00000000..4b416369 --- /dev/null +++ b/operations/projections/mill.html @@ -0,0 +1,404 @@ + + + + + + + Miller Cylindrical — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Miller Cylindrical

+

The Miller cylindrical projection is a modified Mercator projection, proposed by Osborn Maitland Miller in 1942. +The latitude is scaled by a factor of \(\frac{4}{5}\), projected according to Mercator, and then the result is multiplied by \(\frac{5}{4}\) to retain scale along the equator.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Neither conformal nor equal area cylindrical

Available forms

Forward and inverse spherical

Defined area

Global, but best used near the equator

Alias

mill

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Miller Cylindrical +
+

proj-string: +proj=mill

+
+
+
+

Usage

+

The Miller Cylindrical projection is used for world maps and in several atlases, +including the National Atlas of the United States (USGS, 1970, p. 330-331) [Snyder1987].

+

Example using Central meridian 90°W:

+
$ echo -100 35 | proj +proj=mill +lon_0=90w
+-1113194.91      4061217.24
+
+
+
+
+

Parameters

+
+

Note

+

All parameters for the projection are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+

Mathematical definition

+

The formulas describing the Miller projection are all taken from [Snyder1987].

+
+

Forward projection

+
+\[x = \lambda\]
+
+\[y = 1.25 * \ln \left[ \tan \left(\frac{\pi}{4} + 0.4 * \phi \right) \right]\]
+
+
+

Inverse projection

+
+\[\lambda = x\]
+
+\[\phi = 2.5 * ( \arctan \left[ e^{0.8 * y} \right] - \frac{\pi}{4} )\]
+
+
+
+

Further reading

+
    +
  1. Wikipedia

  2. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/misrsom.html b/operations/projections/misrsom.html new file mode 100644 index 00000000..bf189936 --- /dev/null +++ b/operations/projections/misrsom.html @@ -0,0 +1,381 @@ + + + + + + + Space oblique for MISR — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Space oblique for MISR

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Conformal

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

misrsom

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Space oblique for MISR +
+

proj-string: +proj=misrsom +path=1

+
+
+
+

Parameters

+
+

Required

+
+
++path=<value>
+

Selected path of satellite. Value between 1 and 233.

+
+ +
+
+

Optional

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/moll.html b/operations/projections/moll.html new file mode 100644 index 00000000..71ef11b2 --- /dev/null +++ b/operations/projections/moll.html @@ -0,0 +1,364 @@ + + + + + + + Mollweide — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Mollweide

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

moll

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Mollweide +
+

proj-string: +proj=moll

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/murd1.html b/operations/projections/murd1.html new file mode 100644 index 00000000..fbfb3100 --- /dev/null +++ b/operations/projections/murd1.html @@ -0,0 +1,380 @@ + + + + + + + Murdoch I — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Murdoch I

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Conical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

murd1

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Murdoch I +
+

proj-string: +proj=murd1 +lat_1=30 +lat_2=50

+
+
+
+

Parameters

+
+

Required

+
+
++lat_1=<value>
+

First standard parallel.

+

Defaults to 0.0.

+
+ +
+
++lat_2=<value>
+

Second standard parallel.

+

Defaults to 0.0.

+
+ +
+
+

Optional

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/murd2.html b/operations/projections/murd2.html new file mode 100644 index 00000000..10e50aab --- /dev/null +++ b/operations/projections/murd2.html @@ -0,0 +1,380 @@ + + + + + + + Murdoch II — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Murdoch II

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Conical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

murd2

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Murdoch II +
+

proj-string: +proj=murd2 +lat_1=30 +lat_2=50

+
+
+
+

Parameters

+
+

Required

+
+
++lat_1=<value>
+

First standard parallel.

+

Defaults to 0.0.

+
+ +
+
++lat_2=<value>
+

Second standard parallel.

+

Defaults to 0.0.

+
+ +
+
+

Optional

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/murd3.html b/operations/projections/murd3.html new file mode 100644 index 00000000..e5b364fa --- /dev/null +++ b/operations/projections/murd3.html @@ -0,0 +1,380 @@ + + + + + + + Murdoch III — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Murdoch III

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Conical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

murd3

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Murdoch III +
+

proj-string: +proj=murd3 +lat_1=30 +lat_2=50

+
+
+
+

Parameters

+
+

Required

+
+
++lat_1=<value>
+

First standard parallel.

+

Defaults to 0.0.

+
+ +
+
++lat_2=<value>
+

Second standard parallel.

+

Defaults to 0.0.

+
+ +
+
+

Optional

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/natearth.html b/operations/projections/natearth.html new file mode 100644 index 00000000..4f341984 --- /dev/null +++ b/operations/projections/natearth.html @@ -0,0 +1,388 @@ + + + + + + + Natural Earth — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Natural Earth

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudo cylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

natearth

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Natural Earth +
+

proj-string: +proj=natearth

+
+
+

The Natural Earth projection is intended for making world maps. A distinguishing trait +is its slightly rounded corners fashioned to emulate the spherical shape of Earth. +The meridians (except for the central meridian) bend acutely inward as they approach +the pole lines, giving the projection a hint of three-dimensionality. This bending +also suggests that the meridians converge at the poles instead of truncating at the +top and bottom edges. The distortion characteristics of the Natural Earth projection +compare favorably to other world map projections.

+
+

Usage

+

The Natural Earth projection has no special options so usage is simple. Here is +an example of an inverse projection on a sphere with a radius of 7500 m:

+
$ echo 3500 -8000 | proj -I +proj=natearth +a=7500
+37d54'6.091"E  61d23'4.582"S
+
+
+
+
+

Parameters

+
+

Note

+

All parameters for the projection are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+

Further reading

+
    +
  1. Wikipedia

  2. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/natearth2.html b/operations/projections/natearth2.html new file mode 100644 index 00000000..39cc6193 --- /dev/null +++ b/operations/projections/natearth2.html @@ -0,0 +1,368 @@ + + + + + + + Natural Earth II — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Natural Earth II

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudo cylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

natearth2

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Natural Earth II +
+

proj-string: +proj=natearth2

+
+
+

The Natural Earth II projection is intended for making world maps. At high +latitudes, meridians bend steeply toward short pole lines resulting in a map +with highly rounded corners that resembles an elongated globe.

+

See [Savric2015]

+
+

Parameters

+
+

Note

+

All parameters for the projection are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/nell.html b/operations/projections/nell.html new file mode 100644 index 00000000..357cab55 --- /dev/null +++ b/operations/projections/nell.html @@ -0,0 +1,364 @@ + + + + + + + Nell — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Nell

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

nell

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Nell +
+

proj-string: +proj=nell

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/nell_h.html b/operations/projections/nell_h.html new file mode 100644 index 00000000..527ea72a --- /dev/null +++ b/operations/projections/nell_h.html @@ -0,0 +1,364 @@ + + + + + + + Nell-Hammer — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Nell-Hammer

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

nell_h

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Nell-Hammer +
+

proj-string: +proj=nell_h

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/nicol.html b/operations/projections/nicol.html new file mode 100644 index 00000000..bbce32af --- /dev/null +++ b/operations/projections/nicol.html @@ -0,0 +1,364 @@ + + + + + + + Nicolosi Globular — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Nicolosi Globular

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudoconical

Available forms

Forward spherical projection

Defined area

Global

Alias

nicol

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Nicolosi Globular +
+

proj-string: +proj=nicol

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/nsper.html b/operations/projections/nsper.html new file mode 100644 index 00000000..bbe229de --- /dev/null +++ b/operations/projections/nsper.html @@ -0,0 +1,383 @@ + + + + + + + Near-sided perspective — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Near-sided perspective

+

The near-sided perspective projection simulates a view from a height +\(h\) similar to how a satellite in orbit would see it.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Azimuthal. Neither conformal nor equal area.

Available forms

Forward and inverse spherical projection

Defined area

Global, although for one hemisphere at a time.

Alias

nsper

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Near-sided perspective +
+

proj-string: +proj=nsper +h=3000000 +lat_0=-20 +lon_0=145

+
+
+
+

Parameters

+
+

Required

+
+
++h=<value>
+

Height of the view point above the Earth and must be in the same units as +the radius of the sphere or semimajor axis of the ellipsoid.

+
+ +
+
+

Optional

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/nzmg.html b/operations/projections/nzmg.html new file mode 100644 index 00000000..d8048d63 --- /dev/null +++ b/operations/projections/nzmg.html @@ -0,0 +1,306 @@ + + + + + + + New Zealand Map Grid — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

New Zealand Map Grid

+
+New Zealand Map Grid +
+

proj-string: +proj=nzmg

+
+
+
+

Parameters

+
+

Note

+

All standard projection parameters are hard-coded for this projection

+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/ob_tran.html b/operations/projections/ob_tran.html new file mode 100644 index 00000000..8345e315 --- /dev/null +++ b/operations/projections/ob_tran.html @@ -0,0 +1,460 @@ + + + + + + + General Oblique Transformation — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

General Oblique Transformation

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Cylindrical

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

ob_tran

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+General Oblique Transformation +
+

proj-string: +proj=ob_tran +o_proj=mill +o_lon_p=40 +o_lat_p=50 +lon_0=60

+
+
+
+

Usage

+

All of the projections of spherical library can be used as an +oblique projection by means of the General Oblique Transformation. The user +performs the oblique transformation by selecting the oblique projection ++proj=ob_tran, specifying the translation factors, +o_lat_p, and ++o_lon_p, and the projection to be used, +o_proj. In the +example of the Fairgrieve projection, the latitude and longitude of the North pole +of the unrotated geographic CRS, \(\alpha\) and \(\beta\) respectively, +expressed in the rotated geographic CRS, are to be placed +at 45°N and 90°W and the Mollweide projection is used. Because the central meridian +of the translated coordinates will follow the \(\beta\) meridian it is +necessary to translate the translated system so that the Greenwich meridian +will pass through the center of the projection by offsetting the central meridian.

+

The final control for this projection is:

+
+proj=ob_tran +o_proj=moll +o_lat_p=45 +o_lon_p=-90 +lon_0=-90
+
+
+
+
+

Parameters

+
+

Required

+
+
++o_proj=<projection>
+

Oblique projection.

+
+ +

In addition to specifying an oblique projection, how to rotate the projection +should be specified. This is done in one of three ways: Define a new pole, +rotate the projection about a given point or define a new “equator” spanned by +two points on the sphere. See the details below.

+
+

New pole

+
+
++o_lat_p=<latitude>
+

Latitude of the North pole of the unrotated source CRS, expressed in the rotated geographic CRS.

+
+ +
+
++o_lon_p=<longitude>
+

Longitude of the North pole of the unrotated source CRS, expressed in the rotated geographic CRS.

+
+ +
+
+

Rotate about point

+
+
++o_alpha=<value>
+

Angle to rotate the projection with.

+
+ +
+
++o_lon_c=<value>
+

Longitude of the point the projection will be rotated about.

+
+ +
+
++o_lat_c=<value>
+

Latitude of the point the projection will be rotated about.

+
+ +
+
+

New “equator” points

+
+
++o_lon_1=<value>
+

Longitude of first point.

+
+ +
+
++o_lat_1=<value>
+

Latitude of first point.

+
+ +
+
++o_lon_2=<value>
+

Longitude of second point.

+
+ +
+
++o_lat_2=<value>
+

Latitude of second point.

+
+ +
+
+
+

Optional

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/ocea.html b/operations/projections/ocea.html new file mode 100644 index 00000000..6f706304 --- /dev/null +++ b/operations/projections/ocea.html @@ -0,0 +1,418 @@ + + + + + + + Oblique Cylindrical Equal Area — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Oblique Cylindrical Equal Area

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Cylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

ocea

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Oblique Cylindrical Equal Area +
+

proj-string: +proj=ocea

+
+
+
+

Parameters

+
+

Required

+

For the Oblique Cylindrical Equal Area projection a pole of rotation is needed. +The pole can be defined in two ways: By a point and azimuth or by providing to +points that make up the pole.

+
+

Point & azimuth

+
+
++lonc=<value>
+

Longitude of rotational pole point.

+
+ +
+
++alpha=<value>
+

Angle of rotational pole.

+
+ +
+
+

Two points

+
+
++lon_1=<value>
+

Longitude of first point.

+
+ +
+
++lat_1=<value>
+

Latitude of first point.

+
+ +
+
++lon_2=<value>
+

Longitude of second point.

+
+ +
+
++lat_2=<value>
+

Latitude of second point.

+
+ +
+
+
+

Optional

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++k_0=<value>
+

Scale factor. Determines scale factor used in the projection.

+

Defaults to 1.0.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/oea.html b/operations/projections/oea.html new file mode 100644 index 00000000..d49fb9d9 --- /dev/null +++ b/operations/projections/oea.html @@ -0,0 +1,382 @@ + + + + + + + Oblated Equal Area — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Oblated Equal Area

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Azimuthal

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

oea

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Oblated Equal Area +
+

proj-string: +proj=oea +m=1 +n=2

+
+
+

Described in [Snyder1988].

+
+

Parameters

+
+

Required

+
+
++m=<value>
+
+ +
+
++n=<value>
+
+ +
+
+

Optional

+
+
++theta=<value>
+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/omerc.html b/operations/projections/omerc.html new file mode 100644 index 00000000..b42db027 --- /dev/null +++ b/operations/projections/omerc.html @@ -0,0 +1,496 @@ + + + + + + + Oblique Mercator — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Oblique Mercator

+

The Oblique Mercator projection is a cylindrical map projection that closes the +gap between the Mercator and the Transverse Mercator projections.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Conformal cylindrical

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global, but reasonably accurate only within 15 degrees +of the oblique central line

Alias

omerc

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Oblique Mercator +
+

proj-string: +proj=omerc +lat_1=45 +lat_2=55

+
+
+

Figuratively, the cylinder used for developing the Mercator projection touches +the planet along the Equator, while that of the Transverse Mercator touches the +planet along a meridian, i.e. along a line perpendicular to the Equator.

+

The cylinder for the Oblique Mercator, however, touches the planet along a line +at an arbitrary angle with the Equator. Hence, the Oblique Mercator projection +is useful for mapping areas having their greatest extent along a direction that +is neither north-south, nor east-west.

+

The Mercator and the Transverse Mercator projections are both limiting forms of +the Oblique Mercator: The Mercator projection is equivalent to an Oblique Mercator +with central line along the Equator, while the Transverse Mercator is equivalent +to an Oblique Mercator with central line along a meridian.

+

For the sphere, the construction of the Oblique Mercator projection can be +imagined as “tilting the cylinder of a plain Mercator projection”, +so the cylinder, instead of touching the equator, touches an arbitrary great circle +on the sphere. The great circle is defined by the tilt angle of the central line, +hence putting land masses along that great circle near the centre of the map, +where the Equator would go in the plain Mercator case.

+

The ellipsoidal case, developed by Hotine, and refined by Snyder [Snyder1987] +is more complex, involving initial steps projecting from the ellipsoid to another +curved surface, the “aposphere”, then projection from the aposphere to the skew +uv-plane, before finally rectifying the skew uv-plane onto the map XY plane.

+
+

Usage

+

The tilt angle (azimuth) of the central line can be given in two different ways. +In the first case, the azimuth is given directly, using the option +alpha +and defining the centre of projection using the options +lonc and ++lat_0. +In the second case, the azimuth is given indirectly by specifying two points on +the central line, using the options ++lat_1, +lon_1, +lat_2, and +lon_2.

+

Example: Verify that the Mercator projection is a limiting form of the Oblique +Mercator

+
$ echo 12 55 | proj +proj=merc +ellps=GRS80
+1335833.89   7326837.71
+
+$ echo 12 55 | proj +proj=omerc +lonc=0 +alpha=90 +ellps=GRS80
+1335833.89   7326837.71
+
+
+

Example: Second case - indirectly given azimuth

+
$ echo 12 55 | proj +proj=omerc +lon_1=-1 +lat_1=1 +lon_2=0 +lat_2=0 +ellps=GRS80
+  349567.57   6839490.50
+
+
+

Example: An approximation of the Danish “System 34” from [Rittri2012]

+
$ echo 10.536498003 56.229892362 | proj +proj=omerc +axis=wnu +lonc=9.46 +lat_0=56.13333333 +x_0=-266906.229 +y_0=189617.957 +k=0.9999537 +alpha=-0.76324 +gamma=0 +ellps=GRS80
+200000.13   199999.89
+
+
+

The input coordinate represents the System 34 datum point “Agri Bavnehoj”, with coordinates +(200000, 200000) by definition. So at the datum point, the approximation is off by about 17 cm. +This use case represents a datum shift from a cylinder projection on an old, slightly +misaligned datum, to a similar projection on a modern datum.

+
+
+

Parameters

+
+

Central point and azimuth method

+
+
++alpha=<value>
+

Azimuth of centerline clockwise from north at the center point of the line. +If +gamma is not given then +alpha determines the value of ++gamma.

+
+ +
+
++gamma=<value>
+

Azimuth of centerline clockwise from north of the rectified +bearing of centre line. If +alpha is not given, then ++gamma is used to determine +alpha.

+
+ +
+
++lonc=<value>
+

Longitude of the central point.

+
+ +
+
++lat_0=<value>
+

Latitude of the central point.

+
+ +
+
+

Two point method

+
+
++lon_1=<value>
+

Longitude of first point.

+
+ +
+
++lat_1=<value>
+

Latitude of first point.

+
+ +
+
++lon_2=<value>
+

Longitude of second point.

+
+ +
+
++lat_2=<value>
+

Latitude of second point.

+
+ +
+
+

Optional

+
+
++no_rot
+

No rectification (not “no rotation” as one may well assume). +Do not take the last step from the skew uv-plane to the map +XY plane.

+
+

Note

+

This option is probably only marginally useful, but remains for (mostly) historical reasons.

+
+
+ +
+
++no_off
+

Do not offset origin to center of projection.

+
+ +
+
++k_0=<value>
+

Scale factor. Determines scale factor used in the projection.

+

Defaults to 1.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/ortel.html b/operations/projections/ortel.html new file mode 100644 index 00000000..1d1cb526 --- /dev/null +++ b/operations/projections/ortel.html @@ -0,0 +1,364 @@ + + + + + + + Ortelius Oval — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Ortelius Oval

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward spherical projection

Defined area

Global

Alias

ortel

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Ortelius Oval +
+

proj-string: +proj=ortel

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/ortho.html b/operations/projections/ortho.html new file mode 100644 index 00000000..8d096f82 --- /dev/null +++ b/operations/projections/ortho.html @@ -0,0 +1,391 @@ + + + + + + + Orthographic — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Orthographic

+

The orthographic projection is a perspective azimuthal projection centered +around a given latitude and longitude.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Azimuthal

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global, although only one hemisphere can be seen at a +time

Alias

ortho

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Orthographic +
+

proj-string: +proj=ortho

+
+
+
+

Note

+

Before PROJ 7.2, only the spherical formulation was implemented. If +wanting to replicate PROJ < 7.2 results with newer versions, the +ellipsoid must be forced to a sphere, for example by adding a +f=0 +parameter.

+
+

This projection method corresponds to EPSG:9840.

+
+

Parameters

+
+

Note

+

All parameters for the projection are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/patterson.html b/operations/projections/patterson.html new file mode 100644 index 00000000..ca9b57d5 --- /dev/null +++ b/operations/projections/patterson.html @@ -0,0 +1,367 @@ + + + + + + + Patterson — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Patterson

+

The Patterson projection is a cylindrical map projection designed for +general-purpose mapmaking.

+

See [Patterson2014]

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Cylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

patterson

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Patterson +
+

proj-string: +proj=patterson

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/pconic.html b/operations/projections/pconic.html new file mode 100644 index 00000000..372ab885 --- /dev/null +++ b/operations/projections/pconic.html @@ -0,0 +1,380 @@ + + + + + + + Perspective Conic — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Perspective Conic

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Conical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

pconic

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Perspective Conic +
+

proj-string: +proj=pconic +lat_1=25 +lat_2=75

+
+
+
+

Parameters

+
+

Required

+
+
++lat_1=<value>
+

First standard parallel.

+

Defaults to 0.0.

+
+ +
+
++lat_2=<value>
+

Second standard parallel.

+

Defaults to 0.0.

+
+ +
+
+

Optional

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/peirce_q.html b/operations/projections/peirce_q.html new file mode 100644 index 00000000..e564ce0e --- /dev/null +++ b/operations/projections/peirce_q.html @@ -0,0 +1,441 @@ + + + + + + + Peirce Quincuncial — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Peirce Quincuncial

+

The Peirce Quincuncial projection is a conformal map projection +that transforms the circle of the northern hemisphere into a square, +and the southern hemisphere split into four triangles arranged +around the square to form a quincunx. The resulting projection +is a regular diamond shape or can be rotated to form a square. +The resulting tile can be infinitely tessellated. Though this implementation +defaults to a central meridian of 0, it is more common to use a central +meridian of around 25 to optimise the distortions. Peirce’s original +published map from 1879 used a central meridian of approx -70. +The diamond and square versions can be produced using the ++shape=diamond and +shape=square options respectively. +This implementation includes an alternative lateral projection +which places hemispheres side-by-side (+shape=horizontal or ++shape=vertical). Combined with a general oblique transformation, +this can be used to produced a Grieger Triptychial projection +(see example below).

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward spherical projection

Defined area

Global

Alias

peirce_q

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Peirce Quincuncial (Square) +
+

proj-string: +proj=peirce_q +lon_0=25 +shape=square

+
+
+
+Peirce Quincuncial (Diamond) +
+

proj-string: +proj=peirce_q +lon_0=25 +shape=diamond

+
+
+
+Peirce Quincuncial (Horizontal) +
+

proj-string: +proj=peirce_q +lon_0=25 +shape=horizontal

+
+
+
+Grieger Triptychial +
+

proj-string: +proj=pipeline +step +proj=ob_tran +o_proj=peirce_q +o_lat_p=-45 +o_lon_p=45 +o_type=horizontal +o_scrollx=-0.25 +step +proj=affine +s11=-1 +s12=0 +s21=0 +s22=-1

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++shape=square/diamond/horizontal/vertical/nhemisphere/shemisphere
+
+

New in version 9.0.

+
+

Defaults to diamond.

+
+

Warning

+

This option was wrongly introduced introduced in 8.2.1 with the +type name, which was inappropriate as it conflicted with +the +type=crs general hint.

+
+

Indicates the shape of transformation applied to the southern hemisphere: +square and diamond represent the traditional quincuncial form suggested +by Peirce with the southern hemisphere divided into 4 triangles and reflected +outward from the northern hemisphere. The square shape is rotated by 45 +degrees to produce the conventional square presentation. The origin lies at +the centre of the square or diamond.

+

By contrast, the horizontal and vertical forms reflect the southern +hemisphere laterally across the x or y axis respectively to produce a rectangular +form. The origin lies at the centre of the rectangle.

+

The other two types, nhemisphere and shemisphere, discard latitudes of less +than 0 or more than 0, respectively, to allow single hemispheres to be selected. +The origin lies at the centre of the square or diamond.

+
+ +
+
++scrollx=<value>
+

For horizontal shape allows a scalar circular scroll of resulting x coordinates +to shift sections of the projection to the other horizontal side of the map.

+

Defaults to 0.0. Must be a scale between -1.0 and 1.0.

+
+ +
+
++scrolly=<value>
+

For vertical shape allows a scalar circular scroll of resulting y coordinates +to shift sections of the projection to the other vertical side of the map.

+

Defaults to 0.0. Must be a scale between -1.0 and 1.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/poly.html b/operations/projections/poly.html new file mode 100644 index 00000000..8876f332 --- /dev/null +++ b/operations/projections/poly.html @@ -0,0 +1,373 @@ + + + + + + + Polyconic (American) — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Polyconic (American)

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudoconical

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

poly

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Polyconic (American) +
+

proj-string: +proj=poly

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/putp1.html b/operations/projections/putp1.html new file mode 100644 index 00000000..ae5b9200 --- /dev/null +++ b/operations/projections/putp1.html @@ -0,0 +1,364 @@ + + + + + + + Putnins P1 — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Putnins P1

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

putp1

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Putnins P1 +
+

proj-string: +proj=putp1

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Putnins P1 projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/putp2.html b/operations/projections/putp2.html new file mode 100644 index 00000000..de5520fb --- /dev/null +++ b/operations/projections/putp2.html @@ -0,0 +1,364 @@ + + + + + + + Putnins P2 — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Putnins P2

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

putp2

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Putnins P2 +
+

proj-string: +proj=putp2

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/putp3.html b/operations/projections/putp3.html new file mode 100644 index 00000000..d98fb775 --- /dev/null +++ b/operations/projections/putp3.html @@ -0,0 +1,364 @@ + + + + + + + Putnins P3 — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Putnins P3

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

putp3

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Putnins P3 +
+

proj-string: +proj=putp3

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/putp3p.html b/operations/projections/putp3p.html new file mode 100644 index 00000000..96a9d9b7 --- /dev/null +++ b/operations/projections/putp3p.html @@ -0,0 +1,364 @@ + + + + + + + Putnins P3’ — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Putnins P3’

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

putp3p

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Putnins P3' +
+

proj-string: +proj=putp3p

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/putp4p.html b/operations/projections/putp4p.html new file mode 100644 index 00000000..9eb4c4a4 --- /dev/null +++ b/operations/projections/putp4p.html @@ -0,0 +1,364 @@ + + + + + + + Putnins P4’ — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Putnins P4’

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

putp4p

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Putnins P4' +
+

proj-string: +proj=putp4p

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/putp5.html b/operations/projections/putp5.html new file mode 100644 index 00000000..c63a693b --- /dev/null +++ b/operations/projections/putp5.html @@ -0,0 +1,364 @@ + + + + + + + Putnins P5 — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Putnins P5

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

putp5

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Putnins P5 +
+

proj-string: +proj=putp5

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/putp5p.html b/operations/projections/putp5p.html new file mode 100644 index 00000000..e4771bd3 --- /dev/null +++ b/operations/projections/putp5p.html @@ -0,0 +1,364 @@ + + + + + + + Putnins P5’ — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Putnins P5’

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

putp5p

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Putnins P5' +
+

proj-string: +proj=putp5p

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/putp6.html b/operations/projections/putp6.html new file mode 100644 index 00000000..c1ab628d --- /dev/null +++ b/operations/projections/putp6.html @@ -0,0 +1,364 @@ + + + + + + + Putnins P6 — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Putnins P6

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

putp6

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Putnins P6 +
+

proj-string: +proj=putp6

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/putp6p.html b/operations/projections/putp6p.html new file mode 100644 index 00000000..49b2cdc4 --- /dev/null +++ b/operations/projections/putp6p.html @@ -0,0 +1,364 @@ + + + + + + + Putnins P6’ — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Putnins P6’

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

putp6p

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Putnins P6' +
+

proj-string: +proj=putp6p

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/qsc.html b/operations/projections/qsc.html new file mode 100644 index 00000000..16f2250d --- /dev/null +++ b/operations/projections/qsc.html @@ -0,0 +1,488 @@ + + + + + + + Quadrilateralized Spherical Cube — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Quadrilateralized Spherical Cube

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Azimuthal

Available forms

Forward and inverse, ellipsoidal

Defined area

Global

Alias

qsc

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+

The purpose of the Quadrilateralized Spherical Cube (QSC) projection is to project +a sphere surface onto the six sides of a cube:

+Quadrilateralized Spherical Cube +

For this purpose, other alternatives can be used, notably Gnomonic or +HEALPix. However, QSC projection has the following favorable properties:

+

It is an equal-area projection, and at the same time introduces only limited angular +distortions. It treats all cube sides equally, i.e. it does not use different +projections for polar areas and equatorial areas. These properties make QSC +projection a good choice for planetary-scale terrain rendering. Map data can be +organized in quadtree structures for each cube side. See [LambersKolb2012] for an example.

+

The QSC projection was introduced by [ONeilLaubscher1976], +building on previous work by [ChanONeil1975]. For clarity: The +earlier QSC variant described in [ChanONeil1975] became known as the COBE QSC since it +was used by the NASA Cosmic Background Explorer (COBE) project; it is an approximately +equal-area projection and is not the same as the QSC projection.

+

See also [CalabrettaGreisen2002] Sec. 5.6.2 and 5.6.3 for a description of both and +some analysis.

+

In this implementation, the QSC projection projects onto one side of a circumscribed +cube. The cube side is selected by choosing one of the following six projection centers:

+ ++++ + + + + + + + + + + + + + + + + + + + + +

+lat_0=0 +lon_0=0

front cube side

+lat_0=0 +lon_0=90

right cube side

+lat_0=0 +lon_0=180

back cube side

+lat_0=0 +lon_0=-90

left cube side

+lat_0=90

top cube side

+lat_0=-90

bottom cube side

+

Furthermore, this implementation allows the projection to be applied to ellipsoids. +A preceding shift to a sphere is performed automatically; see [LambersKolb2012] for details.

+
+

Usage

+

The following example uses QSC projection via GDAL to create the six cube side +maps from a world map for the WGS84 ellipsoid:

+
gdalwarp -t_srs "+wktext +proj=qsc +units=m +ellps=WGS84  +lat_0=0 +lon_0=0"        \
+    -wo SOURCE_EXTRA=100 -wo SAMPLE_GRID=YES -te -6378137 -6378137 6378137 6378137  \
+    worldmap.tiff frontside.tiff
+
+gdalwarp -t_srs "+wktext +proj=qsc +units=m +ellps=WGS84 +lat_0=0 +lon_0=90"        \
+    -wo SOURCE_EXTRA=100 -wo SAMPLE_GRID=YES -te -6378137 -6378137 6378137 6378137  \
+    worldmap.tiff rightside.tiff
+
+gdalwarp -t_srs "+wktext +proj=qsc +units=m +ellps=WGS84 +lat_0=0 +lon_0=180"       \
+    -wo SOURCE_EXTRA=100 -wo SAMPLE_GRID=YES -te -6378137 -6378137 6378137 6378137  \
+    worldmap.tiff backside.tiff
+
+gdalwarp -t_srs "+wktext +proj=qsc +units=m +ellps=WGS84 +lat_0=0 +lon_0=-90"       \
+    -wo SOURCE_EXTRA=100 -wo SAMPLE_GRID=YES -te -6378137 -6378137 6378137 6378137  \
+    worldmap.tiff leftside.tiff
+
+gdalwarp -t_srs "+wktext +proj=qsc +units=m +ellps=WGS84 +lat_0=90 +lon_0=0"        \
+    -wo SOURCE_EXTRA=100 -wo SAMPLE_GRID=YES -te -6378137 -6378137 6378137 6378137  \
+    worldmap.tiff topside.tiff
+
+gdalwarp -t_srs "+wktext +proj=qsc +units=m +ellps=WGS84 +lat_0=-90 +lon_0=0"       \
+    -wo SOURCE_EXTRA=100 -wo SAMPLE_GRID=YES -te -6378137 -6378137 6378137 6378137  \
+    worldmap.tiff bottomside.tiff
+
+
+

Explanation:

+
    +
  • QSC projection is selected with +wktext +proj=qsc.

  • +
  • The WGS84 ellipsoid is specified with +ellps=WGS84.

  • +
  • The cube side is selected with +lat_0=... +lon_0=....

  • +
  • The -wo options are necessary for GDAL to avoid holes in the output maps.

  • +
  • The -te option limits the extends of the output map to the major axis diameter +(from -radius to +radius in both x and y direction). These are the dimensions of one side +of the circumscribing cube.

  • +
+

The resulting images can be laid out in a grid like below.

+ ++++++ + + + + + + + + + + + + + + + + + +

Top side

Left side

Front side

Right side

Back side

Bottom side

+
+
+

Parameters

+
+

Note

+

All parameters for the projection are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+

Further reading

+
    +
  1. Wikipedia

  2. +
  3. NASA

  4. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/qua_aut.html b/operations/projections/qua_aut.html new file mode 100644 index 00000000..1391ebea --- /dev/null +++ b/operations/projections/qua_aut.html @@ -0,0 +1,364 @@ + + + + + + + Quartic Authalic — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Quartic Authalic

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

qua_aut

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Quartic Authalic +
+

proj-string: +proj=qua_aut

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Quartic Authalic projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/rhealpix.html b/operations/projections/rhealpix.html new file mode 100644 index 00000000..7fed35ba --- /dev/null +++ b/operations/projections/rhealpix.html @@ -0,0 +1,400 @@ + + + + + + + rHEALPix — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

rHEALPix

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

rhealpix

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+rHEALPix +

rHEALPix is a projection based on the HEALPix projection. The implementation of +rHEALPix uses the HEALPix projection. The rHEALPix combines the peaks of the +HEALPix into a square. The square’s position can be translated and rotated across +the x-axis which is a novel approach for the rHEALPix projection. The initial +intention of using rHEALPix in the Spatial Computation Engine Science Collaboration +Environment (SCENZGrid).

+
+

Usage

+

To run a rHEALPix projection on a WGS84 ellipsoidal model, use the following +command:

+
proj +proj=rhealpix -f '%.2f' +ellps=WGS84 +south_square=0 +north_square=2  -E << EOF
+> 55 12
+> EOF
+55 12   6115727.86  1553840.13
+
+
+
+
+

Parameters

+
+

Note

+

All parameters for the projection are optional.

+
+
+
++north_square
+

Position of the north polar square. Valid inputs are 0–3.

+

Defaults to 0.0.

+
+ +
+
++south_square
+

Position of the south polar square. Valid inputs are 0–3.

+

Defaults to 0.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+

Further reading

+
    +
  1. NASA

  2. +
  3. Wikipedia

  4. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/robin.html b/operations/projections/robin.html new file mode 100644 index 00000000..8819acf4 --- /dev/null +++ b/operations/projections/robin.html @@ -0,0 +1,364 @@ + + + + + + + Robinson — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Robinson

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

robin

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Robinson +
+

proj-string: +proj=robin

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/rouss.html b/operations/projections/rouss.html new file mode 100644 index 00000000..80236033 --- /dev/null +++ b/operations/projections/rouss.html @@ -0,0 +1,373 @@ + + + + + + + Roussilhe Stereographic — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Roussilhe Stereographic

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

rouss

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Roussilhe Stereographic +
+

proj-string: +proj=rouss

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/rpoly.html b/operations/projections/rpoly.html new file mode 100644 index 00000000..63c5cabd --- /dev/null +++ b/operations/projections/rpoly.html @@ -0,0 +1,372 @@ + + + + + + + Rectangular Polyconic — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Rectangular Polyconic

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudoconical

Available forms

Forward spherical projection

Defined area

Global

Alias

rpoly

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Rectangular Polyconic +
+

proj-string: +proj=rpoly

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lat_ts=<value>
+

Latitude of true scale. Defines the latitude where scale is not distorted. +Takes precedence over +k_0 if both options are used together.

+

Defaults to 0.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/s2.html b/operations/projections/s2.html new file mode 100644 index 00000000..7c5603a3 --- /dev/null +++ b/operations/projections/s2.html @@ -0,0 +1,467 @@ + + + + + + + S2 — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

S2

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward and inverse, ellipsoidal

Defined area

Global

Alias

s2

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+

New in version 8.2.

+
+

The S2 projection, like the Quadrilateralized Spherical Cube (QSC) projection, projects +a sphere surface onto the six sides of a cube:

+Quadrilateralized Spherical Cube +

S2 was created by Google to represent geographic data on the whole earth. The documentation can be found +at S2 Geometry It works by first +projecting a point on the sphere to a face of the cube. These are called u,v-coordinates, and they are in [-1,1] x [-1,1]. +This step is followed by a non-linear transformation to normalize the area of rectangles on the sphere. There are three +different choices available for this transformation, meaning that S2 is a family of projections. The final output is in +s,t-coordinates, which are in [0,1] x [0,1]. +See the comments in S2 Code +for an explanation of the tradeoff between speed and area-preservation. Note that the projection is azimuthal when “none” or +“linear” is selected for the area-normalization, but it is not azimuthal when “quadratic” or “tangent” is chosen. See +S2’s Earthcube page +to visualize the unfolded cube and the orientation of each face.

+

In this implementation, the cube side is selected by choosing one of the following six projection centers:

+ ++++ + + + + + + + + + + + + + + + + + + + + +

+lat_0=0 +lon_0=0

front cube side

+lat_0=0 +lon_0=90

right cube side

+lat_0=0 +lon_0=180

back cube side

+lat_0=0 +lon_0=-90

left cube side

+lat_0=90

top cube side

+lat_0=-90

bottom cube side

+

The specific transformation can be chosen with the UVtoST parameter:

+ ++++ + + + + + + + + + + + + + + +

+UVtoST=linear

fastest, no normalization

+UVtoST=quadratic

fast, good normalization

+UVtoST=tangent

slowest, best normalization

+UVtoST=none

returns u,v-coordinates

+

Furthermore, this implementation allows the projection to be applied to ellipsoids. +A preceding shift to a sphere is performed automatically; see [LambersKolb2012] for details. +The output of the projection is in s,t-coordinates ([0,1] x [0,1]), so only the +eccentricity of the ellipse is taken into account: the absolute value of the axes does +not affect the output.

+
+

Usage

+

The following example uses S2 on the right face:

+
echo 90 0 | ../bin/proj +proj=s2 +lat_0=0 +lon_0=90 +ellps=WGS84 +UVtoST=linear
+
+0.5 0.5
+
+
+

Explanation:

+
    +
  • S2 projection is selected with +proj=s2.

  • +
  • The WGS84 ellipsoid is specified with +ellps=WGS84.

  • +
  • The cube side is selected with +lat_0=... +lon_0=....

  • +
  • The normalization transformation is selected with +UVtoST=....

  • +
+
+
+

Parameters

+
+

Note

+

All parameters for the projection are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++UVtoST=<value>
+

The area-normalization transformation. Choose from {linear, quadratic, tangent, none}

+

Defaults to “quadratic”.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+

Further reading

+
    +
  1. S2’s Website

  2. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/sch.html b/operations/projections/sch.html new file mode 100644 index 00000000..6aad262a --- /dev/null +++ b/operations/projections/sch.html @@ -0,0 +1,400 @@ + + + + + + + Spherical Cross-track Height — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Spherical Cross-track Height

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward and inverse.

Defined area

Global

Alias

sch

Domain

3D

Input type

3D coordinates

Output type

Projected coordinates

+
+

proj-string: +proj=sch +plat_0=XX +plon_0=XX +phdg_0=XX

+
+

The SCH coordinate system is a sensor aligned coordinate system developed at +JPL (Jet Propulsion Laboratory) for radar mapping missions.

+

See [Hensley2002]

+
+

Parameters

+
+

Required

+
+
++plat_0=<value>
+

Peg latitude (in degree)

+
+ +
+
++plon_0=<value>
+

Peg longitude (in degree)

+
+ +
+
++phdg_0=<value>
+

Peg heading (in degree)

+
+ +
+
+

Optional

+
+
++h_0=<value>
+

Average height (in metre)

+

Defaults to 0.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/sinu.html b/operations/projections/sinu.html new file mode 100644 index 00000000..acf06809 --- /dev/null +++ b/operations/projections/sinu.html @@ -0,0 +1,373 @@ + + + + + + + Sinusoidal (Sanson-Flamsteed) — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Sinusoidal (Sanson-Flamsteed)

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

sinu

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Sinusoidal (Sanson-Flamsteed) +
+

proj-string: +proj=sinu

+
+
+

MacBryde and Thomas developed generalized formulas for several of the +pseudocylindricals with sinusoidal meridians:

+
+\[x = C\lambda(m+cos\theta) / ( m + 1)\]
+
+\[y = C\theta\]
+
+\[C = \sqrt { (m + 1 ) / n }\]
+
+

Parameters

+
+

Note

+

All parameters are optional for the Sinusoidal projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/somerc.html b/operations/projections/somerc.html new file mode 100644 index 00000000..b2791c31 --- /dev/null +++ b/operations/projections/somerc.html @@ -0,0 +1,351 @@ + + + + + + + Swiss Oblique Mercator — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Swiss Oblique Mercator

+
+Swiss Oblique Mercator +
+

proj-string: +proj=somerc

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++k_0=<value>
+

Scale factor. Determines scale factor used in the projection.

+

Defaults to 1.0.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/stere.html b/operations/projections/stere.html new file mode 100644 index 00000000..d9616bc8 --- /dev/null +++ b/operations/projections/stere.html @@ -0,0 +1,397 @@ + + + + + + + Stereographic — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Stereographic

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Azimuthal

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

stere

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Stereographic +
+

proj-string: +proj=stere +lat_0=90 +lat_ts=75

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lat_ts=<value>
+

Defines the latitude where scale is not distorted. It is only taken into +account for Polar Stereographic formulations (+lat_0 = +/- 90 ), and +then defaults to the +lat_0 value. +If set to a value different from +/- 90, it takes precedence over +k_0 +if both options are used together.

+
+ +
+
++k_0=<value>
+

Scale factor. Determines scale factor used in the projection.

+

Defaults to 1.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/sterea.html b/operations/projections/sterea.html new file mode 100644 index 00000000..d10ea55c --- /dev/null +++ b/operations/projections/sterea.html @@ -0,0 +1,380 @@ + + + + + + + Oblique Stereographic Alternative — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Oblique Stereographic Alternative

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Azimuthal

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global

Alias

sterea

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Oblique Stereographic Alternative +
+

proj-string: +proj=sterea +lat_0=90

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/tcc.html b/operations/projections/tcc.html new file mode 100644 index 00000000..5ed54a2c --- /dev/null +++ b/operations/projections/tcc.html @@ -0,0 +1,364 @@ + + + + + + + Transverse Central Cylindrical — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Transverse Central Cylindrical

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Cylindrical

Available forms

Forward spherical projection

Defined area

Global

Alias

tcc

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Transverse Central Cylindrical +
+

proj-string: +proj=tcc

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/tcea.html b/operations/projections/tcea.html new file mode 100644 index 00000000..9c242bcf --- /dev/null +++ b/operations/projections/tcea.html @@ -0,0 +1,371 @@ + + + + + + + Transverse Cylindrical Equal Area — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Transverse Cylindrical Equal Area

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Cylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

tcea

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Transverse Cylindrical Equal Area +
+

proj-string: +proj=tcea

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++k_0=<value>
+

Scale factor. Determines scale factor used in the projection.

+

Defaults to 1.0.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/times.html b/operations/projections/times.html new file mode 100644 index 00000000..3cd10e3e --- /dev/null +++ b/operations/projections/times.html @@ -0,0 +1,365 @@ + + + + + + + Times — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Times

+

See [Snyder1993], p.213-214.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Cylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

times

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Times +
+

proj-string: +proj=times

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/tissot.html b/operations/projections/tissot.html new file mode 100644 index 00000000..d5035948 --- /dev/null +++ b/operations/projections/tissot.html @@ -0,0 +1,351 @@ + + + + + + + Tissot — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Tissot

+
+Tissot +
+

proj-string: +proj=tissot +lat_1=60 +lat_2=65

+
+
+
+

Parameters

+
+

Required

+
+
++lat_1=<value>
+

First standard parallel.

+

Defaults to 0.0.

+
+ +
+
++lat_2=<value>
+

Second standard parallel.

+

Defaults to 0.0.

+
+ +
+
+

Optional

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/tmerc.html b/operations/projections/tmerc.html new file mode 100644 index 00000000..0dc2e3d9 --- /dev/null +++ b/operations/projections/tmerc.html @@ -0,0 +1,711 @@ + + + + + + + Transverse Mercator — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Transverse Mercator

+

The transverse Mercator projection in its various forms is the most widely used projected coordinate system for world topographical and offshore mapping. +It is a conformal projection in which a chosen meridian projects to a +straight line at constant scale.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Transverse and oblique cylindrical

Available forms

Forward and inverse, spherical and ellipsoidal

Defined area

Global, with full accuracy within 3900 km +of the central meridian

Alias

tmerc

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Transverse Mercator +
+

proj-string: +proj=tmerc

+
+
+
+

Usage

+

Prior to the development of the Universal Transverse Mercator coordinate system, several European nations demonstrated the utility of grid-based conformal maps by mapping their territory during the interwar period. +Calculating the distance between two points on these maps could be performed more easily in the field (using the Pythagorean theorem) than was possible using the trigonometric formulas required under the graticule-based system of latitude and longitude. +In the post-war years, these concepts were extended into the Universal Transverse Mercator/Universal Polar Stereographic (UTM/UPS) coordinate system, which is a global (or universal) system of grid-based maps.

+

The following table gives special cases of the Transverse Mercator projection.

+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Projection Name

Areas

Central meridian

Zone width

Scale Factor

Transverse Mercator

World wide

Various

less than 1000 km

Various

Transverse Mercator south oriented

Southern Africa

2° intervals E of 11°E

1.000

UTM North hemisphere

World wide equator to 84°N

6° intervals E & W of 3° E & W

Usually 6°, wider for Norway and Svalbard

0.9996

UTM South hemisphere

World wide north of 80°S to equator

6° intervals E & W of 3° E & W

Always 6°

0.9996

Gauss-Kruger

Former USSR, Yugoslavia, Germany, S. America, China

Various, according to area

Usually less than 6°, often less than 4°

1.0000

Gauss Boaga

Italy

Various, according to area

0.9996

+

Example using Gauss-Kruger on Germany area (aka EPSG:31467)

+
$ echo 9 51 | proj +proj=tmerc +lat_0=0 +lon_0=9 +k_0=1 +x_0=3500000 +y_0=0 +ellps=bessel +units=m
+3500000.00  5651505.56
+
+
+

Example using Gauss Boaga on Italy area (EPSG:3004)

+
$ echo 15 42 | proj +proj=tmerc +lat_0=0 +lon_0=15 +k_0=0.9996 +x_0=2520000 +y_0=0 +ellps=intl +units=m
+2520000.00  4649858.60
+
+
+
+
+

Parameters

+
+

Note

+

All parameters for the projection are optional.

+
+
+
++approx
+
+

New in version 6.0.0.

+
+

Use the Evenden-Snyder algorithm described below under “Legacy +ellipsoidal form”. It is faster than the default algorithm, but is +less accurate and diverges beyond 3° from the central meridian.

+
+ +
+
++algo=auto/evenden_snyder/poder_engsager
+
+

New in version 7.1.

+
+

Selects the algorithm to use. The hardcoded value and the one defined in +proj.ini default to poder_engsager; that is the most precise +one.

+

When using auto, a heuristics based on the input coordinate to transform +is used to determine if the faster Evenden-Snyder method can be used, for +faster computation, without causing an error greater than 0.1 mm (for an +ellipsoid of the size of Earth)

+

Note that +approx and +algo are mutually exclusive.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++k_0=<value>
+

Scale factor. Determines scale factor used in the projection.

+

Defaults to 1.0.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+

Mathematical definition

+

The formulation given here for the Transverse Mercator projection is due +to Krüger [Krueger1912] who gave the series expansions accurate to +\(n^4\), where \(n = (a-b)/(a+b)\) is the third flattening. +These series were extended to sixth order by Engsager and Poder in +[Poder1998] and [Engsager2007]. This gives full +double-precision accuracy within 3900 km of the central meridian (about +57% of the surface of the earth) [Karney2011tm]. The error is +less than 0.1 mm within 7000 km of the central meridian (about 89% of +the surface of the earth).

+

This formulation consists of three steps: a conformal projection from +the ellipsoid to a sphere, the spherical transverse Mercator +projection, rectifying this projection to give constant scale on the +central meridian.

+

The scale on the central meridian is \(k_0\) and is set by +k_0.

+

Option +lon_0 sets the central meridian; in the formulation +below \(\lambda\) is the longitude relative to the central meridian.

+

Options +lat_0, +x_0, and +y_0 serve to +translate the projected coordinates so that at \((\phi, \lambda) = +(\phi_0, \lambda_0)\), the projected coordinates are \((x,y) = +(x_0,y_0)\). To simplify the formulas below, these options are set to +zero (their default values).

+

Because the projection is conformal, the formulation is most +conveniently given in terms of complex numbers. In particular, the +unscaled projected coordinates \(\eta\) (proportional to the +easting, \(x\)) and \(\xi\) (proportional to the northing, +\(y\)) are combined into the single complex quantity \(\zeta = +\xi + i\eta\), where \(i=\sqrt{-1}\). Then any analytic function +\(f(\zeta)\) defines a conformal mapping (this follows from the +Cauchy-Riemann conditions).

+
+

Spherical form

+

Because the full (ellipsoidal) projection includes the spherical +projection as one of the components, we present the spherical form first +with the coordinates tagged with primes, \(\phi'\), +\(\lambda'\), \(\zeta' = \xi' + i\eta'\), \(x'\), +\(y'\), so that they can be distinguished from the corresponding +ellipsoidal coordinates (without the primes). The projected coordinates +for the sphere are given by

+
+\[x' = k_0 R \eta';\qquad y' = k_0 R \xi'\]
+
+

Forward projection

+
+\[\xi' = \tan^{-1}\biggl(\frac{\tan\phi'}{\cos\lambda'}\biggr)\]
+
+\[\eta' = \sinh^{-1}\biggl(\frac{\sin\lambda'} +{\sqrt{\tan^2\phi' + \cos^2\lambda'}}\biggr)\]
+
+
+

Inverse projection

+
+\[\phi' = \tan^{-1}\biggl(\frac{\sin\xi'} +{\sqrt{\sinh^2\eta' + \cos^2\xi'}}\biggr)\]
+
+\[\lambda' = \tan^{-1}\biggl(\frac{\sinh\eta'}{\cos\xi'}\biggr)\]
+
+
+
+

Ellipsoidal form

+

The projected coordinates are given by

+
+\[\zeta = \xi + i\eta;\qquad x = k_0 A \eta;\qquad y = k_0 A \xi\]
+
+\[A = \frac a{1+n}\biggl(1 + \frac14 n^2 + \frac1{64} n^4 + +\frac1{256}n^6\biggr)\]
+

The series for conversion between ellipsoidal and spherical geographic +coordinates and ellipsoidal and spherical projected coordinates are +given in matrix notation where \(\mathbf S(\theta)\) and +\(\mathbf N\) are the row and column vectors of length 6

+
+\[\mathbf S(\theta) = \begin{pmatrix} +\sin 2\theta & +\sin 4\theta & +\sin 6\theta & +\sin 8\theta & +\sin 10\theta & +\sin 12\theta +\end{pmatrix}\]
+
+\[\begin{split}\mathbf N = \begin{pmatrix} +n \\ n^2 \\ n^3\\ n^4 \\ n^5 \\ n^6 +\end{pmatrix}\end{split}\]
+

and \(\mathsf C_{\alpha,\beta}\) are upper triangular +\(6\times6\) matrices.

+
+

Relation between geographic coordinates

+
+\[\lambda' = \lambda\]
+
+\[\phi' = \tan^{-1}\sinh\bigl(\sinh^{-1}\tan\phi +- e \tanh^{-1}(e\sin\phi)\bigr)\]
+

Instead of using this analytical formula for \(\phi'\), the +conversions between \(\phi\) and \(\phi'\) use the series +approximations:

+
+\[\phi' = \phi + \mathbf S(\phi) \cdot \mathsf C_{\chi,\phi} \cdot \mathbf N\]
+
+\[\phi = \phi' + \mathbf S(\phi') \cdot \mathsf C_{\phi,\chi} \cdot \mathbf N\]
+
+\[\begin{split}\mathsf C_{\chi,\phi} = \begin{pmatrix} +-2& \frac{2}{3}& \frac{4}{3}& -\frac{82}{45}& \frac{32}{45}& \frac{4642}{4725} \\ +& \frac{5}{3}& -\frac{16}{15}& -\frac{13}{9}& \frac{904}{315}& -\frac{1522}{945} \\ +& & -\frac{26}{15}& \frac{34}{21}& \frac{8}{5}& -\frac{12686}{2835} \\ +& & & \frac{1237}{630}& -\frac{12}{5}& -\frac{24832}{14175} \\ +& & & & -\frac{734}{315}& \frac{109598}{31185} \\ +& & & & & \frac{444337}{155925} \\ +\end{pmatrix}\end{split}\]
+
+\[\begin{split}\mathsf C_{\phi,\chi} = \begin{pmatrix} +2& -\frac{2}{3}& -2& \frac{116}{45}& \frac{26}{45}& -\frac{2854}{675} \\ +& \frac{7}{3}& -\frac{8}{5}& -\frac{227}{45}& \frac{2704}{315}& \frac{2323}{945} \\ +& & \frac{56}{15}& -\frac{136}{35}& -\frac{1262}{105}& \frac{73814}{2835} \\ +& & & \frac{4279}{630}& -\frac{332}{35}& -\frac{399572}{14175} \\ +& & & & \frac{4174}{315}& -\frac{144838}{6237} \\ +& & & & & \frac{601676}{22275} \\ +\end{pmatrix}\end{split}\]
+

Here \(\phi'\) is the conformal latitude (sometimes denoted by +\(\chi\)) and \(\mathsf C_{\chi,\phi}\) and \(\mathsf +C_{\phi,\chi}\) are the coefficients in the trigonometric series for +converting between \(\phi\) and \(\chi\).

+
+
+

Relation between projected coordinates

+
+\[\zeta = \zeta' + \mathbf S(\zeta') \cdot \mathsf C_{\mu,\chi} \cdot \mathbf N\]
+
+\[\zeta' = \zeta + \mathbf S(\zeta) \cdot \mathsf C_{\chi,\mu} \cdot \mathbf N\]
+
+\[\begin{split}\mathsf C_{\mu,\chi} = \begin{pmatrix} +\frac{1}{2}& -\frac{2}{3}& \frac{5}{16}& \frac{41}{180}& -\frac{127}{288}& \frac{7891}{37800} \\ +& \frac{13}{48}& -\frac{3}{5}& \frac{557}{1440}& \frac{281}{630}& -\frac{1983433}{1935360} \\ +& & \frac{61}{240}& -\frac{103}{140}& \frac{15061}{26880}& \frac{167603}{181440} \\ +& & & \frac{49561}{161280}& -\frac{179}{168}& \frac{6601661}{7257600} \\ +& & & & \frac{34729}{80640}& -\frac{3418889}{1995840} \\ +& & & & & \frac{212378941}{319334400} \\ +\end{pmatrix}\end{split}\]
+
+\[\begin{split}\mathsf C_{\chi,\mu} = \begin{pmatrix} +-\frac{1}{2}& \frac{2}{3}& -\frac{37}{96}& \frac{1}{360}& \frac{81}{512}& -\frac{96199}{604800} \\ +& -\frac{1}{48}& -\frac{1}{15}& \frac{437}{1440}& -\frac{46}{105}& \frac{1118711}{3870720} \\ +& & -\frac{17}{480}& \frac{37}{840}& \frac{209}{4480}& -\frac{5569}{90720} \\ +& & & -\frac{4397}{161280}& \frac{11}{504}& \frac{830251}{7257600} \\ +& & & & -\frac{4583}{161280}& \frac{108847}{3991680} \\ +& & & & & -\frac{20648693}{638668800} \\ +\end{pmatrix}\end{split}\]
+

On the central meridian (\(\lambda = \lambda' = 0\)), \(\zeta' += \phi'\) is the conformal latitude \(\chi\) and \(\zeta\) plays +the role of the rectifying latitude (sometimes denoted by \(\mu\)). +\(\mathsf C_{\mu,\chi}\) and \(\mathsf C_{\chi,\mu}\) are the +coefficients in the trigonometric series for converting between +\(\chi\) and \(\mu\).

+
+
+
+

Legacy ellipsoidal form

+

The formulas below describe the algorithm used when giving the ++approx option. They are originally from [Snyder1987], +but here quoted from [Evenden1995] and [Evenden2005]. These +are less accurate that the formulation above and are only valid within +about 5 degrees of the central meridian. Here \(M(\phi)\) is the +meridional distance.

+
+

Forward projection

+
+\[N = \frac{k_0}{(1 - e^2 \sin^2\phi)^{1/2}}\]
+
+\[R = \frac{k_0(1-e^2)}{(1-e^2 \sin^2\phi)^{3/2}}\]
+
+\[t = \tan\phi\]
+
+\[\eta = \frac{e^2}{1-e^2} \cos^2\phi\]
+
+\[\begin{split}x &= k_0 \lambda \cos \phi \\ + &+ \frac{k_0 \lambda^3 \cos^3\phi}{3!}(1-t^2+\eta^2) \\ + &+ \frac{k_0 \lambda^5 \cos^5\phi}{5!}(5-18t^2+t^4+14\eta^2-58t^2\eta^2) \\ + &+\frac{k_0 \lambda^7 \cos^7\phi}{7!}(61-479t^2+179t^4-t^6)\end{split}\]
+
+\[\begin{split}y &= M(\phi) \\ + &+ \frac{k_0 \lambda^2 \sin\phi \cos \phi}{2!} \\ + &+ \frac{k_0 \lambda^4 \sin\phi \cos^3\phi}{4!}(5-t^2+9\eta^2+4\eta^4) \\ + &+ \frac{k_0 \lambda^6 \sin\phi \cos^5\phi}{6!}(61-58t^2+t^4+270\eta^2-330t^2\eta^2) \\ + &+ \frac{k_0 \lambda^8 \sin\phi \cos^7\phi}{8!}(1385-3111t^2+543t^4-t^6)\end{split}\]
+
+
+

Inverse projection

+
+\[\phi_1 = M^{-1}(y)\]
+
+\[N_1 = \frac{k_0}{1 - e^2 \sin^2\phi_1)^{1/2}}\]
+
+\[R_1 = \frac{k_0(1-e^2)}{(1-e^2 \sin^2\phi_1)^{3/2}}\]
+
+\[t_1 = \tan(\phi_1)\]
+
+\[\eta_1 = \frac{e^2}{1-e^2} \cos^2\phi_1\]
+
+\[\begin{split}\phi &= \phi_1 \\ + &- \frac{t_1 x^2}{2! R_1 N_1} \\ + &+ \frac{t_1 x^4}{4! R_1 N_1^3}(5+3t_1^2+\eta_1^2-4\eta_1^4-9\eta_1^2t_1^2) \\ + &- \frac{t_1 x^6}{6! R_1 N_1^5}(61+90t_1^2+46\eta_1^2+45t_1^4-252t_1^2\eta_1^2) \\ + &+ \frac{t_1 x^8}{8! R_1 N_1^7}(1385+3633t_1^2+4095t_1^4+1575t_1^6)\end{split}\]
+
+\[\begin{split}\lambda &= \frac{x}{\cos \phi N_1} \\ + &- \frac{x^3}{3! \cos \phi N_1^3}(1+2t_1^2+\eta_1^2) \\ + &+ \frac{x^5}{5! \cos \phi N_1^5}(5+6\eta_1^2+28t_1^2-3\eta_1^2+8t_1^2\eta_1^2) \\ + &- \frac{x^7}{7! \cos \phi N_1^7}(61+662t_1^2+1320t_1^4+720t_1^6)\end{split}\]
+
+
+
+
+

Further reading

+
    +
  1. Wikipedia

  2. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/tobmerc.html b/operations/projections/tobmerc.html new file mode 100644 index 00000000..40183487 --- /dev/null +++ b/operations/projections/tobmerc.html @@ -0,0 +1,418 @@ + + + + + + + Tobler-Mercator — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Tobler-Mercator

+
+

New in version 6.0.0.

+
+

Equal area cylindrical projection with the same latitudinal spacing as +Mercator projection.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Cylindrical equal area

Available forms

Forward and inverse, spherical only

Defined area

Global, conventionally truncated at about 80 degrees +north and south

Alias

tobmerc

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Tobler-Mercator +
+

proj-string: +proj=tobmerc

+
+
+
+

Usage

+

The inappropriate use of the Mercator projection has declined but still +occasionally occurs. One method of contrasting the Mercator projection is to +present an alternative in the form of an equal area projection. The map +projection derived here is thus not simply a pretty Christmas tree ornament: +it is instead a complement to Mercator’s conformal navigation anamorphosis +and can be displayed as an alternative. The equations for the new map +projection preserve the latitudinal stretching of the Mercator while +adjusting the longitudinal spacing. This allows placement of the new map +adjacent to that of Mercator. The surface area, while drastically warped, +maintains the correct magnitude.

+
+
+

Parameters

+
+

Note

+

All parameters for the projection are optional.

+
+
+
++k_0=<value>
+

Scale factor. Determines scale factor used in the projection.

+

Defaults to 1.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
+

Mathematical definition

+

The formulas describing the Tobler-Mercator are taken from Waldo Tobler’s +article [Tobler2018]

+
+

Spherical form

+

For the spherical form of the projection we introduce the scaling factor:

+
+\[k_0 = \cos^2 \phi_{ts}\]
+
+

Forward projection

+
+\[x = k_0 \lambda\]
+
+\[y = k_0 \ln \left[ \tan \left(\frac{\pi}{4} + \frac{\phi}{2} \right) \right]\]
+
+
+

Inverse projection

+
+\[\lambda = \frac{x}{k_0}\]
+
+\[\phi = \frac{\pi}{2} - 2 \arctan \left[ e^{-y/k_0} \right]\]
+
+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/tpeqd.html b/operations/projections/tpeqd.html new file mode 100644 index 00000000..2a9e9c4b --- /dev/null +++ b/operations/projections/tpeqd.html @@ -0,0 +1,381 @@ + + + + + + + Two Point Equidistant — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Two Point Equidistant

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Azimuthal

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

tpeqd

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Two Point Equidistant +
+

proj-string: +proj=tpeqd +lat_1=60 +lat_2=65

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_1=<value>
+

Longitude of first point.

+
+ +
+
++lat_1=<value>
+

Latitude of first point.

+
+ +
+
++lon_2=<value>
+

Longitude of second point.

+
+ +
+
++lat_2=<value>
+

Latitude of second point.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/tpers.html b/operations/projections/tpers.html new file mode 100644 index 00000000..2be3d6ee --- /dev/null +++ b/operations/projections/tpers.html @@ -0,0 +1,400 @@ + + + + + + + Tilted perspective — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Tilted perspective

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Azimuthal

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

tpers

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Tilted perspective +
+

proj-string: +proj=tpers +h=5500000 +lat_0=40

+
+
+

Tilted Perspective is similar to Near-sided perspective (nsper) in that it simulates a +perspective view from a height. Where nsper projects onto a plane tangent to +the surface, Tilted Perspective orients the plane towards the direction of the +view. Thus, extra parameters specifying azimuth and tilt are required beyond +nsper`’s h. As with nsper, lat_0 & lon_0 are +also required for satellite position.

+
+

Parameters

+
+

Required

+
+
++h=<value>
+

Height of the view point above the Earth and must be in the same units as +the radius of the sphere or semimajor axis of the ellipsoid.

+
+ +
+
+

Optional

+
+
++azi=<value>
+

Bearing in degrees away from north.

+

Defaults to 0.0.

+
+ +
+
++tilt=<value>
+

Angle in degrees away from nadir.

+

Defaults to 0.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++lat_0=<value>
+

Latitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/ups.html b/operations/projections/ups.html new file mode 100644 index 00000000..55db679a --- /dev/null +++ b/operations/projections/ups.html @@ -0,0 +1,350 @@ + + + + + + + Universal Polar Stereographic — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Universal Polar Stereographic

+
+Universal Polar Stereographic +
+

proj-string: +proj=ups

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++south
+

South polar aspect.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/urm5.html b/operations/projections/urm5.html new file mode 100644 index 00000000..cb7e1418 --- /dev/null +++ b/operations/projections/urm5.html @@ -0,0 +1,365 @@ + + + + + + + Urmaev V — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Urmaev V

+
+Urmaev V +
+

proj-string: +proj=urm5 +n=0.9 +alpha=2 +q=4

+
+
+
+

Parameters

+
+

Required parameters

+
+
++n=<value>
+

Set the \(n\) constant. Value between 0 and 1.

+
+ +
+
+

Optional parameters

+
+
++q=<value>
+

Set the \(q\) constant.

+
+ +
+
++alpha=<value>
+

Set the \(\alpha\) constant.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/urmfps.html b/operations/projections/urmfps.html new file mode 100644 index 00000000..2208d617 --- /dev/null +++ b/operations/projections/urmfps.html @@ -0,0 +1,342 @@ + + + + + + + Urmaev Flat-Polar Sinusoidal — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Urmaev Flat-Polar Sinusoidal

+
+Urmaev Flat-Polar Sinusoidal +
+

proj-string: +proj=urmfps +n=0.5

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++n=<value>
+

Set the \(n\) constant. Value between 0 and 1.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/utm.html b/operations/projections/utm.html new file mode 100644 index 00000000..be2165ee --- /dev/null +++ b/operations/projections/utm.html @@ -0,0 +1,414 @@ + + + + + + + Universal Transverse Mercator (UTM) — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Universal Transverse Mercator (UTM)

+

The Universal Transverse Mercator is a system of map projections divided into +sixty zones across the globe, with each zone corresponding to 6 degrees of +longitude.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Transverse cylindrical, conformal

Available forms

Forward and inverse, ellipsoidal only

Defined area

Within the used zone, but transformations of coordinates +in adjacent zones can be expected to be accurate as well

Alias

utm

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Universal Transverse Mercator (UTM) zones +
+

UTM zones.

+
+
+

UTM projections are really the Transverse Mercator +to which specific parameters, such as central meridians, have been applied. +The Earth is divided into 60 zones each generally 6° wide in longitude. +Bounding meridians are evenly divisible by 6°, and zones are +numbered from 1 to 60 proceeding east from the 180th meridian from Greenwich +with minor exceptions [Snyder1987].

+
+

Usage

+

Convert geodetic coordinate to UTM Zone 32 on the northern hemisphere:

+
$ echo 12 56 | proj +proj=utm +zone=32
+687071.44       6210141.33
+
+
+

Convert geodetic coordinate to UTM Zone 59 on the southern hemisphere:

+
$ echo 174 -44 | proj +proj=utm +zone=59 +south
+740526.32       5123750.87
+
+
+
+
+

Parameters

+
+

Required

+
+
++zone=<value>
+

Select which UTM zone to use. Can be a value between 1-60.

+
+ +
+
+

Optional

+
+
++south
+

Add this flag when using the UTM on the southern hemisphere.

+
+ +
+
++approx
+
+

New in version 6.0.0.

+
+

Use faster, less accurate algorithm for the Transverse Mercator.

+
+ +
+
++algo=auto/evenden_snyder/poder_engsager
+
+

New in version 7.1.

+
+

Selects the algorithm to use. The hardcoded value and the one defined in +proj.ini default to poder_engsager, that is the most precise +one.

+

When using auto, a heuristics based on the input coordinate to transform +is used to determine if the faster Evenden-Snyder method can be used, for +faster computation, without causing an error greater than 0.1 mm (for an +ellipsoid of the size of Earth)

+

Note that +approx and +algo are mutually exclusive.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
+
+

Further reading

+
    +
  1. Wikipedia

  2. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/vandg.html b/operations/projections/vandg.html new file mode 100644 index 00000000..74a4e1dc --- /dev/null +++ b/operations/projections/vandg.html @@ -0,0 +1,364 @@ + + + + + + + van der Grinten (I) — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

van der Grinten (I)

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

vandg

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+van der Grinten (I) +
+

proj-string: +proj=vandg

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/vandg2.html b/operations/projections/vandg2.html new file mode 100644 index 00000000..838836d8 --- /dev/null +++ b/operations/projections/vandg2.html @@ -0,0 +1,364 @@ + + + + + + + van der Grinten II — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

van der Grinten II

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward spherical projection

Defined area

Global

Alias

vandg2

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+van der Grinten II +
+

proj-string: +proj=vandg2

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/vandg3.html b/operations/projections/vandg3.html new file mode 100644 index 00000000..20dc9766 --- /dev/null +++ b/operations/projections/vandg3.html @@ -0,0 +1,364 @@ + + + + + + + van der Grinten III — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

van der Grinten III

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward spherical projection

Defined area

Global

Alias

vandg3

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+van der Grinten III +
+

proj-string: +proj=vandg3

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/vandg4.html b/operations/projections/vandg4.html new file mode 100644 index 00000000..248473fb --- /dev/null +++ b/operations/projections/vandg4.html @@ -0,0 +1,364 @@ + + + + + + + van der Grinten IV — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

van der Grinten IV

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Miscellaneous

Available forms

Forward spherical projection

Defined area

Global

Alias

vandg4

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+van der Grinten IV +
+

proj-string: +proj=vandg4

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/vitk1.html b/operations/projections/vitk1.html new file mode 100644 index 00000000..af522790 --- /dev/null +++ b/operations/projections/vitk1.html @@ -0,0 +1,380 @@ + + + + + + + Vitkovsky I — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Vitkovsky I

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Conical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

vitk1

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Vitkovsky I +
+

proj-string: +proj=vitk1 +lat_1=45 +lat_2=55

+
+
+
+

Parameters

+
+

Required

+
+
++lat_1=<value>
+

First standard parallel.

+

Defaults to 0.0.

+
+ +
+
++lat_2=<value>
+

Second standard parallel.

+

Defaults to 0.0.

+
+ +
+
+

Optional

+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/wag1.html b/operations/projections/wag1.html new file mode 100644 index 00000000..5ddbbbcb --- /dev/null +++ b/operations/projections/wag1.html @@ -0,0 +1,368 @@ + + + + + + + Wagner I (Kavrayskiy VI) — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Wagner I (Kavrayskiy VI)

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

wag1

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Wagner I (Kavrayskiy VI) +
+

proj-string: +proj=wag1

+
+
+
+

Note

+

This projection name may also be transliterated as Kavraisky VI.

+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/wag2.html b/operations/projections/wag2.html new file mode 100644 index 00000000..7f4e797e --- /dev/null +++ b/operations/projections/wag2.html @@ -0,0 +1,367 @@ + + + + + + + Wagner II — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Wagner II

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

wag2

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Wagner II +
+

proj-string: +proj=wag2

+
+
+
+\[ \begin{align}\begin{aligned}x &= 0.92483 \lambda \cos \theta\\y &= 1.38725\theta\\\sin \theta &= 0.88022 \sin(0.8855\phi)\end{aligned}\end{align} \]
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/wag3.html b/operations/projections/wag3.html new file mode 100644 index 00000000..f3288d8a --- /dev/null +++ b/operations/projections/wag3.html @@ -0,0 +1,375 @@ + + + + + + + Wagner III — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Wagner III

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

wag3

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Wagner III +
+

proj-string: +proj=wag3

+
+
+
+\[ \begin{align}\begin{aligned}x &= [\cos\phi_{ts} / \cos ( 2\phi_{ts} / 3)] \lambda \cos (2\phi /3)\\y = \phi\end{aligned}\end{align} \]
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lat_ts=<value>
+

Latitude of true scale. Defines the latitude where scale is not distorted. +Takes precedence over +k_0 if both options are used together.

+

Defaults to 0.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/wag4.html b/operations/projections/wag4.html new file mode 100644 index 00000000..bc57b6e9 --- /dev/null +++ b/operations/projections/wag4.html @@ -0,0 +1,364 @@ + + + + + + + Wagner IV — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Wagner IV

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

wag4

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Wagner IV +
+

proj-string: +proj=wag4

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/wag5.html b/operations/projections/wag5.html new file mode 100644 index 00000000..37deb17d --- /dev/null +++ b/operations/projections/wag5.html @@ -0,0 +1,364 @@ + + + + + + + Wagner V — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Wagner V

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

wag5

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Wagner V +
+

proj-string: +proj=wag5

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/wag6.html b/operations/projections/wag6.html new file mode 100644 index 00000000..49f93e44 --- /dev/null +++ b/operations/projections/wag6.html @@ -0,0 +1,364 @@ + + + + + + + Wagner VI — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Wagner VI

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

wag6

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Wagner VI +
+

proj-string: +proj=wag6

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the Wagner VI projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/wag7.html b/operations/projections/wag7.html new file mode 100644 index 00000000..de33d327 --- /dev/null +++ b/operations/projections/wag7.html @@ -0,0 +1,325 @@ + + + + + + + Wagner VII — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Wagner VII

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Azimuthal

Available forms

Forward spherical projection

Defined area

Global

Alias

wag7

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Wagner VII +
+

proj-string: +proj=wag7

+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/webmerc.html b/operations/projections/webmerc.html new file mode 100644 index 00000000..bec082ca --- /dev/null +++ b/operations/projections/webmerc.html @@ -0,0 +1,413 @@ + + + + + + + Web Mercator / Pseudo Mercator — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Web Mercator / Pseudo Mercator

+
+

New in version 5.1.0.

+
+

The Web Mercator / Pseudo Mercator projection is a cylindrical map projection. +This is a variant of the regular Mercator projection, except that the computation +is done on a sphere, using the semi-major axis of the ellipsoid.

+

From Wikipedia:

+
+

This projection is widely used by the Web Mercator, Google Web Mercator, +Spherical Mercator, WGS 84 Web Mercator[1] or WGS 84/Pseudo-Mercator is a +variant of the Mercator projection and is the de facto standard for Web +mapping applications. […] +It is used by virtually all major online map providers […] +Its official EPSG identifier is EPSG:3857, although others have been used +historically.

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Cylindrical (non conformant if used with ellipsoid)

Available forms

Forward and inverse

Defined area

Global

Alias

webmerc

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+

Usage

+

Example:

+
$ echo 2 49 | proj +proj=webmerc +datum=WGS84
+222638.98       6274861.39
+
+
+
+
+

Parameters

+
+

Note

+

All parameters for the projection are optional, except the ellipsoid +definition, which is WGS84 for the typical use case of EPSG:3857. +In which case, the other parameters are set to their default 0 value.

+
+
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+

Mathematical definition

+

The formulas describing the Mercator projection are all taken from G. Evenden’s libproj manuals [Evenden2005].

+
+

Forward projection

+
+\[x = \lambda\]
+
+\[y = \ln \left[ \tan \left(\frac{\pi}{4} + \frac{\phi}{2} \right) \right]\]
+
+
+

Inverse projection

+
+\[\lambda = {x}\]
+
+\[\phi = \frac{\pi}{2} - 2 \arctan \left[ e^{-y} \right]\]
+
+
+
+

Further reading

+
    +
  1. Wikipedia

  2. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/weren.html b/operations/projections/weren.html new file mode 100644 index 00000000..ea5a3c07 --- /dev/null +++ b/operations/projections/weren.html @@ -0,0 +1,364 @@ + + + + + + + Werenskiold I — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Werenskiold I

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

weren

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Werenskiold I +
+

proj-string: +proj=weren

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/wink1.html b/operations/projections/wink1.html new file mode 100644 index 00000000..a4e2af0a --- /dev/null +++ b/operations/projections/wink1.html @@ -0,0 +1,372 @@ + + + + + + + Winkel I — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Winkel I

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

wink1

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Winkel I +
+

proj-string: +proj=wink1

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lat_ts=<value>
+

Latitude of true scale. Defines the latitude where scale is not distorted. +Takes precedence over +k_0 if both options are used together.

+

Defaults to 0.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/wink2.html b/operations/projections/wink2.html new file mode 100644 index 00000000..c52d1d9c --- /dev/null +++ b/operations/projections/wink2.html @@ -0,0 +1,372 @@ + + + + + + + Winkel II — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Winkel II

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudocylindrical

Available forms

Forward and inverse, spherical projection

Defined area

Global

Alias

wink2

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Winkel II +
+

proj-string: +proj=wink2

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lat_ts=<value>
+

Latitude of true scale. Defines the latitude where scale is not distorted. +Takes precedence over +k_0 if both options are used together.

+

Defaults to 0.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/projections/wintri.html b/operations/projections/wintri.html new file mode 100644 index 00000000..ee3fae4a --- /dev/null +++ b/operations/projections/wintri.html @@ -0,0 +1,371 @@ + + + + + + + Winkel Tripel — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Winkel Tripel

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + +

Classification

Pseudoazimuthal

Available forms

Forward spherical projection

Defined area

Global

Alias

wintri

Domain

2D

Input type

Geodetic coordinates

Output type

Projected coordinates

+
+Winkel Tripel +
+

proj-string: +proj=wintri

+
+
+
+

Parameters

+
+

Note

+

All parameters are optional for the projection.

+
+
+
++lat_1=<value>
+

First standard parallel.

+

Defaults to 0.0.

+
+ +
+
++lon_0=<value>
+

Longitude of projection center.

+

Defaults to 0.0.

+
+ +
+
++R=<value>
+

Radius of the sphere, given in meters. If used in conjunction with ++ellps, +R takes precedence.

+

See Ellipsoid size parameters for more information.

+
+ +
+
++x_0=<value>
+

False easting.

+

Defaults to 0.0.

+
+ +
+
++y_0=<value>
+

False northing.

+

Defaults to 0.0.

+
+ +
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/transformations/affine.html b/operations/transformations/affine.html new file mode 100644 index 00000000..4cea651b --- /dev/null +++ b/operations/transformations/affine.html @@ -0,0 +1,303 @@ + + + + + + + Affine transformation — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Affine transformation

+
+

New in version 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 coordinate.

+ ++++ + + + + + + + + + + + + + + +

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

+
+
++xoff=<value>
+

Offset in X. Default value: 0

+
+ +
+
++yoff=<value>
+

Offset in Y. Default value: 0

+
+ +
+
++zoff=<value>
+

Offset in Z. Default value: 0

+
+ +
+
++toff=<value>
+

Offset in T. Default value: 0

+
+ +
+
++s11=<value>
+

Rotation/scaling term. Default value: 1

+
+ +
+
++s12=<value>
+

Rotation/scaling term. Default value: 0

+
+ +
+
++s13=<value>
+

Rotation/scaling term. Default value: 0

+
+ +
+
++s21=<value>
+

Rotation/scaling term. Default value: 0

+
+ +
+
++s22=<value>
+

Rotation/scaling term. Default value: 1

+
+ +
+
++s23=<value>
+

Rotation/scaling term. Default value: 0

+
+ +
+
++s31=<value>
+

Rotation/scaling term. Default value: 0

+
+ +
+
++s32=<value>
+

Rotation/scaling term. Default value: 0

+
+ +
+
++s33=<value>
+

Rotation/scaling term. Default value: 1

+
+ +
+
++tscale=<value>
+

Time scaling term. Default value: 1

+
+ +
+

Mathematical description

+
+(1)\[\begin{split}\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}\end{split}\]
+
+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/transformations/defmodel.html b/operations/transformations/defmodel.html new file mode 100644 index 00000000..2535660a --- /dev/null +++ b/operations/transformations/defmodel.html @@ -0,0 +1,220 @@ + + + + + + + Multi-component time-based deformation model — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Multi-component time-based deformation model

+
+

New in version 7.1.0.

+
+ ++++ + + + + + + + + + + + + + + + + + +

Alias

defmodel

Input type

Geodetic or projected coordinates (horizontal), meters (vertical), +decimalyear (temporal)

Output type

Geodetic or projected coordinates (horizontal), meters (vertical), +decimalyear (temporal)

Domain

4D

Available forms

Forward and inverse

+

The defmodel transformation can be used to represent most deformation models +currently in use, in particular for areas subject to complex deformation, including +large scale secular crustal deformation near plate boundaries and vertical deformation +due to Glacial Isostatic Adjustment (GIA). These can often be represented by a constant +velocity model. Additionally, many areas suffer episodic deformation events such as +earthquakes and aseismic slow slip event.

+

The transformation relies on a “master” JSON file, describing general metadata on +the deformation model, its spatial and temporal extent, and listing spatial +components whose values are stored in Geodetic TIFF grids (GTG). +The valuation of each component is modulated by a time function (constant, step, +reverse step, velocity, piecewise, exponential).

+

All details on the content of this JSON file are given in the Proposal for encoding +of a Deformation Model

+

If input coordinates are given in the geographic domain (resp. projected domain), +the output will also be in the geographic domain (resp. projected domain). +The domain should be the corresponding to the source_crs metadata of the model.

+

This transformation is a generalization of the Kinematic datum shifting utilizing a deformation model transformation.

+
+

Parameters

+
+

Required

+
+
++model=<filename>
+

Filename to the JSON master file for the deformation model.

+
+ +
+
+
+

Example

+

Transforming a point with the LINZ NZGD2000 deformation model:

+
echo 166.7133850980 -44.5105886020 293.3700 2007.689 | cct +proj=defmodel +model=nzgd2000-20180701.json
+
+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/transformations/deformation.html b/operations/transformations/deformation.html new file mode 100644 index 00000000..8ff31917 --- /dev/null +++ b/operations/transformations/deformation.html @@ -0,0 +1,396 @@ + + + + + + + Kinematic datum shifting utilizing a deformation model — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Kinematic datum shifting utilizing a deformation model

+
+

New in version 5.0.0.

+
+

Perform datum shifts means of a deformation/velocity model.

+ ++++ + + + + + + + + + + + + + + + + + + + + +

Alias

deformation

Input type

Cartesian coordinates (spatial), decimalyears (temporal).

Output type

Cartesian coordinates (spatial), decimalyears (temporal).

Domain

4D

Input type

Geodetic coordinates

Output type

Geodetic coordinates

+

The deformation operation is used to adjust coordinates for intraplate deformations. +Usually the transformation parameters for regional plate-fixed reference frames such as +the ETRS89 does not take intraplate deformation into account. It is assumed that +tectonic plate of the region is rigid. Often times this is true, but near the plate +boundary and in areas with post-glacial uplift the assumption breaks. Intraplate +deformations can be modelled and then applied to the coordinates so that +they represent the physical world better. In PROJ this is done with the deformation +operation.

+

The horizontal grid is stored in CTable2 format and the vertical grid is stored in the +GTX format. Both grids are expected to contain grid-values in units of +mm/year. GDAL both reads and writes both file formats. Using GDAL for +construction of new grids is recommended.

+

Starting with PROJ 7.0, use of a GeoTIFF format is recommended to store both +the horizontal and vertical velocities.

+

More complex deformations can be done with the Multi-component time-based deformation model transformation.

+
+

Example

+

In [Hakli2016] coordinate transformation including a deformation model is described. +The paper describes how coordinates from the global ITRFxx frames are transformed to the +local Nordic realisations of ETRS89. Scandinavia is an area with significant post-glacial +rebound. The deformations from the post-glacial uplift is not accounted for in the +official ETRS89 transformations so in order to get accurate transformations in the Nordic +countries it is necessary to apply the deformation model. The transformation from ITRF2008 +to the Danish realisation of ETRS89 is in PROJ described as:

+
proj =  pipeline ellps = GRS80
+        # ITRF2008@t_obs -> ITRF2000@t_obs
+step    init = ITRF2008:ITRF2000
+        # ITRF2000@t_obs -> ETRF2000@t_obs
+step    proj=helmert t_epoch = 2000.0 convention=position_vector
+        x =  0.054  rx =  0.000891 drx =  8.1e-05
+        y =  0.051  ry =  0.00539  dry =  0.00049
+        z = -0.048  rz = -0.008712 drz = -0.000792
+        # ETRF2000@t_obs -> NKG_ETRF00@2000.0
+step    proj = deformation t_epoch = 2000.0
+        grids = ./eur_nkg_nkgrf03vel_realigned.tif
+        inv
+        # NKG_ETRF@2000.0 -> ETRF92@2000.0
+step    proj=helmert convention=position_vector s = -0.009420e
+        x = 0.03863 rx = 0.00617753
+        y = 0.147   ry = 5.064e-05
+        z = 0.02776 rz = 4.729e-05
+        # ETRF92@2000.0 -> ETRF92@1994.704
+step    proj = deformation dt = -5.296
+        grids = ./eur_nkg_nkgrf03vel_realigned.tif
+
+
+

From this we can see that the transformation from ITRF2008 to the Danish realisation of +ETRS89 is a combination of Helmert transformations and adjustments with a deformation +model. The first use of the deformation operation is:

+
proj = deformation t_epoch = 2000.0 grids = ./eur_nkg_nkgrf03vel_realigned.tif
+
+
+

Here we set the central epoch of the transformation, 2000.0. The observation epoch +is expected as part of the input coordinate tuple. The deformation model is +described by two grids, specified with +xy_grids and +z_grids. +The first is the horizontal part of the model and the second is the vertical +component.

+
+
+

Parameters

+
+
++xy_grids=<list>
+

Comma-separated list of grids to load. If a grid is prefixed by an @ the +grid is considered optional and PROJ will the not complain if the grid is +not available.

+

Grids for the horizontal component of a deformation model is expected to be +in CTable2 format.

+
+

Note

+

+xy_grids is mutually exclusive with +grids

+
+
+ +
+
++z_grids=<list>
+

Comma-separated list of grids to load. If a grid is prefixed by an @ the +grid is considered optional and PROJ will the not complain if the grid is +not available.

+

Grids for the vertical component of a deformation model is expected to be +in either GTX format.

+
+

Note

+

+z_grids is mutually exclusive with +grids

+
+
+ +
+
++grids=<list>
+
+

New in version 7.0.0.

+
+

Comma-separated list of grids to load. If a grid is prefixed by an @ the +grid is considered optional and PROJ will the not complain if the grid is +not available.

+

Grids should be in GeoTIFF format with the first 3 components being +respectively the easting, northing and up velocities in mm/year. +Setting the Description and Unit Type GDAL band metadata items is strongly +recommended, so that gdalinfo reports:

+
Band 1 Block=... Type=Float32, ColorInterp=Gray
+    Description = east_velocity
+    Unit Type: mm/year
+Band 2 Block=... Type=Float32, ColorInterp=Undefined
+    Description = north_velocity
+    Unit Type: mm/year
+Band 3 Block=... Type=Float32, ColorInterp=Undefined
+    Description = up_velocity
+    Unit Type: mm/year
+
+
+
+

Note

+

+grids is mutually exclusive with +xy_grids +and +z_grids

+
+
+ +
+
++t_epoch=<value>
+

Central epoch of transformation given in decimalyears. Will be used in +conjunction with the observation time from the input coordinate to +determine \(dt\) as used in eq. (1) below.

+
+

Note

+

+t_epoch is mutually exclusive with +dt

+
+
+ +
+
++dt=<value>
+
+

New in version 6.0.0.

+
+

\(dt\) as used in eq. (1) below. Is useful when +no observation time is available in the input coordinate or when +a deformation for a specific timespan needs to be applied in a +transformation. \(dt\) is given in units of decimalyears.

+
+

Note

+

+dt is mutually exclusive with +t_epoch

+
+
+ +
+
+

Mathematical description

+

Mathematically speaking, application of a deformation model is simple. The deformation model is +represented as a grid of velocities in three dimensions. Coordinate corrections are +applied in cartesian space. For a given coordinate, \((X, Y, Z)\), velocities +\((V_X, V_Y, V_Z)\) can be interpolated from the gridded model. The time span +between \(t_{obs}\) and \(t_c\) determine the magnitude of the coordinate +correction as seen in eq. (1) below.

+
+(1)\[\begin{split}\begin{align} + \begin{pmatrix} + X \\ + Y \\ + Z \\ + \end{pmatrix}_B = + \begin{pmatrix} + X \\ + Y \\ + Z \\ + \end{pmatrix}_A + + (t_{obs} - t_c) + \begin{pmatrix} + V_X \\ + V_Y \\ + V_Z \\ + \end{pmatrix} +\end{align}\end{split}\]
+

Corrections are done in cartesian space.

+

Coordinates of the gridded model are in ENU (east, north, up) space because it +would otherwise require an enormous 3 dimensional grid to handle the corrections +in cartesian space. Keeping the correction in lat/long space reduces the +complexity of the grid significantly. Consequently though, the input coordinates +needs to be converted to lat/long space when searching for corrections in the +grid. This is done with the cart operation. The converted grid +corrections can then be applied to the input coordinates in cartesian space. The +conversion from ENU space to cartesian space is done in the following way:

+
+(2)\[\begin{split}\begin{align} + \begin{pmatrix} + X \\ + Y \\ + Z \\ + \end{pmatrix} = + \begin{pmatrix} + -\sin\phi \cos\lambda N - \sin\lambda E + \cos\phi \cos\lambda U \\ + -\sin\phi \sin\lambda N + \sin\lambda E + \cos\phi \sin\lambda U \\ + \cos\phi N + \sin\phi U \\ + \end{pmatrix} +\end{align}\end{split}\]
+

where \(\phi\) and \(\lambda\) are the latitude and longitude of the coordinate +that is searched for in the grid. \((E, N, U)\) are the grid values in ENU-space and +\((X, Y, Z)\) are the corrections converted to cartesian space.

+
+
+

See also

+
    +
  1. Behavioural changes from version 5 to 6

  2. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/transformations/geogoffset.html b/operations/transformations/geogoffset.html new file mode 100644 index 00000000..0b1a035c --- /dev/null +++ b/operations/transformations/geogoffset.html @@ -0,0 +1,230 @@ + + + + + + + Geographic offsets — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Geographic offsets

+
+

New in version 6.0.0.

+
+

The Geographic offsets transformation adds an offset to the geographic longitude, +latitude coordinates, and an offset to the ellipsoidal height.

+ ++++ + + + + + + + + + + + + + + +

Alias

geogoffset

Domain

3D

Input type

Geodetic coordinates (horizontal), meters (vertical)

output type

Geodetic coordinates (horizontal), meters (vertical)

+

This method is normally only used when low accuracy is tolerated. It is documented +as coordinate operation method code 9619 (for geographic 2D) and 9660 (for +geographic 3D) in the EPSG dataset ([IOGP2018])

+

It can also be used to implement the method Geographic2D with Height Offsets +(code 9618) by noting that the input vertical component is a gravity-related +height and the output vertical component is the ellipsoid height (dh being +the geoid undulation).

+

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 Affine transformation.

+
+

Examples

+

Geographic offset from the old Greek geographic 2D CRS to the newer GGRS87 CRS:

+
proj=geogoffset dlon=0.28 dlat=-5.86
+
+
+

Conversion from Tokyo + JSLD69 height to WGS 84:

+
proj=geogoffset dlon=-13.97 dlat=7.94 dh=26.9
+
+
+

Conversion from Baltic 1977 height to Black Sea height:

+
proj=geogoffset dh=0.4
+
+
+
+
+

Parameters

+
+

Optional

+
+
++dlon=<value>
+

Offset in longitude, expressed in arc-second, to add.

+
+ +
+
++dlat=<value>
+

Offset in latitude, expressed in arc-second, to add.

+
+ +
+
++dh=<value>
+

Offset in height, expressed in meter, to add.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/transformations/helmert.html b/operations/transformations/helmert.html new file mode 100644 index 00000000..4f6c4414 --- /dev/null +++ b/operations/transformations/helmert.html @@ -0,0 +1,603 @@ + + + + + + + Helmert transform — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Helmert transform

+
+

New in version 5.0.0.

+
+

The Helmert transformation changes coordinates from one reference frame to +another by means of 3-, 4-and 7-parameter shifts, or one of their 6-, 8- and +14-parameter kinematic counterparts.

+ ++++ + + + + + + + + + + + + + + + + + + + + +

Alias

helmert

Domain

2D, 3D and 4D

Input type

Cartesian coordinates (spatial), decimalyears (temporal).

Output type

Cartesian coordinates (spatial), decimalyears (temporal).

Input type

Cartesian coordinates

Output type

Cartesian coordinates

+

The Helmert transform, in all its various incarnations, is used to perform reference +frame shifts. The transformation operates in cartesian space. It can be used to transform +planar coordinates from one datum to another, transform 3D cartesian +coordinates from one static reference frame to another or it can be used to do fully +kinematic transformations from global reference frames to local static frames.

+

All of the parameters described in the table above are marked as optional. This is true +as long as at least one parameter is defined in the setup of the transformation. +The behavior of the transformation depends on which parameters are used in the setup. +For instance, if a rate of change parameter is specified a kinematic version of the +transformation is used.

+

The kinematic transformations require an observation time of the coordinate, as well +as a central epoch for the transformation. The latter is usually documented +alongside the rest of the transformation parameters for a given transformation. +The central epoch is controlled with the parameter t_epoch. The observation +time is given as part of the coordinate when using PROJ’s 4D-functionality.

+
+

Examples

+

Transforming coordinates from NAD72 to NAD83 using the 4 parameter 2D Helmert:

+
proj=helmert convention=coordinate_frame x=-9597.3572 y=.6112 s=0.304794780637 theta=-1.244048
+
+
+

Simplified transformations from ITRF2008/IGS08 to ETRS89 using 7 parameters:

+
proj=helmert convention=coordinate_frame x=0.67678    y=0.65495   z=-0.52827
+            rx=-0.022742 ry=0.012667 rz=0.022704  s=-0.01070
+
+
+

Transformation from ITRF2000 to ITRF93 using 15 parameters:

+
proj=helmert convention=position_vector
+     x=0.0127     y=0.0065     z=-0.0209  s=0.00195
+     dx=-0.0029   dy=-0.0002   dz=-0.0006 ds=0.00001
+     rx=-0.00039  ry=0.00080   rz=-0.00114
+     drx=-0.00011 dry=-0.00019 drz=0.00007
+     t_epoch=1988.0
+
+
+
+
+

Parameters

+
+

Note

+

All parameters are optional but at least one should be used, otherwise the +operation will return the coordinates unchanged.

+
+
+
++convention=coordinate_frame/position_vector
+
+

New in version 5.2.0.

+
+

Indicates the convention to express the rotational terms when a 3D-Helmert / +7-parameter more transform is involved. As soon as a rotational parameter +is specified (one of rx, ry, rz, drx, dry, drz), +convention is required.

+

The two conventions are equally popular and a frequent source of confusion. +The coordinate frame convention is also described as an clockwise +rotation of the coordinate frame. It corresponds to EPSG method code +1032 (in the geocentric domain) or 9607 (in the geographic domain) +The position vector convention is also described as an anticlockwise +(counter-clockwise) rotation of the coordinate frame. +It corresponds to as EPSG method code 1033 (in the geocentric domain) or +9606 (in the geographic domain).

+

This parameter is ignored when only a 3-parameter +(translation terms only: x, y, z) , 4-parameter (3-parameter +and theta) or 6-parameter (3-parameter and their derivative terms) +is used.

+

The result obtained with parameters specified in a given convention +can be obtained in the other convention by negating the rotational parameters +(rx, ry, rz, drx, dry, drz)

+
+

Note

+

This parameter obsoletes transpose which was present in +PROJ 5.0 and 5.1, and is forbidden starting with PROJ 5.2

+
+
+ +
+
++x=<value>
+

Translation of the x-axis given in meters.

+
+ +
+
++y=<value>
+

Translation of the y-axis given in meters.

+
+ +
+
++z=<value>
+

Translation of the z-axis given in meters.

+
+ +
+
++s=<value>
+

Scale factor given in ppm.

+
+ +
+
++rx=<value>
+

X-axis rotation in the 3D Helmert given arc seconds.

+
+ +
+
++ry=<value>
+

Y-axis rotation in the 3D Helmert given in arc seconds.

+
+ +
+
++rz=<value>
+

Z-axis rotation in the 3D Helmert given in arc seconds.

+
+ +
+
++theta=<value>
+

Rotation angle in the 2D Helmert given in arc seconds.

+
+ +
+
++dx=<value>
+

Translation rate of the x-axis given in m/year.

+
+ +
+
++dy=<value>
+

Translation rate of the y-axis given in m/year.

+
+ +
+
++dz=<value>
+

Translation rate of the z-axis given in m/year.

+
+ +
+
++ds=<value>
+

Scale rate factor given in ppm/year.

+
+ +
+
++drx=<value>
+

Rotation rate of the x-axis given in arc seconds/year.

+
+ +
+
++dry=<value>
+

Rotation rate of the y-axis given in arc seconds/year.

+
+ +
+
++drz=<value>
+

Rotation rate of the y-axis given in arc seconds/year.

+
+ +
+
++t_epoch=<value>
+

Central epoch of transformation given in decimalyear. Only used +spatiotemporal transformations.

+
+ +
+
++exact
+

Use exact transformation equations.

+

See (5)

+
+ +
+
++transpose
+
+

Deprecated since version 5.2.0: (removed)

+
+

Transpose rotation matrix and follow the Position Vector rotation +convention. If +transpose is not added the Coordinate Frame +rotation convention is used.

+
+ +
+
+

Mathematical description

+

In the notation used below, \(\hat{P}\) is the rate of change of a given transformation +parameter \(P\). \(\dot{P}\) is the kinematically adjusted version of \(P\), +described by

+
+(1)\[\dot{P}= P + \hat{P}\left(t - t_{central}\right)\]
+

where \(t\) is the observation time of the coordinate and \(t_{central}\) is +the central epoch of the transformation. Equation (1) can be used to +propagate all transformation parameters in time.

+

Superscripts of vectors denote the reference frame the coordinates in the vector belong to.

+
+

2D Helmert

+

The simplest version of the Helmert transform is the 2D case. In the 2-dimensional +case only the horizontal coordinates are changed. The coordinates can be +translated, rotated and scale. Translation is controlled with the x and y +parameters. The rotation is determined by theta and the scale is controlled with +the s parameters.

+
+

Note

+

The scaling parameter s is unitless for the 2D Helmert, as opposed to the +3D version where the scaling parameter is given in units of ppm.

+
+

Mathematically the 2D Helmert is described as:

+
+(2)\[\begin{split}\begin{align} + \begin{bmatrix} + X \\ + Y \\ + \end{bmatrix}^B = + \begin{bmatrix} + T_x \\ + T_y \\ + \end{bmatrix} + + s + \begin{bmatrix} + \hphantom{-}\cos \theta & \sin \theta \\ + -\sin \theta & \cos \theta \\ + \end{bmatrix} + \begin{bmatrix} + X \\ + Y \\ + \end{bmatrix}^A +\end{align}\end{split}\]
+

(2) can be extended to a time-varying kinematic version by +adjusting the parameters with (1) to (2), which yields +the kinematic 2D Helmert transform:

+
+(3)\[\begin{split}\begin{align} + \begin{bmatrix} + X \\ + Y \\ + \end{bmatrix}^B = + \begin{bmatrix} + \dot{T_x} \\ + \dot{T_y} \\ + \end{bmatrix} + + s(t) + \begin{bmatrix} + \hphantom{-}\cos \dot{\theta} & \sin \dot{\theta} \\ + -\sin\ \dot{\theta} & \cos \dot{\theta} \\ + \end{bmatrix} + \begin{bmatrix} + X \\ + Y \\ + \end{bmatrix}^A +\end{align}\end{split}\]
+

All parameters in (3) are determined by the use of (1), +which applies the rate of change to each individual parameter for a given +timespan between \(t\) and \(t_{central}\).

+
+
+

3D Helmert

+

The general form of the 3D Helmert is

+
+(4)\[\begin{align} + V^B = T + \left(1 + s \times 10^{-6}\right) \mathbf{R} V^A +\end{align}\]
+

Where \(T\) is a vector consisting of the three translation parameters, \(s\) +is the scaling factor and \(\mathbf{R}\) is a rotation matrix. \(V^A\) and +\(V^B\) are coordinate vectors, with \(V^A\) being the input coordinate and +\(V^B\) is the output coordinate.

+

In the Position Vector convention, we define \(R_x = radians \left( rx \right)\), +\(R_z = radians \left( ry \right)\) and \(R_z = radians \left( rz \right)\)

+

In the Coordinate Frame convention, \(R_x = - radians \left( rx \right)\), +\(R_z = - radians \left( ry \right)\) and \(R_z = - radians \left( rz \right)\)

+

The rotation matrix is composed of three rotation matrices, one for each axis.

+
+\[\begin{split}\begin{align} + \mathbf{R}_X &= \begin{bmatrix} 1 & 0 & 0\\ 0 & \cos R_x & -\sin R_x \\ 0 & \sin R_x & \cos R_x \end{bmatrix} +\end{align}\end{split}\]
+
+\[\begin{split}\begin{align} + \mathbf{R}_Y &= \begin{bmatrix} \cos R_y & 0 & \sin R_y\\ 0 & 1 & 0\\ -\sin R_y & 0 & \cos R_y \end{bmatrix} +\end{align}\end{split}\]
+
+\[\begin{split}\begin{align} + \mathbf{R}_Z &= \begin{bmatrix} \cos R_z & -\sin R_z & 0\\ \sin R_z & \cos R_z & 0\\ 0 & 0 & 1 \end{bmatrix} +\end{align}\end{split}\]
+

The three rotation matrices can be combined in one:

+
+\[\begin{align} + \mathbf{R} = \mathbf{R_X} \mathbf{R_Y} \mathbf{R_Y} +\end{align}\]
+

For \(\mathbf{R}\), this yields:

+
+(5)\[\begin{split}\begin{bmatrix} + \cos R_y \cos R_z & -\cos R_x \sin R_z + & \sin R_x \sin R_z + \\ + & \sin R_x \sin R_y \cos R_z & \cos R_x \sin R_y \cos R_z \\ + \cos R_y\sin R_z & \cos R_x \cos R_z + & - \sin R_x \cos R_z + \\ + & \sin R_x \sin R_y \sin R_z & \cos R_x \sin R_y \sin R_z \\ + -\sin R_y & \sin R_x \cos R_y & \cos R_x \cos R_y \\ + \end{bmatrix}\end{split}\]
+

Using the small angle approximation the rotation matrix can be simplified to

+
+(6)\[\begin{split}\begin{align} \mathbf{R} = + \begin{bmatrix} + 1 & -R_z & R_y \\ + Rz & 1 & -R_x \\ + -Ry & R_x & 1 \\ + \end{bmatrix} +\end{align}\end{split}\]
+

Which allow us to express the most common version of the Helmert transform, +using the approximated rotation matrix:

+
+(7)\[\begin{split}\begin{align} + \begin{bmatrix} + X \\ + Y \\ + Z \\ + \end{bmatrix}^B = + \begin{bmatrix} + T_x \\ + T_y \\ + T_z \\ + \end{bmatrix} + + \left(1 + s \times 10^{-6}\right) + \begin{bmatrix} + 1 & -R_z & R_y \\ + Rz & 1 & -R_x \\ + -Ry & R_x & 1 \\ + \end{bmatrix} + \begin{bmatrix} + X \\ + Y \\ + Z \\ + \end{bmatrix}^A +\end{align}\end{split}\]
+

If the rotation matrix is transposed, or the sign of the rotation terms negated, +the rotational part of the transformation is effectively reversed. +This is what happens when switching between the 2 conventions position_vector +and coordinate_frame

+

Applying (1) we get the kinematic version of the approximated +3D Helmert:

+
+(8)\[\begin{split}\begin{align} + \begin{bmatrix} + X \\ + Y \\ + Z \\ + \end{bmatrix}^B = + \begin{bmatrix} + \dot{T_x} \\ + \dot{T_y} \\ + \dot{T_z} \\ + \end{bmatrix} + + \left(1 + \dot{s} \times 10^{-6}\right) + \begin{bmatrix} + 1 & -\dot{R_z} & \dot{R_y} \\ + \dot{R_z} & 1 & -\dot{R_x} \\ + -\dot{R_y} & \dot{R_x} & 1 \\ + \end{bmatrix} + \begin{bmatrix} + X \\ + Y \\ + Z \\ + \end{bmatrix}^A +\end{align}\end{split}\]
+

The Helmert transformation can be applied without using the rotation parameters, +in which case it becomes a simple translation of the origin of the coordinate +system. When using the Helmert in this version equation (4) +simplifies to:

+
+(9)\[\begin{split}\begin{align} + \begin{bmatrix} + X \\ + Y \\ + Z \\ + \end{bmatrix}^B = + \begin{bmatrix} + T_x \\ + T_y \\ + T_z \\ + \end{bmatrix} + + \begin{bmatrix} + X \\ + Y \\ + Z \\ + \end{bmatrix}^A +\end{align}\end{split}\]
+

That after application of (1) has the following kinematic +counterpart:

+
+(10)\[\begin{split}\begin{align} + \begin{bmatrix} + X \\ + Y \\ + Z \\ + \end{bmatrix}^B = + \begin{bmatrix} + \dot{T_x} \\ + \dot{T_y} \\ + \dot{T_z} \\ + \end{bmatrix} + + \begin{bmatrix} + X \\ + Y \\ + Z \\ + \end{bmatrix}^A +\end{align}\end{split}\]
+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/transformations/hgridshift.html b/operations/transformations/hgridshift.html new file mode 100644 index 00000000..eff78a60 --- /dev/null +++ b/operations/transformations/hgridshift.html @@ -0,0 +1,292 @@ + + + + + + + Horizontal grid shift — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Horizontal grid shift

+
+

New in version 5.0.0.

+
+

Change of horizontal datum by grid shift.

+ ++++ + + + + + + + + + + + + + + +

Alias

hgridshift

Domain

2D, 3D and 4D

Input type

Geodetic coordinates (horizontal), meters (vertical), +decimalyear (temporal)

Output type

Geodetic coordinates (horizontal), meters (vertical), +decimalyear (temporal)

+

The horizontal grid shift is done by offsetting the planar input coordinates by +a specific amount determined by the loaded grids. The simplest use case of the +horizontal grid shift is applying a single grid:

+
+proj=hgridshift +grids=nzgr2kgrid0005.gsb
+
+
+

More than one grid can be loaded at the same time, for instance in case the +dataset needs to be transformed spans several countries. In this example grids +of the continental US, Alaska and Canada is loaded at the same time:

+
+proj=hgridshift +grids=@conus,@alaska,@ntv2_0.gsb,@ntv_can.dat
+
+
+

The @ in the above example states that the grid is optional, in case the grid +is not found in the PROJ search path. The list of grids is prioritized so that +grids in the start of the list takes precedence over the grids in the back of the +list.

+

PROJ supports CTable2, NTv1 and NTv2 files for horizontal grid corrections. Details +about all three formats can be found in the GDAL documentation and/or driver source +code. GDAL reads and writes all three formats. Using GDAL for construction of +new grids is recommended.

+
+

Temporal gridshifting

+
+

New in version 5.1.0.

+
+

By initializing the horizontal gridshift operation with a central epoch, it can be +used as a step function applying the grid offsets only if a coordinate is +transformed from an epoch before grids central epoch to an epoch after. This is +handy in transformations where it is necessary to handle deformations caused by +seismic activity.

+

The central epoch of the grid is controlled with +t_epoch and the final +epoch of the coordinate is set with +t_final. The observation epoch of +the coordinate is part of the coordinate tuple.

+

Suppose we want to model the deformation of the 2008 earthquake in Iceland in +a transformation of data from 2005 to 2009:

+
echo 63.992 -21.014 10.0 2005.0 | cct +proj=hgridshift +grids=iceland2008.gsb +t_epoch=2008.4071 +t_final=2009.0
+63.9920021 -21.0140013 10.0 2005.0
+
+
+
+

Note

+

The timestamp of the resulting coordinate is still 2005.0. The observation +time is always kept unchanged as it would otherwise be impossible to do the +inverse transformation.

+
+

Temporal gridshifting is especially powerful in transformation pipelines where +several gridshifts can be chained together, effectively acting as a series of +step functions that can be applied to a coordinate that is propagated through +time. In the following example we establish a pipeline that allows transformation +of coordinates from any given epoch up until the current date, applying only +those gridshifts that have central epochs between the observation epoch and +the final epoch:

+
+proj=pipeline +t_final=now
++step +proj=hgridshift +grids=earthquake_1.gsb +t_epoch=2010.421
++step +proj=hgridshift +grids=earthquake_2.gsb +t_epoch=2013.853
++step +proj=hgridshift +grids=earthquake_3.gsb +t_epoch=2017.713
+
+
+
+

Note

+

The special epoch now is used when specifying the final epoch with ++t_final. This results in coordinates being transformed to the +current date. Additionally, +t_final is used as a +global pipeline parameter, which means +that it is applied to all the steps in the pipeline.

+
+

In the above transformation, a coordinate with observation epoch 2009.32 would +be subject to all three gridshift steps in the pipeline. A coordinate with +observation epoch 2014.12 would only by offset by the last step in the pipeline.

+
+
+

Parameters

+
+

Required

+
+
++grids=<list>
+

Comma-separated list of grids to load. If a grid is prefixed by an @ the +grid is considered optional and PROJ will the not complain if the grid is +not available.

+

Grids are expected to be in CTable2, NTv1 or NTv2 format.

+
+ +
+
+

Optional

+
+
++t_epoch=<time>
+

Central epoch of the transformation.

+
+ +
+

New in version 5.1.0.

+
+
+
++t_final=<time>
+

Final epoch that the coordinate will be propagated to after transformation. +The special epoch now can be used instead of writing a specific period in +time. When now is used, it is replaced internally with the epoch of the +transformation. This means that the resulting coordinate will be slightly +different if carried out again at a later date.

+
+ +
+

New in version 5.1.0.

+
+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/transformations/horner.html b/operations/transformations/horner.html new file mode 100644 index 00000000..9a1d3fed --- /dev/null +++ b/operations/transformations/horner.html @@ -0,0 +1,369 @@ + + + + + + + Horner polynomial evaluation — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Horner polynomial evaluation

+
+

New in version 5.0.0.

+
+ ++++ + + + + + + + + + + + + + + +

Alias

horner

Domain

2D and 3D

Input type

Geodetic and projected coordinates

Output type

Geodetic and projected coordinates

+

The Horner polynomial evaluation scheme is used for transformations between reference +frames where one or both are inhomogeneous or internally distorted. This will typically +be reference frames created before the introduction of space geodetic techniques such +as GPS.

+

Horner polynomials, or Multiple Regression Equations as they are also known as, have +their strength in being able to create complicated mappings between coordinate +reference frames while still being lightweight in both computational cost and disk +space used.

+

PROJ implements two versions of the Horner evaluation scheme: Real and complex +polynomial evaluation. Below both are briefly described. For more details consult +[Ruffhead2016] and [IOGP2018].

+

The polynomial evaluation in real number space is defined by the following equations:

+
+(1)\[ \begin{align}\begin{aligned}\Delta X = \sum_{i,j} u_{i,j} U^i V^j\\\Delta Y = \sum_{i,j} v_{i,j} U^i V^j\end{aligned}\end{align} \]
+

where

+
+(2)\[ \begin{align}\begin{aligned}U = X_{in} - X_{origin}\\V = Y_{in} - Y_{origin}\end{aligned}\end{align} \]
+

and \(u_{i,j}\) and \(v_{i,j}\) are coefficients that make up +the polynomial.

+

The final coordinates are determined as

+
+(3)\[ \begin{align}\begin{aligned}X_{out} = X_{in} + \Delta X\\Y_{out} = Y_{in} + \Delta Y\end{aligned}\end{align} \]
+

The inverse transform is the same as the above but requires a different set of +coefficients.

+

Evaluation of the complex polynomials are defined by the following equations:

+
+(4)\[\Delta X + i \Delta Y = \sum_{j=1}^n (c_{2j-1} + i c_{2j}) (U + i V)^j\]
+

Where \(n\) is the degree of the polynomial. \(U\) and \(V\) are +defined as in (2) and the resulting coordinates are again determined +by (3).

+
+

Examples

+

Mapping between Danish TC32 and ETRS89/UTM zone 32 using polynomials in real +number space:

+
+proj=horner
++ellps=intl
++range=500000
++fwd_origin=877605.269066,6125810.306769
++inv_origin=877605.760036,6125811.281773
++deg=4
++fwd_v=6.1258112678e+06,9.9999971567e-01,1.5372750011e-10,5.9300860915e-15,2.2609497633e-19,4.3188227445e-05,2.8225130416e-10,7.8740007114e-16,-1.7453997279e-19,1.6877465415e-10,-1.1234649773e-14,-1.7042333358e-18,-7.9303467953e-15,-5.2906832535e-19,3.9984284847e-19
++fwd_u=8.7760574982e+05,9.9999752475e-01,2.8817299305e-10,5.5641310680e-15,-1.5544700949e-18,-4.1357045890e-05,4.2106213519e-11,2.8525551629e-14,-1.9107771273e-18,3.3615590093e-10,2.4380247154e-14,-2.0241230315e-18,1.2429019719e-15,5.3886155968e-19,-1.0167505000e-18
++inv_v=6.1258103208e+06,1.0000002826e+00,-1.5372762184e-10,-5.9304261011e-15,-2.2612705361e-19,-4.3188331419e-05,-2.8225549995e-10,-7.8529116371e-16,1.7476576773e-19,-1.6875687989e-10,1.1236475299e-14,1.7042518057e-18,7.9300735257e-15,5.2881862699e-19,-3.9990736798e-19
++inv_u=8.7760527928e+05,1.0000024735e+00,-2.8817540032e-10,-5.5627059451e-15,1.5543637570e-18,4.1357152105e-05,-4.2114813612e-11,-2.8523713454e-14,1.9109017837e-18,-3.3616407783e-10,-2.4382678126e-14,2.0245020199e-18,-1.2441377565e-15,-5.3885232238e-19,1.0167203661e-18
+
+
+

Mapping between Danish System Storebælt and ETRS89/UTM zone 32 using complex +polynomials:

+
+proj=horner
++ellps=intl
++range=500000
++fwd_origin=4.94690026817276e+05,6.13342113183056e+06
++inv_origin=6.19480258923588e+05,6.13258568148837e+06
++deg=3
++fwd_c=6.13258562111350e+06,6.19480105709997e+05,9.99378966275206e-01,-2.82153291753490e-02,-2.27089979140026e-10,-1.77019590701470e-09,1.08522286274070e-14,2.11430298751604e-15
++inv_c=6.13342118787027e+06,4.94690181709311e+05,9.99824464710368e-01,2.82279070814774e-02,7.66123542220864e-11,1.78425334628927e-09,-1.05584823306400e-14,-3.32554258683744e-15
+
+
+
+
+

Parameters

+

Setting up Horner polynomials requires many coefficients being explicitly +written, even for polynomials of low degree. For this reason it is recommended +to store the polynomial definitions in an init file for +easier writing and reuse.

+
+

Required

+

Below is a list of required parameters that can be set for the Horner polynomial +transformation. As stated above, the transformation takes to forms, either using +real or complex polynomials. These are divided into separate sections below. +Parameters from the two sections are mutually exclusive, that is parameters +describing real and complex polynomials can’t be mixed.

+
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++deg=<value>
+

Degree of polynomial

+
+ +
+
++fwd_origin=<northing,easting>
+

Coordinate of origin for the forward mapping

+
+ +
+
++inv_origin=<northing,easting>
+

Coordinate of origin for the inverse mapping

+
+ +
+

Real polynomials

+

The following parameters has to be set if the transformation consists of +polynomials in real space. Each parameter takes a comma-separated list of +coefficients. The number of coefficients is governed by the degree, \(d\), +of the polynomial:

+
+\[N = \frac{(d + 1)(d + 2)}{2}\]
+
+
++fwd_u=<u_11,u_12,...,u_ij,..,u_mn>
+

Coefficients for the forward transformation i.e. latitude to northing +as described in (1).

+
+ +
+
++fwd_v=<v_11,v_12,...,v_ij,..,v_mn>
+

Coefficients for the forward transformation i.e. longitude to easting +as described in (1).

+
+ +
+
++inv_u=<u_11,u_12,...,u_ij,..,u_mn>
+

Coefficients for the inverse transformation i.e. latitude to northing +as described in (1).

+
+ +
+
++inv_v=<v_11,v_12,...,v_ij,..,v_mn>
+

Coefficients for the inverse transformation i.e. longitude to easting +as described in (1).

+
+ +
+
+

Complex polynomials

+

The following parameters has to be set if the transformation consists of +polynomials in complex space. Each parameter takes a comma-separated list of +coefficients. The number of coefficients is governed by the degree, \(d\), +of the polynomial:

+
+\[N = 2d + 2\]
+
+
++fwd_c=<c_1,c_2,...,c_N>
+

Coefficients for the complex forward transformation +as described in (4).

+
+ +
+
++inv_c=<c_1,c_2,...,c_N>
+

Coefficients for the complex inverse transformation +as described in (4).

+
+ +
+
+
+

Optional

+
+
++range=<value>
+

Radius of the region of validity.

+
+ +
+
++uneg
+

Express latitude as southing. Only applies for complex polynomials.

+
+ +
+
++vneg
+

Express longitude as westing. Only applies for complex polynomials.

+
+ +
+
+
+

Further reading

+
    +
  1. Wikipedia

  2. +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/transformations/index.html b/operations/transformations/index.html new file mode 100644 index 00000000..eef33028 --- /dev/null +++ b/operations/transformations/index.html @@ -0,0 +1,169 @@ + + + + + + + Transformations — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+ + +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/transformations/molobadekas.html b/operations/transformations/molobadekas.html new file mode 100644 index 00000000..65709718 --- /dev/null +++ b/operations/transformations/molobadekas.html @@ -0,0 +1,320 @@ + + + + + + + Molodensky-Badekas transform — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Molodensky-Badekas transform

+
+

New in version 6.0.0.

+
+

The Molodensky-Badekas transformation changes coordinates from one reference frame to +another by means of a 10-parameter shift.

+
+

Note

+

It should not be confused with the Molodensky transform transform which +operates directly in the geodetic coordinates. Molodensky-Badekas can rather +be seen as a variation of Helmert transform

+
+ ++++ + + + + + + + + + + + + + + +

Alias

molobadekas

Domain

3D

Input type

Cartesian coordinates

Output type

Cartesian coordinates

+

The Molodensky-Badekas transformation is a variation of the Helmert transform where +the rotational terms are not directly applied to the ECEF coordinates, but on +cartesian coordinates relative to a reference point (usually close to Earth surface, +and to the area of use of the transformation). When px = py = pz = 0, +this is equivalent to a 7-parameter Helmert transformation.

+
+

Example

+

Transforming coordinates from La Canoa to REGVEN:

+
proj=molobadekas convention=coordinate_frame
+       x=-270.933 y=115.599 z=-360.226 rx=-5.266 ry=-1.238 rz=2.381
+       s=-5.109 px=2464351.59 py=-5783466.61 pz=974809.81
+
+
+
+
+

Parameters

+
+

Note

+

All parameters (except convention) are optional but at least one should be +used, otherwise the operation will return the coordinates unchanged.

+
+
+
++convention=coordinate_frame/position_vector
+

Indicates the convention to express the rotational terms when a 3D-Helmert / +7-parameter more transform is involved.

+

The two conventions are equally popular and a frequent source of confusion. +The coordinate frame convention is also described as an clockwise +rotation of the coordinate frame. It corresponds to EPSG method code +1034 (in the geocentric domain) or 9636 (in the geographic domain) +The position vector convention is also described as an anticlockwise +(counter-clockwise) rotation of the coordinate frame. +It corresponds to as EPSG method code 1061 (in the geocentric domain) or +1063 (in the geographic domain).

+

The result obtained with parameters specified in a given convention +can be obtained in the other convention by negating the rotational parameters +(rx, ry, rz)

+
+ +
+
++x=<value>
+

Translation of the x-axis given in meters.

+
+ +
+
++y=<value>
+

Translation of the y-axis given in meters.

+
+ +
+
++z=<value>
+

Translation of the z-axis given in meters.

+
+ +
+
++s=<value>
+

Scale factor given in ppm.

+
+ +
+
++rx=<value>
+

X-axis rotation given arc seconds.

+
+ +
+
++ry=<value>
+

Y-axis rotation given in arc seconds.

+
+ +
+
++rz=<value>
+

Z-axis rotation given in arc seconds.

+
+ +
+
++px=<value>
+

Coordinate along the x-axis of the reference point given in meters.

+
+ +
+
++py=<value>
+

Coordinate along the y-axis of the reference point given in meters.

+
+ +
+
++pz=<value>
+

Coordinate along the z-axis of the reference point given in meters.

+
+ +
+
+

Mathematical description

+

In the Position Vector convention, we define \(R_x = radians \left( rx \right)\), +\(R_z = radians \left( ry \right)\) and \(R_z = radians \left( rz \right)\)

+

In the Coordinate Frame convention, \(R_x = - radians \left( rx \right)\), +\(R_z = - radians \left( ry \right)\) and \(R_z = - radians \left( rz \right)\)

+
+(1)\[\begin{split}\begin{align} + \begin{bmatrix} + X \\ + Y \\ + Z \\ + \end{bmatrix}^{output} = + \begin{bmatrix} + T_x + P_x\\ + T_y + P_y\\ + T_z + P_z\\ + \end{bmatrix} + + \left(1 + s \times 10^{-6}\right) + \begin{bmatrix} + 1 & -R_z & R_y \\ + Rz & 1 & -R_x \\ + -Ry & R_x & 1 \\ + \end{bmatrix} + \begin{bmatrix} + X^{input} - P_x\\ + Y^{input} - P_y\\ + Z^{input} - P_z\\ + \end{bmatrix} +\end{align}\end{split}\]
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/transformations/molodensky.html b/operations/transformations/molodensky.html new file mode 100644 index 00000000..9b38d0a4 --- /dev/null +++ b/operations/transformations/molodensky.html @@ -0,0 +1,275 @@ + + + + + + + Molodensky transform — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Molodensky transform

+
+

New in version 5.0.0.

+
+

The Molodensky transformation resembles a Helmert transform with zero +rotations and a scale of unity, but converts directly from geodetic coordinates to +geodetic coordinates, without the intermediate shifts to and from cartesian +geocentric coordinates, associated with the Helmert transformation. +The Molodensky transformation is simple to implement and to parametrize, requiring +only the 3 shifts between the input and output frame, and the corresponding +differences between the semimajor axes and flattening parameters of the reference +ellipsoids. Due to its algorithmic simplicity, it was popular prior to the +ubiquity of digital computers. Today, it is mostly interesting for historical +reasons, but nevertheless indispensable due to the large amount of data that has +already been transformed that way [EversKnudsen2017].

+ ++++ + + + + + + + + + + + + + + +

Alias

molodensky

Domain

3D

Input type

Geodetic coordinates (horizontal), meters (vertical)

output type

Geodetic coordinates (horizontal), meters (vertical)

+

The Molodensky transform can be used to perform a datum shift from coordinate +\((\phi_1, \lambda_1, h_1)\) to \((\phi_2, \lambda_2, h_2)\) where the two +coordinates are referenced to different ellipsoids. This is based on three +assumptions:

+
+
    +
  1. The cartesian axes, \(X, Y, Z\), of the two ellipsoids are parallel.

  2. +
  3. The offset, \(\delta X, \delta Y, \delta Z\), between the two ellipsoid +are known.

  4. +
  5. The characteristics of the two ellipsoids, expressed as the difference in +semimajor axis (\(\delta a\)) and flattening (\(\delta f\)), are known.

  6. +
+
+

The Molodensky transform is mostly used for transforming between old systems +dating back to the time before computers. The advantage of the Molodensky transform +is that it is fairly simple to compute by hand. The ease of computation come at the +cost of limited accuracy.

+

A derivation of the mathematical formulas for the Molodensky transform can be found +in [Deakin2004].

+
+

Examples

+

The abridged Molodensky:

+
proj=molodensky a=6378160 rf=298.25 da=-23 df=-8.120449e-8  dx=-134 dy=-48 dz=149 abridged
+
+
+

The same transformation using the standard Molodensky:

+
proj=molodensky a=6378160 rf=298.25 da=-23 df=-8.120449e-8  dx=-134 dy=-48 dz=149
+
+
+
+
+

Parameters

+
+

Required

+
+
++da=<value>
+

Difference in semimajor axis of the defining ellipsoids.

+
+ +
+
++df=<value>
+

Difference in flattening of the defining ellipsoids.

+
+ +
+
++dx=<value>
+

Offset of the X-axes of the defining ellipsoids.

+
+ +
+
++dy=<value>
+

Offset of the Y-axes of the defining ellipsoids.

+
+ +
+
++dz=<value>
+

Offset of the Z-axes of the defining ellipsoids.

+
+ +
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
+

Optional

+
+
++abridged
+

Use the abridged version of the Molodensky transform.

+
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/transformations/tinshift.html b/operations/transformations/tinshift.html new file mode 100644 index 00000000..55024c1a --- /dev/null +++ b/operations/transformations/tinshift.html @@ -0,0 +1,378 @@ + + + + + + + Triangulated Irregular Network based transformation — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Triangulated Irregular Network based transformation

+
+

New in version 7.2.0.

+
+ ++++ + + + + + + + + + + + + + + + + + +

Alias

tinshift

Input type

Projected or geographic coordinates (horizontal), meters (vertical)

Output type

Projected or geographic coordinates (horizontal), meters (vertical)

Domain

2D or 3D

Available forms

Forward and inverse

+

The tinshift transformation takes one mandatory +argument, file, that points to a JSON file, which contains the +triangulation and associated metadata. Input and output coordinates must be +geographic or projected coordinates. +Depending on the content of the JSON file, horizontal, vertical or both +components of the coordinates may be transformed.

+

The transformation is invertible, with the same computational complexity than +the forward transformation.

+
+

Parameters

+
+

Required

+
+
++file=<filename>
+

Filename to the JSON file for the TIN.

+
+ +
+
+
+

Example

+

Transforming a point with the Finland EPSG:2393 (“KKJ / Finland Uniform +Coordinate System”) projected CRS to EPSG:3067 (“ETRS89 / TM35FIN(E,N)”)

+
$ echo 3210000.0000 6700000.0000 0 2020 | cct +proj=tinshift +file=./triangulation_kkj.json
+
+209948.3217     6697187.0009    0.0000     2020
+
+
+
+

Algorithm

+

Internally, tinshift ingest the whole file into memory. It is considered that +triangulation should be small enough for that.

+

When a point is transformed, one must find the triangle into which it falls into. +Instead of iterating over all triangles, we build a in-memory quadtree to speed-up +the identification of candidates triangles.

+

To determine if a point falls into a triangle, one computes its 3 +barycentric coordinates +from its projected coordinates, \(\lambda_i\) for \(i=1,2,3\). +They are real values (in the [0,1] range for a point inside the triangle), +giving the weight of each of the 3 vertices of the triangles.

+

Once those weights are known, interpolating the target horizontal +coordinate is a matter of doing the linear combination of those weights with +the target horizontal coordinates at the 3 vertices of the triangle (\(Xt_i\) and \(Yt_i\)):

+
+\[ \begin{align}\begin{aligned}X_{target} = Xt_1 * \lambda_1 + Xt_2 * \lambda_2 + Xt_3 * \lambda_3\\Y_{target} = Yt_1 * \lambda_1 + Yt_2 * \lambda_2 + Yt_3 * \lambda_3\end{aligned}\end{align} \]
+

This interpolation is exact at the vertices of the triangulation, and has linear properties +inside each triangle. It is completely equivalent to other formulations of +triangular interpolation, such as

+
+\[ \begin{align}\begin{aligned}X_{target} = A + X_{source} * B + Y_{source} * C\\Y_{target} = D + X_{source} * E + Y_{source} * F\end{aligned}\end{align} \]
+

where the A, B, C, D, E, F constants (for a given triangle) are found by solving +the 2 systems of 3 linear equations, constraint by the source and target coordinate pairs +of the 3 vertices of the triangle:

+
+\[ \begin{align}\begin{aligned}Xt_i = A + Xs_i * B + Ys_i * C\\Yt_i = D + Xs_i * E + Ys_i * F\end{aligned}\end{align} \]
+

Similarly for a vertical coordinate transformation, where \(Zoff_i\) is the vertical +offset at each vertex of the triangle:

+
+\[Z_{target} = Z_{source} + Zoff_1 * \lambda_1 + Zoff_2 * \lambda_2 + Zoff_3 * \lambda_3\]
+
+
+

Constraints on the triangulation

+

No check is done on the consistence of the triangulation. It is highly +recommended that triangles do not overlap each other (when considering the +source coordinates or the forward transformation, or the target coordinates for +the inverse transformation), otherwise which triangle will be selected is +unspecified. Besides that, the triangulation does not need to have particular +properties (like being a Delaunay triangulation)

+
+
+

File format

+

The triangulation is stored in a text-based format, using JSON as a serialization.

+

Below a minimal example, from the KKJ to ETRS89 transformation, with just a +single triangle:

+
{
+  "file_type": "triangulation_file",
+  "format_version": "1.0",
+  "name": "Name",
+  "version": "Version",
+  "publication_date": "2018-07-01T00:00:00Z",
+  "license": "Creative Commons Attribution 4.0 International",
+  "description": "Test triangulation",
+  "authority": {
+    "name": "Authority name",
+    "url": "http://example.com",
+    "address": "Adress",
+    "email": "test@example.com"
+  },
+  "links": [
+    {
+      "href": "https://example.com/about.html",
+      "rel": "about",
+      "type": "text/html",
+      "title": "About"
+    },
+    {
+      "href": "https://example.com/download",
+      "rel": "source",
+      "type": "application/zip",
+      "title": "Authoritative source"
+    },
+    {
+      "href": "https://creativecommons.org/licenses/by/4.0/",
+      "rel": "license",
+      "type": "text/html",
+      "title": "Creative Commons Attribution 4.0 International license"
+    },
+    {
+      "href": "https://example.com/metadata.xml",
+      "rel": "metadata",
+      "type": "application/xml",
+      "title": " ISO 19115 XML encoded metadata regarding the deformation model"
+    }
+  ],
+  "transformed_components": [ "horizontal" ],
+  "vertices_columns": [ "source_x", "source_y", "target_x", "target_y" ],
+  "triangles_columns": [ "idx_vertex1", "idx_vertex2", "idx_vertex3" ],
+  "vertices": [ [2,49,2.1,49.1], [3,50,3.1,50.1], [2, 50, 2.1,50.1] ],
+  "triangles": [ [0, 1, 2] ]
+}
+
+
+

So after the generic metadata, we define the input and output CRS (informative +only), and that the transformation affects horizontal components of +coordinates. We name the columns of the vertices and triangles arrays. +We defined the source and target coordinates of each vertex, and define a +triangle by referring to the index of its vertices in the vertices array.

+

More formally, the specific items for the triangulation file are:

+
+
input_crs

String identifying the CRS of source coordinates +in the vertices. Typically EPSG:XXXX. If the transformation is for vertical +component, this should be the code for a compound CRS (can be EPSG:XXXX+YYYY +where XXXX is the code of the horizontal CRS and YYYY the code of the vertical CRS). +For example, for the KKJ->ETRS89 transformation, this is EPSG:2393 +(KKJ / Finland Uniform Coordinate System). The input coordinates are assumed +to be passed in the “normalized for visualisation” / “GIS friendly” order, +that is longitude, latitude for geographic coordinates and +easting, northing for projected coordinates.

+
+
output_crs

String identifying the CRS of target coordinates in the vertices. +Typically EPSG:XXXX. If the transformation is for vertical component, +this should be the code for a compound CRS (can be EPSG:XXXX+YYYY where +XXXX is the code of the horizontal CRS and YYYY the code of the vertical CRS). +For example, for the KKJ->ETRS89 transformation, this is EPSG:3067 +("ETRS89 / TM35FIN(E,N)"). The output coordinates will be returned in +the “normalized for visualisation” / “GIS friendly” order, +that is longitude, latitude for geographic coordinates and +easting, northing for projected coordinates.

+
+
transformed_components

Array which may contain one or two strings: “horizontal” when horizontal +components of the coordinates are transformed and/or “vertical” when the +vertical component is transformed.

+
+
fallback_strategy

String identifying how to treat points that do not fall into any of the +specified triangles. This item is available for format_version >= 1.1. +Possible values are none, nearest_side and nearest_centroid. The +default is none and signifies, that points that fall outside the +specified triangles are not transformed. This is also the behaviour for +format_version before 1.1. If fallback_strategy is set to +nearest_side, then points that do not fall into any triangle are +transformed according to the triangle closest to them by euclidean distance. +If fallback_strategy is set to nearest_centroid, then points that do +not fall into any triangle are transformed according to the triangle with the +closest centroid (intersection of its medians).

+
+
vertices_columns

Specify the name of the columns of the rows in the vertices +array. There must be exactly as many elements in vertices_columns as in a +row of vertices. The following names have a special meaning: source_x, +source_y, target_x, target_y, source_z, target_z and +offset_z. source_x and source_y are compulsory. +source_x is for the source longitude (in degree) or easting. +source_y is for the source latitude (in degree) or northing. +target_x and target_y are compulsory when horizontal is specified +in transformed_components. (source_z and target_z) or +offset_z are compulsory when vertical is specified in transformed_components

+
+
triangles_columns

Specify the name of the columns of the rows in the +triangles array. There must be exactly as many elements in triangles_columns +as in a row of triangles. The following names have a special meaning: +idx_vertex1, idx_vertex2, idx_vertex3. They are compulsory.

+
+
vertices

An array whose items are themselves arrays with as many columns as +described in vertices_columns.

+
+
triangles

An array whose items are themselves arrays with as many columns as +described in triangles_columns. +The value of the idx_vertexN columns must be indices +(between 0 and len(vertices-1) of items of the vertices array.

+
+
+

A JSON schema is available +for this file format.

+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/transformations/vgridshift.html b/operations/transformations/vgridshift.html new file mode 100644 index 00000000..e6bd0730 --- /dev/null +++ b/operations/transformations/vgridshift.html @@ -0,0 +1,310 @@ + + + + + + + Vertical grid shift — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Vertical grid shift

+
+

New in version 5.0.0.

+
+

Change Vertical datum change by grid shift

+ ++++ + + + + + + + + + + + + + + +

Alias

vgridshift

Domain

3D and 4D

Input type

Geodetic coordinates (horizontal), meters (vertical), +decimalyear (temporal)

Output type

Geodetic coordinates (horizontal), meters (vertical), +decimalyear (temporal)

+

The vertical grid shift is done by offsetting the vertical input coordinates by +a specific amount determined by the loaded grids. The simplest use case of the +horizontal grid shift is applying a single grid. Here we change the vertical +reference from the ellipsoid to the global geoid model, EGM96:

+
+proj=vgridshift +grids=egm96_15.gtx
+
+
+

More than one grid can be loaded at the same time, for instance in the case where +a better geoid model than the global is available for a certain area. Here the +gridshift is set up so that the local DVR90 geoid model takes precedence over +the global model:

+
+proj=vgridshift +grids=@dvr90.gtx,egm96_15.gtx
+
+
+

The @ in the above example states that the grid is optional, in case the grid +is not found in the PROJ search path. The list of grids is prioritized so that +grids in the start of the list takes precedence over the grids in the back of the +list.

+

PROJ supports the GTX file format for vertical grid corrections. Details +about all the format can be found in the GDAL documentation. GDAL both reads and +writes the format. Using GDAL for construction of new grids is recommended.

+
+

Temporal gridshifting

+
+

New in version 5.1.0.

+
+

By initializing the vertical gridshift operation with a central epoch, it can be +used as a step function applying the grid offsets only if a coordinate is +transformed from an epoch before grids central epoch to an epoch after. This is +handy in transformations where it is necessary to handle deformations caused by +seismic activity.

+

The central epoch of the grid is controlled with +t_epoch and the final +epoch of the coordinate is set with +t_final. The observation epoch of +the coordinate is part of the coordinate tuple.

+

Suppose we want to model the deformation of the 2008 earthquake in Iceland in +a transformation of data from 2005 to 2009:

+
echo 63.992 -21.014 10.0 2005.0 | cct +proj=vgridshift +grids=iceland2008.gtx +t_epoch=2008.4071 +t_final=2009.0
+63.992 -21.014 10.11 2005.0
+
+
+
+

Note

+

The timestamp of the resulting coordinate is still 2005.0. The observation +time is always kept unchanged as it would otherwise be impossible to do the +inverse transformation.

+
+

Temporal gridshifting is especially powerful in transformation pipelines where +several gridshifts can be chained together, effectively acting as a series of +step functions that can be applied to a coordinate that is propagated through +time. In the following example we establish a pipeline that allows transformation +of coordinates from any given epoch up until the current date, applying only +those gridshifts that have central epochs between the observation epoch and +the final epoch:

+
+proj=pipeline +t_final=now
++step +proj=vgridshift +grids=earthquake_1.gtx +t_epoch=2010.421
++step +proj=vgridshift +grids=earthquake_2.gtx +t_epoch=2013.853
++step +proj=vgridshift +grids=earthquake_3.gtx +t_epoch=2017.713
+
+
+
+

Note

+

The special epoch now is used when specifying the final epoch with ++t_final. This results in coordinates being transformed to the +current date. Additionally, +t_final is used as a +global pipeline parameter, which means +that it is applied to all the steps in the pipeline.

+
+

In the above transformation, a coordinate with observation epoch 2009.32 would +be subject to all three gridshift steps in the pipeline. A coordinate with +observation epoch 2014.12 would only by offset by the last step in the pipeline.

+
+
+

Parameters

+
+

Required

+
+
++grids=<list>
+

Comma-separated list of grids to load. If a grid is prefixed by an @ the +grid is considered optional and PROJ will the not complain if the grid is +not available.

+

Grids are expected to be in GTX format.

+
+ +
+
+

Optional

+
+
++t_epoch=<time>
+

Central epoch of the transformation.

+
+ +
+

New in version 5.1.0.

+
+
+
++t_final=<time>
+

Final epoch that the coordinate will be propagated to after transformation. +The special epoch now can be used instead of writing a specific period in +time. When now is used, it is replaced internally with the epoch of the +transformation. This means that the resulting coordinate will be slightly +different if carried out again at a later date.

+
+ +
+

New in version 5.1.0.

+
+
+
++multiplier=<value>
+

Specify the multiplier to apply to the grid value in the forward transformation +direction, such that:

+
+(1)\[Z_{target} = Z_{source} + multiplier \times gridvalue\]
+

The multiplier can be used to control whether the gridvalue should be added +or subtracted, and if unit conversion must be done (the multiplied gridvalue +must be expressed in metre).

+

Note that the default is -1.0 for historical reasons.

+
+ +
+

New in version 5.2.0.

+
+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/operations/transformations/xyzgridshift.html b/operations/transformations/xyzgridshift.html new file mode 100644 index 00000000..57e7f08a --- /dev/null +++ b/operations/transformations/xyzgridshift.html @@ -0,0 +1,256 @@ + + + + + + + Geocentric grid shift — PROJ 9.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +
+

Geocentric grid shift

+
+

New in version 7.0.0.

+
+

Geocentric translation using a grid shift

+ ++++ + + + + + + + + + + + + + + +

Alias

xyzgridshift

Domain

3D

Input type

Cartesian coordinates

Output type

Cartesian coordinates

+

Perform a geocentric translation by bilinear interpolation of dx, dy, dz +translation values from a grid. The grid is referenced against either the +2D geographic CRS corresponding to the input (or sometimes output) CRS.

+

This method is described (in French) in [NTF_88] +and as EPSG operation method code 9655 in [IOGP2018] (§2.4.4.1.1 +France geocentric interpolation).

+

The translation in the grids are added to the input coordinates in the forward direction, +and subtracted in the reverse direction. +By default (if grid_ref=input_crs), in the forward direction, the input coordinates +are converted to their geographic equivalent to directly read and interpolate from +the grid. In the reverse direction, an iterative method is used to be able to find +the grid locations to read. +If grid_ref=output_crs is used, then the reverse strategy is applied: iterative +method in the forward direction, and direct read in the reverse direction.

+
+

Example

+

NTF to RGF93 transformation using gr3df97a.tif grid

+
+proj=pipeline
+    +step +proj=push +v_3
+    +step +proj=cart +ellps=clrk80ign
+    +step +proj=xyzgridshift +grids=gr3df97a.tif +grid_ref=output_crs +ellps=GRS80
+    +step +proj=cart +ellps=GRS80 +inv
+    +step +proj=pop +v_3
+
+
+
+

Parameters

+

The ellipsoid parameters should be the ones consistent with grid_ref. +They are used to perform a geocentric to geographic conversion to find the +translation parameters.

+
+

Required

+
+
++ellps=<value>
+

The name of a built-in ellipsoid definition.

+

See Ellipsoids for more information, or execute +proj -le for a list of built-in ellipsoid names.

+

Defaults to “GRS80”.

+
+ +
+
++grids=<list>
+

Comma-separated list of grids to load. If a grid is prefixed by an @ the +grid is considered optional and PROJ will the not complain if the grid is +not available.

+

Grids are expected to be in GeoTIFF format. If no metadata is provided, +the first, second and third samples are assumed to be the geocentric +translation along X, Y and Z axis respectively, in metres.

+
+ +
+
+

Optional

+
+
++grid_ref=input_crs/output_crs
+

Specify in which CRS the grid is referenced to. The default value is +input_crs. That is the grid is referenced in the geographic CRS corresponding +to the input geocentric CRS.

+

If output_crs is specified, the grid is referenced in the geographic CRS corresponding +to the output geocentric CRS. This is for example the case for the French +gr3df97a.tif grid converting from NTF to RGF93, but referenced against RGF93. +Thus in the forward direction (NTF->RGF93), an iterative method is used to find +the appropriate shift.

+
+ +
+
++multiplier=<value>
+

Specify the multiplier to apply to the grid values. Defaults to 1.0

+
+ +
+
+
+
+ + +
+
+ +
+
+
+
+ + + + \ No newline at end of file -- cgit v1.2.3