Loading...
Developer 2018-08-14T07:22:50+00:00

PORTAL

Developer

Welcome to the Hangar developer portal. Hangar is developing the world’s first internet scale, robotics-as-a-system platform, and we are opening up our ecosystem to innovators like you. We believe autonomous robots (drones) are reshaping the world and that our a global, real-time interface for drones is the key to accelerating this trend at scale.

Immediately practical applications range from digitizing the world with ever improving sensor quality and placement (precision capture) to transforming the resulting data sets into useful insights and viewing experiences for industry. Future applications will ultimately reach beyond digitizing the world through areas of impact including agriculture, search and rescue, delivery, taxi service, and resource mining.

The Hangar RaaS Platform is composed of many core components that enable an end-to-end workflow for autonomous robotics:

ORDER → PLAN → CAPTURE → INGEST → TRANSFORM → VIEW → EXPORT → ARCHIVE


Developing applications on top of the Hangar RaaS Platform is now possible, but this is just the beginning. Each core component of the Hangar RaaS Platform was purpose-built to be extended by developers. This means you can expand the Hangar RaaS Platform to support the requirements of your specific application or license your technology as part of the Hangar RaaS Platform to our other partners and customers. Applications can be created with both client-side and server-side functionality, depending on the relevant workflow aspects.

CLIENT

Client-side applications typically integrate with the Order, Plan, Capture, Ingest and View workflow aspects. Client-side code is developed using the Hangar Web SDK and Hangar Mobile SDK.

SERVER

Server-side applications typically integrate with the Transform, Export and Archive workflow aspects. Server-side code is developed to execute directly on Hangar’s hosted platform, or you can host your own services that integrate directly with the Hangar RaaS Platform through web hooks.

Ready to get started? It is possible to extend the Order, Capture, Transform, and View workflow aspects right now:

ORDER

Learn how to integrate with the Order service to compliment your product with an existing Hangar product type.

CAPTURE

Learn how to use Hangar Mobile SDK to collect data for a new type of product or collection of products.

TRANSFORM

Learn how to integrate with the Transform service to produce a new type of product or insight.

VIEW

Learn how to use the Hangar Web SDK to create a unique viewing experience for an existing Hangar product type.

AUTHENTICATION

Learn how to authenticate your product or service.

Platform: Authentication & Authorization


The Hangar platform provides an Auth Service for handling all user/client Authentication and Authorization requests. This is made available through the standard OAuth 2.0 Protocol, including OpenID Connect identity. Embracing standards allows for easier integration with 3rd-party systems and provides support through a rich library ecosystem.

OPENID CONNECT

OpenID Connect is an extension to the popular OAuth 2.0 specification which provides the addition of user identity in the form of id_tokens. While standard OAuth 2.0 access_tokens will be used for general API access, clients may request the id_token which provides standard profile information about the authenticated user.

SCOPES & AUTHORIZATION

When an API client requests authorization, access tokens are scoped to a particular organization within the Hangar platform. Access tokens permit interacting only with the given organization’s orders, projects, assets, etc…. If an API client is not pre-approved (for system-to-system calls), an active user of the requested organization must be present to authenticate with the Hangar Platform and authorize the request.

USER AUTHENTICATION

User authentication is handled entirely by the auth service and interaction with the client application is only available through standard OAuth redirects. This provides the user with a consistent and predictable login flow they can trust, and does not require entering user credentials directly into any client application.

Password Sign-In

Users are able to authenticate utilizing a standard email/password login flow. Passwords are salted and hashed utilizing bcrypt, following industry best practices to protect our user’s identity.

Social Sign-In

The Hangar Auth Service also has support for standard social sign-on options. At this time, Google Authentication is available.

HEADLESS API CLIENTS

The client_credentials grant type is supported for headless systems and api clients which do not have an active user. This authorization scheme can be used to acquire an access token which may be used for system-to-system API calls.

API Clients must be registered and pre-approved for a given organization before the client_credentials grant will be allowed.

Go To Top

Web: Order


Allow your users to order Hangar products via the Order Request API.

HANGAR PRODUCTS

ORTHOMOSAICS

Click for sample

IMAGE SERIES

Click for sample

360S

Click for sample

ORDER REQUEST DETAILS

We will need to collect some information from the user to set up an order request.

    • 1. Basic contact information

 

    • 2. A single location point that will be used as a reference. This does not need to be the exact location for any of the included products.

 

    • 3. A list of products to be flown. Optionally, each product can specify geojson information: polygon for Orthomosaics or Image Series, a single latitude/longitude point for a 360 Image.

 

    4. Requested flight date. If the user would like to have this request recur, they can supply a frequency, occurrence limit or end date.

WHAT HAPPENS TO THE REQUEST?

The request will be sent to our sales team. At this point, the sales team will contact the customer to discuss pricing and to collect more detailed information to begin mission planning. Once the sale is completed, the order will be sent to dispatch.

The Order Request API can be used to retrieve status information about a particular order request or all order requests for your organization.

API – REFERENCE

List Orders: GET /orders
Lists the order history for the logged in user, provides inputs for various filters: by specific org, by date, by type.

View Order: GET /orders/{ORDER_ID}
View details for the given order id.

Create Order: POST /orders
Creates a new order, generating assets and licenses accordingly.

Cancel Order: DEL /orders/{ORDER_ID}
Attempts to cancel a pending order, removing associated assets/licenses, etc.

Go To Top

Mobile: Capture

OVERVIEW

Hangar currently uses a suite of mobile applications, including Autopilot, Hangar 360, and the new Hangar App to plan, capture, and ingest data into the Hangar GRID. These applications are currently optimized for products in the AEC, inspection, commercial real-estate, and consumer drone markets, and they were all built with the Hangar Mobile SDK which supports many other use cases. The foundation of the Hangar Mobile SDK is the Mission Framework, which in includes the Mission Format and the Mission Execution Engine. The Mission Format is a flexible, open specification that allows developers to describe Missions in a vendor agnostic, composable, and asset-centric way. This means that Missions are primarily concerned with what assets are produced and only secondarily concerned with how those assets are produced. Placing the emphasis on the what over the how allows for Missions to be tightly integrated into the Order and Ingest components of the GRID.

Hangar 360 serves as an open source, reference implementation for the Hangar Mobile SDK, and it is possible to create an app of similar complexity with just a few lines of code:

Full documentation for the Hangar Mobile SDK will be released to production soon, but if you would like to get started today contact us to request early access to the beta.

GETTING STARTED GUIDE OUTLINE

Preparing for Install

Installing Hangar for iOS

  • Cocoapods Configuration
  • Bitcode Unsupported
  • Choosing Vendor Support
  • Example Podfile

Starting Hangar

Hangar Delegate

Vehicles

  • Enumerating Connected Vehicles
  • Responding to new Connections/Disconnections
  • Working with Vehicle Telemetry
  • Remote Controllers
  • Batteries
  • Payloads
  • Issuing Commands
  • Realtime Control

The Flight Dashboard

  • Creating the Dashboard
  • User Interface
  • Status Bar
  • Mission Execution Bar
  • Map View
  • Video Previewer
  • Overriding Mission Selection Event
  • Overriding Custom App Button Event

Missions

  • Creating a Mission
  • Mission JSON
  • Mission Generators
  • Starting and Stopping Missions

Hangar Sample App

API Reference

Hardware Vendors

  • Creating a new Hangar Vehicle Integration/Support Package (HVI? HSP?)
  • HangarVendorManager
  • HangarVehicle
  • HangarCommands
  • HangarPayloads
  • HangarCamera
  • HangarGimbal
  • HangarVendorRemoteController
  • HangarVendorBattery

Go To Top

Transform Overview


We designed Hangar Transforms for organizations that are looking to do more with the Hangar Platform. Transforms provides a powerful API and other tools to make changes to an order as the data is being processed.

You can tailor your integration in various ways, including:

  • Specifying how drone based products are constructed from raw inputs to intermediate and final outputs
  • Supporting different types of drone based products to your organization or your customers

You can integrate your transform to existing Hangar products or create entirely new products.

TRANSFORM USE CASES

Transforms is a flexible and unique combination of features designed to support a wide range of uses:

  • Dynamic image resizing
    • Generate different image sizes and variations directly from the image URL
    • No need to store and index multiple image variations for customer delivery
    • Create perfect responsive visual experiences across devices
  • Image analysis services
    • Feed images into custom machine learning algorithms
    • Utilize object recognition to identify the content of an image
    • Anomaly detection and classification
  • Custom photogrammetry mapping

Hangar allows external transforms to be run on Hangar data through the use of a webhooks.

Go To Top

Web: Deliver


This set of APIs is designed to allow 3rd party developers access to aerial image data captured and stored using the Hangar Platform. The most common use cases for this is developing Viewers and enabling Machine Learning systems.

CLIENT SIDE SDK

Client Side SDKs are available to speed up the development of displaying complex aerial data. These SDKs include viewers for the following data types:

  • Interactive 360 Images
  • Displaying Orthomasic on top on a Map
  • High Resolution Image Series
  • Streaming Videos

Client Side SDKs support:

  • AngularJS
  • Ember
  • Knockout

EXAMPLE

A simple 360 Image Viewer is an example of using the Deliver APIs. Using the Deliver APIs a developer can make a viewer that will display a high quality interactive 360 Image and display the associated metadata stored with the image. In this example the developer used the API to do the following:

View Example: https://world.hangar.com/three-sixty/o04877q0

ORDERS → PRODUCTS → ASSETS

A Hangar order will have some combination of Video, Single Images, Orthomosaics, Image Series and 360 products. Our more complex products contain multiple assets that can be utilized by different viewers.

ORTHOMOSAIC IMAGE SERIES 360 IMAGE VIDEO IMAGE CAPTURE
Raw Images Raw Images Raw Images Video File Raw Image
Stitched Orthomosaic Image Tiled Images Stitched 360 Image
Compressed Orthomosaic Image Resized 360 Image
Tiled Orthomosaic Image Tiled 360 Image
Elevation Image
Tiled Elevation Image
Tiled Depth Image
Point Cloud Data

API REFERENCE

The API can be used to get filtered lists of orders, products and assets. The asset information will contain links to the publicly accessible storage location of the media files.

GET ASSET BY PRODUCT ID

Gets a list of Assets for a specified Product ID. Allows the developer to have access to Raw Images, Transformed Output, or Tile Sets.

GET api/v1/product/{productId}/assets

PARAMETERS
organization
string
Optional
organization key filter
assetType
enum
Optional
asset type filter
assetMode
enum
Optional
read, write or full history of asset versions
RETURNS 200
data
list
List of asset objects

GET ASSET OBJECT

Allows a develop to get a list of objects for a specific asset. Many asset types have multiple object associated with them. This call will also return metadata stored with the objects such as: Lat/Long, Altitude, Camera Sensor, etc.

GET api/v1/assets

PARAMETERS
organization
string
Optional
organization key filter
beforeDate
string
Optional
date string compared against the asset creation date
afterDate
string
Optional
date string compared against the asset creation date
originOrder
string
Optional
origin order key
status
enum
Optional
asset status filter
type
enum
Optional
asset type filter
mode
enum
Optional
read, write or full history of asset versions
limit
number
Optional
Will have a default value
offset
number
Optional
RETURNS 200
data
list
List of asset objects
count
number
Total number of objects that match the search criteria
links
object
Pagination links

Go To Top

Platform: Authentication & Authorization
OpenID Connect
Scopes & Authorization
User Authentication
Headless API Clients

Web: Order
Hangar Products
Order Request Details
What Happens to the Request?
API – Reference

Mobile: Capture
Overview
Getting Started Guide Outline

Transform Overview
Transform use cases

Web: Deliver
Client Side SDK
Example
Orders → Products → Assets
API Reference
Get Asset By Product ID
Get Asset Object