A position property that interpolates on demand from a static Float64Array
of ephemeris state vectors. Designed for OEM (Orbit Ephemeris Message) data
where positions (and optionally velocities) are stored at discrete time steps.
For uniform-step data, index lookup is O(1): `index = (time - startEpoch) / stepSize`.
For non-uniform step, binary search with temporal coherence cache (O(1) amortized
for sequential animation playback).
Supports Hermite interpolation when velocity data is present (stateVectorSize >= 6)
and linear interpolation for position-only data (stateVectorSize = 3).
Implements the full
PositionProperty interface so that
`viewer.trackedEntity` works correctly.
| Name | Type | Description | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
Options.
|
Members
Number of ephemeris samples.
Step size in seconds (0 = non-uniform).
Methods
Compares this property to the provided property.
| Name | Type | Description |
|---|---|---|
other |
PositionProperty | optional The other property. |
Returns:
True if the properties are equal.
getValue(time, result) → Cartesian3|undefined
Gets the position at the provided time in the FIXED frame.
| Name | Type | Description |
|---|---|---|
time |
JulianDate | The time. |
result |
Cartesian3 | optional The object to store the value. |
Returns:
The position, or undefined if out of range.
getValueInReferenceFrame(time, referenceFrame, result) → Cartesian3|undefined
Gets the position at the provided time in the provided reference frame.
| Name | Type | Description |
|---|---|---|
time |
JulianDate | The time. |
referenceFrame |
ReferenceFrame | The desired reference frame. |
result |
Cartesian3 | optional The object to store the value. |
Returns:
The position, or undefined if out of range.