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 →