Date created: June 10, 2022
Author: P. Alexander Burnham

Summary Last time we set up several cubes from geotif files and explored some of the basic querrying and cube building functionality of cubetime. However, all of the files we were working with, had the same scales and grid sizes. Spacetime has the functionality to rescale rasters of different extents, grid sizes, epsg codes etc. and create a cleaned cube where all of those factors are consistent accross the data layers.

Loading file names and creating a file object

Let’s load two rasters of data from India. We can then load the data up as a file object and compare some attributes between them.

# read files and load data
data = ["demoData/LULC_1995.tif", "demoData/India_cropped-area_1km_2016.tif"]
ds = read_data(data)
# check number of bands
ds.get_band_number()

# check the epsg codes
## [1, 1]
ds.get_epsg_code()

# check the raster dimensions
## ['EPSG:32644', 'EPSG:4326']
ds.get_dims()

# check pixel size
## [(29484, 33555), (2373, 3269)]
ds.get_pixel_size()

# check no data values
## [100.0, 0.008868160000000002]
ds.get_nodata_value()
## [127.0, -1.7e+308]

Let’s plot the two files and compare them.

import matplotlib.pyplot as plt

# Get the array data
arrays = ds.get_data_array()

# plot file 1
plt.imshow(arrays[0], vmin=0, vmax=17)
plt.show()

# plot file 2