Class: Projection

ol.proj.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.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, http://www.opengis.net/gml/srs/epsg.xml#4326, urn:x-ogc:def:crs:EPSG:4326
  • EPSG:3857: EPSG:102100, EPSG:102113, EPSG:900913, urn:ogc:def:crs:EPSG:6.18:3:3857, http://www.opengis.net/gml/srs/epsg.xml#3857

If you use proj4js, aliases can be added using proj4.defs(); see documentation. To set an alternative namespace for proj4, use ol.proj.setProj4.

new ol.proj.Projection(options)

src/ol/proj/index.js, line 71
Name Type Description
options

Projection options.

Name Type Description
code string

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

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.

metersPerUnit number | undefined experimental

The meters per unit for the SRS. If not provided, the units are used to get the meters per unit from the ol.proj.METERS_PER_UNIT lookup table.

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.

Methods

getCode(){string}

src/ol/proj/index.js, line 189

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

Returns:
Code.

getExtent(){ol.Extent}

src/ol/proj/index.js, line 199

Get the validity extent for this projection.

Returns:
Extent.

getMetersPerUnit(){number|undefined}

src/ol/proj/index.js, line 221

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

Returns:
Meters.

getPointResolution(resolution, point){number} experimental

src/ol/proj/index.js, line 379

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.

Returns:
Point resolution in projection units.

getUnits(){ol.proj.Units}

src/ol/proj/index.js, line 209

Get the units of this projection.

Returns:
Units.

getWorldExtent(){ol.Extent} experimental

src/ol/proj/index.js, line 231

Get the world extent for this projection.

Returns:
Extent.

isGlobal(){boolean}

src/ol/proj/index.js, line 256

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

Returns:
Whether the projection is global.

setExtent(extent)

src/ol/proj/index.js, line 293

Set the validity extent for this projection.

Name Type Description
extent ol.Extent

Extent.

setGetPointResolution(func) experimental

src/ol/proj/index.js, line 315

Set the getPointResolution function for this projection.

Name Type Description
func function

Function

setGlobal(global)

src/ol/proj/index.js, line 266

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/index.js, line 305

Set the world extent for this projection.

Name Type Description
worldExtent ol.Extent

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