[API](/solutions/geotoolkit/geotoolkit_js/apis/readme) / [geotoolkit](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit) / [deviation](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.deviation) / [DeviatedTransformation](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.deviation#deviatedtransformation) / DeviatedTransformation

# Class: DeviatedTransformation

[deviation](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.deviation).[DeviatedTransformation](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.deviation#deviatedtransformation).DeviatedTransformation

Abstract class to represent nonaffine transformation from a linear 2D-space to a deviated space.

## Table of contents

Constructors
- [new DeviatedTransformation()](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation.md#new deviatedtransformation())


Methods
| [contains](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#contains) | [digitize](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#digitize) | [findBounds](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#findbounds) |
|  --- | --- | --- |
| [getAffineTransformation](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#getaffinetransformation) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#getclassname) | [getLowerIndex](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#getlowerindex) |
| [getScalesInfo](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#getscalesinfo) | [getStationsBounds](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#getstationsbounds) | [inverseTransform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#inversetransform) |
| [maxScaleX](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#maxscalex) | [maxScaleY](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#maxscaley) | [minScaleX](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#minscalex) |
| [minScaleY](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#minscaley) | [scaleXAt](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#scalexat) | [scaleYAt](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#scaleyat) |
| [transform](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#transform) | [transformLine](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#transformline) | [transformLines](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#transformlines) |
| [update](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#update) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.deviatedtransformation.deviatedtransformation#getclassname-1) |


## Contents

Constructors
#### new DeviatedTransformation()

• **new DeviatedTransformation**()

Methods
#### contains

▸ `Abstract` **contains**(`point`): `boolean`

Checks if a canvas point is contained in the deviated area

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `point` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point) | point in canvas |


#### Returns

`boolean`

#### digitize

▸ `Abstract` **digitize**(`point`, `yscale?`): [`MappedPixel`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.mappedpixel.mappedpixel)

Gets the list of 1x1 size rectangles in model space, covered by the
1x1 rectangle in device space with specified anchor, along with the relative
weights of model space rectangle areas within the device space rectangle area

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `point` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point) | - 
 |
| `Optional` `yscale` | `number` | yscale |


#### Returns

[`MappedPixel`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.deviation.mappedpixel.mappedpixel)

#### findBounds

▸ `Abstract` **findBounds**(`rect`): [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

Gets bounds in linear space corresponding to deviated rect

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `rect` | [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect) | rectangular area in deviated space |


#### Returns

[`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

bounds in linear space (if found); empty rectangle otherwise

#### getAffineTransformation

▸ `Abstract` **getAffineTransformation**(): [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation)

Returns affine transformation

#### Returns

[`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation)

#### getClassName

▸ **getClassName**(): `string`

#### Returns

`string`

#### getLowerIndex

▸ `Protected` `Abstract` **getLowerIndex**(`value`): `number`

Gets index of segment of deviation for the depth value
It is the position of the first occurrence of value.
If no such item is found, returns the position to insert at.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `value` | `number` | depth value |


#### Returns

`number`

index

#### getScalesInfo

▸ **getScalesInfo**(): [`ScaleStatistics`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.deviation#deviatedtransformation#scalestatistics)

Gets scale statistics

#### Returns

[`ScaleStatistics`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.deviation#deviatedtransformation#scalestatistics)

#### getStationsBounds

▸ `Abstract` **getStationsBounds**(): [`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

Returns union of all station's bounds

#### Returns

[`Rect`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.rect.rect)

#### inverseTransform

▸ `Abstract` **inverseTransform**(`point`): [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

Transforms point from deviated to linear space

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `point` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point) | point to transform |


#### Returns

[`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

transformed point

#### maxScaleX

▸ `Protected` `Abstract` **maxScaleX**(): `number`

Gets max x-scale

#### Returns

`number`

#### maxScaleY

▸ `Protected` `Abstract` **maxScaleY**(): `number`

Gets max y-scale

#### Returns

`number`

#### minScaleX

▸ `Protected` `Abstract` **minScaleX**(): `number`

Gets min x-scale

#### Returns

`number`

#### minScaleY

▸ `Protected` `Abstract` **minScaleY**(): `number`

Gets min y-scale

#### Returns

`number`

#### scaleXAt

▸ `Abstract` **scaleXAt**(`point`): `number`

Gets x-scale at the point

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `point` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point) | point to transform |


#### Returns

`number`

#### scaleYAt

▸ `Abstract` **scaleYAt**(`point`): `number`

Gets y-scale at the point

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `point` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point) | point to transform |


#### Returns

`number`

#### transform

▸ `Abstract` **transform**(`point`, `transformation?`): [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

Transforms point from linear to deviated space

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `point` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point) | point to transform |
| `Optional` `transformation` | [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation) | affine transformation |


#### Returns

[`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)

transformed point

#### transformLine

▸ `Abstract` **transformLine**(`start`, `end`, `destination`, `transformation?`): `void`

Transforms line from linear to deviated space

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `start` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point) | start point |
| `end` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point) | end point |
| `destination` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)[] | destination polyline's array |
| `Optional` `transformation` | [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation) | affine transformation |


#### Returns

`void`

#### transformLines

▸ `Abstract` **transformLines**(`points`, `destination`, `transformation`, `isClosed?`): `void`

Transforms polyline (or polygon) from linear to deviated space

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `points` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)[] | source polyline's (or polygon's) points |
| `destination` | [`Point`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.point.point)[] | destination polyline's (or polygon's) array |
| `transformation` | [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation) | affine transformation |
| `Optional` `isClosed` | `boolean` | isclosed flag |


#### Returns

`void`

#### update

▸ `Abstract` **update**(`transformation`): `boolean`

Updates itself

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `transformation` | [`Transformation`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.transformation.transformation) | context transformation |


#### Returns

`boolean`

#### getClassName

▸ `Static` **getClassName**(): `string`

#### Returns

`string`