# 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')
})
继承关系
成员变量
方法
# static fromJSON(jsonopt)
通过传入的json构造并返回一个新的几何对象
参数:
名称 | 类型 | 描述 |
---|---|---|
json |
Object | 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 | 中心点 |
以点为中心的新范围。
示例
// 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)
# contains(geometry)
输入的几何是否包含在范围内
参数:
如果输入几何图形包含在范围内,则返回true
示例
// 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
示例
// 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 |
返回扩大的范围
示例
// 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)
# intersection(extent)
将原始范围与输入范围求交
参数:
名称 | 类型 | 描述 |
---|---|---|
extent |
Extent | 输入的范围,用于相交。 |
返回输入Extent与原始Extent的交集,没有交集返回 null
示例
// 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
示例
// 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()
归一化计算
归一化后的点对象
示例
// 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值 |
偏移后的范围
示例
// 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)
# union(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)