Boxes and Polygons in ADQL/STC. Questions and recommendation.
Arnold Rots
arots at head.cfa.harvard.edu
Fri Oct 23 12:19:40 PDT 2009
These shapes are based on their definitions in STC, so I would urge
you not to change anything. The "box" you are referring to is a 2-D
coordinate interval.
- Arnold
FYI, from STC:
4.5.1.4 Polygon
A Polygon (2-dimensional) is an ordered list of one or more vertices. Its area is
defined as that contained within (i.e., to the left of) the lines connecting
neighboring (that is, in the ordered list) vertices. If the CoordFlavor is
CARTESIAN, these lines are truly lines. The last vertex in the list connects back
to the first.
If the CoordFlavor is SPHERICAL, the lines are, by default, great-circles, unless
the Vertex object contains a SmallCircle object; in that case the line connecting
that vertex with its predecessor is a small-circle (parallel). The curvature of the
parallel is determined by the pole of the SpatialFrame in the current
AstroCoordSystem, unless a PolePosition is explicitly specified in the Vertex
object. It is the responsibility of the server to ensure that the positions of the two
sequential vertices actually lie on a parallel that is consistent with the implied or
specified pole. In order to avoid ambiguities in direction, vertices need to be less
than 180Â° apart in both coordinates. Great circles or small circles spanning 180Â°
require specification of an extra intermediate vertex.
The area A of a polygon with n vertices x in Cartesian space may be calculated
as:
[go to the document for the equation]
The summation is over determinants of matrices formed by the position vectors xi
of successive vertices; xn+1 = x1. In spherical space (left-handed coordinates) the
area is:
[go to the document for the equation]
are the polygonâ€™s angles at the vertices. Reverse the sign for right-handed
coordinates. If the coordinate system is defined on the surface of a body (rather
than the celestial or unit sphere), one should multiply by the square of the radius.
The boundaries are considered part of the region. The inside of the region is
defined as that part of coordinate space that is encircled by the polygon in a
counter-clockwise sense. What this means is that, in a plane, if A > 0, the â€œinsideâ€
of the polygon is included; if A < 0, the â€œoutsideâ€ is selected. On a sphere with a
left-handed (celestial) coordinate system, if A > 0, one has identified the inside of
the polygon; if A < 0, one used the â€œoutsideâ€ angles of the polygon and the area
is really 4Ï€ âˆ’ A . Note that the negation operation is a simple matter of reversing
the order of the vertex list.
4.5.1.5 Box
A Box is a special case of a Polygon, defined purely for convenience. It is
specified by a center position and size (in both coordinates) defining a cross
centered on the center position and with arms extending, parallel to the
coordinate axes at the center position, for half the respective sizes on either side.
The boxâ€™s sides are line segments or great circles intersecting the arms of the
cross in its end points at right angles with the arms.
Alex Szalay wrote:
> I think Tom raises a good point, and since this will lead to a lot
> of confusion in the future, I think we might want to use BOX indeed
> in the (lat, lon) constraint sense, if others agree as well. We
> can always use a polygon for great circle boundaries. This is probably
> the last moment when we can still change things since the implementations
> are at an early stage.
>
>
> --Alex
>
> -----Original Message-----
> From: Tom McGlynn [mailto:Thomas.A.McGlynn at nasa.gov]
> Sent: Friday, October 23, 2009 2:25 PM
> To: adql at ivoa.net; dal at ivoa.net
> Subject: Boxes and Polygons in ADQL/STC. Questions and recommendation.
>
> In trying to implement the geometry elements of ADQL, I was a bit
> surprised when I finally read the definition of Box carefully. I had
> assumed that it corresponded to a range in both coordinates. That's
> what the PgSphere Box is. However an ADQL box is a polygon, so it's
> sides are all great circles. If I've read this and done my geometry
> properly then, e.g., an ADQL box with a size of 180 degrees on both
> sides is in fact the hemisphere centered on the center of the box, i.e.,
> a box and a circle are the same for that radius. The area of the box is
> independent of the center of the box and depends only on the width fields.
>
> For small boxes, where spherical distortions and projections can be
> ignored, this definition of a box might be a reasonable approximation
> to the field of view of an observation. Still, since an ADQL box must
> be aligned with the coordinate axes, it's not really general enough for
> that kind of use. It needs a positional angle or some such. I guess
> one might hack the coordinate system element to address this, but I
> don't think that's appropriate.
>
> So my question is: What is a box intended to be used for?
>
> My comment is that I think it would be good if and when the ADQL
> document is revised to explicitly note that a box does not correspond to
> a set of ranges in the coordinates since I suspect that others may, as
> I did, assume that meaning.
>
> Tom McGlynn
>
> P.S., If I may be permitted a second question. Given that a box is
> special case of polygon, then can I transform from one to the other?
> E.g., given a box at (a,b) with widths (c,d), what are the coordinates
> of the corners of the box.
>
> P.P.S., This points out an ambiguity in the definition of polygons in
> ADQL. The definition requires only the vertices of the polygon, to
> create a boundary the divides the sphere into two regions. However it
> doesn't say which of the two regions is 'inside'. This is fairly clear
> in the plane, where one region is always finite and the other always
> infinite. For large regions on the sphere there is no such obvious way
> to distinguish regions. E.g., consider the polygon:
>
> POLYGON('ICRS GEOCENTER', 0,0, 120,0, 240,0)
>
> This is a 'triangle' consisting of three 120 degree segments of the
> equator. Does it include the northern or southern hemisphere?
>
> I don't see any obvious resolution to this issue -- maybe allow a
> specification of a point that is inside the polygon?
>
>
--------------------------------------------------------------------------
Arnold H. Rots Chandra X-ray Science Center
Smithsonian Astrophysical Observatory tel: +1 617 496 7701
60 Garden Street, MS 67 fax: +1 617 495 7356
Cambridge, MA 02138 arots at head.cfa.harvard.edu
USA http://hea-www.harvard.edu/~arots/
--------------------------------------------------------------------------
More information about the dal
mailing list