I think were grappling with the difference between what is a continuous coverage and what is a discrete coverage. Yes (I think we agree), my understanding is that in querying a continuous coverage a method should in principal be able to return a value that is not a no data value (null) at any point in its domain (also it's envelope). (I'm not too hot on terminology here, but domain seems to be the right word and I'd expect envelop to be something very similar if not equivallent in this case and I don't know if they need be rectangular, but that also might be a difference - sorry I'm trying to find out). In querying a discrete coverage we can expect null returns within the envelope. for some points, but that depends on how the boundaries of two discrete parts of the coverage are defined. I don't know if it is allowed to return more than one value for a discrete coverage which might be the case at a boundary, or if the discrete parts of the coverage are allowed to overlap. In terms of domain, perhaps this is the union of all parts that return at least one non null value. In terms of discrete raster coverages (sometimes raster is called grid), when there is only one variable there is only the problem of what to do on the boundary parts. I am still not clear on what is a discrete coverage yet. I did skim a document [1] and remember seeing point type raster coverages as a special case of discrete coverages.
I'll try to pass on this thread somehow to the OGC Coverages group now. I'm not sure how best to do this yet as we could end up even more fragmented communication posting to 3 lists... First things first, I have sent a request to join the Coverages.wg email list at OGC. I think this is an open list if you are an OGC portal user, but it may be a public list. Is it time for the University of Reading to become an OGC member Jon. I've been wondering if NeSC could join on behalf of us all... That's a bit off topic though. Bye for now... Andy [1] The OpenGIS® Abstract Specification Topic 6: Schema for coverage geometry and functions (http://portal.opengeospatial.org/files/?artifact_id=19820) [2] https://lists.opengeospatial.org/mailman/listinfo/coverages.wg -----Original Message----- From: [EMAIL PROTECTED] on behalf of Jon Blower Sent: Fri 13/06/2008 08:43 To: Andy Turner Cc: [EMAIL PROTECTED]; [email protected] Subject: Re: [Geotools-gt2-users] [GeoShaver] Re: [GeoShaver] Re: Status ofCoverages inGeoAPI and GeoTools Hi Andy, Thanks very much for this. Yes, please pass on anything you like to the coverages working group. I guess I'm not completely clear on what a Coverage actually is, conceptually. From the GeoAPI javadocs: "The essential property of coverage is to be able to generate a value for any point within its domain." At first read, this implies to me that a coverage is, from the point of view of the user, a continuous feature that produces values at any point in the domain, by interpolation if necessary (i.e. if the coverage is stored internally as discrete elements). It worries me that the methods in Coverage don't allow the user to specify an interpolation method - this really matters in science. However, see below. However, this raises the question of what constitutes the "domain" of a coverage. Let's assume we're dealing with the case where a coverage is represented internally as a set of discrete points. Is the domain simply the points themselves? Or their convex hull? Or some arbitrary bounding volume, defined by the data provider (i.e. the Envelope)? If the domain is simply the points themselves, what would I expect to get if I queried for a value at a different point? If I'm reading the GeoAPI javadocs correctly then the Coverage.find() methods should return the nearest point, whereas the evaluate() methods would throw a PointOutsideCoverageException. However, some methods explicitly say that this exception is thrown when the point is outside the Coverage's Envelope, implying that the Envelope defines the domain. Is this right? I guess this all boils down to the following question: is the Domain of a Coverage always a contiguous rectangular region of space, i.e. its Envelope (in which case interpolation is implicit)? Or can the domain be a set of discrete points (in which case interpolation is disallowed)? Cheers, Jon On Thu, Jun 12, 2008 at 10:48 PM, Andy Turner <[EMAIL PROTECTED]> wrote: > Hi Jon et al, > > Jon's are all good questions, sorry I went off on a tangent. I don't know > about any of the numbered ones, but the coverages working group of the OGC TC > might. Do you want me to pass them on? > > In principal I think you can use whatever generalisation of values in the > coverage to produce an interpolated value. However I don't know if this > principal is reflected in the standards documentation or software > implementations. A further thing to note is that there are generalisions > (interpolations) of values in a single variable/coverage and those that > involve multiple variables/coverages. For instance I might chose to guide an > interpolation based on a combination of values from multiple coverages. IMHO, > this is still interpolation. It is even interpolation when the value is going > to be outwith the current range of values in the coverage. > > Regards, > > Andy > > > -----Original Message----- > From: [EMAIL PROTECTED] on behalf of Jon Blower > Sent: Wed 11/06/2008 17:55 > To: [EMAIL PROTECTED] > Cc: Andy Turner; [email protected] > Subject: Re: [Geotools-gt2-users] [GeoShaver] Re: [GeoShaver] Re: Status > ofCoverages inGeoAPI and GeoTools > > Ah, interesting. Just to check I've understood this correctly: > > 1) A coverage represented internally by a grid (e.g. numerical model > output, digital photo or satellite image) is a type of > DiscreteCoverage in ISO19123 (perhaps a DiscreteGridPointCoverage)? > > 2) For a DiscreteCoverage, if I ask for a value at a point that > doesn't correspond exactly with a grid point I will get the value from > the nearest grid point (i.e. nearest-neighbour interpolation). Or do > I actually get null? > > 3) However, in GeoTools, the DiscreteCoverages are not implemented. > The GridCoverage2D class does not implement ISO19123 interfaces but it > is effectively a discrete coverage that performs nearest-neighbour > interpolation. > > 4) If I want bilinear (or bicubic or anything else) interpolation then > I need to take my GridCoverage2D and somehow convert it to an > Interpolator2D. How do I do this? > > Another question: Is it possible to have different interpolation > methods in different directions (e.g. nearest-neighbour in the > horizontal, linear in the vertical)? > > Cheers, Jon > > On Wed, Jun 11, 2008 at 4:20 PM, Martin Desruisseaux > <[EMAIL PROTECTED]> wrote: >> >> Andy Turner a écrit : >>> I think a continuous coverage is one where for any location a value is >>> obtained by interpolation and that for a discrete coverage the value at any >>> point is known directly. (The distinction, continuous or discrete is >>> nothing to do with the values attributed to the coverage.) >> >> Yes it is also my understanding. It GeoTools implementation, GridCoverage2D >> (without subclassing) would be a discrete coverage (minus tricky boundary >> issues >> like the ones you mentioned) while Interpolator2D would be a continuous >> coverage. But at this time GeoTools does not implement ISO interfaces that >> way. >> However this is something we would like to do in the future. >> >> Martin >> >> --~--~---------~--~----~------------~-------~--~----~ >> You received this message because you are subscribed to the Google Groups >> "GeoShaver" group. >> To post to this group, send email to [EMAIL PROTECTED] >> To unsubscribe from this group, send email to [EMAIL PROTECTED] >> For more options, visit this group at >> http://groups.google.co.uk/group/geoshaver?hl=en-GB >> -~----------~----~----~----~------~----~------~--~--- >> >> > > > > -- > -------------------------------------------------------------- > Dr Jon Blower Tel: +44 118 378 5213 (direct line) > Technical Director Tel: +44 118 378 8741 (ESSC) > Reading e-Science Centre Fax: +44 118 378 6413 > ESSC Email: [EMAIL PROTECTED] > University of Reading > 3 Earley Gate > Reading RG6 6AL, UK > -------------------------------------------------------------- > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > _______________________________________________ > Geotools-gt2-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users > > -- -------------------------------------------------------------- Dr Jon Blower Tel: +44 118 378 5213 (direct line) Technical Director Tel: +44 118 378 8741 (ESSC) Reading e-Science Centre Fax: +44 118 378 6413 ESSC Email: [EMAIL PROTECTED] University of Reading 3 Earley Gate Reading RG6 6AL, UK -------------------------------------------------------------- ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ Geotools-gt2-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
