Skip to main content

Can i download the NDVI data at 10m spatial resolution in .img and 32 bit format ?

You can download in GeoTiff in 32 bit
https://www.sentinel-hub.com/develop/documentation/api/output-formats


I have been facing problem for download NDVI , The pixel size are not same for different area download though i specify the image resolution.


Please provide the request you are using to download the image.

Do mask the last half of the instance ID to avoid other people using it.


wcs_bands_request = WcsRequest(data_folder=‘DATA_FOLDER’,

layer=‘NDVI_WMS_FLOAT’,

bbox=betsiboka_bbox,

time=(‘2018-10-01’,‘2019-04-30’),

resx=‘10m’, resy=‘10m’,

image_format=MimeType.TIFF_d32f,

instance_id=INSTANCE_ID)


We do still need to know part of the instance ID so that we can see, what is happening.


INSTANCE_ID = ‘’


import itertools

import numpy as np

from shapely.geometry import shape, Polygon, MultiPolygon, MultiLineString

from sentinelhub import MimeType, BBox, read_data,WmsRequest, WcsRequest, CRS, DataSource


INPUT_FILE = ‘.json’

geo_json = read_data(INPUT_FILE)

h_area = shape(geo_jsong“features”]f0]t“geometry”])

type(h_area)


jsoninput_coords_wgs84 = h_area

area_bbox = BBox(bbox=jsoninput_coords_wgs84, crs=CRS.WGS84)

wcs_bands_request = WcsRequest(data_folder=‘data_folder’,

layer=‘NDVI_WMS_FLOAT’,

bbox=area_bbox,

time=(‘2018-10-01’,‘2018-12-31’),

resx=‘10m’, resy=‘10m’,

image_format=MimeType.TIFF_d32f,

instance_id=INSTANCE_ID)

wms_ndvi_img = wcs_bands_request.get_data()

get_ipython().run_cell_magic(‘time’, ‘’, ‘wms_ndvi_img = wcs_bands_request.get_data(save_data=True)’)


In your example, the instance ID is empty, so you will not get any data whatsoever…

We need something like

INSTANCE_ID = 05dc4836-c391-MASKED


INSTANCE_ID = ‘5ba122b9-4647 MASKED’


import itertools

import numpy as np

from shapely.geometry import shape, Polygon, MultiPolygon, MultiLineString

from sentinelhub import MimeType, BBox, read_data,WmsRequest, WcsRequest, CRS, DataSource


INPUT_FILE = ‘.json’

geo_json = read_data(INPUT_FILE)

h_area = shape(geo_jsong“features”]f0]t“geometry”])

type(h_area)


jsoninput_coords_wgs84 = h_area

area_bbox = BBox(bbox=jsoninput_coords_wgs84, crs=CRS.WGS84)

wcs_bands_request = WcsRequest(data_folder=‘data_folder’,

layer=‘NDVI_WMS_FLOAT’,

bbox=area_bbox,

time=(‘2018-10-01’,‘2018-12-31’),

resx=‘10m’, resy=‘10m’,

image_format=MimeType.TIFF_d32f,

instance_id=INSTANCE_ID)

wms_ndvi_img = wcs_bands_request.get_data()

get_ipython().run_cell_magic(‘time’, ‘’, ‘wms_ndvi_img = wcs_bands_request.get_data(save_data=True)’)


I check our logs for one of the requests, e.g. this one:


https://services.sentinel-hub.com/ogc/wcs/5ba122b9-4647-MASKED?coverage=NDVI_WMS_FLOAT&request=GetCoverage&crs=EPSG%3A4326&service=wcs&bbox=18.62465286389716%2C76.48962316177798%2C18.62831985539394%2C76.4935193097883&format=image%2Ftiff%3Bdepth%3D32f&maxcc=100.0&time=2019-04-27T05%3A33%3A54%2F2019-04-27T05%3A33%3A54&resy=10m&version=1.1.2&resx=10m


The returned image was in 10 meter resolution as it should be:



Might it be that you reproject the results in some other coordinate system? Which would obviously impact the resolution…

With the data you have provided we cannot reproduce the problem.


Please send an example of problematic request URL and the result from the service.


After download i am using the data without re projecting it, but it gives us 10.743 m resolution and it is different in some other place. I am attaching the source code and a particular location please check it .


INSTANCE_ID = ‘5ba122b9-4647-MASKED’

import itertools

import numpy as np

from shapely.geometry import shape, Polygon, MultiPolygon, MultiLineString

from sentinelhub import MimeType, BBox, read_data,WmsRequest, WcsRequest, CRS, DataSource

b_area_coords_wgs84 = 474.132275, 20.780646, 74.135565, 20.778640]

area_bbox = BBox(bbox=b_area_coords_wgs84 , crs=CRS.WGS84)

wcs_bands_request = WcsRequest(data_folder=‘data_folder’,

layer=‘NDVI_WMS_FLOAT’,

bbox=area_bbox,

time=(‘2018-12-01’,‘2018-12-31’),

resx=‘10m’, resy=‘10m’,

image_format=MimeType.TIFF_d32f,

instance_id=INSTANCE_ID)

wms_evi_img = wcs_bands_request.get_data()

get_ipython().run_cell_magic(‘time’, ‘’, ‘wms_evi_img = wcs_bands_request.get_data(save_data=True)’)


Can you attach the sample tiff as well?


I have attached this file please check it.wcs_NDVI_WMS_FLOAT_EPSG4326_74.132275_20.77864_74.135565_20.780646_2018-12-31T05-43-03_10mX10m_tiff_depth=32f.tiff (3.0 KB)
wcs_NDVI_WMS_FLOAT_EPSG4326_74.132275_20.77864_74.135565_20.780646_2018-12-26T05-43-05_10mX10m_tiff_depth=32f.tiff (3.0 KB)
wcs_NDVI_WMS_FLOAT_EPSG4326_74.132275_20.77864_74.135565_20.780646_2018-12-06T05-43-04_10mX10m_tiff_depth=32f.tiff (3.0 KB)


For a long time i didn’t got any answer from you. Sir if you kindly help me to get out of this problem, it will be very great full to me.


Opening the files you sent myself I get pixel size of 10.0X meters (depending on how accurate I click).

What you see is probably a rounding error when doing a reprojection from EPSG:4326 (the CRS of the raster files) and EPSG:3857 (where you are measuring the distance).

One way or another, there will always be small differences when performing reprojection.

If you want to get exactly 10 meters data, you need to use UTM projection (make sure you use the same datum as the scene is in).



Reply