NextNav’s Altitude SDK (called ZSDK) for iOS platforms generates industry leading high accuracy Altitude (Z dimension) Location data for a given 2D data location on iOS devices equipped with modern barometric pressure sensors.

The ZSDK is available as an xcframework file for integration into iOS Apps.  Access to the Altitude data from the ZSDK is enabled via the use of a Developer-KEY. A unique Developer-KEY is needed for each App bundle ID/name. 

The Host-App needs to initialize the ZSDK and then start the ZSDK by requesting Altitude data in one of 4 supported modes. The ZSDK performs the requisite actions to generate the Altitude data and provides it to the Host-App via a defined interface along with status and/or error messages. The ZSDK also supports interfaces for

The ZSDK Altitude generation modes are:

ZSDK AAR File Specification:

  • iOS Platform Support = 11, 12, & 13
  • Access and Permissions Needed
    • Location Data
    • Pressure Data
    • Storage
    • Network Access
  1. One-Time Mode
    1. Outputs Altitude data only once per request
  2. Once per Second
    1. Outputs Altitude data once per second till Host-App stops ZSDK
  3. Once per 30sec
  4. Once per minute

Altitude Data is reported in meters HAE (based on the WGS-84 geodetic system) and in HAT (Height Above Terrain)

public class NNAltitudeContext { 
    height:Double;    //HAE Height in Meters
    heightUncertainty:Double;    //HAE Height Uncertainty in Meters
    heightAboveTerrain:Double;    //HAT Height in Meters
    heightAboveTerrainUncertainty:Double;    //HAT Height Uncertainty in Meters
    floorNumber:Int;    //Floor Number if in Known Building
    floorConfidence:Double;    //Floor Confidence
    address:String;    //Address of Current Location
    addressConfidence:Double;    //Address Confidence
    statusCode:Int;    //Altitude Service Status Code
    manualBaroCal:Bool; //Indicates user assisted calibration required
    epochTimestamp:Int; // epoch timestamp of altitude data
    userPressure:Double; // User Pressure used to calculate altitude data}  

ZSDK status and error information summary :

Altitude Service Status Code

Altitude Service Error Messages

SDK Status Messages

200        Successful Assistance Data Delivery

400        General Server Failure

600        2D location is out of  Service Area

610-640 Unable to calculate Altitude Data


Phone Pressure Data is Stale

Reference Data is Stale

Phone Location Data is Stale

NN Cloud Connection Timeout

SDK Not Initialized

Invalid Mode

Location Permission Not Granted

Storage Permission Not Granted

Waiting for Phone Pressure

Waiting for Phone Location

iOS ZSDK Documentation link : https://app.box.com/s/s7s8xhqena4e38tefwu5rxnj1jnuux9p

Please contact your NextNav representative for additional information on using ZSDK in your application.

© 2016 NextNav LLC. All Rights Reserved.