def test_geometry(self): bbox = BBox([46.07, 13.23, 46.24, 13.57], CRS.WGS84) self.assertTrue(isinstance(bbox.get_geojson(), dict), "Expected dictionary, got type {}".format(type(bbox.geometry))) self.assertTrue(isinstance(bbox.get_geometry(), shapely.geometry.Polygon), "Expected type {}, got type {}".format(shapely.geometry.Polygon, type(bbox.get_geometry())))
def get_area_id(bbox, crs=CRS.WGS84): today = datetime.today() monthago = today - timedelta(days=7) time_interval = (monthago.strftime("%Y-%m-%dT%H:%M:%S"), today.strftime("%Y-%m-%dT%H:%M:%S")) search_bbox = BBox(bbox=bbox, crs=crs) wfs_iterator = WebFeatureService(search_bbox, time_interval, instance_id=config.get( 'config', 'sentinel_id')) aoi = search_bbox.get_geometry() instances = list(wfs_iterator) tiles = {} for i, tile_info in enumerate(wfs_iterator.get_tiles()): poly = shape(instances[i]['geometry']) tiles[tile_info[0]] = round( poly.intersection(aoi).area / poly.union(aoi).area * 100, 3) return sorted(tiles.items(), key=lambda x: -x[1])