コード例 #1
0
 def test_multiband_with_tile_coordinates(self):
     metadata = GeopysparkCubeMetadata({
         "cube:dimensions": {
             # TODO: also specify other dimensions?
             "bands": {
                 "type": "bands",
                 "values": ["2", "3", "4"]
             }
         },
         "summaries": {
             "eo:bands": [{
                 'name': '2',
                 'common_name': 'blue',
                 'wavelength_nm': 496.6,
                 'res_m': 10,
                 'scale': 0.0001,
                 'offset': 0,
                 'type': 'int16',
                 'unit': '1'
             }, {
                 'name': '3',
                 'common_name': 'green',
                 'wavelength_nm': 560,
                 'res_m': 10,
                 'scale': 0.0001,
                 'offset': 0,
                 'type': 'int16',
                 'unit': '1'
             }, {
                 'name': '4',
                 'common_name': 'red',
                 'wavelength_nm': 664.5,
                 'res_m': 10,
                 'scale': 0.0001,
                 'offset': 0,
                 'type': 'int16',
                 'unit': '1'
             }]
         }
     })
     datacube = GeopysparkDataCube._numpy_to_xarraydatacube(
         TestMultiBandUDF.tile.cells,
         SpatialExtent(bottom=100,
                       top=110,
                       left=200,
                       right=220,
                       height=1,
                       width=2),
         band_coordinates=metadata.band_dimension.band_names)
     the_array = datacube.get_array()
     assert the_array is not None
     np.testing.assert_almost_equal(
         the_array.x.values,
         np.array([185.0, 195.0, 205.0, 215.0, 225.0, 235.0]), 5)
     np.testing.assert_almost_equal(the_array.y.values,
                                    np.array([120.0, 110.0, 100.0, 90.0]),
                                    5)
     print(the_array)
コード例 #2
0
 def test_convert_multiband_tile_hypercube(self):
     metadata = GeopysparkCubeMetadata({
         "cube:dimensions": {
             # TODO: also specify other dimensions?
             "bands": {
                 "type": "bands",
                 "values": ["2", "3", "4"]
             }
         },
         "summaries": {
             "eo:bands": [{
                 'name': '2',
                 'common_name': 'blue',
                 'wavelength_nm': 496.6,
                 'res_m': 10,
                 'scale': 0.0001,
                 'offset': 0,
                 'type': 'int16',
                 'unit': '1'
             }, {
                 'name': '3',
                 'common_name': 'green',
                 'wavelength_nm': 560,
                 'res_m': 10,
                 'scale': 0.0001,
                 'offset': 0,
                 'type': 'int16',
                 'unit': '1'
             }, {
                 'name': '4',
                 'common_name': 'red',
                 'wavelength_nm': 664.5,
                 'res_m': 10,
                 'scale': 0.0001,
                 'offset': 0,
                 'type': 'int16',
                 'unit': '1'
             }]
         }
     })
     datacube = GeopysparkDataCube._numpy_to_xarraydatacube(
         TestMultiBandUDF.tile.cells,
         None,
         band_coordinates=metadata.band_dimension.band_names)
     the_array = datacube.get_array()
     assert the_array is not None
     print(the_array)