https://github.com/antarctica/bas-air-unit-network-dataset

Management of the network of routes and waypoints used by the British Antarctic Survey (BAS) Air Unit.

https://github.com/antarctica/bas-air-unit-network-dataset

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 1 committers (100.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.8%) to scientific vocabulary

Keywords

bas-magic geospatial geospatial-data geospatial-processing utility
Last synced: 5 months ago · JSON representation

Repository

Management of the network of routes and waypoints used by the British Antarctic Survey (BAS) Air Unit.

Basic Info
  • Host: GitHub
  • Owner: antarctica
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 2.91 MB
Statistics
  • Stars: 0
  • Watchers: 4
  • Forks: 2
  • Open Issues: 0
  • Releases: 0
Topics
bas-magic geospatial geospatial-data geospatial-processing utility
Created over 3 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog License

README.md

BAS Air Unit Network Dataset

Utility to process routes and waypoints used by the British Antarctic Survey (BAS) Air Unit.

Overview

Note: This project is focused on needs within the British Antarctic Survey. It has been open-sourced in case it is of interest to others. Some resources, indicated with a '🛡' or '🔒' symbol, can only be accessed by BAS staff or project members respectively. Contact the Project Maintainer to request access.

Purpose

To support the BAS Air Unit manage their network of routes and waypoints such that:

  • information is internally consistent, through defined structures and constraints
  • information is interoperable between different systems, through the use of open/standard formats
  • information is well described and sharable with other teams, through distribution as datasets (through the Ops Data Store 🛡)

Background

This project was developed in response to discussions and requests with the BAS Air Unit to review and simplify the process they used to manage their network of waypoints, and to ensure its future sustainability.

BAS staff can read more about this background in this GitLab issue 🛡.

Limitations

This service has a number of limitations, including:

  • the Air Unit Network utility does not support multiple, or additional, networks
  • the Air Unit Network utility does not require route names to follow the required naming convention
  • the Air Unit Network utility does not require waypoint identifiers to be unique across all waypoints
  • the Air Unit Network utility does not require waypoint comments to follow the required GPX comment structure
  • the Air Unit Network utility does not require waypoints within imported routes to be listed as standalone waypoints
  • comments for waypoints use an overly complex structure to support an ad-hoc serialisation format within GPX files
  • Unicode characters (such as emoji) are unsupported in route/waypoint names, comments, etc.

Some or all of these limitations may be addressed in future improvements to this project. See the project issue tracker 🛡 for details.

Install

$ python -m pip install bas-air-unit-network-dataset

Usage

Loading features from GPX files

If loading waypoints and routes from a GPX file, these requirements must be met in addition to the constraints from the Information Model:

  • the GPX comment field should consist of 8 elements, in the order below, separated with a vertical bar (|):
    • name: a full, or formal name for the waypoint (maximum 17 characters)
    • co-located with: name of a related depot, instrument and/or other feature - use N/A if not applicable
    • last accessed at: date waypoint was last accessed in the form YYYY-MM-DD - use N/A if unvisited
    • last accessed by: pilot that that last accessed waypoint - use N/A if unvisited
    • fuel: amount of fuel at a waypoint, as a positive whole number - use N/A if not applicable
    • elevation_ft: elevation at waypoint, as a positive whole number - use N/A if not applicable
    • comment: any other information - use N/A if not applicable
    • category: a grouping value - use N/A if not applicable

For example (a co-located, previously visited, waypoint with a full name, additional information and a category):

  • identifier: ALPHA
  • comment: Alpha 001 | Dog | 2014-12-24 | CW | 10 | 130 | Bring treats. | Animals

For example (a standalone, unvisited, waypoint with no full/formal name or additional information):

  • identifier: BRAVO
  • comment: N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A

Note: Only the 'name' in a comment will be included in FPL waypoints.

Creating outputs

See the tests/create_outputs.py for an example of converting a set of input waypoints and routes into output formats, creating an Output Directory, using an instance of the MainAirUnitNetwork class.

The Network class (on which the MainAirUnitNetwork class is based) includes a built-in method for loading features from a GPX file (used in the example above). To load data from other data sources, construct Waypoint and Route features directly and add to a Network object.

Output directory

When using the MainAirUnitNetwork class from this project to process waypoints and routes, an output directory similar to the example below will be created:

/path/to/output/directory ├── CSV │ ├── 00_WAYPOINTS_DDM_2023_12_03.csv │ └── 00_WAYPOINTS_DD_2023_12_03.csv ├── FPL │ ├── 00_NETWORK_2023_12_03.fpl │ ├── 01_BRAVO_TO_ALPHA.fpl │ ├── 02_BRAVO_TO_BRAVO.fpl │ └── 03_BRAVO_TO_LIMA.fpl ├── GPX │ ├── 00_NETWORK_2023_12_03.gpx └── PDF └── 00_WAYPOINTS_2023_12_03.pdf

Access control

The Air Unit Network utility does not include access control. If needed, access controls should be applied to the output directory, as is the case for the Ops Data Store 🛡 for example.

Implementation

See Implementation documentation.

Developing

See Developing documentation.

Releases

Project maintainer

British Antarctic Survey (BAS) Mapping and Geographic Information Centre (MAGIC). Contact magic@bas.ac.uk.

The project lead is @felnne.

License

Copyright (c) 2022 - 2024 UK Research and Innovation (UKRI), British Antarctic Survey (BAS).

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Owner

  • Name: British Antarctic Survey
  • Login: antarctica
  • Kind: organization
  • Email: info@bas.ac.uk
  • Location: Cambridge, UK

British Antarctic Survey (BAS) delivers world-leading interdisciplinary research in the Polar Regions

GitHub Events

Total
  • Push event: 8
  • Fork event: 1
  • Create event: 2
Last Year
  • Push event: 8
  • Fork event: 1
  • Create event: 2

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 108
  • Total Committers: 1
  • Avg Commits per committer: 108.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Felix Fennell f****e@b****k 108
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 101 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 8
  • Total maintainers: 1
pypi.org: bas-air-unit-network-dataset

Utility to process routes and waypoints used by the British Antarctic Survey (BAS) Air Unit

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 101 Last month
Rankings
Dependent packages count: 6.6%
Forks count: 23.2%
Average: 30.2%
Dependent repos count: 30.6%
Stargazers count: 32.3%
Downloads: 58.5%
Maintainers (1)
Last synced: 6 months ago

Dependencies

poetry.lock pypi
  • black 22.6.0 develop
  • mypy-extensions 0.4.3 develop
  • pathspec 0.9.0 develop
  • platformdirs 2.5.2 develop
  • tomli 2.0.1 develop
  • typing-extensions 4.3.0 develop
  • attrs 21.4.0
  • certifi 2022.6.15
  • click 8.1.3
  • click-plugins 1.1.1
  • cligj 0.7.2
  • colorama 0.4.5
  • fiona 1.8.21
  • gpxpy 1.5.0
  • lxml 4.9.1
  • munch 2.5.0
  • shapely 1.8.2
  • six 1.16.0
  • ulid-py 1.1.0
pyproject.toml pypi
  • black ^22.6.0 develop
  • Fiona ^1.8.21
  • Shapely ^1.8.2
  • click ^8.1.3
  • gpxpy ^1.5.0
  • lxml ^4.9.1
  • python ^3.9.1
  • ulid-py ^1.1.0