# MapProjection

#### abstract new Cesium.MapProjection()
engine/Source/Core/MapProjection.js 14

Defines how geodetic ellipsoid coordinates (`Cartographic`) project to a flat map like Cesium's 2D and Columbus View modes.

##### See:

- GeographicProjection
- WebMercatorProjection

### Members

#### readonly ellipsoid : Ellipsoid
engine/Source/Core/MapProjection.js 27

Gets the `Ellipsoid`.

### Methods

#### project(cartographic, result) → Cartesian3
engine/Source/Core/MapProjection.js 45

Projects `Cartographic` coordinates, in radians, to projection-specific map coordinates, in meters.

Name | Type | Description
--- | --- | ---
`cartographic` | Cartographic | The coordinates to project.
`result` | Cartesian3 | optional An instance into which to copy the result. If this parameter is undefined, a new instance is created and returned.

##### Returns:

The projected coordinates. If the result parameter is not undefined, the coordinates are copied there and that instance is returned. Otherwise, a new instance is created and returned.

#### unproject(cartesian, result) → Cartographic
engine/Source/Core/MapProjection.js 61

Unprojects projection-specific map `Cartesian3` coordinates, in meters, to `Cartographic` coordinates, in radians.

Name | Type | Description
--- | --- | ---
`cartesian` | Cartesian3 | The Cartesian position to unproject with height (z) in meters.
`result` | Cartographic | optional An instance into which to copy the result. If this parameter is undefined, a new instance is created and returned.

##### Returns:

The unprojected coordinates. If the result parameter is not undefined, the coordinates are copied there and that instance is returned. Otherwise, a new instance is created and returned.

Need help? The fastest way to get answers is from the community and team on the Cesium Forum.