Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
import_raw_dataset.py 1.07 KiB
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import numpy as np

from utilities.import_format import import_tif, import_nc

def import_raw_dataset(path, no_data, no_value):

    """
        Import geotiff or netCDF4 file
        Input:
            path: path to the dataset, string
            no_data: no data values, list
            no_value: general no data value, int or float
            
        Output:
            data: dataset, numpy array
            x_org: longitude coordinates, list
            y_org: latitude coordinates, list
            
    """

    warning = False
    if path.split('.')[-1] == 'tif':
        data, x_org, y_org, _ = import_tif(path)
    elif path.split('.')[-1] == 'nc':
        data, x_org, y_org, _ = import_nc(path)
    else:
        warning = True

    if y_org[0] < y_org[-1]:
        y_org = np.flip(y_org)

    if no_data != 'None':
        for val in no_data:
            data[data == val] = no_value
    data[np.isnan(data)] = no_value
    
    if warning:
        return None, None, None
    else:
        return data, x_org, y_org