[API](/solutions/geotoolkit/geotoolkit_js/apis/readme) / [geotoolkit](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit) / [contour](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.contour) / [projections](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.contour#projections) / [AbstractProjection](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.contour#abstractprojection) / AbstractProjection

# Class: AbstractProjection

[projections](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.contour#projections).[AbstractProjection](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.contour#abstractprojection).AbstractProjection

Abstract class for Projections (eg. LatLongProjection)

## Hierarchy

- **`AbstractProjection`**
↳ [`MercatorProjection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.contour.projections.mercatorprojection.mercatorprojection)
↳ [`InverseMercatorProjection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.contour.projections.mercatorprojection.inversemercatorprojection)


## Table of contents

Constructors
- [new AbstractProjection()](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.contour.projections.abstractprojection.abstractprojection.md#new abstractprojection())


Methods
| [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.contour.projections.abstractprojection.abstractprojection#getclassname) | [getId](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.contour.projections.abstractprojection.abstractprojection#getid) | [getProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.contour.projections.abstractprojection.abstractprojection#getproperties) |
|  --- | --- | --- |
| [getReverse](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.contour.projections.abstractprojection.abstractprojection#getreverse) | [projectPath](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.contour.projections.abstractprojection.abstractprojection#projectpath) | [projectPoint](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.contour.projections.abstractprojection.abstractprojection#projectpoint) |
| [projectPoints](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.contour.projections.abstractprojection.abstractprojection#projectpoints) | [setProperties](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.contour.projections.abstractprojection.abstractprojection#setproperties) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.contour.projections.abstractprojection.abstractprojection#getclassname-1) |


## Contents

Constructors
#### new AbstractProjection()

• **new AbstractProjection**()

Methods
#### getClassName

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

#### Returns

`string`

#### getId

▸ `Abstract` **getId**(): `string`

Gets the string identifier for this projection

#### Returns

`string`

id String identifier for this projection.

#### getProperties

▸ **getProperties**(): [`AnyRecord`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.base#anyrecord)

Gets the projection properties

#### Returns

[`AnyRecord`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.base#anyrecord)

properties Scale properties

#### getReverse

▸ `Abstract` **getReverse**(): [`AbstractProjection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.contour.projections.abstractprojection.abstractprojection)

Gets the inverse projection for this projection.

#### Returns

[`AbstractProjection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.contour.projections.abstractprojection.abstractprojection)

projection Projection representing the inverse of this projection.

#### projectPath

▸ `Abstract` **projectPath**(`x`, `y`, `number`): `Float64Array`[]

Projects a set of points in 3D space. This method allocates and returns the
2d array with projected data. The first index corresponds to x ordinate.
The second index corresponds to the index of the point.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `x` | `Float64Array` | The array of x-coordinates |
| `y` | `Float64Array` | The array of y-coordinates |
| `number` | `number` | The number of coordinates in the x and y arrays. |


#### Returns

`Float64Array`[]

projectedPath 2d array with the projected path.

#### projectPoint

▸ `Abstract` **projectPoint**(`x`, `y`): `Float64Array`

Projects a single 3D point. This method allocates and
returns the array of projected coordinates in x, y order.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `x` | `number` | The x-coordinate |
| `y` | `number` | The y-coordinate |


#### Returns

`Float64Array`

array The array with the x as the first element and y as the second element.

#### projectPoints

▸ `Abstract` **projectPoints**(`x`, `y`, `number`): `void`

Projects a set of points in 3D space. This method replaces
the data in the source arrays with projected data and doesn't
allocate any memory.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `x` | `number`[] | `Float64Array` | The array of x-coordinates |
| `y` | `number`[] | `Float64Array` | The array of y-coordinates |
| `number` | `number` | The number of coordinates in the x and y arrays. |


#### Returns

`void`

#### setProperties

▸ **setProperties**(`properties`): [`AbstractProjection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.contour.projections.abstractprojection.abstractprojection)

Sets the projection properties

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `properties` | [`AnyRecord`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.base#anyrecord) | projection properties |


#### Returns

[`AbstractProjection`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.contour.projections.abstractprojection.abstractprojection)

this

#### getClassName

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

#### Returns

`string`