Billy,
You could try something along the lines of
!put points into 1x1 bins on (0,2]x(0,2]
! here are the points we want to bin
let xvals=zsequence({ 0.1, 2.0, 0.2 })
let yvals=zsequence({ 0.1, 2.0, 0.2 })
! Define our bounds Note promotion to 2D
let xl= i[i=1:2]-1+0*xvals
let xh= i[i=1:2]+0*xvals
let yl= j[j=1:2]-1+0*xvals
let yh= j[j=1:2]+0*xvals
let isinboxx = if ( xvals le xh and xvals gt xl ) then 1 else 0
let isinboxy = if ( yvals le yh and yvals gt yl ) then 1 else 0
let isinbothboxes = isinboxx*isinboxy
let numinbox = isinbothboxes[z=@sum]
list numinbox
VARIABLE : ISINBOTHBOXES[Z=@SUM]
SUBSET : 2 by 2 points (X-Y)
Z : 0.5 to 3.5
1 2
1 2
1 / 1: 2.000 0.000
2 / 2: 0.000 1.000
Russ
On Thursday 01 September 2011 15:23, William S. Kessler wrote:
I have a long list of data triplets (x,y,value) that I am putting
on a
regular grid. No problem doing that, but how can I count the number
of
data points that fall in each gridbox?
I want to end up with a gridded field whose values are the number of
the original (x,y) points within each box.
It seems like a simple task, but I can't think of a way to do it
without a (double) repeat loop, or sorting and writing data out
(twice). Ugly.
Anyone have a straightforward way to do this?
Frustratingly, the function SCAT2GRID_BIN_XY produces the bin-
average.
To do that it must compute the number of points in each bin. That
number should be available to the user.
Thanks ... Billy K