pull/111/head
Piero Toffanin 2017-02-10 15:34:58 -05:00
rodzic a741d789f8
commit 27fca00c50
2 zmienionych plików z 89 dodań i 64 usunięć

Wyświetl plik

@ -1,63 +1,62 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (4.2.7.1)
activesupport (5.0.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (~> 0.7)
json (~> 1.7, >= 1.7.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
addressable (2.4.0)
autoprefixer-rails (6.4.1)
addressable (2.5.0)
public_suffix (~> 2.0, >= 2.0.2)
autoprefixer-rails (6.7.2)
execjs
backports (3.6.8)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.10.0)
coffee-script-source (1.12.2)
compass-import-once (1.0.5)
sass (>= 3.2, < 3.5)
concurrent-ruby (1.0.2)
concurrent-ruby (1.0.4)
contracts (0.13.0)
dotenv (2.1.1)
dotenv (2.2.0)
em-websocket (0.5.1)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
erubis (2.7.0)
eventmachine (1.2.1)
eventmachine (1.2.2)
execjs (2.7.0)
fast_blank (1.0.0)
fastimage (2.0.0)
fastimage (2.0.1)
addressable (~> 2)
ffi (1.9.14)
ffi (1.9.17)
haml (4.0.7)
tilt
hamster (3.0.0)
concurrent-ruby (~> 1.0)
hashie (3.4.4)
hashie (3.5.2)
http_parser.rb (0.6.0)
i18n (0.7.0)
json (1.8.3)
kramdown (1.12.0)
kramdown (1.13.2)
listen (3.0.8)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
memoist (0.15.0)
middleman (4.1.10)
middleman (4.1.14)
coffee-script (~> 2.2)
compass-import-once (= 1.0.5)
haml (>= 4.0.5)
kramdown (~> 1.2)
middleman-cli (= 4.1.10)
middleman-core (= 4.1.10)
middleman-cli (= 4.1.14)
middleman-core (= 4.1.14)
sass (>= 3.4.0, < 4.0)
middleman-autoprefixer (2.7.0)
autoprefixer-rails (>= 6.3.1, < 7.0.0)
middleman-autoprefixer (2.7.1)
autoprefixer-rails (>= 6.5.2, < 7.0.0)
middleman-core (>= 3.3.3)
middleman-cli (4.1.10)
middleman-cli (4.1.14)
thor (>= 0.17.0, < 2.0)
middleman-core (4.1.10)
activesupport (~> 4.2)
middleman-core (4.1.14)
activesupport (>= 4.2, < 5.1)
addressable (~> 2.3)
backports (~> 3.6)
bundler (~> 1.1)
@ -74,10 +73,10 @@ GEM
memoist (~> 0.14)
padrino-helpers (~> 0.13.0)
parallel
rack (>= 1.4.5, < 2.0)
rack (>= 1.4.5, < 3)
sass (>= 3.4)
servolux
tilt (~> 1.4.1)
tilt (~> 2.0)
uglifier (~> 3.0)
middleman-livereload (3.4.6)
em-websocket (~> 0.5.1)
@ -89,33 +88,34 @@ GEM
middleman-syntax (3.0.0)
middleman-core (>= 3.2)
rouge (~> 2.0)
minitest (5.9.0)
padrino-helpers (0.13.3.1)
minitest (5.10.1)
padrino-helpers (0.13.3.3)
i18n (~> 0.6, >= 0.6.7)
padrino-support (= 0.13.3.1)
padrino-support (= 0.13.3.3)
tilt (>= 1.4.1, < 3)
padrino-support (0.13.3.1)
padrino-support (0.13.3.3)
activesupport (>= 3.1)
parallel (1.9.0)
rack (1.6.4)
parallel (1.10.0)
public_suffix (2.0.5)
rack (2.0.1)
rack-livereload (0.3.16)
rack
rb-fsevent (0.9.7)
rb-inotify (0.9.7)
rb-fsevent (0.9.8)
rb-inotify (0.9.8)
ffi (>= 0.5.0)
redcarpet (3.3.4)
rouge (2.0.5)
sass (3.4.22)
rouge (2.0.7)
sass (3.4.23)
servolux (0.12.0)
sprockets (3.7.0)
sprockets (3.7.1)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
thor (0.19.1)
thor (0.19.4)
thread_safe (0.3.5)
tilt (1.4.1)
tilt (2.0.6)
tzinfo (1.2.2)
thread_safe (~> 0.1)
uglifier (3.0.2)
uglifier (3.0.4)
execjs (>= 0.3.0, < 3)
PLATFORMS
@ -131,4 +131,4 @@ DEPENDENCIES
rouge (~> 2.0.5)
BUNDLED WITH
1.13.6
1.14.3

Wyświetl plik

@ -2,7 +2,7 @@
title: WebODM Documentation
language_tabs:
- json
- code
toc_footers:
- <a href='https://github.com/OpenDroneMap/WebODM'>WebODM on GitHub</a>
@ -17,31 +17,58 @@ search: true
Developers can leverage this API to extend the functionality of [WebODM](https://github.com/OpenDroneMap/WebODM) or integrate it with existing software like [QGIS](http://www.qgis.org/) or [AutoCAD](http://www.autodesk.com/products/autocad/overview).
# Authentication
# Quickstart
To access the API, you need to provide a valid username and password. You can create users from WebODM's Administration page.
## How To Process Images
If authentication is successful, you will be issued a token. For all API calls, always include the following parameter (TODO: how?):
We'll explore how to process some aerial images and retrieve the results. To do that we'll need to:
Parameter | Required | Default | Description
--------- | -------- | ------- | -----------
token | * | "" | Authentication Token
- Authenticate
- Create a [Project](#project). Projects are a way to group together related [Task](#task) items
- Upload some images to create a [Task](#task)
- Check for [Task](#task) progress. Photogrammetry can take a long time, so results could take a few minutes to a few hours to be processed.
- Download an orthophoto from a successful [Task](#task)
# Reference
## Authentication
> Get authentication token:
```python
# TODO
```bash
curl -X POST -d "username=testuser&password=testpass" http://localhost:8000/api/token-auth/
{"token":"eyJ0eXAiO..."}
```
# Processing Images
> Use authentication token:
Images are processed by creating a [Task](#task). A [Project](#project) is a way to group together related [Task](#task) items. A [Project](#project) always needs to exist before a [Task](#task) can be created.
```bash
curl -H "Authorization: JWT <your_token>" http://localhost:8000/api/projects/
# Project
{"count":13, ...}
```
## Definition
`POST /api/token-auth/`
> Example:
Field | Type | Description
----- | ---- | -----------
username | string | Username
password | string | Password
To access the API, you need to provide a valid username and password. You can create users from WebODM's Administration page.
If authentication is successful, you will be issued a token. All API calls should include the following header:
Header |
------ |
Authorization: JWT `your_token` |
The token expires after a set amount of time. The expiration time is dependent on WebODM's settings. You will need to request another token when a token expires.
## Project
> Example project:
```json
{
@ -68,7 +95,7 @@ name | string | Name of the project
description | string | A more in-depth description
## Create a project
### Create a project
`POST /api/projects/`
@ -77,9 +104,9 @@ Parameter | Required | Default | Description
name | * | "" | Name of the project
description | | "" | A more in-depth description
## Get list of projects
### Get list of projects
> Example:
> Project list:
```json
{
@ -106,26 +133,24 @@ description | | "" | A more in-depth description
If `N` is omitted, defaults to 1.
### Filtering the list
#### Filtering
`GET /api/projects/?<field>=<value>`
Where field is one of: `id`, `name`, `description`, `created_at`. Only equality can be used, e.g. `id=3`.
Where field is one of: `id`, `name`, `description`, `created_at`.
### Sorting the list
#### Sorting
`GET /api/projects/?ordering=<field>`
Where field is one of: `id`, `name`, `description`, `created_at`. Results are sorted in ascending order. Placing a minus `-` sign, e.g. `-created_at` sorts in descending order.
### Pagination
#### Pagination
The project list is paginated. Items are stored in `results`. `count` is the total number of items. `next` and `previous` are links to retrieve the next and previous page of results, or null. Each page contains 10 items.
The project list is paginated. Items are stored in `results`. `count` is the total number of items. `next` and `previous` are links to retrieve the next and previous page of results, or null.
<aside class="notice">Only the projects visible to the current user will be displayed.</aside>
# Task
## Definition
## Task
TODO