I have daily rainfall data in comma-delimited text file for some location as follows

Lat, Long, Precipitaion(mm)

26.0, 78.0, 23

26.50, 78.30, 200

26.70, 78.45, 405


I have total 365 files, means one file for each day.

My problem is that I want to create raster for each day by interpolating, means I have to create 365 raster in arcgis or any other gis software. After generation of these 365 rainfall raster layer I want to extract the interpolated value of precipitaion for a desired location(which is previously not available in our rainfall data) from each 365 interpolated rainfall raster data layer and want to save this in a new comma-delimited text file for 365 days just as follows.


Julian_Day, New-lat, New-lon, interpolated_precipitation(mm)

1, 26.35, 76.5, 405


I know how to load and interpolate these data in arcGis, QGIS but manually it takes long time to generate the result. so will you please suggest the automated solution in ArcGIS, QGIS, python or vb6 or any other programming language or techniques.

  • 1
    Welcome to GIS SE, can you provide a bit more background information such as what format is your rainfall data in, and what you have tried so far?
    – artwork21
    Sep 3, 2015 at 11:23
  • 1
    Welcome to GIS SE! Please make sure take the tour to better understand how questions are asked and answered on this site. In its current state we are not able to answer it since it is missing key information: What format is your input data? What is the expected outcome of the interpolation? What have you tried so far and how did the results differ from what you expected/wanted them to be?
    – Kersten
    Sep 3, 2015 at 11:23
  • You had tags for qgis, python, gdal, arcgis and ogr on this question but make no mention of which particular GIS software you would like to try and use to do this interpolation of precipitation (which were untagged). Would you be able to edit your question to make what you are asking more focussed, please?
    – PolyGeo
    Sep 4, 2015 at 2:55

1 Answer 1


How big is your dataset? If it's not that big, you can just do it naively using Inverse Distance Weighted interpolation in something like Python. I don't think you need to interpolate a whole grid, just your specific sites.

Here's (pseudocode) for how to do it:

  1. Load your sample data into a data structure, 1 set per day (a list of lists is what I'd use)
  2. Load your 'desired location' points
  3. Use IDW on each day, on each 'desired location' using all data points, or if the dataset is big, the nearest 10 points (you might need an library for this, might not)
  4. Save this data as you go, and then write it out to file.

This way you're only interpolating your needed locations, not a whole area. You might be able to find a library to do the interpolation. And you might want to be careful with your lat/lon distances.

Your Answer

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

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