类名 Extent

# new Extent(options)

几何范围对象,即左下角和右上角组成的矩形范围几何对象,参考示例:[几何范围对象]

[ES5引入方式]:
Zondy.Geometry.Extent()
[ES6引入方式]:
import { Extent } from "@mapgis/webclient-common"

参数

名称 类型 默认值 描述
options Object

构造参数

xmin Number 0

x轴最小坐标

ymin Number 0

y轴最小坐标

xmax Number 0

x轴最大坐标

ymax Number 0

y轴最大坐标

zmin0 Number

Z轴最小坐标

zmax0 Number

Z轴最大坐标

spatialReference SpatialReference new Zondy.SpatialReference('EPSG:4326')

几何点的空间参考系,默认4326,当不是4326时请指定坐标系,方便进行投影转换,参考示例:[指定坐标系]

支持如下方法:
[1、根据中心点生成新的范围]
[2、输入的几何是否包含在范围内]
[3、将原始范围与输入范围求交]
[4、输入的几何图形是否与范围相交]
[5、是否和输入范围相等]
[6、按给定的因子扩大范围]
[7、平移extent]
[8、求并]
[9、返回字符串]
[10、返回IGS1.0的字符串]
[11、返回IGS所对应的GeometryModule型]
[12、通过传入的json构造并返回一个新的几何对象]
[13、导出为json对象]
14、克隆几何对象

示例

创建几何对象

// ES5引入方式
const { Extent } = Zondy.Geometry
// ES6引入方式
import { Extent } from "@mapgis/webclient-common"
new Extent({
  xmin: 10,
  xmax: 210,
  ymin: 0,
  ymax: 100
})

指定坐标系

// ES5引入方式
const { Extent } = Zondy.Geometry
const { SpatialReference } = Zondy
// ES6引入方式
import { Extent, SpatialReference } from "@mapgis/webclient-common"
new Extent({
  // 3857坐标系的点
  xmin: 12060733.232006868,
  xmax: 12929863.44711455,
  ymin: 3377247.5680546067,
  ymax: 3934286.575385226,
  // 当不是4326时请指定坐标系,方便进行投影转换
  spatialReference: new SpatialReference('EPSG:3857')
})

继承关系

成员变量

成员变量概述

名称 类型 描述
center Array.<Number>

中心点

extent Number

几何的范围

hasZ Boolean

是否含有z坐标

height Number

高度

spatialReference SpatialReference

几何点的空间参考系

width Number

宽度

xmax Number

x坐标最大值

xmin Number

x坐标最小值

ymax Number

y坐标最大值

ymin Number

y坐标最小值

zmax Number

z坐标最大值

zmin Number

z坐标最小值

成员变量详情

Array.<Number>

# center

中心点

Number

# extent

几何的范围

Inherited From:
Boolean

# readonly hasZ

是否含有z坐标

Overrides:
Number

# height

高度

SpatialReference

# spatialReference

几何点的空间参考系

Inherited From:
Number

# width

宽度

Number

# xmax

x坐标最大值

Default Value:
  • 0
Number

# xmin

x坐标最小值

Default Value:
  • 0
Number

# ymax

y坐标最大值

Default Value:
  • 0
Number

# ymin

y坐标最小值

Default Value:
  • 0
Number

# zmax

z坐标最大值

Number

# zmin

z坐标最小值

方法

方法概述

名称 返回值类型 描述
fromJSON

通过传入的json构造并返回一个新的几何对象

centerAt Extent

根据中心点生成新的范围,新范围的宽高为当前范围的宽高

clone Geometry

克隆几何对象

contains Boolean

输入的几何是否包含在范围内

equals Boolean

是否和输入范围相等

expand Extent

按给定的因子扩大范围。例如,值为1.5将将范围扩展到比原始范围大50%。

fromGeoJSON

导入GeoJSON

getGeometryType String

获取GeometryModule型

getIGSType

返回IGS所对应的GeometryModule型

getType String

返回所对应的GeometryModule型

intersection Extent

将原始范围与输入范围求交

intersects Boolean

输入的几何图形是否与范围相交

normalize Extent

归一化计算

offset Extent

根据输入的dx, dy, dz值,平移extent

toGeoJSON Object

导出为GeoJSON

toIGSOldString

返回如下格式的字符串:"xmin$ymin$xmax$ymax"

toJSON Object

导出为json对象

toPolygon Polygon
toString

返回如下格式的字符串:"xmin,ymin,xmax,ymax"

toXML String

导出为OGC服务要求的xml字符串,子类实现

union Extent

求并

方法详情

# static fromJSON(jsonopt)

通过传入的json构造并返回一个新的几何对象

参数

名称 类型 描述
json Object

JSON对象

示例

通过传入的json构造并返回一个新的几何对象

// ES5引入方式
const { Extent } = Zondy.Geometry
// ES6引入方式
import { Extent } from "@mapgis/webclient-common"
const json = {
  xmin: 10,
  xmax: 210,
  ymin: 0,
  ymax: 100
}
const extent = Extent.fromJSON(json)

# centerAt(point)

根据中心点生成新的范围,新范围的宽高为当前范围的宽高

参数

名称 类型 描述
point Point

中心点

以点为中心的新范围。

Extent
示例

根据中心点生成新的范围

// ES5引入方式
const { Extent, Point } = Zondy.Geometry
// ES6引入方式
import { Extent, Point } from "@mapgis/webclient-common"
const extent = new Extent({
  xmin: 10,
  xmax: 210,
  ymin: 0,
  ymax: 100
})
const point = new Point({
  coordinates: [100.0, 0.0]
})
const newConst = extent.centerAt(point)

# clone()

克隆几何对象

Overrides:

克隆后的几何对象

Geometry

# contains(geometry)

输入的几何是否包含在范围内

参数

名称 类型 描述
geometry Point | Extent

输入的几何图形

如果输入几何图形包含在范围内,则返回true

Boolean
示例

输入的几何是否包含在范围内

// ES5引入方式
const { Extent, Point } = Zondy.Geometry
// ES6引入方式
import { Extent, Point } from "@mapgis/webclient-common"
const extent = new Extent({
  xmin: 10,
  xmax: 210,
  ymin: 0,
  ymax: 100
})
const point = new Point({
  coordinates: [100.0, 0.0]
})
const isIn = extent.contains(point)

# equals(extent)

是否和输入范围相等

参数

名称 类型 描述
extent Extent

输入的外包范围

如果输入范围等于调用equals()的范围,则返回true

Boolean
示例

是否和输入范围相等

// ES5引入方式
const { Extent } = Zondy.Geometry
// ES6引入方式
import { Extent } from "@mapgis/webclient-common"
const extent = new Extent({
  xmin: 10,
  xmax: 210,
  ymin: 0,
  ymax: 100
})
const extent2 = new Extent({
  xmin: 10,
  xmax: 210,
  ymin: 0,
  ymax: 100
})
const isEqual = extent.equals(extent2)

# expand(factor)

按给定的因子扩大范围。例如,值为1.5将将范围扩展到比原始范围大50%。

参数

名称 类型 描述
factor Number

乘数的值,必须大于等于1

返回扩大的范围

Extent
示例

按给定的因子扩大范围

// ES5引入方式
const { Extent } = Zondy.Geometry
// ES6引入方式
import { Extent } from "@mapgis/webclient-common"
const extent = new Extent({
  xmin: 10,
  xmax: 210,
  ymin: 0,
  ymax: 100
})
extent.expand(1.5)

# fromGeoJSON(GeoJSON)

导入GeoJSON

参数

名称 类型 描述
GeoJSON Object

Object

Inherited From:

# getGeometryType()

获取GeometryModule型

Inherited From:

GeometryModuleåž‹

String

# getIGSType()

返回IGS所对应的GeometryModule型

Overrides:

string GeometryModuleåž‹

# getType()

返回所对应的GeometryModule型

Inherited From:

GeometryModuleåž‹

String

# intersection(extent)

将原始范围与输入范围求交

参数

名称 类型 描述
extent Extent

输入的范围,用于相交。

返回输入Extent与原始Extent的交集,没有交集返回 null

Extent
示例

将原始范围与输入范围求交

// ES5引入方式
const { Extent } = Zondy.Geometry
// ES6引入方式
import { Extent } from "@mapgis/webclient-common"
const extent = new Extent({
  xmin: 10,
  xmax: 210,
  ymin: 0,
  ymax: 100
})
const extent2 = new Extent({
  xmin: 10,
  xmax: 210,
  ymin: 0,
  ymax: 100
})
const newExtent = extent.intersection(extent2)

# intersects(geometry)

输入的几何图形是否与范围相交

参数

名称 类型 描述
geometry Geometry

用于测试相交的几何图形。可以是 Point, Polyline, Polygon, Extent or Multipoint

如果输入几何图形与区段相交,则返回true

Boolean
示例

输入的几何图形是否与范围相交

// ES5引入方式
const { Extent, Point } = Zondy.Geometry
// ES6引入方式
import { Extent, Point } from "@mapgis/webclient-common"
const extent = new Extent({
  xmin: 10,
  xmax: 210,
  ymin: 0,
  ymax: 100
})
const point = new Point({
  coordinates: [100.0, 0.0]
})
const isIntersect = extent.intersects(point)

# normalize()

归一化计算

归一化后的点对象

Extent
示例

归一化计算

// ES5引入方式
const { Extent } = Zondy.Geometry
// ES6引入方式
import { Extent } from "@mapgis/webclient-common"
const extent = new Extent({
  xmin: 10,
  xmax: 210,
  ymin: 0,
  ymax: 100
})
const normalize = extent.normalize()

# offset(dx, dy, dz)

根据输入的dx, dy, dz值,平移extent

参数

名称 类型 描述
dx Number

要平移的x值

dy Number

要平移的y值

dz Number

要平移的z值

偏移后的范围

Extent
示例

平移extent

// ES5引入方式
const { Extent } = Zondy.Geometry
// ES6引入方式
import { Extent } from "@mapgis/webclient-common"
const extent = new Extent({
  xmin: 10,
  xmax: 210,
  ymin: 0,
  ymax: 100
})
extent.offset(0, 1, 0)

# toGeoJSON()

导出为GeoJSON

Overrides:

GeoJSON对象

Object

# toIGSOldString()

返回如下格式的字符串:"xmin$ymin$xmax$ymax"

string

# toJSON()

导出为json对象

Overrides:

json对象

Object

# toPolygon()

Polygon

# toString()

返回如下格式的字符串:"xmin,ymin,xmax,ymax"

Overrides:

string

# toXML()

导出为OGC服务要求的xml字符串,子类实现

Inherited From:

字符串

String

# union(extent)

求并

参数

名称 类型 描述
extent Extent

输入的范围,用于并集

返回输入Extent与原始Extent的并集

Extent
示例

求并

// ES5引入方式
const { Extent } = Zondy.Geometry
// ES6引入方式
import { Extent } from "@mapgis/webclient-common"
const extent = new Extent({
  xmin: 10,
  xmax: 210,
  ymin: 0,
  ymax: 100
})
const extent2 = new Extent({
  xmin: 10,
  xmax: 210,
  ymin: 0,
  ymax: 100
})
const newExtent = extent.union(extent2)