(note: I've sanitised the subject line as it was getting out of hand!)
Thanks very much for these very valuable clarifications and full
explanations. I think I understand this now and I'm comfortable that
a coverage can be non-contiguous and that every point in a coverage
must contain a value. This seems to be in line with the design of
Thanks to all for a very useful discussion. I hope this helped others
as much as it helped me!
On Fri, Jun 13, 2008 at 1:41 PM, Adrian Custer <[hidden email]> wrote:
> On Fri, 2008-06-13 at 12:27 +0100, Jon Blower wrote:
>> Hi Michael,
>> Thanks very much for this.
>> > My naive 2p / 2c worth is that the domain of a coverage is simply that
>> > region within which data are defined.
>> I like this definition because I understand it! However, I'm not sure
>> that everyone has the same view. I think the $64000 question is: does
>> the domain for a single coverage have to be contiguous? If so, this
>> would seem to rule out the use of a Coverage for a discretely-sampled
>> domain in which you don't want to apply interpolation of any kind.
> No, a coverage domain does not need to be continuous. A coverage, in its
> most abstract, is merely:
> some set of direct positions
> for all of which we have
> a set of values.
> The set of direct positions may be finite (i.e. a random or regular
> group of points) or infinite (i.e. a set of polygons, a mix of points,
> lines and polygons). The values can be of any kind of measure: nominal,
> ordinal, interval, or ratio and can also be a vector of, possibly mixed,
> values. The coverage is however *required* to have a value for each
> position in the original set. The key for the discrete/continuous will
> be how the values are generated.
> An example of a discrete coverage might be "countryNameCoverage". The
> domain of such a coverage could be the set of polygons of territories
> claimed to be occupied by some nation state (i.e. in today's world, all
> the land masses.) For our purposes let's call this a set of mostly
> non-overlapping polygons. The coverage, by its construction, guaranttees
> that for any point within those polygons we can get a "name" for a
> country. So if we give it a point in Boston we get 'USA', if we give it
> a point in the mississippi we get 'USA' but if we give it a point in the
> Amazon, we could get 'Brazil'. The coverage can define rules about how
> it resolves disputed areas like land in Antarctica. So this is
> 'discrete' in that we get the same result wherever we are within a
> polygon---any point we ask for within the alaska polygon will always
> give us 'USA'.
> An example of a continous coverage, based on the same polygons, could be
> "populationDensityCoverage". There, our two queries in the alaska
> polygon could return completely different values and indeed, in general,
> we expect different points to have different values even within the same
> Do not confuse continuous coverage with the continuity of the values
> however. We could have a third coverage using the same polygons which is
> "sexOfclosestHumanCoverage" which would return 'female' 'unknown' 'male'
> for any position in the polygons. Again every point in Alaska would have
> an answer but that answer would be different for different places in
> Alaska so the coverage is continuous although the values are not.
> An 'image' can be turned into a coverage in several ways although a
> common one will be to characterize the domain as a single, continuous
> rectangular block everywhere over which the coverage can return a vector
> of values, say one value for each of the image bands. The return vector
> would vary with position across the single domain so this would be a
> continuous construction. Alternatively, we could define an 'image' as a
> multi-domain discrete coverage where the domain is a set of equally
> sized polygons arranged side-by-side and the value returned is the same
> for each position within each polygon. Note in passing that we are not
> talking about how the values are generated---that's a detail of the
> internals of the coverage.
> In many ways coverages are the end goal of GI Systems so they are rich
> and complex. Also, Geotools has for a long time mixed up the notion of
> GridCoverage with the notion of Coverage causing some confusion.
> For details of the construction of these things, please look at the spec
> Also, you should all be aware there's a big doc written by Bryce trying
> to play with these notions. He's good at giving a 'read' of the specs he
> looks at so one can compare one's own understanding to someone else's
> (ie. his) as one reads. See
> http://docs.codehaus.org/display/GEOTOOLS/ > ISO+19123+progress+and+future+plan
> (rebuild the link)
> for details.
> Hope that helps---it's hard territory.
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: [hidden email] University of Reading
3 Earley Gate
Reading RG6 6AL, UK
Hi Jon; I always enjoy trying to beat more documentation out of the
developers for the User guide; you have succeed in this email thread -
far beyond my ability to write wiki pages :-)
Can I ask you to organize what has been learned here? At the very least
it will help the next person with these questions.
Jon Blower wrote:
> Hi Adrian, Simone et al.,
> (note: I've sanitised the subject line as it was getting out of hand!)
> Thanks very much for these very valuable clarifications and full
> explanations. I think I understand this now and I'm comfortable that
> a coverage can be non-contiguous and that every point in a coverage
> must contain a value. This seems to be in line with the design of
> Thanks to all for a very useful discussion. I hope this helped others
> as much as it helped me!
> Cheers, Jon