Region is the base type for everything Abstract region type The fill_factor (value between 0 and 1) indicates the fraction of the region that is actually included; possible application: large scale resource coverage areas Shape is the abstract type that is the building block of regions; in real life it needs to be replaced by a concrete shape Abstract Shape type Circle shape: center and radius The coordinates of the circle's center The radius of the circle Ellipse shape: adds semi-minor axis and position angle to circleType Half the minor axis of the ellipse, in radius_unit Position angle of major axis (Radius), counter-clockwise from north in pos_angle_unit smallCircleType indicates in polygons that side is along small circle; with optional pole Vertex is a position with optional SmallCircle element Polygon: one or more vertices; counter-clockwise encircled area is enclosed; cyclical coordinates may exceed 0 and 360 limits if necessary In order to form polygons, vertices are to be connected with straight line segments. In the case of spherical coordinates: greatcircle segments; if a smallCircle element si present, the vertex and its predecessor are to be connected with a smallcircle, by default in the CoordSys that is referenced; optionally, a pole may be specified (other than the CoordSys pole) that defines the smallcircle system A sector is the counter-clockwise area between two half-lines The vertex position of the sector The area ccw from this position angle is included The area cw from this position angle is included An area on the unit sphere defined by the intersection with a plane This needs to be a spherical coordinate vector; it is the unit vector that is normal to the plane that forms a constraint for a convex The distance along the normal vector where the constraint plane intersects that vector; if positive, the spherical sector on the far side (seen from the center) is selected; if negative, the point of intersection is in the opposite direction of the vector, resulting in more than a hemisphere A convex polygon defined by one or more Constraints A convex hull This is a hook for regions defined in sky indexing schemes The union of two or more regions is a region The intersection of two or more regions is a region The negation of a region is a region Head element of the Region substitution group The intersection of two or more regions is a region The union of two or more regions is a region The negation of a region is a region AllSky is just a convenience, meaning no bounds The circle is defined by a center and a radius Ellipse is an extension of the circle shape, with a minor axis radius and position angle A polygon is a shape delineated by a list of vertices connected with lines, great circles, or small circles; the inside of the polygon is circumscribed counter-clockwise by the list of vertices; the polygon may be concave but not self-intersecting; the last vertex in the list is the predecessor of the first. For celestial coordinates it is assumed that we are looking at the sphere from the inside, with Right Ascension increasing to the left. A sector selects the area between two half great circles or half lines meeting in a specified point A convex is defined as the intersection of one or more half-plane constraints with the unit sphere; this may also be described as the union of one or more convex polygons bounded by one or more constraint planes A convex hull is the convex polygon that contains all of the specified positions; the points have to be constrained to lie in one hemisphere A shape defined through a sky indexing scheme; this is really a substitutino group for concrete implementations