from sentinelhub import DataCollection, Band, Unit, MosaickingOrder, SentinelHubRequest,CRS, BBox, MimeType, SHConfig import numpy as np import os import PIL config = SHConfig() #CLIENT_ID = 'c1a2fa32-6ca2-414a-9cd0-77556891bf88' #CLIENT_SECRET = 'bR,4M[f8y?C^dR_n]1i1>:g~P@*JXwl]^tciiIN/' # CLIENT_ID = 'ebd1003f-b189-4f4e-9e29-5e56fe0fc343' # CLIENT_SECRET = 'A[W3>BVZk-RNcYko1N9%[da$F*(ahDv)0(|irX8&' CLIENT_SECRET = "CY>imU7J,97EniGj5jyRtz:l13@XL2*gfY+pvqRw" CLIENT_ID = "3e9277b3-aa11-4f98-a160-3bf006130cc7" INSTANCE_ID = "0ee822a0-46aa-4496-9cbb-a5a95a95b660" if CLIENT_ID and CLIENT_SECRET: config.sh_client_id = CLIENT_ID config.sh_client_secret = CLIENT_SECRET config.instance_id = INSTANCE_ID optical_bands = tuple( Band(name, (Unit.REFLECTANCE, Unit.DN), (np.int16)) for name in ["CoastalAerosol", "Blue", "Green", "Red", "RedEdge1", "RedEdge2", "RedEdge3", "NIR_Broad", "NIR_Narrow", "SWIR1", "SWIR2", "WaterVapor", "Cirrus"] ) bbox = BBox(bbox=[76.9504, 23.0984, 76.9699, 23.1297], crs=CRS.WGS84) termal_bands = tuple( Band(name, (Unit.BRIGHTNESS_TEMPERATURE, Unit.DN), (np.int16)) for name in ["ThermalInfrared1", "ThermalInfrared2"] ) QA_band = Band("QA", (Unit.DN), (np.uint8)), angles = tuple( Band(name, (Unit.DEGREES, Unit.DN), (np.uint16)) for name in ["VAA", "VZA", "SAA", "SZA"] ) bands = optical_bands + termal_bands + QA_band + angles hsl_collection = DataCollection.define( name="Harmonized LandSat Sentinel", api_id="hls", catalog_id="hls", collection_type="HLS", service_url="https://services-uswest2.sentinel-hub.com", bands=bands ) hsl_evalscript = """ //VERSION=3 function setup() { return { input: ["Blue","Green","Red", "dataMask"], output: { bands: 4 } }; } function evaluatePixel(sample) { return [sample.Blue, sample.Green, sample.Red, sample.dataMask]; } """ request = SentinelHubRequest( evalscript=hsl_evalscript, input_data=[SentinelHubRequest.input_data( data_collection=hsl_collection, time_interval=("2022-10-11","2022-11-11"), maxcc=0.3, mosaicking_order=MosaickingOrder.LEAST_CC )], responses=[SentinelHubRequest.output_response("default",MimeType.TIFF)], bbox=bbox, resolution=(1000,1000), config = config ) response = request.get_data() print(response) file_name= 'hsl.png' im = PIL.Image.fromarray(response[-1]) im = im.convert("RGB") im.save(file_name) print(response)