#### # 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')
    })

### 继承关系

- Geometry

### 成员变量

类型: Array.<Number>

#### # center

中心点

类型: Object

#### # extensionOptions

初始化几何的额外参数，可以通过该参数传入引擎原生的构造参数

Inherited From:
  - Geometry#extensionOptions
Default Value:
  - {}

类型: Number

#### # extent

几何的范围

Inherited From:
  - Geometry#extent

类型: Boolean

#### # readonly hasZ

是否含有z坐标

Overrides:
  - Geometry#hasZ

类型: Number

#### # height

高度

类型: SpatialReference

#### # spatialReference

几何点的空间参考系

Inherited From:
  - Geometry#spatialReference

类型: 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坐标最小值

### 方法

#### # 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#clone

返回值:

克隆后的几何对象

类型: 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:
  - Geometry#fromGeoJSON

#### # getGeometryType()

获取GeometryModule型

Inherited From:
  - Geometry#getGeometryType

返回值:

GeometryModule型

类型: String

#### # getIGSType()

返回IGS所对应的GeometryModule型

Overrides:
  - Geometry#getIGSType

返回值:

string GeometryModule型

#### # getType()

返回所对应的GeometryModule型

Inherited From:
  - Geometry#getType

返回值:

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:
  - Geometry#toGeoJSON

返回值:

GeoJSON对象

类型: Object

#### # toIGSOldString()

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

返回值:

string

#### # toJSON()

导出为json对象

Overrides:
  - Geometry#toJSON

返回值:

json对象

类型: Object

#### # toPolygon()

返回值:
类型: Polygon

#### # toString()

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

Overrides:
  - Geometry#toString

返回值:

string

#### # toXML()

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

Inherited From:
  - Geometry#toXML

返回值:

字符串

类型: 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)