I have a dataset with loads of fields of environmental (explanatory) data, as a regular grid of points (black dots in image), and another dataset of sampled (response) values as non-gridded points (red dots).

I'd like to append all of the environmental data fields to the sample dataset, but am not sure how. Most of the environmental fields are simple numeric data e.g. depth, temperature, salinity, etc., and subsequently I'm hoping it's possible to have QGis calculate the values at each red dot based on an interpolation from the nearest 'n' black dot sites.

Firstly, if that is possible, then how I can I do it?

Secondly, some of the fields aren't so easy: one is substrate, so the values are character strings e.g. "sand", "gravel" etc, and thus I'd like the red dot field value to take the value of the nearest black dot site.

Four of the fields are compass directions, i.e. numerical from 0 to 360, which won't pose a problem in most cases, but will do for bearings near 360/0, as a two point average of 359 & 0 will equal 179.5 rather than 359.5. Again, using nearest black dot site will very probably suffice.



Realised the best way to go about this was to use the same process I'd used to append the enviro data sources to the depth grid, to append them to the sampled points, namely by doing voronoi polygons from the individual enviro points sources (not required if enviro data sources are polygons), then adding polygon attributes to points as per @Underdark's tip here


You could have a look at some interpolation techniques like natural nearest neighbor, Inverse distance weightening and Kriging.

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