@@ -101,6 +101,14 @@ def __init__(self, config, dbstring, bands, compute_pixels=True):
101101 db_table ["dec_center" ] = np .zeros (len (db_table ))
102102 db_table ["decasu_lst" ] = np .zeros (len (db_table ))
103103 db_table ["skyvar" ] = db_table ["sky_noise" ]** 2.
104+ db_table ["ra_poly_0" ] = np .zeros (len (db_table ))
105+ db_table ["ra_poly_1" ] = np .zeros (len (db_table ))
106+ db_table ["ra_poly_2" ] = np .zeros (len (db_table ))
107+ db_table ["ra_poly_3" ] = np .zeros (len (db_table ))
108+ db_table ["dec_poly_0" ] = np .zeros (len (db_table ))
109+ db_table ["dec_poly_1" ] = np .zeros (len (db_table ))
110+ db_table ["dec_poly_2" ] = np .zeros (len (db_table ))
111+ db_table ["dec_poly_3" ] = np .zeros (len (db_table ))
104112
105113 print ("Computing local sidereal time..." )
106114 loc = EarthLocation (lat = config .latitude * units .degree ,
@@ -144,12 +152,20 @@ def __call__(self, row):
144152 region_str = self .table ["s_region" ][row ]
145153
146154 region = lsst .sphgeom .Region .from_ivoa_pos ("" .join (region_str .split ("ICRS" )).upper ())
155+ verts = [lsst .sphgeom .LonLat (vert ) for vert in region .getVertices ()]
156+ ra = np .asarray ([v .getLon ().asDegrees () for v in verts ])
157+ dec = np .asarray ([v .getLat ().asDegrees () for v in verts ])
158+
147159 centroid = lsst .sphgeom .LonLat (region .getCentroid ())
148160 center = [centroid .getLon ().asDegrees (), centroid .getLat ().asDegrees ()]
149161
150162 self .table ["ra_center" ][row ] = center [0 ]
151163 self .table ["dec_center" ][row ] = center [1 ]
152164
165+ for i in range (4 ):
166+ self .table [f"ra_poly_{ i } " ][row ] = ra [i ]
167+ self .table [f"dec_poly_{ i } " ][row ] = dec [i ]
168+
153169 if self .compute_pixels :
154170 vertices = np .asarray ([[v .x (), v .y (), v .z ()] for v in region .getVertices ()])
155171 pixels = hpg .query_polygon_vec (self .config .nside_run , vertices , inclusive = True , fact = 16 )
0 commit comments