Skip to content

wri/cities-cif

Repository files navigation

Cities Indicator Framework

The Cities Indicator Framework (CIF) is a set of Python tools to make it easier to calculate zonal statistics for cities by providing a standardized set of data layers for inputs and a common framework for using those layers to calculate indicators.

Quick start

Installation

  • pip install git+https://github.com/wri/cities-cif/releases/latest gives you the latest stable release.
  • pip install git+https://github.com/wri/cities-cif gives you the main branch with is not stable.

PR Review

  1. Prerequisites
  2. Git * On Windows I recommend WSL https://learn.microsoft.com/en-us/windows/wsl/tutorials/wsl-git
  3. https://cli.github.com/ * On MacOS I recommend the Homebrew option * If you don't have an ssh key, it will install one for you
  4. Conda (or Mamba) to install dependencies * If you have Homebrew brew install --cask miniconda

Dependencies

Conda

conda env create -f environment.yml

Credentials

To run the module, you need access to Google Earth Engine.

Interactive development

For most people working in a notebook or IDE the script should walk you thourgh an interactive authentication process. You will just need to be logged in to your Google account that has access to GEE in your browser.

Programatic access

If you have issues with this or need to run the script as part of an automated workflow we have a GEE-enabled GCP service account that can be used. Get in touch with Saif or Chris to ask about getting the credetials.

Set the following environment variables:

  • GOOGLE_APPLICATION_CREDENTIALS: The path of GCP credentials JSON file containing your private key.
  • GOOGLE_APPLICATION_USER: The email for your GCP user.
  • GCS_BUCKET: The GCS bucket to read and write data from.

For example, you could set the following in your ~/.zshrc file:

export GCS_BUCKET=gee-exports
export GOOGLE_APPLICATION_USER=developers@citiesindicators.iam.gserviceaccount.com
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials/file

How to contribute

All are welcome to contribute by creating a Pull Request. We try to follow the Github Flow workflow.

See the developer docs to learn more about how to add data layers and indicators.