<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Dear All,</div><div class="">cc: Bruno, for the&nbsp;<a href="http://wiki.ivoa.net/twiki/bin/view/IVOA/IvoaSciencePriorities" class="">Standing Committee on Science Priorities</a></div><div class=""><br class=""></div><div class="">The following science use case cannot be accomplished without a new ADQL function:</div><div class=""><br class=""></div><div class="">I want to find images of the Galactic Centre in two bands (J and H) provided that the images</div><div class="">in the 2 bands overlap, in order to get the colours (J-H) of the sources imaged by both.</div><div class="">The overlapping region must be big enough so that I can detect sources</div><div class="">in both images: an overlap of, say, 0.001 square degrees would be irrelevant for my science case.</div><div class=""><br class=""></div><div class="">I’ll show in the PS how this can be achieved using ObsCore with a user-defined function.</div><div class=""><br class=""></div><div class="">The issue is that, to avoid images just “touching” each other, we had to create a user-defined function</div><div class="">that computes the area of the intersection of the two regions.</div><div class=""><br class=""></div><div class="">Issues: (1) only those users that read the documentation or the TAPRegExt will know</div><div class="">that such functionality exists, and (2) this function cannot be used when querying other data centres.</div><div class=""><br class=""></div><div class="">Can I suggest to introduced a new function in ADQL 2.1 which can be used to compute</div><div class="">the area of the intersections between two regions?</div><div class=""><br class=""></div><div class="">Many thanks,</div><div class="">Alberto</div><div class=""><br class=""></div><div class="">PS: Here below the corresponding ADQL, including the ESO_INTERSECTION user-defined function.</div><div class=""><br class=""></div><div class="">The first part of the use case can be easily implemented using ObsCore, doing a cross match like:</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">SELECT TOP 50 J.target_name, J.obs_publisher_did, J.s_ra, J.s_dec, J.em_min, J.em_max, J.instrument_name,</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; H.target_name, H.obs_publisher_did, H.s_ra, H.s_dec, H.em_min, H.em_max, H.instrument_name,</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; J.s_region, H.s_region\n\</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">FROM\n\</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp;&nbsp; &nbsp; (SELECT * FROM ivoa.Obscore WHERE dataproduct_type='image'</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp; &nbsp; &nbsp; &nbsp; AND INTERSECTS(CIRCLE('ICRS',266.42,-29.0,5),s_region) = 1 &nbsp;-- Contains galactic centre</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp; &nbsp; &nbsp; &nbsp; AND em_min &lt; 1.265E-6 AND em_max &gt; 1.265E-6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- Contains lambda(J)</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp;&nbsp; &nbsp; ) as J</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">,</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp;&nbsp; &nbsp; (SELECT * FROM ivoa.Obscore WHERE dataproduct_type='image'</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp; &nbsp; &nbsp; &nbsp; AND INTERSECTS(CIRCLE('ICRS',266.42,-29.0,5),s_region) = 1 &nbsp;-- Contains galactic centre</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp; &nbsp; &nbsp; &nbsp; AND em_min &lt; 1.66E-6 AND em_max &gt; 1.66E-6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- Contains lambda(H)</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp;&nbsp; &nbsp; ) as H</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">WHERE INTERSECTS(J.s_region, H.s_region)=1</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">ORDER by 1, 8</div></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class=""></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class=""></span></div><div class="">This statement though returns all overlapping images, that is, even the ones</div><div class="">that overlap for an insignificant amount.</div><div class=""><br class=""></div><div class="">To solve this problem and return only images with significant overlap</div><div class="">we have defined an new function: ESO_INTERSECTION</div><div class="">which computes the area of the intersection between 2 regions and returns</div><div class="">the the area in square degrees:</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">SELECT TOP 50 J.target_name, J.obs_publisher_did, J.s_ra, J.s_dec, J.em_min, J.em_max, J.instrument_name,</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; H.target_name, H.obs_publisher_did, H.s_ra, H.s_dec, H.em_min, H.em_max, H.instrument_name,</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ESO_INTERSECTION(J.s_region,H.s_region) as OverlappingArea, J.s_region, H.s_region</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">FROM</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp;&nbsp; &nbsp; (SELECT * FROM ivoa.Obscore WHERE dataproduct_type='image'</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp; &nbsp; &nbsp; &nbsp; AND INTERSECTS(CIRCLE('ICRS',266.42,-29.0,5),s_region) = 1</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp; &nbsp; &nbsp; &nbsp; AND em_min &lt; 1.265E-6 AND em_max &gt; 1.265E-6</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp;&nbsp; &nbsp; ) as J</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">,</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp;&nbsp; &nbsp; (SELECT * FROM ivoa.Obscore WHERE dataproduct_type='image'</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp; &nbsp; &nbsp; &nbsp; AND INTERSECTS(CIRCLE('ICRS',266.42,-29.0,5),s_region) = 1</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp; &nbsp; &nbsp; &nbsp; AND em_min &lt; 1.66E-6 AND em_max &gt; 1.66E-6</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp;&nbsp; &nbsp; ) as H</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">WHERE INTERSECTS(J.s_region, H.s_region)=1</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">&nbsp; AND ESO_INTERSECTION(J.s_region,H.s_region) &gt; 1.79</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">ORDER by 1, OverlappingArea desc</span></div></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><br class=""></div><div class=""><br class=""></div><div class="">—oOo—</div><div class=""><br class=""></div></body></html>