def test_zero_sized_coordinates_range(self): da = xr.DataArray(np.empty((2, 0)), dims=('y', 'x'), coords={'x': [], 'y': [0 ,1]}, name='A') ds = Dataset(da) x0, x1 = ds.range('x') self.assertTrue(np.isnan(x0)) self.assertTrue(np.isnan(x1)) z0, z1 = ds.range('A') self.assertTrue(np.isnan(z0)) self.assertTrue(np.isnan(z1))
def test_multi_geom_poly_range(self): geoms = [{ 'geometry': sgeom.Polygon([(0, 0), (3, 3), (6, 0)]) }, { 'geometry': sgeom.Polygon([(3, 3), (9, 3), (6, 0)]) }] mds = Dataset(geoms, kdims=['x', 'y'], datatype=[self.datatype]) self.assertEqual(mds.range('x'), (0, 9)) self.assertEqual(mds.range('y'), (0, 3))
def test_multi_geom_point_coord_range(self): geoms = [{ 'geometry': sgeom.Point([(0, 1)]) }, { 'geometry': sgeom.Point([(3, 5)]) }] mds = Dataset(geoms, kdims=['x', 'y'], datatype=[self.datatype]) self.assertEqual(mds.range('x'), (0, 3)) self.assertEqual(mds.range('y'), (1, 5))
def test_dataset_range_categorical_dimension_empty(self): ddf = dd.from_pandas(pd.DataFrame({'a': ['1', '2', '3']}), 1) ds = Dataset(ddf).iloc[:0] ds_range = ds.range(0) self.assertTrue(np.isnan(ds_range[0])) self.assertTrue(np.isnan(ds_range[1]))
def test_dataset_range_categorical_dimension(self): ddf = dd.from_pandas(pd.DataFrame({'a': ['1', '2', '3']}), 1) ds = Dataset(ddf) self.assertEqual(ds.range(0), ('1', '3'))
def test_range_vdim(self): cube = Dataset(self.cube, kdims=['longitude', 'latitude']) self.assertEqual(cube.range('unknown'), (0, 11))
def test_range_kdim(self): cube = Dataset(self.cube, kdims=['longitude', 'latitude']) self.assertEqual(cube.range('longitude'), (-1, 2))
def test_dataset_mixed_type_range(self): ds = Dataset((['A', 'B', 'C', None],), 'A') vmin, vmax = ds.range(0) self.assertTrue(np.isnan(vmin)) self.assertTrue(np.isnan(vmax))