Skip to main content

No project description provided

Project description

flight-pipeline

Repository for python code to concatenate data sources and construct new flight records for CEDA flight-finder

Objectives:

  • Mechanism for uploading new flights to stac index
  • Use ES Client to determine array of ids that currently exists in the index
  • Push new records that are not currently in the index
  • Remove or archive pushed records on local system

Installation:

  • Clone the repository from github
  • Install requirements into a local virtual environment:
    • python -m venv local
    • source local/bin/activate
    • pip install -r requirements.txt
  • Configure dirconfig with relative paths

Running the program

1. Use stac_template to write new records

Follow the STAC template json file to create new flight records (more details further down)

2. Configure dirconfig file

Add on lines 2 and 4 the directory paths to where your new flights to push are stored, and where the pushed flights should go once they have been uploaded to the index (store them or write DELETE to remove them from the local system)

3. Push New Flights

Run with command python flight_update.py add with a filled in dirconfig file to push new records to the index

Update Existing Flights

Note: In case of repair or adjustment to existing records, the individual records can be updated in place.

Run with command python flight_update.py update <pyfile>, where pyfile is a python file containing an update function that can be applied to each record in elasticsearch.

STAC Template

From the template, the following should be filled in:

  • id (fnum/pcode * date)
  • es_id (random string of ASCII characters to generate one of 9 colours in flight finder)
  • description_path
  • collection
  • geometry.display.coordinates
  • geometry.display.type (if coordinates are not MultiLineString)
  • properties:
    • data_format
    • start_datetime
    • end_datetime
    • flight_num (if applicable)
    • pcode (if applicable)
    • aircraft
    • variables
    • location
    • platform
    • instruments
    • pi

Geometries Development

Correct Version of mapping that exists in the arsf index

"spatial" : {
  "properties" : {
    "geometries" : {
      "properties" : {
        "display" : {
          "properties" : {
            "coordinates" : {
              "type" : "double",
              "index" : false
            },
            "type" : {
              "type" : "text",
              "fields" : {
                "keyword" : {
                  "type" : "keyword",
                  "ignore_above" : 256
                }
              }
            }
          }
        },
        "full_search" : {
          "type" : "geo_shape"
        },
        "search" : {
          "type" : "geo_shape"
        }
      }
    }
  }

Incorrect version currently in stac-flightfinder-items

"geometry" : {
  "properties" : {
    "display" : {
      "properties" : {
        "coordinates" : {
          "type" : "float"
        },
        "type" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        }
      }
    },
    "geometries" : {
      "properties" : {
        "display" : {
          "properties" : {
            "coordinates" : {
              "type" : "float"
            },
            "type" : {
              "type" : "text",
              "fields" : {
                "keyword" : {
                  "type" : "keyword",
                  "ignore_above" : 256
                }
              }
            }
          }
        },
        "search" : {
          "properties" : {
            "coordinates" : {
              "type" : "float"
            },
            "type" : {
              "type" : "text",
              "fields" : {
                "keyword" : {
                  "type" : "keyword",
                  "ignore_above" : 256
                }
              }
            }
          }
        }
      }
    },
    "search" : {
      "properties" : {
        "coordinates" : {
          "type" : "float"
        },
        "type" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        }
      }
    }
  }
}

Ammendments:

  • Remove geometries subfield.
  • Remove all subfields of search and just add "type":"geo_shape".
  • Add full_search sub_field with "type":"geo_shape".

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ceda_flight_pipeline-1.1.0.tar.gz (26.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ceda_flight_pipeline-1.1.0-py3-none-any.whl (28.5 kB view details)

Uploaded Python 3

File details

Details for the file ceda_flight_pipeline-1.1.0.tar.gz.

File metadata

  • Download URL: ceda_flight_pipeline-1.1.0.tar.gz
  • Upload date:
  • Size: 26.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.9.21 Linux/5.14.0-503.21.1.el9_5.x86_64

File hashes

Hashes for ceda_flight_pipeline-1.1.0.tar.gz
Algorithm Hash digest
SHA256 e5e51a21360d4676a4f91fb7e1f8331a1eb6a9c8dc14b7942f1ed87b3a1b4ac1
MD5 3b1cbf4307194a63c2cf956620a68f4e
BLAKE2b-256 5204a9294685a36e9e2036b84e12880e88a23b9007c212c0ebf618498e0cd29f

See more details on using hashes here.

File details

Details for the file ceda_flight_pipeline-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: ceda_flight_pipeline-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 28.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.9.21 Linux/5.14.0-503.21.1.el9_5.x86_64

File hashes

Hashes for ceda_flight_pipeline-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f15581565acd8df889048ec9ef1ca94f77d2c712f532d20100c0b59f901cbb70
MD5 c32554656886cb9867352b89bef1f497
BLAKE2b-256 5581cee9e8ace1ca2b16791e7f181af2d1a13155161ffc4c1b22f9685592a5a4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page