/data_cube_ui

Data Cube user interface allowing users to interact with the Data Cube and run sample analysis cases

Primary LanguageJavaScriptApache License 2.0Apache-2.0

CEOS Data Cube UI

The CEOS Data Cube UI is a full stack Python web application used to perform analysis on raster datasets using the Data Cube. Using common and widely accepted frameworks and libraries, our UI is a good tool for demonstrating the Data Cube capabilities and some possible applications and architectures. The UI's core technologies are:

  • Django: Web framework, ORM, template processor, entire MVC stack
  • Celery + Redis: Asynchronous task processing
  • Data Cube: API for data access and analysis
  • PostgreSQL: Database backend for both the Data Cube and our UI
  • Apache/Mod WSGI: Standard service based application running our Django application while still providing hosting for static files
  • Bootstrap3: Simple, standard, and easy front end styling

Using these common technologies provides a good starting platform for users who want to develop Data Cube applications. Using Celery allows for simple distributed task processing while still being performant. Our UI is designed for high level use of the Data Cube and allow users to:

  • Access various datasets that we have ingested
  • Run custom analysis cases over user defined areas and time ranges
  • Generate both visual (image) and data products (GeoTiff/NetCDF)
  • Provide easy access to metadata and previously run analysis cases

To install Open Data Cube Core (ODC Core), see the Open Data Cube Core Installation Guide.

Once you have ODC Core installed, you can install the UI by following the Data Cube UI Installation Guide.

Requirements

  • Full Data Cube installation with ingested data

  • apache2

  • libapache2-mod-wsgi-py3

  • redis-server

  • libfreeimage3

  • tmux

  • django

  • redis

  • celery

  • imageio

  • django-bootstrap3

  • matplotlib

  • stringcase

For more detailed instructions, please read the documentation. If you want to add a new algorithm to the UI, you can follow our adding a new algorithm documentation.