Find Transformations

Description

The findTransformations operation is performed on a geometry service resource. This operation returns a list of applicable geographic transformations you should use when projecting geometries from the input spatial reference to the output spatial reference. The transformations are in JSON format and are returned in order of most applicable to least applicable. Recall that a geographic transformation is not needed when the input and output spatial references have the same underlying geographic coordinate systems. In this case, findTransformations returns an empty list.

Every returned geographic transformation is a forward transformation, meaning that it can be used as-is to project from the input spatial reference to the output spatial reference. In the case where a predefined transformation needs to be applied in the reverse direction, it is returned as a forward composite transformation containing one transformation and a transformForward element with a value of false. See the examples given below.

You can provide arguments to the findTransformations operation as query parameters defined in the following parameters table:

Request parameters

Parameter

Details

f

Description:  (Optional) The response format. The default response format is html.
Values:   html | json

inSR

Description: (Required) The well-known ID (WKID) of the spatial reference or a spatial reference JSON object for the input geometries. For a list of valid WKID values, see Projected coordinate systems and Geographic coordinate systems.

outSR

Description: (Required) The WKID of the spatial reference or a spatial reference JSON object for the projected geometries. For a list of valid WKID values, see Projected coordinate systems and Geographic coordinate systems.

extentOfInterest

Description: (Optional) The bounding box of the area of interest specified as a JSON envelope. If provided, the extent of interest is used to return the most applicable geographic transformations for the area. If a spatial reference is not included in the JSON envelope, the inSR is used for the envelope.

numOfResults

Description: (Optional) The number of geographic transformations to return. The default value is 1. If numOfResults has a value of -1, all applicable transformations are returned.

vertical
NoteNote:
This option was added at 10.5.

Description: (Optional) Specifies whether or not to check for vertical transformations. The default value is false. If vertical is set to true, both inSR and outSR must have a vertical coordinate system. A list of hvtransforms will be returned in this case.

Values: true | false

Example usage

Example 1

This example finds the top three transformations that should be used when projecting data from GCS_North_American_1927 (wkid = 4267) to GCS_WGS_1984 (wkid = 4326).

http://<your server>/arcgis/rest/services/Utilities/Geometry/GeometryServer/findTransformations?inSR=4267&outSR=4326&extentOfInterest=&numOfResults=3

The output looks like the following:

Output from Example 1

transformations: 
[
  {
    "wkid": 15851,
    "latestWkid": 15851,
    "name": "NAD_1927_To_WGS_1984_79_CONUS"
  },
  {
    "wkid": 8072,
    "latestWkid": 1172,
    "name": "NAD_1927_To_WGS_1984_3"
  },
  {
    "geoTransforms": [
      {
        "wkid": 108001,
        "latestWkid": 1241,
        "transformForward": true,
        "name": "NAD_1927_To_NAD_1983_NADCON"
      },
      {
        "wkid": 108190,
        "latestWkid": 108190,
        "transformForward": false,
        "name": "WGS_1984_(ITRF00)_To_NAD_1983"
      }
    ]
  }
]

The first two transformations are forward single transformations. The third transformation is a forward composite transformation. It will first apply the transformation 108001 in the forward direction from NAD 27 to NAD 83, and then it will apply 108190 in the reverse direction from NAD 83 to WGS 84. Note that although the second transformation in the composite transformation is applied in the reverse direction, the entire composite transformation is a forward transformation. You could copy and paste the composite transformation, or any transformation returned by findTransformations, into the project operation as-is without having to change the default direction, which is forward.

Example 2

This example performs the reverse of the operation performed in Example 1. This example projects data from GCS_WGS_1984 (wkid = 4326) to GCS_North_American_1927 (wkid = 4267) and retrieves the top three transformations.

http://<your server>//arcgis/rest/services/Utilities/Geometry/GeometryServer/findTransformations?inSR=4326&outSR=4267&extentOfInterest=&numOfResults=3

The output looks like the following:

Output from Example 2

transformations: 
[
  {
    "geoTransforms": [
      {
        "wkid": 15851,
        "latestWkid": 15851,
        "transformForward": false,
        "name": "NAD_1927_To_WGS_1984_79_CONUS"
      }
    ]
  },
  {
    "geoTransforms": [
      {
        "wkid": 8072,
        "latestWkid": 1172,
        "transformForward": false,
        "name": "NAD_1927_To_WGS_1984_3"
      }
    ]
  },
  {
    "geoTransforms": [
      {
        "wkid": 108190,
        "latestWkid": 108190,
        "transformForward": true,
        "name": "WGS_1984_(ITRF00)_To_NAD_1983"
      },
      {
        "wkid": 108001,
        "latestWkid": 1241,
        "transformForward": false,
        "name": "NAD_1927_To_NAD_1983_NADCON"
      }
    ]
  }
]

Notice that the first two transformations are composite transformations containing a single transformation with the transformForward element set to false. The reason for this is that findTransformations always returns forward transformations. The transformation with wkid = 15851 is the best transformation for this situation, but if you use it directly, it must be used in the reverse direction. The composite transformation with one transformation is a forward transformation.

Example 3

This example shows how to find the top two transformations for projecting data from North_America_Equidistant_Conic, a projected coordinate system with NAD 83 as its underlying geographic coordinate system, to World_Mercator, a projected coordinate system with WGS 84 as its underlying geographic coordinate system.

http://<your server>/arcgis/rest/services/Utilities/Geometry/GeometryServer/findTransformations?inSR=102010&outSR=54004&extentOfInterest=&numOfResults=2

The output looks like the following:

Output from Example 3

transformations: 
[
  {
    "geoTransforms": [
      {
        "wkid": 108190,
        "latestWkid": 108190,
        "transformForward": false,
        "name": "WGS_1984_(ITRF00)_To_NAD_1983"
      }
    ]
  },
  {
    "wkid": 8494,
    "latestWkid": 1515,
    "name": "NAD_1983_To_WGS_1984_5"
  }
]

To run the same query, but with an envelope covering an area in southern California containing Esri headquarters, you would add the extentOfInterest parameter.

Envelope for the extentOfInterest parameter

{
  "xmin": -118,"ymin": 33,
  "xmax": -116,"ymax": 35,
  "spatialReference": {"wkid": 4326}
}

With the extentOfInterest parameter added, the results consist of different transformations.

Output from Example 3 with the extentOfInterest parameter

transformations: 
[
  {
    "geoTransforms": [
      {
        "wkid": 108190,
        "latestWkid": 108190,
        "transformForward": false,
        "name": "WGS_1984_(ITRF00)_To_NAD_1983"
      }
    ]
  },
  {
    "geoTransforms": [
      {
        "wkid": 8422,
        "latestWkid": 1477,
        "transformForward": true,
        "name": "NAD_1983_To_HARN_CA_S"
      },
      {
        "wkid": 1900,
        "latestWkid": 1900,
        "transformForward": true,
        "name": "NAD_1983_HARN_To_WGS_1984_2"
      }
    ]
  }
]

Example 4

This example shows how to find the top horizontal/vertical transformation when projecting data from GCS_ETRS_1989 (WKID = 4258) and vertical coordinate system ETRS_1989 (WKID = 115701) to GCS_North_American_1983 (WKID = 4269) and vertical coordinate system NAD_1983 (WKID = 115702). Notice that since Vertical is set to true, the result is an array of hvTransforms rather than a geoTransforms.

http://<your server>/arcgis/rest/services/Utilities/Geometry/GeometryServer/findTransformations?inSR={"wkid": 4258, "vcsWkid": 115701}&outSR={"wkid": 4269, "vcsWkid": 115702}&extentOfInterest=&numOfResults=&vertical=true&f=html

The output looks like the following:

Output of Example 4

transformations:	
[{"hvTransforms": [
  {
    "wkid": 1149,
    "latestWkid": 1149,
    "transformForward": true,
    "name": "ETRS_1989_To_WGS_1984"
  },
  {
    "wkid": 8088,
    "latestWkid": 1188,
    "transformForward": false,
    "name": "NAD_1983_To_WGS_1984_1"
  }
]}]
3/3/2017