Class: Projection


Projection definition class. One of these is created for each projection supported in the application and stored in the ol.proj namespace. You can use these in applications, but this is not required, as API params and options use ol.proj.ProjectionLike which means the simple string code will suffice.

You can use ol.proj.get to retrieve the object for a particular projection.

The library includes definitions for EPSG:4326 and EPSG:3857, together with the following aliases:

  • EPSG:4326: CRS:84, urn:ogc:def:crs:EPSG:6.6:4326, urn:ogc:def:crs:OGC:1.3:CRS84, urn:ogc:def:crs:OGC:2:84,, urn:x-ogc:def:crs:EPSG:4326
  • EPSG:3857: EPSG:102100, EPSG:102113, EPSG:900913, urn:ogc:def:crs:EPSG:6.18:3:3857,

If you use proj4js, aliases can be added using proj4.defs(); see documentation.

new ol.proj.Projection(options)

src/ol/proj/proj.js, line 84
Name Type Description

Projection options.

Name Type Description
code string

The SRS identifier code, e.g. EPSG:4326.

units ol.proj.Units | string | undefined

Units. Required unless a proj4 projection is defined for code.

extent ol.Extent | undefined

The validity extent for the SRS.

axisOrientation string | undefined

The axis orientation as specified in Proj4. The default is enu.

global boolean | undefined

Whether the projection is valid for the whole globe. Default is false.

worldExtent ol.Extent | undefined experimental

The world extent for the SRS.

getPointResolution function | undefined experimental

Function to determine resolution at a point. The function is called with a {number} view resolution and an {ol.Coordinate} as arguments, and returns the {number} resolution at the passed coordinate.



src/ol/proj/proj.js, line 195

Get the code for this projection, e.g. 'EPSG:4326'.



src/ol/proj/proj.js, line 205

Get the validity extent for this projection.



src/ol/proj/proj.js, line 226

Get the amount of meters per unit of this projection. If the projection is not configured with a units identifier, the return is undefined.


getPointResolution(resolution, point){number} experimental

src/ol/proj/proj.js, line 384

Get the resolution of the point in degrees or distance units. For projections with degrees as the unit this will simply return the provided resolution. The default for other projections is to estimate the point resolution by transforming the 'point' pixel to EPSG:4326, measuring its width and height on the normal sphere, and taking the average of the width and height. An alternative implementation may be given when constructing a projection. For many local projections, such a custom function will return the resolution unchanged.

Name Type Description
resolution number

Resolution in projection units.

point ol.Coordinate


Point resolution in projection units.


src/ol/proj/proj.js, line 215

Get the units of this projection.


getWorldExtent(){ol.Extent} experimental

src/ol/proj/proj.js, line 236

Get the world extent for this projection.



src/ol/proj/proj.js, line 261

Is this projection a global projection which spans the whole world?

Whether the projection is global.


src/ol/proj/proj.js, line 298

Set the validity extent for this projection.

Name Type Description
extent ol.Extent


setGetPointResolution(func) experimental

src/ol/proj/proj.js, line 320

Set the getPointResolution function for this projection.

Name Type Description
func function



src/ol/proj/proj.js, line 271

Set if the projection is a global projection which spans the whole world

Name Type Description
global boolean

Whether the projection is global.

setWorldExtent(worldExtent) experimental

src/ol/proj/proj.js, line 310

Set the world extent for this projection.

Name Type Description
worldExtent ol.Extent

World extent [minlon, minlat, maxlon, maxlat].