I have a need from oledb provider and was wondering if it is possible. I realize that with oledb provider, I can iterpolate values based on an equal distribution of time. An example is, I can get the interpolated value for each 10 seconds or minutes:

9:00

9:01

9:02

but my need is to get the times at an equally distributed value. I will then gets interpolated values off of the times. I have a footage that is not equally distributed:

0

3.4

7.2

10.1

14.4

...

...

I would like to make this into

0

1

2

3

4

5

6

7

8

and then find interpolated values at the times that the footage was equal to the distribution above.

So far, All I have found is that I need to do each value one at a time (a separate call for each value) and I need to write these equally distributed values back to PI in a different tag to use them.

Is there a better way of doing this?

Thank you in advance for your help in this matter.

@Mike: Neither the PI OLEDB provider nor the PI SDK have such capability. Patterns of data can be very simple to complex from which you can use simple (linear) interpolation or complex methods (polynomial, spline, gaussian, etc.) to obtain new data points from them. Complex methods will involve mathematical resolution to define an equation to "express" the pattern. This is feasible but works better on small subset of data not a complete database (like the PI Server).

In a more pragmatic approach, one method would consist of sampling your data at the highest rate possible with PI OLEDB provider which is 0.5 second, and browsing the values you are seeking to obtain the right timestamps. You will have probably to implement logic to handle non-exact values. You can decide to accept the nearest value or interpolate using the surrounding values. This technique should work smoothly if you keep your interval of time pretty short. If you try with a too large period of time, the internal buffer (ArcMaxCollect) for data manipulation will be full and will warn you. This ArcMaxCollect is a parameter found in the Tuning Parameters table of the PI Server, its default values is 1,500,000 (for PI Server 3.4.380.36 and later).

Let me know if that helped answering your question.