geovisearth / Exports / Calculate
# Class: Calculate
@类别 无需创建,初始化球时自动创建并且与球对应的类
@描述 通用计算类
See
# Table of contents
# Methods
- centerOfMass
- getAngle
- getBezier
- getCirclePositions
- getCirclePositionsArray
- getDiffer
- getEllipsePositions
- getEllipsePositionsArray
- getIntersect
- getParabola
- getSectorPositions
- getSectorPositionsArray
- getUnion
- groundArea
- groundDistance
- pointInCircle
- pointInEarthSide
- pointInPolygon
- spaceArea
- spaceDistance
# 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
# 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
示例代码:
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
# 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
# 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
# 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
# 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
# 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
# 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
← EditorModel Check →
