[libpc] Producer/Consumer vs Reader/Writer

Howard Butler hobu.inc at gmail.com
Sat Mar 12 21:34:00 EST 2011


Just a followup.

I was able to get an OCI writer working this morning.  The biggest hiccup was needing to seek back to 0 after different stages to reset the reader(s).

After that, it was quite straightforward.

See you in Montreal!

Howard

On Mar 5, 2011, at 1:39 PM, Michael Gerlek wrote:

> Ah yes, Feeble Brain Syndrome -- I know it well.
> 
> A Reader is a Producer, a Writer is a Consumer, and a Filter is both a
> P and a C.  This makes me think about renaming the classes, since P
> and C are more suggestive. (I did think about Source and Sink, too.)
> Would it be worth it to take on multiple inheritance to make a filter
> be a class that sports both a P and a C interface?
> 
> Your mental model is correct, and random access for the 2nd phase of
> the chipping process is indeed going to be painful (as it presumably
> is in liblas too?). A relatively simple caching filter would go a long
> way here, I think, and I could write you something simple on Monday...
> 
> But really the chipper wants a data source that has already been
> indexed.  I almost think the 1st phase of the chipper, where it does
> all the sequential point reading, should include an index-creating
> stage almost as a side-effect?
> 
> [I'm in bed today again with my heading pad, but am reading a book on
> C++ template programming. Powerful stuff.  Will it help with the
> PointData model, a la PCL?  Dunno yet...]
> 
> .mpg
> 
> On Mar 5, 2011, at 11:20 AM, Howard Butler <hobu.inc at gmail.com> wrote:
> 
>> Michael,
>> 
>> I am working on creating a writer for OCI and running into some dissonance which I'm sure is my feeble brain's fault.  Here's what has to happen...
>> 
>> Read data from a Reader (LAS, text, etc) -> reorganize data via Chipper into "blocks" -> write blocks into Oracle by reading reorganized data.
>> 
>> Given the current model, and what I've done so far for the chipper, what are the big picture relationships that need to happen?  Is there stuff that's not going to fit so well?
>> 
>> A couple of questions:
>> 
>> - Does Producer == Reader and Consumer == Writer more accurately describe the relationship and intent of these objects?
>> - How can the writer reasonably perform random reads into the data?  Should the Chipper hook up a cache stage somehow to reorganize the data into the blocks and memory cache it?
>> 
>> Howard_______________________________________________
>> libpc mailing list
>> libpc at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/libpc



More information about the libpc mailing list