geovisearth / Exports / Calculate

# Class: Calculate

@类别 无需创建,初始化球时自动创建并且与球对应的类
@描述 通用计算类

See

# Table of contents

# Methods

# Methods

# centerOfMass

Static centerOfMass(posArr): GvolPoint

获取面中心点,首尾需重合,至少需要4个点

# Parameters

Name Type Description
posArr number[][] 位置点,如:[[0.0, 0.0],[20.0, 10.0],[0.0, 33.0],[0.0, 0.0]]

# Returns

GvolPoint

# Defined in

Utils/Calculate.ts:540


# getAngle

Static getAngle(point1, point2): number

计算两个点的方位角

# Parameters

Name Type Description
point1 GvolPoint 位置点
point2 GvolPoint 位置点

# Returns

number

返回方位角

# Defined in

Utils/Calculate.ts:471


# getBezier

Static getBezier(geoPoints, step?): GvolPoint[]

获取二次贝塞尔曲线点集坐标

# Parameters

Name Type Default value Description
geoPoints GvolPoint[] undefined 控制点集信息
step number 100 点集数量 默认值:100 范围:>=2 && <= 100

# Returns

GvolPoint[]

 示例代码:
 let geoPoints = [{lon:80,lat:50,alt:50000},{lon:90,lat:45,alt:50000},{lon:85,lat:30,alt:50000}]
 let result = GVOL.Tool.Calculate.getBezier(geoPoints);

# Defined in

Utils/Calculate.ts:200


# getCirclePositions

Static getCirclePositions(center, radius, steps?): GvolPoint[]

获取圆形点集

See

多边形交并差

# Parameters

Name Type Default value Description
center GvolPoint undefined 圆心坐标
radius number undefined 圆半径 单位:米
steps number 64 点集数量

# Returns

GvolPoint[]

# Defined in

Utils/Calculate.ts:352


# getCirclePositionsArray

Static getCirclePositionsArray(center, radius, steps?): Position[]

获取圆形点集(Array)

See

多边形交并差

# Parameters

Name Type Default value Description
center any undefined 圆心坐标
radius number undefined 圆半径 单位:米
steps number 64 点集数量

# Returns

Position[]

# Defined in

Utils/Calculate.ts:366


# getDiffer

Static getDiffer(polygon1, polygon2): GvolPoint[]

获取第一个多边形和第二个多边形作差的点集

See

多边形交并差

# Parameters

Name Type Description
polygon1 GvolPoint[] 多边形点集
polygon2 GvolPoint[] 多边形点集

# Returns

GvolPoint[]

# Defined in

Utils/Calculate.ts:457


# getEllipsePositions

Static getEllipsePositions(center, xSemiAxis, ySemiAxis, steps?): GvolPoint[]

获取椭圆点集

See

多边形交并差

# Parameters

Name Type Default value Description
center GvolPoint undefined 中心坐标
xSemiAxis number undefined 长轴 单位:米
ySemiAxis number undefined 短轴 单位:米
steps number 64 点集数量

# Returns

GvolPoint[]

# Defined in

Utils/Calculate.ts:323


# getEllipsePositionsArray

Static getEllipsePositionsArray(center, xSemiAxis, ySemiAxis, steps?): Position[]

获取椭圆点集(Array)

See

多边形交并差

# Parameters

Name Type Default value Description
center any undefined 中心坐标
xSemiAxis number undefined 长轴 单位:米
ySemiAxis number undefined 短轴 单位:米
steps number 64 点集数量

# Returns

Position[]

# Defined in

Utils/Calculate.ts:338


# getIntersect

Static getIntersect(polygon1, polygon2): GvolPoint[]

获取两个多边形相交区域

See

多边形交并差

# Parameters

Name Type Description
polygon1 GvolPoint[] 多边形点集
polygon2 GvolPoint[] 多边形点集

# Returns

GvolPoint[]

# Defined in

Utils/Calculate.ts:409


# getParabola

Static getParabola(fromPoint, toPoint, factor, step?): any[]

获取抛物线点集坐标

# Parameters

Name Type Default value Description
fromPoint GvolPoint undefined 起始点
toPoint GvolPoint undefined 终止点
factor number undefined 曲率(抛物线高度)范围:>=1000 && <= 10000000
step number 100 点集数量 默认值:100 范围:>=2 && <= 100 示例代码: let result = GVOL.Tool.Calculate.getParabola({lon:80,lat:50,alt:50000},{lon:90,lat:45,alt:50000},50000);

# Returns

any[]

# Defined in

Utils/Calculate.ts:225


# getSectorPositions

Static getSectorPositions(center, radius, startAngle?, endAngle?, steps?): GvolPoint[]

获取扇形点集

# Parameters

Name Type Default value Description
center GvolPoint undefined 圆心坐标
radius number undefined 圆半径 单位:米
startAngle number 0 起始角度
endAngle number 120 终止角度
steps number 16 点集数量

# Returns

GvolPoint[]

# Defined in

Utils/Calculate.ts:381


# getSectorPositionsArray

Static getSectorPositionsArray(center, radius, startAngle?, endAngle?, steps?): Position[]

获取扇形点集(Array)

# Parameters

Name Type Default value Description
center any undefined 圆心坐标
radius number undefined 圆半径 单位:米
startAngle number 0 起始角度
endAngle number 120 终止角度
steps number 16 点集数量

# Returns

Position[]

# Defined in

Utils/Calculate.ts:396


# getUnion

Static getUnion(polygon1, polygon2): GvolPoint[]

获取两个多边形相并区域

See

多边形交并差

# Parameters

Name Type Description
polygon1 GvolPoint[] 多边形点集
polygon2 GvolPoint[] 多边形点集

# Returns

GvolPoint[]

# Defined in

Utils/Calculate.ts:442


# groundArea

Static groundArea(geoPoints): number

获取点集的贴地面积

# Parameters

Name Type Description
geoPoints GvolPoint[] 点集信息

# Returns

number

 示例代码:
 let geoPoints = [{lon:80,lat:50,alt:50000},{lon:90,lat:45,alt:50000},{lon:85,lat:30,alt:50000}]
 let result = GVOL.Tool.Calculate.groundArea(geoPoints);

# Defined in

Utils/Calculate.ts:122


# groundDistance

Static groundDistance(geoPoints, viewer): number

获取点集的贴地距离

# Parameters

Name Type Description
geoPoints GvolPoint[] 点集信息
viewer Viewer

# Returns

number

 示例代码:
 let geoPoints = [{lon:80,lat:50,alt:50000},{lon:90,lat:45,alt:50000},{lon:85,lat:30,alt:50000}]
 let result = GVOL.Tool.Calculate.groundDistance(geoPoints);

# Defined in

Utils/Calculate.ts:147


# pointInCircle

Static pointInCircle(point, centerPoint, radius): boolean

判断经纬度点是否在圆形区域内

See

模拟场景

# Parameters

Name Type Description
point GvolPoint 被判断点
centerPoint GvolPoint 圆心位置点
radius number 圆半径,单位:米

# Returns

boolean

# Defined in

Utils/Calculate.ts:308


# pointInEarthSide

Static pointInEarthSide(point, viewer): boolean

水平面剔除判断

# Parameters

Name Type Description
point GvolPoint 位置点
viewer Viewer

# Returns

boolean

# Defined in

Utils/Calculate.ts:528


# pointInPolygon

Static pointInPolygon(point, polygon): boolean

判断经纬度点是否在多边形区域内

See

模拟场景

# Parameters

Name Type Description
point GvolPoint 被判断点
polygon GvolPoint[] 多边形区域位置数组

# Returns

boolean

# Defined in

Utils/Calculate.ts:292


# spaceArea

Static spaceArea(geoPoints): number

获取点集的空间面积

# Parameters

Name Type Description
geoPoints GvolPoint[] 点集信息

# Returns

number

 示例代码:
 let geoPoints = [{lon:80,lat:50,alt:50000},{lon:90,lat:45,alt:50000},{lon:85,lat:30,alt:50000}]
 let result = GVOL.Tool.Calculate.spaceArea(geoPoints);

# Defined in

Utils/Calculate.ts:102


# spaceDistance

Static spaceDistance(geoPoints): number

获取点集的空间距离

# Parameters

Name Type Description
geoPoints GvolPoint[] 点集信息

# Returns

number

 示例代码:
 let geoPoints = [{lon:80,lat:50,alt:50000},{lon:90,lat:45,alt:50000},{lon:85,lat:30,alt:50000}]
 let result = GVOL.Tool.Calculate.spaceDistance(geoPoints);

# Defined in

Utils/Calculate.ts:180