Methods for coordinate transforms between coordinate systems. By default, OpenLayers ships with the ability to transform coordinates between geographic (EPSG:4326) and web or spherical mercator (EPSG:900913 et al.) coordinate reference systems. See the transform method for details on usage.
Additional transforms may be added by using the proj4js library. If the proj4js library is included, the transform method will work between any two coordinate reference systems with proj4js definitions.
If the proj4js library is not included, or if you wish to allow transforms between arbitrary coordinate reference systems, use the addTransform method to register a custom transform method.
ALKMaps. | Methods for coordinate transforms between coordinate systems. |
Properties | |
proj | {Object} Proj4js.Proj instance. |
projCode | {String} |
titleRegEx | {RegExp} regular expression to strip the title from a proj4js definition |
Constructor | |
ALKMaps. | This class offers several methods for interacting with a wrapped pro4js projection object. |
Functions and Properties | |
getCode | Get the string SRS code. |
getUnits | Get the units string for the projection -- returns null if proj4js is not available. |
toString | Convert projection to string (getCode wrapper). |
equals | Test equality of two projection instances. |
destroy | Destroy projection object. |
transforms | {Object} Transforms is an object, with from properties, each of which may have a to property. |
defaults | {Object} Defaults for the SRS codes known to ALKMaps (currently EPSG:4326, CRS:84, urn:ogc:def:crs:EPSG:6.6:4326, EPSG:900913, EPSG:3857, EPSG:102113 and EPSG:102100). |
addTransform | Set a custom transform method between two projections. |
transform | Transform a point coordinate from one projection to another. |
nullTransform |
This class offers several methods for interacting with a wrapped pro4js projection object.
projCode | {String} A string identifying the Well Known Identifier for the projection. |
options | {Object} An optional object to set additional properties on the projection. |
{ALKMaps.Projection} A projection object.
{Object} Transforms is an object, with from properties, each of which may have a to property. This allows you to define projections without requiring support for proj4js to be included.
This object has keys which correspond to a ‘source’ projection object. The keys should be strings, corresponding to the projection.getCode() value. Each source projection object should have a set of destination projection keys included in the object.
Each value in the destination object should be a transformation function, where the function is expected to be passed an object with a .x and a .y property. The function should return the object, with the .x and .y transformed according to the transformation function.
Note | Properties on this object should not be set directly. To add a transform method to this object, use the addTransform method. For an example of usage, see the ALKMaps.Layer.SphericalMercator file. |
{Object} Defaults for the SRS codes known to ALKMaps (currently EPSG:4326, CRS:84, urn:ogc:def:crs:EPSG:6.6:4326, EPSG:900913, EPSG:3857, EPSG:102113 and EPSG:102100). Keys are the SRS code, values are units, maxExtent (the validity extent for the SRS) and yx (true if this SRS is known to have a reverse axis order).
ALKMaps.Projection.addTransform = function( from, to, method )
Set a custom transform method between two projections. Use this method in cases where the proj4js lib is not available or where custom projections need to be handled.
from | {String} The code for the source projection |
to | {String} the code for the destination projection |
method | {Function} A function that takes a point as an argument and transforms that point from the source to the destination projection in place. The original point should be modified. |
ALKMaps.Projection.transform = function( point, source, dest )
Transform a point coordinate from one projection to another. Note that the input point is transformed in place.
point | {ALKMaps.Geometry.Point | Object} An object with x and y properties representing coordinates in those dimensions. |
source | {ALKMaps.Projection} Source map coordinate system |
dest | {ALKMaps.Projection} Destination map coordinate system |
point | {object} A transformed coordinate. The original point is modified. |
ALKMaps.Projection.nullTransform = function( point )
A null transformation | useful for defining projection aliases when proj4js is not available: |
ALKMaps.Projection.addTransform("EPSG:3857", "EPSG:900913", ALKMaps.Projection.nullTransform); ALKMaps.Projection.addTransform("EPSG:900913", "EPSG:3857", ALKMaps.Projection.nullTransform);
Get the string SRS code.
getCode: function()
Get the units string for the projection -- returns null if proj4js is not available.
getUnits: function()
Convert projection to string (getCode wrapper).
toString: function()
Test equality of two projection instances.
equals: function( projection )
Destroy projection object.
destroy: function()
Set a custom transform method between two projections.
ALKMaps.Projection.addTransform = function( from, to, method )
Transform a point coordinate from one projection to another.
ALKMaps.Projection.transform = function( point, source, dest )
ALKMaps.Projection.nullTransform = function( point )