Did you look at the header of unit "mapinterpolation" of the "Interpolation.zip" attachment of the first post in
http://forum.lazarus.freepascal.org/index.php/topic,18702.msg112702.htmt? It contains step-by-step instructions how to use the interpolator.
The basic idea is that the code in this unit does the main interpolation and prepares a function which you can plug into the TColorMap series' OnCalculate event. The only problem is how you pass your data to the interpolator. For this purpose the interpolator has three events OnNeedX, OnNeedY, and OnNeedZ - x,y indicate the location of the temperature sensor, and Z refers to the temperature.
I don't know how your data are stored. If the 7x7 temperature sensors are equally spaced with a constant distance, and you define the origin in the left-bottom corner of this square, the x index (ix) increases horizontally and the y index (iy) increases vertically then OnNeedX and OnNeedY event handlers simple return the index multiplied by the sensor distance:
procedure TForm1.InterpolationNeedX(AIndex: Integer; out AValue:Double);
begin
AValue := AIndex * Your_Constant_Sensor_Distance;
end;
// the same for OnNeedY
I suppose from your post that your 49 temperature values are stored in a single, 1-dimensional array (a 2d-matrix would be easier). I also suppose the first value is for the origin in the 7x7 grid we had defined above, and the first 7 values are for the first 7 sensors in the horizontal row, and the next 7 sensors are for those in the second row, etc. Then you can convert the row and column index of the sensor to the array index (i) of the temperatur:
For this to work, indexes must start at 0.
And with this knowledge you can write the event handler OnNeedZ which passes the temperature to the interpolator:
procedure TForm1.InterpolationNeedZ(AIndexX, AIndexZ: Integer; out AValue:Double);
var
i : Integer;
begin
i := AIndexY * 7 + AIndexX; // better: use a variable (nx) here instead of "7"
AValue := Your_Temperature_Array[i];
end;
I think this is all which relates to your data setup. The rest is described in the unit header mentioned above.