a list of ol.proj.Projection
objects, one for each projection supported by the application
a list of transform functions needed to convert coordinates in one projection
into another.
The static functions are the methods used to maintain these.
Each transform function can handle not only simple coordinate pairs, but also
large arrays of coordinates such as vector geometries.
When loaded, the library adds projection objects for EPSG:4326 (WGS84
geographic coordinates) and EPSG:3857 (Web or Spherical Mercator, as used
for example by Bing Maps or OpenStreetMap), together with the relevant
transform functions.
Additional transforms may be added by using the http://proj4js.org/
library (version 2.2 or later). You can use the full build supplied by
Proj4js, or create a custom build to support those projections you need; see
the Proj4js website for how to do this. You also need the Proj4js definitions
for the required projections. These definitions can be obtained from
http://epsg.io/, and are a JS function, so can be loaded in a script
tag (as in the examples) or pasted into your application.
The first time there is a request for a projection, either with a
ol.proj.projectionLike or directly with ol.proj.get, the
code will check if the Proj4js library and the necessary definition are
loaded; if so, it will register the appropriate ol.proj.Projection
object and add transform functions between the new projection and all the
existing ones. See examples/wms-image-custom-proj for an example of this.
Because the check for presence of the Proj4js library and the definition only
takes place on the first request for them, this means they can be loaded
dynamically as needed; for example, with user-supplied data where you don't
know in advance what projections are needed, you can initially load minimal
support and then load whichever are requested.
Note that Proj4js does not support projection extents. If you want to add
one for creating default tile grids, you can add it after the Projection
object has been created with setExtent, for example,
ol.proj.get('EPSG:1234').setExtent(extent).
Note that if no transforms are needed and you only need to define the
projection, just add a ol.proj.Projection with
ol.proj.addProjection. See examples/wms-no-proj for an example of
this.
The ol.proj namespace stores:
The static functions are the methods used to maintain these. Each transform function can handle not only simple coordinate pairs, but also large arrays of coordinates such as vector geometries.
When loaded, the library adds projection objects for EPSG:4326 (WGS84 geographic coordinates) and EPSG:3857 (Web or Spherical Mercator, as used for example by Bing Maps or OpenStreetMap), together with the relevant transform functions.
Additional transforms may be added by using the http://proj4js.org/ library (version 2.2 or later). You can use the full build supplied by Proj4js, or create a custom build to support those projections you need; see the Proj4js website for how to do this. You also need the Proj4js definitions for the required projections. These definitions can be obtained from http://epsg.io/, and are a JS function, so can be loaded in a script tag (as in the examples) or pasted into your application. The first time there is a request for a projection, either with a ol.proj.projectionLike or directly with ol.proj.get, the code will check if the Proj4js library and the necessary definition are loaded; if so, it will register the appropriate ol.proj.Projection object and add transform functions between the new projection and all the existing ones. See examples/wms-image-custom-proj for an example of this. Because the check for presence of the Proj4js library and the definition only takes place on the first request for them, this means they can be loaded dynamically as needed; for example, with user-supplied data where you don't know in advance what projections are needed, you can initially load minimal support and then load whichever are requested.
Note that Proj4js does not support projection extents. If you want to add one for creating default tile grids, you can add it after the Projection object has been created with
setExtent
, for example,ol.proj.get('EPSG:1234').setExtent(extent)
.In addition to Proj4js support, any transform functions can be added with ol.proj.addCoordinateTransforms. To use this, you must first create a ol.proj.Projection object for the new projection and add it with ol.proj.addProjection. You can then add the forward and inverse functions with ol.proj.addCoordinateTransforms. See examples/wms-custom-proj for an example of this.
Note that if no transforms are needed and you only need to define the projection, just add a ol.proj.Projection with ol.proj.addProjection. See examples/wms-no-proj for an example of this.
ol.proj