I am using several BYOC collections of Planet basemap images, which I am accessing from a labeling application I previously described in this query. That was working with a small test collection (6463) and configuration (1b76), and I can make simple browser-based WMS requests that also work nicely, e.g.
htXXps://services.sentinel-hub.com/ogc/wms/1b76*********?REQUEST=GetMap&CRS=CRS:84&BBOX=-1.3349,9.7261,-1.3221,%209.7389&LAYERS=TRUE-COLOR&RESX=0.000025&RESY=0.000025&FORMAT=image/png&TIME=2021-11-15/2021-11-15
I have now processed a much larger number of images, using the same processing approach. These are in a collection 19de and have a configuration 86b2 that was built from the same configuration as the one mentioned previously. A WMS request in a browser now does not work–it returns a blank white image, suggesting no data. It also does not appear in the labeling platform.
htXXs://services.sentinel-hub.com/ogc/wms/86b2*****************?REQUEST=GetMap&CRS=CRS:84&BBOX=36.4451,9.5611,36.4579,9.5739&LAYERS=TRUE-COLOR&RESX=0.000025&RESY=0.000025&FORMAT=image/png
With a date:
htXXs://services.sentinel-hub.com/ogc/wms/86b2*****************?REQUEST=GetMap&CRS=CRS:84&BBOX=36.4451,9.5611,36.4579,9.5739&LAYERS=TRUE-COLOR&RESX=0.000025&RESY=0.000025&FORMAT=image/png&TIME=2020-02-15/2020-02-15
However, I can see the image using the python client, using the function pasted at the end of this message. And I can also get the image using the requests builder.
So I am not sure what is going on. There are two differences with the images collection. The first is that the test collection images consists of 4-band images of 2358X2358, while the larger collection has 2368X2368 images (also 4-band). The test collection only has imagery from one date, while the larger collection has imagery from dates that cover a range of 6 years (however, each image only represents a single day in a given year). Both sets of images are UINT8 and each band is rescaled to 0-255 and stretched between the 1st and 99th percentiles. However, since the python client and requests builder work, I am not sure where the problem lies, since it doesn’t seem to be with the data itself.
I will appreciate your guidance on where the problem might lie.
Many thanks!
def request_from_sentinelhub(df, diam, collection, config, color="rgb",
plot=True):
"""Request tile from center point with specific diameter from Sentinel-Hub
collection and plot
"""
x, y, date = df.iloc[0][['x', 'y', "date"]]
tile_time = dateutil.parser.parse(date)
bbox = BBox((x-diam, y-diam, x+diam, y+diam), crs=CRS.WGS84)
if color == "ngb":
evalscript = """
//VERSION=3
function setup() {
return {
input: ["B2","B3","B4", "dataMask"],
output: { bands: 4 }
}
}
function evaluatePixel(sample) {
return [sample.B4/255, sample.B3/255,
sample.B2/255, sample.dataMask]
}
"""
elif color == "rgb":
evalscript = """
//VERSION=3
function setup() {
return {
input: ["B1","B2","B3", "dataMask"],
output: { bands: 4 }
}
}
function evaluatePixel(sample) {
return [sample.B3/255, sample.B2/255,
sample.B1/255, sample.dataMask]
}
"""
request = SentinelHubRequest(
evalscript = evalscript,
input_data=[SentinelHubRequest.input_data(
data_collection=collection, time_interval=tile_time
)],
responses=[
SentinelHubRequest.output_response("default", MimeType.PNG)
], bbox=bbox,
size=bbox_to_dimensions(bbox, 3),
config=config,
)
data = request.get_data()[0]# tiles = list(byoc.iter_tiles(created_collection))
if plot:
fig, ax = plt.subplots(figsize=(15, 10))
ax.imshow(data)
ax.set_title(tile_time.date().isoformat(), fontsize=10)
plt.tight_layout()
else:
return data