Few times ago, I worked with daily land surface temperature satellite images of an area with the size of Alaska.

I had to process around one thousand images. I downloaded them, mosaiced, projected, clipped to shapefile boundaries, extracted means out of the clipped rasters, and plotted the means on a time-temperature graph. The time-temperature graph was the final output. I did all these in ArcGIS, and even though I created an ArcPy script which helped automating a part of the work, it was still painstaking.

Now I want to build a program that does the same thing, but 100% automatically. I merely want to input to the program the coordinates of the corners in order to define the area of interest and get the final output generated which is the time-temperature graph.

Do you think this is possible using Python with the GDAL library and PostGIS as a raster data store?

1 Answer 1


Yes - is the short answer. I think you will need NumPy and SciPy as part of your Python solution. Have a look at the scipy.ndimage module when it comes to calculating means (are these zonal means?) as this will be a lot quicker than doing it with just NumPy. Also, by using the Python multiprocessing module, you will get a significant speed gain. However, keep the number of subprocesses down as raster processing can be processor-intensive and you could end up slowing the machine down rather than speeding it up. I suggest 1 less process than cores on your machine.

  • What about the bit of downloading the data? In general, what information would you need to know?
    – dchaboya
    Sep 3, 2013 at 12:14
  • @dchaboya : I am not sure what you mean. The ftplib library would do the downloading task I think. Sep 4, 2013 at 9:13
  • Ah yes, that's what I was refering to. Wasn't sure which module\library was being used to do that part of the task.
    – dchaboya
    Sep 4, 2013 at 23:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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