SDK and utilities for the Via API
Project description
Volant Via SDK
SDK and utilities for the Via API
Installation
Run pip install volant-via-sdk
Basic Usage
import volant_via_sdk
credentials = volant_via_sdk.Credentials(username="username", password="password")
client = volant_via_sdk.Client(credentials=credentials)
chart_georeference = client.cost_datasets.get_chart_georeference("bath")
Further Information
Auth
An authentication token is automatically retrieved when any request is made with the credentials provided when instantiating the client, no manual authentication is required.
Cost Datasets Examples
From GeoTiff
Creating a Cost Dataset using a DEM. This example will produce a cost field that favours flight in area of low terrain elevation.
import os
import rasterio
from volant_via_sdk import Client, Credentials
from volant_via_sdk.services.cost_datasets import Georeference
# Open a GeoTiff (Stored locally as "example.tif")
# An example tif could be obtained from services such as OpenTopography:
# https://portal.opentopography.org/API/globaldem?demtype=NASADEM&south=51.33&north=51.42&west=-2.45&east=-2.28&outputFormat=GTiff&API_Key=demoapikeyot2022
with rasterio.open("./example.tif") as src:
example_raster_data = src.read(1)
src_georeference = Georeference(crs=src.crs, shape=[src.height, src.width], affine_transform=src.transform)
# Setup the client using credentials
client = Client(credentials=Credentials(username=os.environ["USERNAME"], password=os.environ["PASSWORD"]))
# Get the georeference for the desired chart
chart_georeference = client.cost_datasets.get_chart_georeference("bath")
# Reproject the downloaded raster data to fit the chart bounds and projection
reprojected_example_raster = client.cost_datasets.reproject_to_chart(
src_raster=example_raster_data, src_georeference=src_georeference, chart_georeference=chart_georeference
)
# Cost Datasets cannot contain any negative values!
reprojected_example_raster[reprojected_example_raster < 0] = 0
# Upload the raster as a Cost Dataset
persisted_cost_dataset = client.cost_datasets.create_cost_dataset_from_raster_data(
raster=reprojected_example_raster, georeference=chart_georeference, name="Example Cost Dataset", chart_id="bath"
)
From Arbitrary Data
Creating a cost dataset from an arbitrary grid of data.
import os
import numpy as np
from volant_via_sdk import Client, Credentials
# Setup the client using credentials
client = Client(credentials=Credentials(username=os.environ["USERNAME"], password=os.environ["PASSWORD"]))
# Get the georeference for the desired chart
chart_georeference = client.cost_datasets.get_chart_georeference("bath")
# Build a grid of data from the chart's shape (no reprojection required as it will already match)
raster_grid = np.zeros(chart_georeference.shape, dtype=np.float32)
# Create a stripe across the north side and left side. Note that Cost Datasets expect a North-Down representation such
# that (0, 0) is the NW corner.
raster_grid[20:30, :] = 1
raster_grid[:, 20:30] = 2
client.cost_datasets.create_cost_dataset_from_raster_data(
raster=raster_grid, georeference=chart_georeference, name="Example Cost Dataset", chart_id="bath"
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file volant_via_sdk-1.5073.1.tar.gz.
File metadata
- Download URL: volant_via_sdk-1.5073.1.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1fe5d777e74b4ad4efea71c0bbedecb94fcece370e07df7a3d200aded7b25a6
|
|
| MD5 |
30457993c8b35033eeda0ef3ba13ffa2
|
|
| BLAKE2b-256 |
185f0f665794038514407c909e8179b258e6cb05fd2b511c42a7bd73ac156be4
|
Provenance
The following attestation bundles were made for volant_via_sdk-1.5073.1.tar.gz:
Publisher:
on_release_published.yml on VolantAutonomy/via
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
volant_via_sdk-1.5073.1.tar.gz -
Subject digest:
d1fe5d777e74b4ad4efea71c0bbedecb94fcece370e07df7a3d200aded7b25a6 - Sigstore transparency entry: 1568833878
- Sigstore integration time:
-
Permalink:
VolantAutonomy/via@1a081c984911053211170a24a6985300eac79f56 -
Branch / Tag:
refs/tags/1.5073.1 - Owner: https://github.com/VolantAutonomy
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
on_release_published.yml@1a081c984911053211170a24a6985300eac79f56 -
Trigger Event:
release
-
Statement type:
File details
Details for the file volant_via_sdk-1.5073.1-py3-none-any.whl.
File metadata
- Download URL: volant_via_sdk-1.5073.1-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99556ee43cb4bf0adf7914d7c8d0802e7547ea520038d25b91fd9fb68ecc4bd4
|
|
| MD5 |
f43f960aa499f6c6e52b9ac1a9d77149
|
|
| BLAKE2b-256 |
1d43d42a1b6296e8c02212bf913abadb7ae6d50daaaa22f230eaf77ca4eb0537
|
Provenance
The following attestation bundles were made for volant_via_sdk-1.5073.1-py3-none-any.whl:
Publisher:
on_release_published.yml on VolantAutonomy/via
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
volant_via_sdk-1.5073.1-py3-none-any.whl -
Subject digest:
99556ee43cb4bf0adf7914d7c8d0802e7547ea520038d25b91fd9fb68ecc4bd4 - Sigstore transparency entry: 1568833914
- Sigstore integration time:
-
Permalink:
VolantAutonomy/via@1a081c984911053211170a24a6985300eac79f56 -
Branch / Tag:
refs/tags/1.5073.1 - Owner: https://github.com/VolantAutonomy
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
on_release_published.yml@1a081c984911053211170a24a6985300eac79f56 -
Trigger Event:
release
-
Statement type: