Skip to content

Latest commit

 

History

History

conjunction_search

Introduction

Once we have made predictions on where anthropogenic space objects (ASOs) in LEO are going to be in the future using the tools in the orbit prediction package, we need a way to quickly perform spatial-temporal search over the prediction space to determine if objects may come too close to each other. This package provides:

  • A module for using k-d trees to quickly perform spatial-temporal search to answer questions like:
    • What are the k ASOs that will come closest to the given ASO over the prediction window?
    • For a given radius r, how many ASOs will come within distance r of the given ASO over the prediction window?
  • A library for building CZML JSON documents to display predicted orbits and conjunctions in a CesiumJS UI.
  • A Flask application providing an HTTP API for serving CZML and JSON conjunction search results.
  • A CesiumJS UI for querying and visualizing ASO conjunctions. r of the given ASO over the prediction window?

Development

A Makefile is provided to automate the tasks of building and running the web service in a Docker container.

Environment Variables

The service expects that you have a file named vars.env that sets environment variables that are used inside the docker container to either use test data or retrieve the needed pickle file from Cloud Object Storage. Create a new Cloud Object Storage instance and create the file by

cp vars.env.example vars.env

and then supplying the values for the following environment variables:

  • DEV: If set to true, uses the test data otherwise pulls the data from COS CESIUM_API_KEY: The API key use to fetch 3D visualization assets. See the tutorial here for creating an account and getting an access token.
  • COS_ENDPOINT: The endpoint used by the client to access the bucket.
  • COS_API_KEY_ID: The API secret key to authenticate with. (Optional)
  • COS_INSTANCE_CRN: The bucket instance CRN. (Optional)
  • COS_BUCKET: The COS bucket that the CSV file is in. (Optiona)
  • COS_FILENAME: The filename of the pickle file in the COS_BUCKET. (Optional)

Building and Running the Service

The docker container can be built with

make build

and the application can be run locally via

make run

Then you should be able to access the conjunction search UI at http://localhost:8080.