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

Reply via email to