Night Lights

utilities for caching and downloading night time lights datasets from Earth Observation Group (EOG)


get_eog_access_token


def get_eog_access_token(
    username, password, save_token:bool=False, save_path:str='~/.eog_creds/eog_access_token', set_env:bool=True,
    env_token_var:str='EOG_ACCESS_TOKEN'
):

clear_eog_access_token


def clear_eog_access_token(
    save_file:str='~/.eog_creds/eog_access_token', env_var:str='EOG_ACCESS_TOKEN', clear_file:bool=True,
    clear_env:bool=True
):

setup_eog_auth_headers


def setup_eog_auth_headers(
    headers, access_token, env_var, creds_file
):

download_url


def download_url(
    url, dest:NoneType=None, access_token:NoneType=None, headers:NoneType=None, timeout:NoneType=None,
    show_progress:bool=True, chunksize:int=1048576, env_var:str='EOG_ACCESS_TOKEN',
    creds_file:str='~/.eog_creds/eog_access_token'
):

Download url to dest and show progress


unzip_eog_gzip


def unzip_eog_gzip(
    gz_file, dest:NoneType=None, delete_src:bool=False
):

clip_raster


def clip_raster(
    input_raster_file, dest, bounds, buffer:NoneType=None
):

make_url


def make_url(
    year, viirs_data_type:str='average', ntlights_base_url:str='https://eogdata.mines.edu/nighttime_light',
    version:str='v21', product:str='annual', coverage:str='global', process_suffix:str='c202205302300',
    vcmcfg:str='vcmslcfg'
):

make_clip_hash


def make_clip_hash(
    year, bounds, viirs_data_type:str='average', version:str='v21', product:str='annual', coverage:str='global',
    process_suffix:str='c202205302300', vcmcfg:str='vcmslcfg'
):

generate_clipped_raster


def generate_clipped_raster(
    year, bounds, dest, viirs_data_type:str='average', version:str='v21', product:str='annual',
    coverage:str='global', cache_dir:str='~/.cache/geowrangler/nightlights', process_suffix:str='c202205302300',
    vcmcfg:str='vcmslcfg'
):

generate_clipped_metadata


def generate_clipped_metadata(
    year, bounds, viirs_data_type, version, product, coverage, clip_cache_dir, process_suffix, vcmcfg
):

get_clipped_raster


def get_clipped_raster(
    year, bounds, viirs_data_type:str='average', version:str='v21', product:str='annual', coverage:str='global',
    cache_dir:str='~/.cache/geowrangler/nightlights', process_suffix:str='c202205302300', vcmcfg:str='vcmslcfg'
):