Project (Image Service)

URL:
https://<imageservice-url>/project
Methods:
GET
Required Capability:
Image
Version Introduced:
10.3

Description

This operation is supported at 10.3 and later. The project operation is performed on an image service resource. This operation projects an array of input geometries from the input spatial reference to the output spatial reference. The response order of geometries is in the same order as they were requested. The project operation supports projecting geometries to different spatial references. This operation supports spatial references represented in the Image coordinate system, which is not available through the project operation of a geometry service.

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

Request parameters

ParameterDetails

geometries

Specifies the array of geometries to be projected. The structure of each geometry in the array is the same as the structure of the JSON geometry objects returned by the ArcGIS REST API.

The geometries parameter is an array of input geometries. All geometries in this array should be of the type defined by geometryType.

Syntax:

1
2
3
4
{
  "geometryType" : "<esriGeometryPoint | esriGeometryMultipoint | esriGeometryPolyline | esriGeometryPolygon>"
  "geometries" : [ <geometry1>, <geometry1>, ..., <geometryN> ]
}

Example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
  "geometryType" : "esriGeometryPolyline",
    "geometries" :
  [
    {
      "paths" :
      [
        [[-117,34],[-116,34],[-117,33]],
        [[-115,44],[-114,43],[-115,43]]
      ]
    },
    {
      "paths" :
      [
        [[32,17],[31,17],[30,17],[30,16]]
      ]
    }
  ]
}

inSR

Specifies a well-known ID wkid of the spatial reference, an image coordinate system ID icsid, or a spatial reference JSON object for the input geometries. For a list of valid WKID values, see Using spatial references.

An image coordinate system ID can be specified using 0:icsid; for example, 0:64. The extra 0: is used to avoid conflicts with wkid

outSR

Specifies a well-known ID wkid of the spatial reference, an image coordinate system ID icsid, or a spatial reference JSON object for the output geometries. For a list of valid WKID values, see Using spatial references.

An image coordinate system ID can be specified using 0:icsid; for example, 0:64. The extra 0: is used to avoid conflicts with wkid

datumTransformation

A WKID or a JSON object specifying the geographic datum transformation. Use it to apply a single datum transformation or a composite datum transformation chain to the exported image when the geographic datum of imageSR is different than the geographic datum of image service's spatial reference. When not specified, a default datum transformation will be applied if needed.

f

The response format. The default format is html .

Values: html | json | pjson

Datum transformation information

While specifying transformation, you need to think about which datum transformation is most applicable to project the image service to the imageSR. The spatialReference property of the image service resource reports which spatial reference is used by the service. For a list of valid datum transformation ID values (WKID) and well-known text (WKT) strings, see Using spatial references. For more information on datum transformation, see the transformation parameter in the Project operation.

Syntax

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//Syntax of a single datum transformation number with WKID (Well-Known ID)
datumTransformation=<wkid>

//Syntax of a single datum transformation json element with WKID
datumTransformation={"wkid": <wkid>}

//Syntax of a single datum transformation json element with geoTransforms
datumTransformation={"geoTransforms":[{"wkid": <wkid>,"transformForward": <boolean>}]}

//Syntax of a single datum transformation json element with WKT (Well-Known Text)
datumTransformation={"wkt": "<wkt>"}

//Syntax of a composite datum transformation chain json element with geoTransforms of WKIDs
datumTransformation={"geoTransforms":[{"wkid": <wkid1>,"transformForward": <boolean>}, {"wkid": <wkid2>,"transformForward": <boolean>}]}

//Syntax of a composite datum transformation chain json element with geoTransforms of WKTs
datumTransformation={"geoTransforms":[{"wkt": <wkt1>,"transformForward": <boolean>}, {"wkt": <wkt2>,"transformForward": <boolean>}]}

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//a single datum transformation number with WKID (Well-Known ID)
datumtransformation=1196

//a single datum transformation json element with WKID
datumtransformation={"wkid":1196}

//a single datum transformation json element with geoTransforms
datumtransformation={"geoTransforms":[{"wkid":1196,"transformForward":true}]}

//a single datum transformation json element with WKT (Well-Known Text)
datumTransformation={"wkt":"GEOGTRAN[\"OSGB_1936_To_WGS_1984_2\",GEOGCS[\"GCS_OSGB_1936\",DATUM[\"D_OSGB_1936\",SPHEROID[\"Airy_1830\",6377563.396,299.3249646]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],METHOD[\"Geocentric_Translation\"],PARAMETER[\"X_Axis_Translation\",371.0],PARAMETER[\"Y_Axis_Translation\",-112.0],PARAMETER[\"Z_Axis_Translation\",434.0],OPERATIONACCURACY[10.0]]"}

//a composite datum transformation chain json element with geoTransforms of WKIDs
datumTransformation={"geoTransforms":[{"wkid":1315,"transformForward":true},{"wkid":1138,"transformForward":true}]}

//a composite datum transformation chain json element with geoTransforms of WKTs
datumTransformation={"geoTransforms":[{"wkt":"GEOGTRAN[\"OSGB_1936_To_ED_1950_UKOOA\",GEOGCS[\"GCS_OSGB_1936\",DATUM[\"D_OSGB_1936\",SPHEROID[\"Airy_1830\",6377563.396,299.3249646]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],GEOGCS[\"GCS_European_1950\",DATUM[\"D_European_1950\",SPHEROID[\"International_1924\",6378388.0,297.0]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],METHOD[\"Position_Vector\"],PARAMETER[\"X_Axis_Translation\",535.948],PARAMETER[\"Y_Axis_Translation\",-31.357],PARAMETER[\"Z_Axis_Translation\",665.16],PARAMETER[\"X_Axis_Rotation\",0.15],PARAMETER[\"Y_Axis_Rotation\",0.247],PARAMETER[\"Z_Axis_Rotation\",0.998],PARAMETER[\"Scale_Difference\",-21.689],OPERATIONACCURACY[2.0]]","transformForward":true},{"wkt":"GEOGTRAN[\"ED_1950_To_WGS_1984_6\",GEOGCS[\"GCS_European_1950\",DATUM[\"D_European_1950\",SPHEROID[\"International_1924\",6378388.0,297.0]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],METHOD[\"Geocentric_Translation\"],PARAMETER[\"X_Axis_Translation\",-86.0],PARAMETER[\"Y_Axis_Translation\",-96.0],PARAMETER[\"Z_Axis_Translation\",-120.0],OPERATIONACCURACY[6.0]]","transformForward":true}]}

Example usage

The following are sample request URLs for project .

Example one

This example projects an envelope into the image coordinate system represented using icsid. The projected envelope can be used to overlay with the image.

1
https://machine.domain.com/webadaptor/rest/services/MyImageService/ImageServer/project?inSR=32611&outSR=0:64&geometries={"geometries": [{"xmin":376899.62711532967,"ymin":3773691.3005017433,"xmax":377475.15287916746,"ymax":3774194.0492160516}],"geometryType":"esriGeometryEnvelope"}&f=pjson

Example two

This example projects an envelope represented in one image coordinate system (full ics json) to another image coordinate system (icsid). The projected envelope can be used to overlay with the image.

1
https://gisserver:6080/arcgis/rest/services/MyImageService/ImageServer/project?outSR=0:25&inSR={"ics":{"name":"64","alias":"","abbreviation":"","remarks":"","geodataXform":{"xf_0":{"polynomialOrder":1,"spatialReference":{"wkid":null},"coeffX":[0,1,0],"coeffY":[0,0,1],"inverseCoeffX":[7360.006517203576,-0.9999999999964793,-2.6535897933527304E-6],"inverseCoeffY":[4911.990234780913,2.6535897933527304E-6,-0.9999999999964793],"name":"","type":"PolynomialXform"},"xf_1":{"polynomialOrder":1,"spatialReference":{"wkid":null},"coeffX":[0,1,0],"coeffY":[0,0,1],"inverseCoeffX":[7360.006517203576,-0.9999999999964793,-2.6535897933527304E-6],"inverseCoeffY":[4911.990234780913,2.6535897933527304E-6,-0.9999999999964793],"name":"","type":"PolynomialXform"},"xf_2":{"polynomialOrder":1,"spatialReference":{"wkid":null},"coeffX":[0,1,0],"coeffY":[0,0,1],"inverseCoeffX":[7360.006517203576,-0.9999999999964793,-2.6535897933527304E-6],"inverseCoeffY":[4911.990234780913,2.6535897933527304E-6,-0.9999999999964793],"name":"","type":"PolynomialXform"},"xf_3":{"polynomialOrder":1,"spatialReference":{"wkid":null},"coeffX":[0,1,0],"coeffY":[0,0,1],"inverseCoeffX":[7360.006517203576,-0.9999999999964793,-2.6535897933527304E-6],"inverseCoeffY":[4911.990234780913,2.6535897933527304E-6,-0.9999999999964793],"name":"","type":"PolynomialXform"},"xf_4":{"polynomialOrder":1,"spatialReference":{"wkid":null},"coeffX":[0,1,0],"coeffY":[0,0,1],"inverseCoeffX":[7360.006517203576,-0.9999999999964793,-2.6535897933527304E-6],"inverseCoeffY":[4911.990234780913,2.6535897933527304E-6,-0.9999999999964793],"name":"","type":"PolynomialXform"},"xf_5":{"polynomialOrder":1,"spatialReference":{"wkid":null},"coeffX":[0,1,0],"coeffY":[0,0,1],"inverseCoeffX":[7360.006517203576,-0.9999999999964793,-2.6535897933527304E-6],"inverseCoeffY":[4911.990234780913,2.6535897933527304E-6,-0.9999999999964793],"name":"","type":"PolynomialXform"},"xf_6":{"polynomialOrder":1,"spatialReference":{"wkid":null},"coeffX":[0,1,0],"coeffY":[0,0,1],"inverseCoeffX":[7360.006517203576,-0.9999999999964793,-2.6535897933527304E-6],"inverseCoeffY":[4911.990234780913,2.6535897933527304E-6,-0.9999999999964793],"name":"","type":"PolynomialXform"},"xf_7":{"polynomialOrder":1,"spatialReference":{"wkid":null},"coeffX":[0,1,0],"coeffY":[0,0,1],"inverseCoeffX":[7360.006517203576,-0.9999999999964793,-2.6535897933527304E-6],"inverseCoeffY":[4911.990234780913,2.6535897933527304E-6,-0.9999999999964793],"name":"","type":"PolynomialXform"},"xf_8":{"polynomialOrder":1,"spatialReference":{"wkid":null},"coeffX":[0,1,0],"coeffY":[0,0,1],"inverseCoeffX":[7360.006517203576,-0.9999999999964793,-2.6535897933527304E-6],"inverseCoeffY":[4911.990234780913,2.6535897933527304E-6,-0.9999999999964793],"name":"","type":"PolynomialXform"},"xf_9":{"polynomialOrder":1,"spatialReference":{"wkid":null},"coeffX":[0,1,0],"coeffY":[0,0,1],"inverseCoeffX":[7360.006517203576,-0.9999999999964793,-2.6535897933527304E-6],"inverseCoeffY":[4911.990234780913,2.6535897933527304E-6,-0.9999999999964793],"name":"","type":"PolynomialXform"},"xf_10":{"polynomialOrder":1,"spatialReference":{"wkid":null},"coeffX":[0,1,0],"coeffY":[0,0,1],"inverseCoeffX":[7360.006517203576,-0.9999999999964793,-2.6535897933527304E-6],"inverseCoeffY":[4911.990234780913,2.6535897933527304E-6,-0.9999999999964793],"name":"","type":"PolynomialXform"},"xf_11":{"polynomialOrder":1,"spatialReference":{"wkid":null},"coeffX":[0,1,0],"coeffY":[0,0,1],"inverseCoeffX":[7360.006517203576,-0.9999999999964793,-2.6535897933527304E-6],"inverseCoeffY":[4911.990234780913,2.6535897933527304E-6,-0.9999999999964793],"name":"","type":"PolynomialXform"},"xf_12":{"spatialReference":{"wkid":null},"coefficients":[1,0,-0.5,0,1,-4911.5],"cellsizeRatio":0,"type":"GeometricXform"},"xf_13":{"spatialReference":{"wkid":32611,"latestWkid":32611},"constantZ":0,"ZFactor":1,"ZOffset":0,"correctGeoid":false,"requireDEM":false,"interiorOrientation":{"polynomialOrder":1,"spatialReference":{"wkid":null},"coeffX":[-17955.96006895089,4.8800000187392,-1.0835776761950911E-15],"coeffY":[11982.840046014107,0,4.8800000187392],"inverseCoeffX":[3679.5,0.204918032,0],"inverseCoeffY":[-2455.5,0,0.204918032],"name":"","type":"PolynomialXform"},"konrady":true,"konradyParameters":[0,0,0,0,0],"konradyType":"esriRasterKonradyESRI","curvatureAndRefraction":true,"earthRadius":6370000,"averageZ":90,"principalPoint":{"x":-182.1847804,"y":88.01772991},"focalLength":84919.48966,"polarity":-1,"sensorPosition":{"x":377211.6395,"y":3774819.265,"z":891.827254},"exteriorOrientation":[0.9995544956154584,-0.029224409890167363,0.006061696255846665,0.02458829068481682,0.6911741282950284,-0.7222698528505856,0.016918222605392323,0.7220971252139001,0.6915847854758629],"clockwise":true,"type":"FrameXform"},"requireDEM":false,"type":"CompositeXform"},"extent":{"xmin":376899.62711532967,"ymin":3773691.3005017433,"xmax":377475.15287916746,"ymax":3774194.0492160516},"nativeExtent":{"xmin":0,"ymin":0,"xmax":7360,"ymax":4912},"dx":1,"dy":1,"type":"ImageCoordinateSystem"}}&geometries={"geometries":[{"xmin":3251.277750324316,"ymin":3900.6344562452155,"xmax":4105.275357155627,"ymax":4945.234427499745}],"geometryType":"esriGeometryEnvelope"}&f=pjson

JSON Response syntax

1
2
3
{
  "geometries" : [ <geometry1>, <geometry1>, ..., <geometryN> ]
}

JSON Response example

1
2
3
4
5
6
7
8
9
10
{
  "geometries": [
    {
      "xmin": 5536.8295812712295,
      "ymin": 717.24323632829237,
      "xmax": 6816.8256927037392,
      "ymax": 1247.0510883794909
    }
  ]
}

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.

You can no longer sign into this site. Go to your ArcGIS portal or the ArcGIS Location Platform dashboard to perform management tasks.

Your ArcGIS portal

Create, manage, and access API keys and OAuth 2.0 developer credentials, hosted layers, and data services.

Your ArcGIS Location Platform dashboard

Manage billing, monitor service usage, and access additional resources.

Learn more about these changes in the What's new in Esri Developers June 2024 blog post.

Close