예제 #1
0
    def get_band_data(self,
                      band_index: int,
                      retrieve_uncertainty: bool = True) -> ObservationData:
        data_set_url = self._get_data_set_url(band_index)
        data_set = Open(data_set_url)
        if self._reprojection is not None:
            data_set = self._reprojection.reproject(data_set)
        data = data_set.ReadAsArray()
        mask = data > 0
        data = np.where(mask, data / 10000., self._no_data_values[band_index])

        if retrieve_uncertainty:
            uncertainty = _get_uncertainty(data, mask)
        else:
            uncertainty = None
        band_emulator = self._get_band_emulator(band_index)

        observation_data = ObservationData(observations=data,
                                           uncertainty=uncertainty,
                                           mask=mask,
                                           metadata=self._meta_data_infos,
                                           emulator=band_emulator)
        return observation_data
예제 #2
0
x1, y1 = geo2xy(gt, f1, l1)
x0, y0, x1, y1 = [int(round(x)) for x in (x0, y0, x1, y1)]

print x0, y0
print x1, y1
print x1 - x0, y1 - y0

#-------------------------------------------------------------------------------

fig, axes = plt.subplots(1, 2, figsize=(12, 6))

#-------------------------------------------------------------------------------

map_i = np.ndarray((x1 - x0, y1 - y0), order='F', dtype=np.float32)
print map_i.flags.f_contiguous
gd.ReadAsArray(x0, y0, x1 - x0, y1 - y0, buf_obj=map_i)
axes[0].imshow(np.sqrt(map_i),
               extent=[l0, l1, f1, f0],
               interpolation='none',
               cmap='hot')

#-------------------------------------------------------------------------------

gd1 = OpenGdal('../data/eudem_dem_5deg_n50e015.tif')
gt1 = gd1.GetGeoTransform()

x0, y0 = geo2xy(gt1, f0, l0)
x1, y1 = geo2xy(gt1, f1, l1)
x0, y0, x1, y1 = [int(round(x)) for x in (x0, y0, x1, y1)]

#-------------------------------------------------------------------------------