Jon Blower a écrit :
> 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.
Yes. If we stick to numerical results, I see coverage as a function of (x,y,z,t)
The interpolation could be specified at ContinuousCoverage construction time.
ISO 19123 do not specifies constructors and we have not yet proposed Coverage
factories in GeoAPI, so this task still on the todo list.
> 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 I was going to implement that today, I would probably use the Envelope. But
the convex hull could be an other serious candidate. I don't think that it
needs
to be the individual points however.
ISO 19123 defines a Coverage.getDomainExtents() association which returns (in
my
understanding) domain limits for the coverage as a whole. The return values are
ISO 19115 Extent object, including GeographicExtent which may describe the
extents as polygons, geographic bounding box or plain geographic identifier
(e.g. the name of a city). So the definition is somewhat fuzzy.
> 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?
GeoAPI defines a PointOutsideCoverageException, but this exception is actually
imported from OGC 01-004 and we left to implementors the decision about when to
thrown this exception.
The wording has changed between GeoAPI 2.1 and 2.2-SNAPSHOT. Current wording
said "Thrown when a evaluate method is invoked for a location outside the
domain
of the coverage".
> 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)?
I think we can eliminate the set of discret points, given that there is no way
I
can see to express that as an ISO 19115 Extent and the
Coverage.getDomainExtents() is mandatory and must contains at least one element.
Martin
-------------------------------------------------------------------------
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