OrbPro2 a Cesium distribution

Analysis

Methods

static Cesium.Analysis.addAccessLines(viewer, from, to, id, material, options)string

Name Type Default Description
viewer Object The viewer instance.
from Entity | Array.<Entity> The starting entity or array of starting entities.
to Entity | Array.<Entity> The ending entity or array of ending entities.
id string Date.now().toString() optional The id for the group of lines.
material Material optional An optional custom material. Defaults to lime green if not provided.
options object optional Options for sensor-aware access.
Name Type Default Description
sensor Sensor optional If provided, use sensor FOV + body occlusion.
terrainOcclusion boolean false optional Include terrain occlusion check.
Returns:
- The id of the created access line group.

static Cesium.Analysis.addCoverageLayer(viewer, coverageResult, options)object

Adds an analytical coverage overlay to a viewer.
Name Type Description
viewer Viewer Viewer that will own the imagery layer.
coverageResult object Result returned by `computeAnalyticalCoverage()`.
options object optional Overlay styling options.
Returns:
Overlay controller.

static Cesium.Analysis.addReferenceGridLayer(viewer, options)ImageryLayer

Adds a generated reference-grid imagery layer to a viewer.
Name Type Description
viewer Viewer The viewer that will own the grid layer.
options ReferenceGridImageryProvider | ReferenceGridImageryProvider.ConstructorOptions optional Either an existing provider instance or constructor options.
Returns:
The added imagery layer.

static Cesium.Analysis.addSwathEntity(target, swathOrCallback, options)Entity

Adds a swath polygon entity to a viewer or entity collection.
Name Type Description
target Viewer | EntityCollection Viewer or entity collection that will own the entity.
swathOrCallback object | Array.<object> | function Swath result, segment array, or callback returning one.
options object optional Entity options.
Returns:
The added entity.

static Cesium.Analysis.azEl2RaDec(azDeg, elDeg, latDeg, lonDeg, julianDate, useNoonEpoch)Object

Name Type Default Description
azDeg number Azimuth (clockwise from north) [degrees].
elDeg number Elevation above horizon [degrees].
latDeg number WGS84 latitude [degrees].
lonDeg number WGS84 longitude [degrees], east positive.
julianDate Object UT1-based Julian Date object.
useNoonEpoch boolean true optional Use Vallado's noon-based GMST offsets if true.
Returns:
Right ascension and declination [degrees].

static Cesium.Analysis.buildSwathPolygonHierarchy(swath, options)PolygonHierarchy|Array.<PolygonHierarchy>

Alias for `createSwathPolygonHierarchy()` for callers that prefer an explicit builder-style name.
Name Type Description
swath object | Array.<object> Swath result returned by `computeSwath()` or a raw segment array.
options object optional Optional hierarchy options.
Returns:
Polygon hierarchy describing the swath boundary.

static Cesium.Analysis.calculateAccess(fromEntity, toEntity, timestamp, ellipsoid)boolean

Name Type Default Description
fromEntity Object The source entity with a position property.
toEntity Object The target entity with a position property.
timestamp JulianDate The time at which to compute access.
ellipsoid Ellipsoid Ellipsoid.WGS84 optional The ellipsoid to use for occlusion calculations.
Returns:
- True if the entities have line-of-sight access, false otherwise.

static Cesium.Analysis.calculateSensorAccess(sensor, targetEntity, time, options)boolean

Name Type Description
sensor Sensor The sensor primitive (or any object with containsPoint/hasAccess).
targetEntity Entity The target entity with a position property.
time JulianDate The time to evaluate.
options object optional Options.
Name Type Default Description
bodyOcclusion boolean true optional Check Earth body occlusion.
terrainOcclusion boolean false optional Check terrain occlusion (expensive).
ellipsoid Ellipsoid Ellipsoid.WGS84 optional Ellipsoid for body occlusion.
Returns:
True if the sensor has access to the target.

static Cesium.Analysis.classifyRegionIntersection(leftRegion, rightRegion, context)object

Name Type Description
leftRegion object Left region descriptor.
rightRegion object Right region descriptor.
context object optional Evaluation context.
Returns:
Intersection classification.

static Cesium.Analysis.computeAnalyticalCoverage(options)Promise.<object>

Runs one-shot analytical ground coverage from explicit footprint polygons.
Name Type Description
options object Analytical coverage request.
Name Type Default Description
grid object Coverage grid configuration.
footprints Array.<object> optional Explicit footprint polygons to accumulate.
states Array.<object> optional Optional ordered state vectors for swath-driven accumulation.
sensorConfig object optional Optional swath sensor configuration used with `states`.
fomType string optional Optional FOM name to compute.
heatmap object optional Optional heatmap request `{ fomType, colorMap, width, height, minValue, maxValue }`.
union object optional Optional union request `{ sensorIds }`.
minimumSensorSet object | boolean optional Optional greedy set-cover request. When truthy, computes a selected sensor subset for the accumulated grid.
includeGridData boolean false optional Whether to return raw cell records.
pluginOptions object optional Coverage plugin load options.
swathOptions object optional Optional options forwarded to `accumulateSwath`.
Returns:
Coverage grid info plus optional statistics, cells, FOM, heatmap, and union outputs.

static Cesium.Analysis.computeGMST(julianDate, unit, useNoonEpoch)number

Name Type Default Description
julianDate Object An object with two properties:
unit string 'seconds' optional The unit for the returned GMST. Valid options: - `"seconds"`: Returns GMST in [0, 86400). - `"degrees"`: Returns GMST in [0, 360).
useNoonEpoch boolean false optional Whether to use the noon-based epoch.
Returns:
GMST in the specified unit.
Properties:
Name Type Description
dayNumber number The integer Julian day (often at midnight).
secondsOfDay number The number of seconds past `dayNumber`.

static Cesium.Analysis.computeGroundStationAccessGeometry(options)Promise.<object>

Computes instantaneous ground-station access geometry for one sampled state.
Name Type Description
options object Access request `{ state, groundStations, stationId?, accessOptions?, pluginOptions? }`.
Returns:
Access geometry for the requested station.

static Cesium.Analysis.computeGroundStationAccessWindows(options)Promise.<object>

Computes ground-station access windows from sampled state vectors.
Name Type Description
options object Access request `{ states, groundStations, stationId?, stationIds?, accessOptions?, pluginOptions? }`.
Returns:
Access windows plus equivalent `TimeInterval` records.

static Cesium.Analysis.computeLST(julianDate, longitudeDegrees, unit, useNoonEpoch)number

Name Type Default Description
julianDate Object An object with two properties:
longitudeDegrees number The observer's longitude in degrees (east positive).
unit string 'seconds' optional The unit of measure for the returned LST. Valid options: - `"seconds"`: Returns LST in the range [0, 86400). - `"degrees"`: Returns LST in the range [0, 360).
useNoonEpoch boolean false optional Whether to use the noon-based epoch for GMST calculations.
Returns:
LST in the specified unit.
Properties:
Name Type Description
dayNumber number The integer Julian day (often at midnight).
secondsOfDay number The number of seconds past `dayNumber`.

static Cesium.Analysis.computeRfCoverage(options)Promise.<object>

Name Type Description
options object Analysis options passed to RfTerrainAnalysis.
Returns:
Coverage result.

static Cesium.Analysis.computeRfPathProfile(options)Promise.<object>

Name Type Description
options object Analysis options passed to RfTerrainAnalysis.
Returns:
Path profile result.

static Cesium.Analysis.computeSwath(states, sensorConfig, options)Promise.<object>

Computes time-varying swath geometry from an ordered list of state vectors.
Name Type Description
states Array.<object> Ordered state vectors.
sensorConfig object Swath sensor configuration.
options object optional Plugin load options.
Returns:
Swath result from the swath analyzer.

static Cesium.Analysis.computeSwathAccessGeometry(state, sensorConfig, target, options)Promise.<object>

Computes instantaneous target access geometry for a swath sensor.
Name Type Description
state object The ECEF state vector `{ position, velocity, julianDate }`.
sensorConfig object Swath sensor configuration.
target object Cartographic target `{ longitude, latitude, altitude }` in radians/meters.
options object optional Plugin load options.
Returns:
Access-geometry result.

static Cesium.Analysis.computeSwathFootprint(state, sensorConfig, options)Promise.<object>

Computes a single-epoch sensor footprint using the swath plugin.
Name Type Description
state object The ECEF state vector `{ position, velocity, julianDate }`.
sensorConfig object Swath sensor configuration.
options object optional Plugin load options.
Returns:
Footprint result from the swath analyzer.

static Cesium.Analysis.computeSwathGroundTrack(states, options)Promise.<Array.<object>>

Computes a ground track from an ordered list of state vectors.
Name Type Description
states Array.<object> Ordered state vectors.
options object optional Plugin load options.
Returns:
Ground-track points.

static Cesium.Analysis.computeTerrainAwareSwath(states, sensorConfig, terrainProvider, options)Promise.<object>

Computes a terrain-draped swath across an ordered state sequence.
Name Type Description
states Array.<object> Ordered state vectors.
sensorConfig object Swath sensor configuration.
terrainProvider TerrainProvider Terrain provider used for draping.
options object optional Swath options plus terrain sampling flags.
Returns:
Swath result with terrain-updated segment vertices.

static Cesium.Analysis.computeTerrainAwareSwathFootprint(state, sensorConfig, terrainProvider, options)Promise.<object>

Computes a terrain-draped single-epoch swath footprint by sampling terrain beneath each footprint vertex.
Name Type Description
state object The ECEF state vector `{ position, velocity, julianDate }`.
sensorConfig object Swath sensor configuration.
terrainProvider TerrainProvider Terrain provider used for draping.
options object optional Plugin load options and terrain sampling flags.
Returns:
Footprint result with terrain-updated vertex altitudes.

static Cesium.Analysis.computeTUt1(julianDate)number

Name Type Description
julianDate JulianDate An object with two properties:
Returns:
T_UT1, the number of Julian centuries since J2000.0 (UT1 basis).
Properties:
Name Type Description
dayNumber number The integer Julian day (often at midnight).
secondsOfDay number The number of seconds past `dayNumber`.

static Cesium.Analysis.createAccessAnalyzer(options)Promise.<object>

Creates a ground-station access-analysis plugin instance.
Name Type Description
options object optional Plugin load options.
Returns:
The access analyzer instance.

static Cesium.Analysis.createBoundingSphereRegion(sphereOrCenter, radius)object

Name Type Description
sphereOrCenter BoundingSphere | Cartesian3 Bounding sphere or center.
radius number optional Radius in meters when passing a center.
Returns:
Region descriptor.

static Cesium.Analysis.createCartesianBoxRegion(options, maximum)object

Name Type Description
options object | Cartesian3 Options or minimum corner.
maximum Cartesian3 optional Maximum corner when passing minimum directly.
Returns:
Region descriptor.

static Cesium.Analysis.createCartographicPolygonRegion(positions, options)object

Name Type Description
positions Array.<Cartographic> | Array.<Cartesian3> Polygon positions.
options object optional Optional height/ellipsoid constraints.
Returns:
Region descriptor.

static Cesium.Analysis.createCartographicRectangleRegion(rectangle, options)object

Name Type Description
rectangle Rectangle Rectangle in radians.
options object optional Optional height/ellipsoid constraints.
Returns:
Region descriptor.

static Cesium.Analysis.createCoverageAnalyzer(options)Promise.<object>

Creates an analytical coverage plugin instance.
Name Type Description
options object optional Plugin load options.
Returns:
The coverage analyzer instance.

static Cesium.Analysis.createCoverageGridOverlay(coverageResult, options)object

Creates a dynamic analytical-coverage overlay backed by generated reference-grid tiles.
Name Type Description
coverageResult object Result returned by `computeAnalyticalCoverage()`.
options object optional Overlay styling options.
Returns:
Overlay controller with provider/layer/update/export helpers.

static Cesium.Analysis.createCoverageLegend(coverageOrOverlay, options)object

Builds a structured legend for an analytical coverage overlay or result.
Name Type Description
coverageOrOverlay object Analytical coverage result or overlay controller.
options object optional Legend options.
Returns:
Legend descriptor with value stops and optional canvas.

static Cesium.Analysis.createCoverageOverlay(coverageResult, options)object

Alias for `createCoverageGridOverlay()` using the shorter overlay name.
Name Type Description
coverageResult object Result returned by `computeAnalyticalCoverage()`.
options object optional Overlay styling options.
Returns:
Overlay controller with provider/layer/update/export helpers.

static Cesium.Analysis.createReferenceGridProvider(options)ReferenceGridImageryProvider

Creates a generated reference-grid imagery provider for latitude/longitude, H3, or MGRS overlays.
Name Type Description
options ReferenceGridImageryProvider.ConstructorOptions optional Grid provider options.
Returns:
The generated grid imagery provider.

static Cesium.Analysis.createSwathAnalyzer(options)Promise.<object>

Creates a swath-analysis plugin instance.
Name Type Description
options object optional Plugin load options.
Returns:
The swath analyzer instance.

static Cesium.Analysis.createSwathPolygonHierarchies(swath, options)Array.<PolygonHierarchy>

Convenience alias for per-segment swath polygon hierarchies.
Name Type Description
swath object | Array.<object> Swath result returned by `computeSwath()` or a raw segment array.
options object optional Hierarchy options.
Returns:
One hierarchy per swath segment.

static Cesium.Analysis.createSwathPolygonHierarchy(swath, options)PolygonHierarchy|Array.<PolygonHierarchy>

Converts computed swath segments into a Cesium polygon hierarchy.
Name Type Description
swath object | Array.<object> Swath result returned by `computeSwath()` or a raw segment array.
options object optional Hierarchy options. Set `perSegment: true` to return one hierarchy per segment.
Returns:
Polygon hierarchy describing the swath boundary.

static Cesium.Analysis.ensureWasmOcclusionReady()Promise.<boolean>

Returns:
True if WASM occlusion is ready.

static Cesium.Analysis.evaluateRegionSignedDistance(region, point, context)number

Name Type Description
region object Region descriptor.
point Cartesian3 | Cartographic Point to evaluate.
context object optional Evaluation context.
Returns:
Signed distance-like value. Negative is inside.

static Cesium.Analysis.exportAnalyticalCoverage(coverageResult, options)object

Exports an analytical coverage result to GeoJSON or JSON.
Name Type Description
coverageResult object Result returned by `computeAnalyticalCoverage()`.
options object optional Export options.
Returns:
Exported coverage object.

static Cesium.Analysis.exportCoverageGeoJson(coverageResult, options)object

Exports an analytical coverage result to GeoJSON.
Name Type Description
coverageResult object Result returned by `computeAnalyticalCoverage()`.
options object optional Export options.
Returns:
GeoJSON feature collection.

static Cesium.Analysis.exportCoverageJson(coverageResult, options)object

Exports an analytical coverage result to plain JSON.
Name Type Description
coverageResult object Result returned by `computeAnalyticalCoverage()`.
options object optional Export options.
Returns:
JSON export payload.

static Cesium.Analysis.exportRfRaster(options)Promise.<object>

Name Type Description
options object Analysis options passed to RfTerrainAnalysis.
Returns:
Raster export result.

static Cesium.Analysis.filterPositionsInRegion(region, packedPositions, context)object

Name Type Description
region object Region descriptor.
packedPositions Float64Array | Array.<number> Packed XYZ triples.
context object optional Evaluation context. For sensor-like regions, set `context.sensorAccess = true` to evaluate `hasAccess()` for each point.
Returns:
Filter results with `indices`, `mask`, and `insideCount`.

static Cesium.Analysis.findOptimalRfSensorPlacement(options)Promise.<object>

Name Type Description
options object Analysis options passed to RfTerrainAnalysis.
Returns:
Placement search result.

static Cesium.Analysis.getAccesses(fromEntity, toEntity, startDate, endDate, stepSize, highResolution)Promise.<Array.<TimeInterval>>

Name Type Default Description
fromEntity Object The source entity with a position property.
toEntity Object The target entity with a position property.
startDate JulianDate The start date of the access computation.
endDate JulianDate The end date of the access computation.
stepSize number The time step (in seconds) between each access computation.
highResolution boolean false optional If true, uses a higher resolution computation.
Returns:
- A promise that resolves to an array of `TimeInterval` objects representing the access windows.

static Cesium.Analysis.getAltitudeCrossings(entity, altitudeMeters, start, stop, stepSeconds, options)TimeIntervalCollection

Name Type Default Description
entity Entity Entity with a position property.
altitudeMeters number Altitude threshold in meters.
start JulianDate Start of analysis window.
stop JulianDate End of analysis window.
stepSeconds number 60 optional Scan step in seconds.
options Object optional Options.
Name Type Default Description
tolerance number 0.1 optional Bisection tolerance in seconds.
Returns:
Intervals where the entity is above the altitude.

static Cesium.Analysis.getApsides(entity, start, stop, stepSeconds)Object

Name Type Default Description
entity Entity Entity with a position property.
start JulianDate Start of analysis window.
stop JulianDate End of analysis window.
stepSeconds number 60 optional Scan step in seconds.
Returns:

static Cesium.Analysis.getAzElRange(point1, point2)Object

Name Type Description
point1 Cartesian3
point2 Cartesian3
Returns:

static Cesium.Analysis.getConstellationAccesses(sensors, targets, startDate, endDate, options)Promise.<object>

Name Type Description
sensors Array.<Sensor> Array of sensors.
targets Array.<Entity> Array of target entities.
startDate JulianDate Start of analysis window.
endDate JulianDate End of analysis window.
options object optional Options (same as getSensorAccesses, plus:)
Name Type Default Description
aggregate boolean false optional If true, also compute aggregate metrics.
maxConcurrent number 4 optional Maximum parallel analysis pairs.
onPairComplete function optional Callback(sensorIndex, targetIndex, intervals) => void.
Returns:
Results object.

static Cesium.Analysis.getCoverageArea(sensor, options)object|undefined

Name Type Description
sensor Sensor A sensor with viewshed enabled.
options object optional Options.
Name Type Default Description
resolution number 512 optional Offscreen framebuffer size.
Returns:
Area statistics, or undefined if viewshed not available.

static Cesium.Analysis.getCoverageStatistics(sensor)object|undefined

Name Type Description
sensor Sensor A sensor with viewshed enabled.
Returns:
Coverage statistics, or undefined if viewshed not available.

static Cesium.Analysis.getEclipses(entity, start, stop, stepSeconds, options)TimeIntervalCollection

Name Type Default Description
entity Entity Entity with a position property (PropagatedPositionProperty or SampledPositionProperty).
start JulianDate Start of analysis window.
stop JulianDate End of analysis window.
stepSeconds number 30 optional Coarse scan step in seconds (default 30s).
options Object optional Options.
Name Type Default Description
tolerance number 0.1 optional Bisection tolerance in seconds.
Returns:
Eclipse intervals. Each interval's data is not set; the interval itself represents a period where the entity is in shadow (umbra or penumbra).

static Cesium.Analysis.getNodeCrossings(entity, start, stop, stepSeconds, options)TimeIntervalCollection

Name Type Default Description
entity Entity Entity with a position property.
start JulianDate Start of analysis window.
stop JulianDate End of analysis window.
stepSeconds number 60 optional Scan step in seconds.
options Object optional Options.
Name Type Default Description
tolerance number 0.1 optional Bisection tolerance in seconds.
Returns:
Intervals where the entity is in the northern hemisphere. Start boundaries of each interval are ascending node times.

static Cesium.Analysis.getSensorAccesses(sensor, targetEntity, startDate, endDate, options)Promise.<Array.<TimeInterval>>

Name Type Description
sensor Sensor The sensor (or any object with containsPoint/hasAccess).
targetEntity Entity The target entity.
startDate JulianDate Start of analysis window.
endDate JulianDate End of analysis window.
options object optional Options.
Name Type Default Description
stepSize number 60 optional Time step in seconds for coarse sweep.
highResolution boolean false optional Use binary search refinement at boundaries.
bodyOcclusion boolean true optional Include body occlusion checks.
terrainOcclusion boolean false optional Include terrain occlusion checks (expensive).
ellipsoid Ellipsoid Ellipsoid.WGS84 optional Ellipsoid for body occlusion.
Returns:
Access windows.

static Cesium.Analysis.getVisibleEntities(sensor, entities, time, options)Array.<Entity>

Name Type Description
sensor Sensor The sensor.
entities EntityCollection | Array.<Entity> Entities to check.
time JulianDate Time to evaluate.
options object optional Options.
Name Type Default Description
bodyOcclusion boolean true optional Check body occlusion.
terrainOcclusion boolean false optional Check terrain occlusion (requires viewshed).
Returns:
Visible entities.

static Cesium.Analysis.intersectRegions(regions)object

Name Type Description
regions object repeatable Child regions.
Returns:
Composite region descriptor.

static Cesium.Analysis.predictGroundStationAosLos(options)Promise.<object>

Predicts the next AOS/LOS pair for a ground station from sampled states.
Name Type Description
options object Access request `{ states, groundStations, stationId, accessOptions?, pluginOptions? }`.
Returns:
AOS/LOS summary.

static Cesium.Analysis.queryEntitiesInRegion(entityCollection, region, time, context)object

Name Type Description
entityCollection EntityCollection | Array.<Entity> | Array.<object> Entity collection or array.
region object Region descriptor.
time JulianDate Time to evaluate positions.
context object optional Evaluation context. For sensor-like regions, set `context.sensorAccess = true` to query by `hasAccess()` instead of pure containment.
Returns:
Query results with `entities`, `indices`, and `mask`.

static Cesium.Analysis.raDec2AzEl(raDeg, decDeg, latDeg, lonDeg, julianDate, useNoonEpoch)Object

Converts right ascension/declination to azimuth/elevation, matching Vallado's "algorithm 28": LHA = LST - RA el = asin( sin(lat)*sin(dec) + cos(lat)*cos(dec)*cos(LHA) ) az = atan2( -sin(LHA)*cos(dec)/cos(el), ( sin(dec)-sin(el)*sin(lat) ) / (cos(el)*cos(lat)) )
Name Type Default Description
raDeg number Right ascension [degrees].
decDeg number Declination [degrees].
latDeg number WGS84 latitude [degrees].
lonDeg number WGS84 longitude [degrees], east positive.
julianDate Object UT1-based Julian Date object.
useNoonEpoch boolean true optional Use Vallado's noon-based GMST offsets if true.
Returns:
Azimuth [0..360), Elevation [−90..90].

static Cesium.Analysis.registerAccessPlugin(plugin)

Name Type Description
plugin object Object implementing computeAccesses(sensor, targetEntity, start, end, options).

static Cesium.Analysis.removeAccessLines(viewer, id)void

Name Type Description
viewer Object The viewer instance.
id string The id of the access line group to remove.
Returns:

static Cesium.Analysis.scheduleGroundStationContacts(options)Promise.<object>

Runs deterministic greedy ground-station contact scheduling.
Name Type Description
options object Scheduling request `{ windows?, states?, groundStations, stationId?, stationIds?, accessOptions?, pluginOptions? }`.
Returns:
Scheduled contacts plus equivalent `TimeInterval` records.

static Cesium.Analysis.scoreTrajectoryExposure(positions, sensors, times, options)Object

Name Type Description
positions Array.<Cartesian3> Trajectory positions in ECI (meters).
sensors Array.<Sensor> Array of sensors to check against.
times Array.<JulianDate> Corresponding times for each position.
options Object optional Options.
Name Type Default Description
bodyOcclusion boolean true optional Check Earth body occlusion.
terrainOcclusion boolean false optional Check terrain occlusion.
Returns:
Exposure score with totalTimeInFOV, totalPoints, exposureFraction, maxContinuousExposure, and exposureWindows.

static Cesium.Analysis.subtractRegions(left, right)object

Name Type Description
left object Base region.
right object Region to subtract from the base.
Returns:
Composite region descriptor.

static Cesium.Analysis.testPointInRegion(region, point, context)boolean

Name Type Description
region object Region descriptor.
point Cartesian3 | Cartographic Point to test.
context object optional Evaluation context. For sensor-like regions, set `context.sensorAccess = true` to use `hasAccess()` instead of pure geometric containment.
Returns:
True if the point is inside the region.

static Cesium.Analysis.testRegionsIntersect(leftRegion, rightRegion, context)boolean

Name Type Description
leftRegion object Left region descriptor.
rightRegion object Right region descriptor.
context object optional Evaluation context.
Returns:
True if the regions intersect.

static Cesium.Analysis.unionRegions(regions)object

Name Type Description
regions object repeatable Child regions.
Returns:
Composite region descriptor.
Need help? The fastest way to get answers is from the community and team on the Cesium Forum.