Peter,
> OK, try out this thought. You say if a service returns a FrameSet then
> everything is determined, that's right, but consider if you are the
> "service" and someone passes in two Frames (or their syntactic equivalent)
> and asks you for a mapping to join them. How does the service find out the
> right mapping to use?
If the Frames abide by the agreed conventions then it just does the
equivalent of an astConvert call on the two Frames - just like in AST.
Of course, it may not be possible to do the conversion. For instance, if
one Frame represents pixel coords and the other represents (RA,Dec), then
the mere Frames do not specify a unique Mapping, since neither Frame
knows anything about the projection between pixel and sky coordinates.
In this case one of the two supplied Frames would need to be replaced by a
FrameSet containing both pixel and sky coordinates, with a specified
Mapping between them.
> Clearly it needs the knowledge to make this choice. As you say if the
> intelligence to use this knowledge is in the Frame construct, fine, but do
> explicity pass this buck.
A Frame should contain everything needed to transform between different
coordinate systems describing the same Domain (e.g. different spectral or
celestial coordinate descriptions), but won't know anything about how to
transform to coordinate systems in a different Domain (e.g. pixel to sky).
I'll try to explain this in the doc.
> (BTW, wasn't just sticking to AST-equivalent thoughts when this
> conversation started).
That's fine. I need to anticipate the sorts of comments which people
who have no experience of AST may make.
David
|