- URL:
- https://<root>/Utilities/Geometry/GeometryServer/findTransformations
- Methods:
GET
- Version Introduced:
- 10.3
Description
The find
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, find
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. When a predefined transformation needs to be applied in the reverse direction, it is returned as a forward composite transformation containing one transformation and a transform
element with a value of false
. See the examples given below.
You can provide arguments to the find
operation as query parameters defined in the following parameters table.
Request parameters
Parameter | Details |
---|---|
(Required) | Specifies 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 Using spatial references. |
(Required) | Specifies the WKID of the spatial reference or a spatial reference JSON object for the projected geometries. For a list of valid WKID values, see Using spatial references. |
(Optional) | Sets 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 |
(Optional) | Specifies the number of geographic transformations to return. The default value is 1. If |
(Optional) | Specifies whether or not to check for vertical transformations. The default value is false. If Values: |
| The response format. The default format is Values: |
Example usage
The following are sample request URLs for find
.
Example 1
This example finds the top two transformations that should be used when projecting data from GCS_North_American_1927 (wkid = 4267) to GCS_North_American_1983 (wkid = 4269).
The first transformation is a single forward geographic transformation. The second transformation is a forward composite transformation containing two geographic transformations. It will first apply the transformation 8073 in the forward direction from NAD 27 to WGS 84. It will then apply 8494 in the reverse direction from WGS 84 to NAD 83. 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 can copy and paste the composite transformation, or any transformation returned by find
, into the project
operation as-is without having to change the default direction which is forward.
The output looks like the following:
[
{
"wkid": 108001,
"latestWkid": 1241,
"name": "NAD_1927_To_NAD_1983_NADCON"
},
{"geoTransforms": [
{
"wkid": 8073,
"latestWkid": 1173,
"transformForward": true,
"name": "NAD_1927_To_WGS_1984_4"
},
{
"wkid": 8494,
"latestWkid": 1515,
"transformForward": false,
"name": "NAD_1983_To_WGS_1984_5"
}
]}
]
Example 2
This example performs the reverse of the operation performed in Example 1. This example projects data from GCS_North_American_1983 (wkid = 4269) to GCS_North_American_1927 (wkid = 4267) and retrieves the top three transformations.
Notice that the first transformation is a composite transformation containing a single geographic transformation with the transform
element set to false
. The reason for this is that find
always returns forward transformations. The transformation with wkid = 108001 is the best one 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, so you can copy and paste it as-is.
The output looks like the following:
[
{"geoTransforms": [{
"wkid": 108001,
"latestWkid": 1241,
"transformForward": false,
"name": "NAD_1927_To_NAD_1983_NADCON"
}]},
{"geoTransforms": [
{
"wkid": 8494,
"latestWkid": 1515,
"transformForward": true,
"name": "NAD_1983_To_WGS_1984_5"
},
{
"wkid": 8073,
"latestWkid": 1173,
"transformForward": false,
"name": "NAD_1927_To_WGS_1984_4"
}
]}
]
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. The URL shown here has been decoded for illustrative purposes, but the actual URL must be encoded.
The output looks like the following:
[
{"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 extent
parameter.
{
"xmin": -118,"ymin": 33,
"xmax": -116,"ymax": 35,
"spatialReference": {"wkid": 4326}
}
The decoded URL with the extent of interest
parameter added looks like this. The actual URL must be encoded.
With the extent
parameter added, the results consist of different 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 the decoded URL (the actual URL must be encoded) used to find the top horizontal-vertical transformation when projecting data from GCS_ITRF_1988 (WKID = 104115) and vertical coordinate system ITRF_1988 (WKID = 115729) to GCS_ITRF_1989 (WKID = 104116) and vertical coordinate system ITRF_1989 (WKID = 115730). Notice that since Vertical
is set to true, the result is an array of horizontal-vertical transformations (hvTransforms) rather than geoTransforms.
The output looks like the following:
[{
"hvTransforms": [
{
"wkid": 1943,
"latestWkid": 108034,
"transformForward": true,
"name": "ITRF_1988_To_ITRF_2000_1"
},
{
"wkid": 1942,
"latestWkid": 108033,
"transformForward": false,
"name": "ITRF_1989_To_ITRF_2000_1"
}
],
"srIn": {
"wkid": 104115,
"latestWkid": 8988,
"vcsWkid": 115729,
"latestVcsWkid": 115729
},
"srOut": {
"wkid": 104116,
"latestWkid": 8989,
"vcsWkid": 115730,
"latestVcsWkid": 115730
}
}]