Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review coordinate limits #99

Merged
merged 3 commits into from
Nov 6, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 34 additions & 26 deletions ADQL.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1437,16 +1437,6 @@ \subsubsection{Language feature}
interoperability reasons the IVOID for the geometry features must not have this
hyphen.

\subsubsection{Coordinate limits}
\label{sec:functions.geom.limits}

The arguments for a geometric function represent spherical coordinates
in units of degrees (square degrees for area).
The values SHOULD be limited to [0, 360] and [-90, 90].

Details of the mechanism for reporting the out of range arguments are
implementation dependent.

\subsubsection{Datatype functions}
\label{sec:functions.geom.type}

Expand Down Expand Up @@ -1490,6 +1480,24 @@ \subsubsection{Datatype functions}
and \verb:<value_expression_primary>: enables the use of geometric functions
and column references.

\subsubsection{Coordinate limits}
\label{sec:functions.geom.limits}

The arguments for a geometric function represent spherical coordinates
in units of degrees (square degrees for area).

ADQL implementors and users MUST follow coordinate ranges defined in DALI 1.1
and later.

Note that at the time of the ADQL 2.1 recommendation, no agreed-upon, reliable,
IVOA-approved convention for what ranges apply to which reference system exists.
Such convention is foreseen to be defined in DALI. Presently, DALI 1.1 only
defines ranges for equatorial coordinates. However, this is expected to be
updated in future DALI versions.

Details of the mechanism for reporting the out of range arguments are
implementation dependent.

\subsubsection{Coordinate system}
\label{sec:geom.coordsys.param}

Expand Down Expand Up @@ -1663,10 +1671,10 @@ \subsubsection{BOX}
where:
\begin{itemize}
\item the center position is given by a pair of numeric coordinates
in degrees, or a single geometric POINT
in degrees, or a single geometric POINT
\item the values of coordinates of the center position are subject to the
constraints laid down in \SectionRef{sec:functions.geom.limits}
\item the width and height are given by numeric values in degrees
\item the center position and the width and height MUST be within the ranges defined in
\SectionRef{sec:functions.geom.limits}.
\end{itemize}

For example, a BOX of ten degrees centered on a position
Expand Down Expand Up @@ -1740,10 +1748,10 @@ \subsubsection{CIRCLE}
The function arguments specify the center position and the radius, where:
\begin{itemize}
\item the center position is given by a pair of numeric coordinates
in degrees, or a single geometric POINT
\item the radius is a numeric value in degrees
\item the center position and the radius MUST be within the ranges defined in
\SectionRef{sec:functions.geom.limits}.
in degrees, or a single geometric POINT
\item the values of coordinates of the center position are subject to the
constraints laid down in \SectionRef{sec:functions.geom.limits}
\item the radius is a numeric value in degrees.
\end{itemize}

For example, a CIRCLE of ten degrees radius centered on position
Expand Down Expand Up @@ -2047,8 +2055,8 @@ \subsubsection{POINT}
The function arguments specify the position, where:
\begin{itemize}
\item the position is given by a pair of numeric coordinates in degrees
\item the numeric coordinates MUST be within the ranges defined in
\SectionRef{sec:functions.geom.limits}.
\item the values of coordinates are subject to the constraints laid down in
\SectionRef{sec:functions.geom.limits}
\end{itemize}

For example, a function expressing a point with right ascension of 25 degrees
Expand Down Expand Up @@ -2096,10 +2104,10 @@ \subsubsection{POLYGON}

The function arguments specify three or more vertices, where:
\begin{itemize}
\item the position of the vertices are given as a sequence of
numeric coordinates in degrees, or as a sequence of geometric POINTs
\item the numeric coordinates MUST be within the ranges defined in
\SectionRef{sec:functions.geom.limits}
\item the position of the vertices are given as a sequence of numeric
coordinates in degrees, or as a sequence of geometric POINTs
\item the values of coordinates are subject to the constraints laid down in
\SectionRef{sec:functions.geom.limits}
\end{itemize}

For example, a function expressing a triangle with vertices at (10.0,
Expand Down Expand Up @@ -2157,9 +2165,9 @@ \subsubsection{REGION}


The REGION function provides a way of expressing a complex region
represented by a single string literal. The standard expressly only
represented by a single string literal. The standard expressly only
requires literals as arguments rather than string expressions or column
references. The latter would require parsing these representations
references. The latter would require parsing these representations
within the database, which is not intended.

This document does not specify possible syntaxes for REGION literals. A de-facto
Expand Down Expand Up @@ -2959,7 +2967,7 @@ \subsection{Between 2.0 and 2.1}
\item Clarification about the serialization of geometries in
the \verb:SELECT: clause: basically, use the syntax
described in DALI \SectionSee{sec:types.geom}
\item Clarification about coordinates limits
\item Clarification about coordinate limits
\SectionSee{sec:functions.geom.limits}
\item Clarification about geometry types and functions being
spherical
Expand Down