OneLayer
Overview
SkyPath OneLayer is the world's first smart, consolidated ride quality layer. It integrates the best global turbulence data sources into one smart layer, including:
- SkyPath Observations
- SkyPath ADS-B Vertical Rate derived turbulence
- SkyPath’s Nowcasting (with 12-hour predictions)
- EDR
- PIREPs
With real-time insights, intelligent notifications, and a user-friendly display, OneLayer enhances situational awareness and reduces workload.
SkyPath can be used in two modes: observations mode, and OneLayer mode. Observation mode includes only SkyPath Observations. OneLayer mode includes all of the layers listed above, consolidated within the OneLayer. OneLayer mode is subsequently an advanced feature, and in SkyPath’s premium subscription tier. As such, there could be some customers who subscribe to Observations mode (basic subscription), and others who subscribe to OneLayer mode (premium subscription), but they are mutually exclusive. This necessitates a feature flag to enable either Observations or OneLayer Modes.
Setup
By default, the OneLayer data fetch is disabled in the DataQuery.types
. You can change it at any time.
SkyPath.shared.dataQuery.types.set(type: .oneLayer, enabled: true)
When enabled, OneLayer will be fetched from the server every minute same as Observations. Fetched data will be stored on disk and will be available offline.
Data will be fetched for areas set in DataQuery.polygon
and DataQuery.viewport
, similar to the turbulence fetch flow.
The SkyPathDelegate.didReceiveNewOneLayer(areaType:)
delegate function will be called when the SDK has fetched new data from the server.
Query
See Query Data for the general query data approach details.
To query OneLayer you will need:
OneLayerQuery
for a configurationSkyPath.oneLayer(with:)
function to query the dataOneLayerItem
to process the result items
Example of how to query the OneLayer data:
var query = OneLayerQuery(
altRange: altRange,
resultOptions: .geoJSON,
dataHistoryTime: dataHistoryTime)
query.polygon = polygon
do {
let result = try SkyPath.shared.oneLayer(with: query).get()
let geoJSON = result.geoJSON
// Show geoJSON on the map
} catch {
print(error)
}
Each item in the result will have a list of data sources OneLayerItem.sources
.
Nowcasting
By default, OneLayerQuery
will include the current hour prediction. It can be controlled by the OneLayerQuery.nowcastEnabled
flag which is true
by default.
To include a prediction for the specific time, set the future timestamp in OneLayerQuery.ts
, no matter if it will be a rounded hour or not.
The OneLayerItem.sources
will include the DataSourceType.nowcasting
type.