Class: Projection

ol/proj/Projection~Projection


import Projection from 'ol/proj/Projection.js';

在大多数情况下,您不需要创建此类的实例。相反,在需要投影信息的地方,可以使用字符串投影代码或标识符(如 EPSG:4326)代替投影实例。

库包含对以下投影之间坐标变换的支持:

WGS 84 / 地理坐标系 - 使用代码 EPSG:4326CRS:84urn:ogc:def:crs:EPSG:6.6:4326urn:ogc:def:crs:OGC:1.3:CRS84urn:ogc:def:crs:OGC:2:84http://www.opengis.net/gml/srs/epsg.xml#4326urn:x-ogc:def:crs:EPSG:4326 WGS 84 / 球面墨卡托 - 使用代码 EPSG:3857EPSG:102100EPSG:102113EPSG:900913urn:ogc:def:crs:EPSG:6.18:3:3857http://www.opengis.net/gml/srs/epsg.xml#3857 WGS 84 / UTM 分区 - 北半球使用代码 EPSG:32601EPSG:32660, 南半球使用 EPSG:32701EPSG:32760。请注意,内置的 UTM 变换精度较低(误差约为 0.1 米),不如 proj4js 等库提供的变换精度高。

对于额外的投影支持,或使用比内置变换更高精度的变换,可以使用 proj4js 库。使用 proj4js 时,添加任何新投影定义后,请调用 register 函数。

您可以使用 get 函数检索已注册投影之一的投影实例。

new Projection(options)

Name Type Description
code string

SRS 标识符代码,如 EPSG:4326

units Units | undefined

单位。除非为 code 定义了 proj4 投影,否则为必需。

extent Extent | undefined

SRS 的有效范围。

axisOrientation string (defaults to 'enu')

Proj4 中指定的轴方向。

global boolean (defaults to false)

投影是否对整个地球有效。

metersPerUnit number | undefined

SRS 的每单位米数。如果未提供,则使用 unitsMETERS_PER_UNIT 查找表获取每单位米数。

worldExtent Extent | undefined

SRS 的世界范围。

getPointResolution GetPointResolution | undefined

确定某点分辨率的函数。该函数以 number 视图分辨率和 Coordinate 作为参数调用,返回传入坐标处以投影单位表示的 number 分辨率。如果此值为 undefined,将使用默认的 getPointResolution 函数。

Methods

getAxisOrientation(){string}

获取此投影的轴方向。示例值:enu - 默认的东向、北向、高程。neu - 北向、东向、上 - 适用于"经纬度"地理坐标或南向横轴墨卡托投影。wnu - 西向、北向、上 - 某些行星坐标系统具有"西为正"的坐标系统

返回值:
Axis orientation.

getCode(){string}

获取code for this projection, e.g. 'EPSG:4326'.

返回值:
Code.

获取validity extent for this projection.

返回值:
范围。

get米PerUnit(){number | undefined}

获取此投影每单位的米数。如果投影未配置 metersPerUnit 或 units 标识符,则返回 undefined。

返回值:
米.

获取units of this projection.

返回值:
Units.

getWorldExtent(){Extent}

获取world extent for this projection.

返回值:
范围。

isGlobal(){boolean}

此投影是否为跨越整个世界的全局投影?

返回值:
是否projection is global.

setExtent(extent)

设置validity extent for this projection.

Name Type Description
extent Extent

范围。

setGetPointResolution(func)

设置getPointResolution function (see getPointResolution for this projection.

Name Type Description
func function

函数

setGlobal(global)

设置此投影是否为跨越整个世界的全局投影

Name Type Description
global boolean

是否projection is global.

setWorldExtent(worldExtent)

设置world extent for this projection.

Name Type Description
worldExtent Extent

世界范围 [minlon, minlat, maxlon, maxlat]。