Skip to main content

Dear forum members, I am recently joining the sentinel hub environment, and would like to get some help…


I have a shapefile of approximately 6000 points. Is it possible to extract image clippings of e.g. 256x256 from this shapefile of points? Is there a way to do this?

My interest in obtaining these images in clippings with those dimensions, is to generate a dataset of images and make the annotations for segmentation of instances with other computer vision tools, example labelbox.


Is there any way to do the image labeling, with an object detection/image segmentation approach?


Please, I hope you can help me, thank you!


EDIT BY ADMIN: removed unrelated referral, possibly there for cross-linking.

Transform the points into bounding boxes using point as center of the bounding box and resolution + image size to calculate extent. Then it is simple to get the images from SH services.


Approximate pseudo-code for bbox:


for point in points: 
min_x = point.x - size/2 * resolution
max_x = point.x + size/2 * resolution
min_y = point.y - size/2 * resolution
max_y = point.y + size/2 * resolution
bbox = BBox((min_x, min_y, max_x, max_y), point.crs)

Beware that CRS have units (so doing this on points in WGS84 won’t work if resolution is then in meters).


Is there any way to make this a bit more automated? I have 6000 polygons in a vector file from which I want to extract a clipping from each one.


Is there a function that allows me to call the vector and depending on the vector make the clippings?


I guess this should not be too difficult to implement in Python. Perhaps you could add this to sentinelhub-py as a merge request (it’s open-source, so all contributions are welcome!).


Reply