Geodata transformation object

Overview

This topic discusses the JSON representation of geodata transformation objects. The image service's Add and Update operations support a geodataTransforms parameter. This parameter is an array of geodataTransform objects.

A geodataTransform object has the following JSON syntax:

Syntax
Use dark colors for code blocksCopy
1
2
3
4
{
  "geodataTransform": "<geodataTransformName>",
  "geodataTransformArguments": {<geodataTransformArguments>}
}

The structure of the geodataTransformArguments object varies based on the geodataTransform type. There are three types of geodataTransform objects, which are listed below:

  • Polynomial transformation
  • Projective transformation
  • Identity transformation

Polynomial transformation

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
11
12
13
{
  "geodataTransform": "Polynomial",
  "geodataTransformArguments": {
    "sourcePoints": [<sourcePoint1>, <sourcePoint2>, <sourcePoint3> ...], //array of points
    "targetPoints": [<targetPoint1>, <targetPoint2>, <targetPoint3> ...], //array of points
    "coeffx": [<coeffx11>, <coeffx12>], //array of doubles
    "coeffy": [<coeffy11>, <coeffy12>], //array of doubles
    "inverseCoeffx": [<inverseCoeffx11>, <inverseCoeffx12>], //array of doubles
    "inverseCoeffy": [<inverseCoeffy11>, <inverseCoeffy12>], //array of doubles
    "spatialReference": {<spatialReference1>},
    "polynomialOrder": <polynomialOrder1> //integer: 1, 2, or 3. First order requires at least 3 pairs of control points; second order requires at least 6 pairs of control points; third order requires at least 10 pairs of control points; use more control points to get better fit (smaller RMS)
  }
}

Projective transformation

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
11
12
{
  "geodataTransform": "Projective",
  "geodataTransformArguments": {
    "sourcePoints": [<sourcePoint1>, <sourcePoint2>, <sourcePoint3> ...], //array of points
    "targetPoints": [<targetPoint1>, <targetPoint2>, <targetPoint3> ...], //array of points
    "coeffx": [<coeffx11>, <coeffx12>...], //array of doubles
    "coeffy": [<coeffy11>, <coeffy12>...], //array of doubles
    "inverseCoeffx": [<inverseCoeffx11>, <inverseCoeffx12>], //array of doubles
    "inverseCoeffy": [<inverseCoeffy11>, <inverseCoeffy12>], //array of doubles
    "spatialReference": {<spatialReference1>}
  }
}

Identity transformation

Use dark colors for code blocksCopy
1
2
3
4
5
6
{
  "geodataTransform": "Identity",
  "geodataTransformArguments": {
    "spatialReference": {<spatialReference1>}
  }
}

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