Next: Linear interpolation Up: FAMILIAR OPERATORS Previous: Nearest-neighbor coordinates

## Data-push binning

A most basic data modeling operation is to copy a number from an -location on a map to a 1-D survey data track , where is a coordinate running along a survey track. This copying proceeds for all . The track could be along a straight, curved, or arbitrary line. Let the coordinate take on integral values. Then along with the elements are the coordinates where on the map the data value would be recorded.

Code for the operator is shown in module bin2.

user/gee/bin2.c
 ` for (id=0; id < nd; id++) { i1 = 0.5 + (xy[0][id]-o1)/d1; i2 = 0.5 + (xy[1][id]-o2)/d2; if (0<=i1 && i1
To invert this data modeling operation, to go from to requires more than the adjoint operator. Since each bin contains a different number of data values. After the adjoint operation is performed, the inverse operator needs to divide the bin sum by the number of data values that landed in the bin. It is this inversion operator that is generally called binning (although we will use that name here for the modeling operator). To find the number of data points in a bin, we can simply apply the adjoint of bin2 to pseudo data of all ones. To capture this idea in an equation, let denote the linear operator in which the bin value is sprayed to the data values. The inverse operation, in which the data values in the bin are summed and divided by the number in the bin, is represented by
 (15)

Empty bins, of course, leave us a problem since we dare not divide by the zero sum they contain. That we'll address in chapter . In Figure 3, the empty bins contain zero values.

galbin
Figure 3.
Binned depths of the Sea of Galilee.