I am working with the Modis version6 NDVI/EVI 16 day composite dataset (MOD13Q1). I am developing a automated algorithm to download, aggregate, and processes the dataset. Therefore, I do not want to use the MODIS specific tools, but use the gdal library to reproject the dataset to UTM 13N. However, I have found conflicting information regarding the correct projection information. spatialreference.org has several different projects:


And here is the gdalsrsinfo for one of the HDF4 datasets:

gdalsrsinfo 'HDF4_EOS:EOS_GRID:"MOD13Q1.A2017049.h10v04.005.2017066041938.hdf":MODIS_Grid_16DAY_250m_500m_VI:250m 16 days NDVI'

PROJ.4 : '+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6371007.181 +b=6371007.181 +units=m +no_defs '

GEOGCS["Unknown datum based upon the custom spheroid",
    DATUM["Not specified (based on custom spheroid)",
        SPHEROID["Custom spheroid",6371007.181,0]],

Can anyone provide some clarification to the correct SRID information?


you can use my python script to download the MODIS data. To reproject the MODIS data, you can quite easily use gdalwarp as follows:

gdalwarp -t_srs "EPSG:25829" \
    'HDF4_EOS:EOS_GRID:"'$fname'":MODIS_Grid_16DAY_1km_VI:1 km 16 days NDVI' stuff.tif

(I set $fname to the MODIS filename so that it doesn't look that horrible, and I used UTM29N/ETRS89 as my destination projection, as I had a h17v04 tile lying around). My current version of GDAL picks up the MODIS projection, but in case yours doesn't, the one you want is

'+proj=sinu +R=6371007.181 +nadgrids=@null +wktext'

which you would enforce by using the -s_srs option in gdalwarp. You can extend my code to do the reprojection and so on in Python, these notes might be useful.

  • Thanks for all the great references Jose! Currently I am using pymodis to automate the downloading processes, but I will take a look at your script as well! I am a still a bit confused with the projection though. It looks like the proj4 string you have is equivalent to this one. However, when I do gdalsrsinfo on my data, it gives an alternative proj4, so won't gdal use the one I posted in my question? Are the two equivalent or should I force the one you posted with the -s_srs? – Rowan_Gaffney Mar 21 '17 at 17:12
  • @Rowan_Gaffney That was a typo, c&p from your answer instead of from my code ;-P. Have now updated – Jose Mar 21 '17 at 18:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.