On Thu, Jun 24, 2010 at 3:59 PM, P Kishor <[email protected]> wrote:
> Imagine, I want to end up with a large, 2D piddle $p, whose every > element is a 1D piddle $q, so, really, a 3D piddle. But, it is easier > to think of it as a 2D piddle, a rectangular grid of piddles. > > This rectangular piddle is (i x j), say, (2000 x 1500). Each element > in this (i x j) piddle has a serial number, starting at coordinates > (0,0) at the top left, which is 1, and increasing to the right most > edge, then down one row and left, then to the right most edge, and so > on. So, in my example 2D (i x j) piddle, the bottom-most, right-most > element's coordinates are (1999 x 1499) and its serial number is 3e6. > > I can get the content of any element in the 2D piddle with $p->at(x, > y) where (x, y) is the coordinate pair. Also, thanks to David Mertens, > if I know the serial number of an element, I can find its content with > $p->flat->at(n), where n is its serial number between 1 and 3e6. > > Ok. Here's the rub. I don't have all the data. I get the data > incrementally. That is, my 2k x 1.5k 2D piddle is really made up like > a patchwork quilt, and I get the patches one at a time. Every patch is > a series of 1D piddles ($q from my para 1 above) with a unique serial > number between 1 and 3e6, so I know, for any set of 1D piddles, which > patch they will go to. By the way, is there a PDL method to find the > indexes (coordinate pair) of an element in my 2D piddle, given its > serial number? I could write one in Perl, but PDL might have one > already. > > So, I want to glue(), which, btw, is really clever method, my patches > to each other, one by one, till they end up as the 2000x1500 2D > piddle. > > How do I do the above? > > > -- > Puneet Kishor http://www.punkish.org > Carbon Model http://carbonmodel.org > Charter Member, Open Source Geospatial Foundation http://www.osgeo.org > Science Commons Fellow, http://sciencecommons.org/about/whoweare/kishor > Nelson Institute, UW-Madison http://www.nelson.wisc.edu > ----------------------------------------------------------------------- > Assertions are politics; backing up assertions with evidence is science > ======================================================================= > > _______________________________________________ > Perldl mailing list > [email protected] > http://mailman.jach.hawaii.edu/mailman/listinfo/perldl > Puneet - If you're going to be building your matrix in a random order, then you'll have to pre-allocate it, as far as I can figure. In terms of obtaining the serial address, I think you should probably just write a small function to handle it for you. I don't think there's a piddle method for it. David -- Sent via my carrier pigeon.
_______________________________________________ Perldl mailing list [email protected] http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
