Upload a Walk video for processing using DroneDeploy's Public API

Have more questions? Submit a request

This guide shows how to create a Walk through DroneDeploy’s public API by providing a video file(s) and some additional metadata. This assumes you’ve already followed the getting started guide and have an API key, a project ID (folder_id), and a level ID (group_id).

 

1. Create a “Plan” 

Plan objects in dronedeploy act like containers for flight / walks and are needed before an image transfer can be created.

Start by creating a plan object using the plans API: 

The “folder ID” is the project ID that the customer can get from the project URL. e.g. “6296d9752b06e59b2ec8b511” from https://www.dronedeploy.com/app2/sites/6296d9752b06e59b2ec8b511/maps/653d62a11c65c82253ff0602

 

POST /v2/plans

curl -H "Content-Type: application/json" -X POST \

 "https://public-api.dronedeploy.com/v2/plans?api_key=YOUR_API_KEY" \

 -d @body.json 

 

Example Request

  {

    "name": "Walkthrough Test",

    "folder_id": "657a26a8499e93d9d3cad46c",

    "group_ids": ["657a26a5969e93d9234ca34a"],

    "record_type": "walkthrough_plan",

    "geometry": [

      {

        "lat": 37.79863442080421,

        "lng": -122.48166665413724

      },

      {

        "lat": 37.79903150160716,

        "lng": -122.47561239556711

      },

      {

        "lat": 37.79396383401936,

        "lng": -122.47477484991511

      },

      {

        "lat": 37.794635130856896,

        "lng": -122.48265974398176

      }

    ],

    "workflow": {

      "job_type": "walkthrough",

      "walkthrough": {

        "capture_parameters": {

          "known_locations": [

            {

              "lat": 37.79419180839349,

              "lng": -122.48045715015901,

              "timestamp": "00:00:00"

            },

            {

              "lat": 37.80325489453073,

              "lng": -122.4761911848438,

              "timestamp": "00:30:00"

            }

          ]

        }

      }

    }

  }

 

Request body fields

NOTE: We guess you are likely going to have knowledge of the drawing’s start and end points. Those would be the known locations.

 

Key Example value Description
folder_id 657a26a8499e93d9d3cad46c ID of the Project where the Walkthrough will be uploaded
group_ids [“657a26a5969e93d9234ca34a”] ID of the Level where the Walkthrough will be uploaded (optional). If none is given, the Walkthrough will be on the exterior. 
geometry

37.79863442080421, -122.48166665413724 

37.79903150160716, -122.47561239556711

37.79396383401936, -122.47477484991511 

37.79463513085689, -122.48265974398176

Bounding box of the drawing as 4 coordinates (top left, top right, bottom right, bottom left)

These can be in drawing CRS e.g. meters

known_locations[0] 37.798710055407426, -122.47872327941738

Start location of Walkthrough

(vs geometry)

known_locations[0].timestamp 00:00:00 Timestamp in the video file corresponding to the start location
known_locations[1] 37.7949565947883, -122.48097268773988

End location of Walkthrough

(vs geometry)

known_locations[1].timestamp 00:30:00 Timestamp in the video file corresponding to the end location (HH:MM:SS)

 

For more information on the Plans API see docs here.

 

2. Create an “Image Transfer” 

The Image Transfer object is the way API clients can indicate which source imagery should be used for a given plan. Once an image transfer object is created, the indicated URL is fetched and the photogrammetry process begins.

We support ".insv" and ".mp4" files for Walkthroughs.  If providing multiple .insv files, zip them into one archive and specify the location of the zip in the location parameter of the request body. If a zip archive is supplied, the archive will be unzipped before processing.

For more information on the ImageTransfer API see docs here

POST: /v2/image_transfer

curl -H "Content-Type: application/json" -X POST \ 

  "https://public-api.dronedeploy.com/v2/image_transfer?api_key=YOUR_API_KEY" \ 

  -d @body.json

{

  "transport": {

    "type": "https"

  },

  "inputs": [

    {

      "location": "https://YOUR_DOMAIN/YOUR_ZIP_FILE.zip", 

      "type": "walkthrough_source_video"

    }

  ], 

  "plan_id": "6622b808ad6b365d62563544"

}

Request body fields

Key Example value Description
plan_id 6622b808ad6b365d62563544 ID of the Plan created by the first API call
inputs[0].location https://YOUR_DOMAIN/YOUR_ZIP_FILE.zip a URL pointing to the video file (mp4) or zip  of insv files to use for the Walkthrough

Articles in this section

Was this article helpful?
0 out of 0 found this helpful