Example #1
0
    def test_OLI(self):
        id = "LO81120152015061LGN00"
        stac_request = StacRequest(id=id)
        stac_item = search_one(stac_request)
        asset = utils.get_asset(stac_item, band=Eo.BLUE, cloud_platform=GCP)
        self.assertIsNotNone(asset)
        asset = utils.get_asset(stac_item, band=Eo.BLUE, cloud_platform=AWS)
        self.assertIsNotNone(asset)

        asset = utils.get_asset(stac_item, band=Eo.LWIR_1, cloud_platform=GCP)
        self.assertIsNone(asset)
        asset = utils.get_asset(stac_item, band=Eo.LWIR_1, cloud_platform=AWS)
        self.assertIsNone(asset)

        asset = utils.get_asset(stac_item, band=Eo.CIRRUS, cloud_platform=GCP)
        self.assertIsNotNone(asset)
        asset = utils.get_asset(stac_item, band=Eo.CIRRUS, cloud_platform=AWS)
        self.assertIsNotNone(asset)

        aws_count, gcp_count = 0, 0
        for key, asset in stac_item.assets.items():
            if asset.cloud_platform == AWS:
                print(asset.object_path)
                aws_count += 1
            else:
                # print(asset.object_path)
                gcp_count += 1
        self.assertEquals(25, aws_count)
        self.assertEquals(12, gcp_count)
Example #2
0
 def test_product_id(self):
     product_id = "LC08_L1TP_027039_20150226_20170228_01_T1"
     stac_request = StacRequest(landsat=LandsatRequest(
         product_id=product_id))
     stac_item = search_one(stac_request)
     self.assertIsNotNone(stac_item)
     self.assertEquals("LC80270392015057LGN01", stac_item.id)
Example #3
0
 def test_basename(self):
     asset_name = 'LO81120152015061LGN00_B2.TIF'
     id = "LO81120152015061LGN00"
     stac_request = StacRequest(id=id)
     stac_item = search_one(stac_request)
     asset = utils.get_asset(stac_item, asset_basename=asset_name)
     self.assertIsNotNone(asset)
Example #4
0
    def test_wrs_row_path(self):
        wrs_path = 27
        wrs_row = 38

        stac_request = StacRequest(
            landsat=LandsatRequest(wrs_path=wrs_path, wrs_row=wrs_row))
        stac_item = search_one(stac_request)
        self.assertIsNotNone(stac_item)
Example #5
0
 def test_datetime_GT(self):
     bdt = datetime(2015, 11, 3, 1, 1, 1, tzinfo=timezone.utc)
     observed_range = query_pb2.TimestampField(value=utils.timestamp(bdt),
                                               rel_type=query_pb2.GT)
     stac_request = StacRequest(observed=observed_range)
     stac_item = search_one(stac_request)
     self.assertIsNotNone(stac_item)
     self.assertLessEqual(
         utils.timestamp(bdt).seconds, stac_item.datetime.seconds)
Example #6
0
 def test_date_GT_OR_EQ(self):
     bd = date(2015, 11, 3)
     observed_range = query_pb2.TimestampField(value=utils.timestamp(bd),
                                               rel_type=query_pb2.GT_OR_EQ)
     stac_request = StacRequest(observed=observed_range)
     stac_item = search_one(stac_request)
     self.assertIsNotNone(stac_item)
     self.assertLessEqual(
         utils.timestamp(bd).seconds, stac_item.datetime.seconds)
Example #7
0
 def test_thumbnail(self):
     id = 'LO81120152015061LGN00'
     stac_request = StacRequest(id=id)
     stac_item = search_one(stac_request)
     asset_type = THUMBNAIL
     asset = utils.get_asset(stac_item,
                             asset_types=[asset_type],
                             cloud_platform=AWS)
     self.assertIsNotNone(asset)
Example #8
0
 def test_aws(self):
     id = "LC80270392015025LGN00"
     stac_request = StacRequest(id=id)
     stac_item = search_one(stac_request)
     self.assertIsNotNone(stac_item)
     count = 0
     for key, asset in stac_item.assets.items():
         if asset.cloud_platform == AWS:
             print(asset.object_path)
             count += 1
     self.assertEquals(29, count)
Example #9
0
 def test_L8_processed_id_2(self):
     id = "LC81262052018263LGN00"
     stac_request = StacRequest(id=id)
     stac_item = search_one(stac_request)
     self.assertIsNotNone(stac_item)
     aws_count, gcp_count = 0, 0
     for key, asset in stac_item.assets.items():
         if asset.cloud_platform == AWS:
             aws_count += 1
             print(asset.object_path)
         else:
             gcp_count += 1
     self.assertEquals(42, aws_count)
     self.assertEquals(14, gcp_count)
Example #10
0
 def test_L1GT(self):
     id = "LE70080622016239EDC00"
     stac_request = StacRequest(id=id)
     stac_item = search_one(stac_request)
     self.assertIsNotNone(stac_item)
     aws_count, gcp_count = 0, 0
     for key, asset in stac_item.assets.items():
         if asset.cloud_platform == AWS:
             aws_count += 1
         else:
             print(asset.object_path)
             gcp_count += 1
     self.assertEquals(0, aws_count)
     self.assertEquals(22, gcp_count)
Example #11
0
 def test_L1G(self):
     id = "LT51560202010035IKR02"
     stac_request = StacRequest(id=id)
     stac_item = search_one(stac_request)
     self.assertIsNotNone(stac_item)
     aws_count, gcp_count = 0, 0
     for key, asset in stac_item.assets.items():
         if asset.cloud_platform == AWS:
             aws_count += 1
         else:
             print(asset.object_path)
             gcp_count += 1
     self.assertEquals(0, aws_count)
     self.assertEquals(20, gcp_count)
Example #12
0
 def test_datetime_not_range_desc(self):
     start = datetime(2013, 4, 1, 12, 45, 59, tzinfo=timezone.utc)
     end = datetime(2014, 4, 1, 12, 45, 59, tzinfo=timezone.utc)
     observed_range = query_pb2.TimestampField(
         start=utils.timestamp(start),
         stop=utils.timestamp(end),
         rel_type=query_pb2.NOT_BETWEEN,
         sort_direction=query_pb2.DESC)
     stac_request = StacRequest(observed=observed_range, limit=5)
     for stac_item in search(stac_request):
         print(
             datetime.fromtimestamp(stac_item.datetime.seconds,
                                    tz=timezone.utc))
         self.assertTrue(
             utils.timestamp(end).seconds < stac_item.datetime.seconds)
Example #13
0
 def test_datetime_range(self):
     start = datetime(2013, 4, 1, 12, 45, 59, tzinfo=timezone.utc)
     end = datetime(2014, 4, 1, 12, 45, 59, tzinfo=timezone.utc)
     observed_range = query_pb2.TimestampField(start=utils.timestamp(start),
                                               stop=utils.timestamp(end),
                                               rel_type=query_pb2.BETWEEN)
     stac_request = StacRequest(observed=observed_range, limit=5)
     for stac_item in search(stac_request):
         print(
             datetime.fromtimestamp(stac_item.datetime.seconds,
                                    tz=timezone.utc))
         self.assertGreaterEqual(
             utils.timestamp(end).seconds, stac_item.datetime.seconds)
         self.assertLessEqual(
             utils.timestamp(start).seconds, stac_item.datetime.seconds)
Example #14
0
 def test_has_asset(self):
     id = "LO81120152015061LGN00"
     stac_request = StacRequest(id=id)
     stac_item = search_one(stac_request=stac_request)
     for key in stac_item.assets:
         asset = stac_item.assets[key]
         self.assertTrue(utils.has_asset(stac_item, asset))
         garbage = Asset(href="pie")
         self.assertFalse(utils.has_asset(stac_item, garbage))
         garbage.asset_type = asset.asset_type
         self.assertFalse(utils.has_asset(stac_item, garbage))
         garbage.href = asset.href
         garbage.bucket = asset.bucket
         garbage.type = asset.type
         garbage.eo_bands = asset.eo_bands
         garbage.cloud_platform = asset.cloud_platform
         garbage.bucket_manager = asset.bucket_manager
         garbage.bucket_region = asset.bucket_region
         garbage.object_path = asset.object_path
         self.assertTrue(utils.has_asset(stac_item, garbage))
Example #15
0
    def test_count_more(self):
        start = datetime(2014, 4, 1, 12, 45, 59, tzinfo=timezone.utc)
        end = datetime(2014, 4, 1, 12, 52, 59, tzinfo=timezone.utc)
        observed_range = query_pb2.TimestampField(start=utils.timestamp(start),
                                                  stop=utils.timestamp(end),
                                                  rel_type=query_pb2.BETWEEN)
        stac_request = StacRequest(observed=observed_range,
                                   limit=40,
                                   landsat=LandsatRequest())
        for stac_item in search(stac_request):
            self.assertEquals(Eo.LANDSAT, stac_item.eo.constellation)
            print(
                datetime.fromtimestamp(stac_item.datetime.seconds,
                                       tz=timezone.utc))
            self.assertGreaterEqual(
                utils.timestamp(end).seconds, stac_item.datetime.seconds)
            self.assertLessEqual(
                utils.timestamp(start).seconds, stac_item.datetime.seconds)

        self.assertEquals(12, count_items(stac_request))
Example #16
0
 def test_count(self):
     id = "LC81262052018263LGN00"
     stac_request = StacRequest(id=id)
     number = count_items(stac_request)
     self.assertEquals(1, number)