Categorygithub.com/skypies/flightdb
modulepackage
0.1.6
Repository: https://github.com/skypies/flightdb.git
Documentation: pkg.go.dev

# README

flightdb - a database for flight tracks

Prerequisites:

Download and run things on http://localhost:8080/:

go get github.com/skypies/flightdb/app/frontend
go run $GOPATH/github.com/skypies/flightdb/app/frontend/*.go

To deploy everything into a Google Cloud project:

gcloud app deploy --project=serfr0-fdb app/frontend --version=one
gcloud app deploy --project=serfr0-fdb app/backend  --version=one

gcloud app deploy --project=serfr0-fdb app/dispatch.yaml
gcloud app deploy --project=serfr0-fdb app/queues.yaml
gcloud app deploy --project=serfr0-fdb app/cron.yaml
gcloud app deploy --project=serfr0-fdb app/index.yaml

If you want it to accumulate realtime flight track data, you'll also want to:

  • deploy github.com/skypies/pi/skypi onto some Raspberry Pi receivers
  • deploy github.com/skypies/pi/consolidator into a VM inside your project

The skypies will post bundles of received ADSB (and perhaps MLAT) messages up to Google PubSub, every second or so. The consolidator will read those bundles, group them by airframe, and add them into the database.

If you have CSV dumps of historical flight track data (perhaps from the FAA), you can import it using the code in github.com/skypies/flightdb/app/backend/foia.go.

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Hacky approach to config, to keep secrets out of github; population of this config happens from local files synlinked into this dir of the buildtree.
No description provided by the author
No description provided by the author
This package contains types and functions for storing / retrieving flight objects from datastore, memcache, and other AppEngine things.
Provides routines to render flights as PDFs in various ways.
No description provided by the author
Package Metar provides tools for retrieving, storing and parsing Metar weather records.
Package ref contains some reference lookups, implemented as singletons.
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

No description provided by the author
Also called externally.
No description provided by the author
No description provided by the author
No description provided by the author
TODO: Should figure out a nice way to get this into the geo.Restrictor interface, without making geo/ depend on util/widget.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Parse a string into a new spec A23A23@14123123123123 (IcaoId at an epoch time) A23A23@2006-01-02T15:04:05Z07:00 (IcaoId at an RFC3339 time) A23A23@14111111111111:14222222222222 (IcaoId within time range; could be multiple matches) UAL123@14123123123123 (IATACallsign instead of IcaoId) N1234S@14123123123123 (Registration Callsign instead of IcaoId).
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Constants

No description provided by the author
"red-large".
No description provided by the author
No description provided by the author
No description provided by the author
Some airlines omit the Icao carrier code, grr.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
AKA 'ADSB'.
No description provided by the author
AKA TA.
No description provided by the author
No description provided by the author
AKA TZ.
No description provided by the author
Callsign Type C.
No description provided by the author
No description provided by the author
Callsign Type A.
This is the 'quantization' value, used to index a flight based on which timeslots it overlaps.
No description provided by the author

# Variables

Try and save some datastore GB-months.
No description provided by the author
No description provided by the author
Find a better home for this config.
No description provided by the author
Find a better home for this config.
Find a better home for this config.

# Structs

An Airframe is a thing that flies.
No description provided by the author
No description provided by the author
No description provided by the author
A CondensedFlight is a very small standalone object that represents a flight.
No description provided by the author
No description provided by the author
FlightForBigQuery is a represenation of a Flight that is slightly denormalized, with a track summary instead of a track.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
An identifier specifier - something we receive (or generate) that uniquely identifies a flight.
An indexed flight blob is the thing we persist into datastore (or other blobstores).
This is the object which is persisted into Datastore.
No description provided by the author
IntersectableTrack contains a track, and data structures for efficient intersections against geo.Restrictors.
No description provided by the author
No description provided by the author
RestrictorIntersectOutcome represesnts the findings from comparing against a geo.Restrictor.
RestrictorSetIntersectOutcome gathers together the outcomes from the individual restrictors.
For scheduled flights, get what data we can about it.
No description provided by the author
No description provided by the author
Trackpoint is a data point that locates an aircraft in space and time, etc.
Yay, sorting funtime here again !.
No description provided by the author

# Type aliases

No description provided by the author
No description provided by the author
https://en.wikipedia.org/wiki/Airline_codes#Call_signs_.28flight_identification_or_flight_ID.29.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
A Track is a slice of Trackpoints.
No description provided by the author
No description provided by the author