[GIS] How to automate the Interpolation of daily(Total-365 days) precipitation data

interpolationprecipitation

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.

example:

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.

Best Answer

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.

Related Question