1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
// This code is generated by generate_code.py, do not modify it manually.
//! This module contains all the known columns in the skymapperdr1_master table.
use crate::traits::{Column, Table};
/// SkyMapper Data Release 1 - LATEST UPDATE (DR1.1) - MAIN TABLE: Primary table of mean astrometric, photometric and shape measurements per object, with cross-match information to external tables. Reference: Wolf et al. 2018 PASA, 35, 10. Data replicated from NCI TAP http://skymappertap.asvo.nci.org.au/ncitap/tap dr1.master table as of January 2019.
#[allow(non_camel_case_types)]
pub struct skymapperdr1_master;
impl Table for skymapperdr1_master {
fn string(&self) -> String {
"skymapperdr1_master".to_string()
}
}
/// The columns in the skymapperdr1_master table.
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, strum::Display)]
pub enum Col {
/// Global unique object ID in the master table.
object_id,
/// Mean ICRS Right Ascension of the object
raj2000,
/// Mean ICRS Declination of the object
dej2000,
/// RMS variation around the mean Right Ascension, in milliarcseconds
e_raj2000,
/// RMS variation around the mean Declination, in milliarcseconds
e_dej2000,
/// SkyMapper Southern Survey designation of the form SMSS Jhhmmss.ss+/-ddmmss.s, derived from mean ICRS coordinates
smss_j,
/// Mean MJD epoch of the observations
mean_epoch,
/// RMS variation around the mean epoch
rms_epoch,
/// Galactic longitude derived from ICRS coordinates. Not to be used as primary astrometric reference.
glon,
/// Galactic latitude derived from ICRS coordinates. Not to be used as primary astrometric reference.
glat,
/// Bitwise OR of Source Extractor flags across all observations
flags,
/// Total number of flagged pixels from bad, saturated, and crosstalk pixel masks across all observations
nimaflags,
/// Number of observations used across all filters
ngood,
/// Minimum number of observations used in any filter (excluding filters with 0 observations)
ngood_min,
/// Maximum number of child sources combined into this global object_id in any filter
nch_max,
/// Bitwise OR of Source Extractor flags from u-band measurements in photometry table
u_flags,
/// Number of flagged pixels from bad, saturated, and crosstalk pixel masks from u-band measurements in photometry table
u_nimaflags,
/// Number of u-band observations used
u_ngood,
/// Number of u-band child sources combined into this object_id
u_nch,
/// Number of u-band observations for which the mean RA/Dec position fell on a CCD
u_nvisit,
/// Bitwise OR of Source Extractor flags from v-band measurements in photometry table
v_flags,
/// Number of flagged pixels from bad, saturated, and crosstalk pixel masks fromvu-band measurements in photometry table
v_nimaflags,
/// Number of v-band observations used
v_ngood,
/// Number of v-band child sources combined into this object_id
v_nch,
/// Number of v-band observations for which the mean RA/Dec position fell on a CCD
v_nvisit,
/// Bitwise OR of Source Extractor flags from g-band measurements in photometry table
g_flags,
/// Number of flagged pixels from bad, saturated, and crosstalk pixel masks from g-band measurements in photometry table
g_nimaflags,
/// Number of g-band observations used
g_ngood,
/// Number of g-band child sources combined into this object_id
g_nch,
/// Number of g-band observations for which the mean RA/Dec position fell on a CCD
g_nvisit,
/// Bitwise OR of Source Extractor flags from r-band measurements in photometry table
r_flags,
/// Number of flagged pixels from bad, saturated, and crosstalk pixel masks from r-band measurements in photometry table
r_nimaflags,
/// Number of r-band observations used
r_ngood,
/// Number of r-band child sources combined into this object_id
r_nch,
/// Number of r-band observations for which the mean RA/Dec position fell on a CCD
r_nvisit,
/// Bitwise OR of Source Extractor flags from i-band measurements in photometry table
i_flags,
/// Number of flagged pixels from bad, saturated, and crosstalk pixel masks from i-band measurements in photometry table
i_nimaflags,
/// Number of i-band observations used
i_ngood,
/// Number of i-band child sources combined into this object_id
i_nch,
/// Number of i-band observations for which the mean RA/Dec position fell on a CCD
i_nvisit,
/// Bitwise OR of Source Extractor flags from z-band measurements in photometry table
z_flags,
/// Number of flagged pixels from bad, saturated, and crosstalk pixel masks from z-band measurements in photometry table
z_nimaflags,
/// Number of z-band observations used
z_ngood,
/// Number of z-band child sources combined into this object_id
z_nch,
/// Number of z-band observations for which the mean RA/Dec position fell on a CCD
z_nvisit,
/// Maximum stellarity index from photometry table (between 0=no star and 1=star)
class_star,
/// Mean r-band Petrosian radius
radius_petro,
/// Mean r-band semi-major axis length
a,
/// Error in mean r-band semi-major axis length
e_a,
/// Mean r-band semi-minor axis length
b,
/// Error in mean r-band semi-minor axis length
e_b,
/// Mean r-band position angle (E of N, -90..+90 deg)
pa,
/// Error in mean r-band position angle
e_pa,
/// Mean u-band PSF magnitude
u_psf,
/// Error in u-band PSF magnitude
e_u_psf,
/// Mean u-band Petrosian magnitude
u_petro,
/// Error in u-band Petrosian magnitude
e_u_petro,
/// Mean v-band PSF magnitude
v_psf,
/// Error in v-band PSF magnitude
e_v_psf,
/// Mean v-band Petrosian magnitude
v_petro,
/// Error in v-band Petrosian magnitude
e_v_petro,
/// Mean g-band PSF magnitude
g_psf,
/// Error in g-band PSF magnitude
e_g_psf,
/// Mean g-band Petrosian magnitude
g_petro,
/// Error in g-band Petrosian magnitude
e_g_petro,
/// Mean r-band PSF magnitude
r_psf,
/// Error in r-band PSF magnitude
e_r_psf,
/// Mean r-band Petrosian magnitude
r_petro,
/// Error in r-band Petrosian magnitude
e_r_petro,
/// Mean i-band PSF magnitude
i_psf,
/// Error in i-band PSF magnitude
e_i_psf,
/// Mean i-band Petrosian magnitude
i_petro,
/// Error in i-band Petrosian magnitude
e_i_petro,
/// Mean z-band PSF magnitude
z_psf,
/// Error in z-band PSF magnitude
e_z_psf,
/// Mean z-band Petrosian magnitude
z_petro,
/// Error in z-band Petrosian magnitude
e_z_petro,
/// E(B-V) from Schlegel+1998 extinction maps at the ICRS coordinates
ebmv_sfd,
/// Distance to next-closest DR1 source
prox,
/// object_id of next-closest DR1 source
prox_id,
/// object_id of closest Early Data Release source
edr_id,
/// Distance to closest Early Data Release source
edr_dist,
/// Unique identifier (pts_key/ext_key) of closest 2MASS source
twomass_key1,
/// Distance on sky to closest 2MASS source
twomass_dist1,
/// 2MASS catalogue of closest match (point source PSC, or extended XSC)
twomass_cat1,
/// Unique identifier (pts_key/ext_key) of second closest 2MASS source
twomass_key2,
/// Distance on sky to second closest 2MASS source
twomass_dist2,
/// 2MASS catalogue of second closest match (point source PSC, or extended XSC)
twomass_cat2,
/// Unique identifier (cntr) of closest AllWISE source
allwise_cntr,
/// Distance on sky to closest AllWISE source
allwise_dist,
/// Unique identifier (mpos) of closest UCAC4 source
ucac4_mpos,
/// Distance on sky to closest UCAC4 source
ucac4_dist,
/// Unique identifier (recno) of closest APASS DR9 source (only useful for this copy of APASS)
apass_recno,
/// Distance on sky to closest APASS DR9 source
apass_dist,
/// Unique identifier (source_id) of closest Gaia DR1 source
gaia_dr1_id,
/// Distance on sky to closest Gaia DR1 source
gaia_dr1_dist,
/// Unique identifier (objID) of closest Pan-STARRS1 DR1 source
ps1_dr1_id,
/// Distance on sky to closest Pan-STARRS1 DR1 source
ps1_dr1_dist,
/// Unique identifier (objid) of closest GALEX AIS source (Bianchi et al. 2014)
galex_bcs_id,
/// Distance on sky to closest GALEX AIS source
galex_bcs_dist,
/// Unique identifier (source_id) of closest Gaia DR2 source
gaia_dr2_id1,
/// Distance on sky to closest Gaia DR2 source
gaia_dr2_dist1,
/// Unique identifier (source_id) of second closest Gaia DR2 source
gaia_dr2_id2,
/// Distance on sky to second closest Gaia DR2 source
gaia_dr2_dist2,
}
impl Column for Col {}
#[cfg(test)]
/// Collects all the known columns in the skymapperdr1_master table.
pub fn collect_known(map: &mut std::collections::HashMap<String, Vec<String>>) {
let mut col_strings = Vec::new();
col_strings.push(Col::object_id.to_string());
col_strings.push(Col::raj2000.to_string());
col_strings.push(Col::dej2000.to_string());
col_strings.push(Col::e_raj2000.to_string());
col_strings.push(Col::e_dej2000.to_string());
col_strings.push(Col::smss_j.to_string());
col_strings.push(Col::mean_epoch.to_string());
col_strings.push(Col::rms_epoch.to_string());
col_strings.push(Col::glon.to_string());
col_strings.push(Col::glat.to_string());
col_strings.push(Col::flags.to_string());
col_strings.push(Col::nimaflags.to_string());
col_strings.push(Col::ngood.to_string());
col_strings.push(Col::ngood_min.to_string());
col_strings.push(Col::nch_max.to_string());
col_strings.push(Col::u_flags.to_string());
col_strings.push(Col::u_nimaflags.to_string());
col_strings.push(Col::u_ngood.to_string());
col_strings.push(Col::u_nch.to_string());
col_strings.push(Col::u_nvisit.to_string());
col_strings.push(Col::v_flags.to_string());
col_strings.push(Col::v_nimaflags.to_string());
col_strings.push(Col::v_ngood.to_string());
col_strings.push(Col::v_nch.to_string());
col_strings.push(Col::v_nvisit.to_string());
col_strings.push(Col::g_flags.to_string());
col_strings.push(Col::g_nimaflags.to_string());
col_strings.push(Col::g_ngood.to_string());
col_strings.push(Col::g_nch.to_string());
col_strings.push(Col::g_nvisit.to_string());
col_strings.push(Col::r_flags.to_string());
col_strings.push(Col::r_nimaflags.to_string());
col_strings.push(Col::r_ngood.to_string());
col_strings.push(Col::r_nch.to_string());
col_strings.push(Col::r_nvisit.to_string());
col_strings.push(Col::i_flags.to_string());
col_strings.push(Col::i_nimaflags.to_string());
col_strings.push(Col::i_ngood.to_string());
col_strings.push(Col::i_nch.to_string());
col_strings.push(Col::i_nvisit.to_string());
col_strings.push(Col::z_flags.to_string());
col_strings.push(Col::z_nimaflags.to_string());
col_strings.push(Col::z_ngood.to_string());
col_strings.push(Col::z_nch.to_string());
col_strings.push(Col::z_nvisit.to_string());
col_strings.push(Col::class_star.to_string());
col_strings.push(Col::radius_petro.to_string());
col_strings.push(Col::a.to_string());
col_strings.push(Col::e_a.to_string());
col_strings.push(Col::b.to_string());
col_strings.push(Col::e_b.to_string());
col_strings.push(Col::pa.to_string());
col_strings.push(Col::e_pa.to_string());
col_strings.push(Col::u_psf.to_string());
col_strings.push(Col::e_u_psf.to_string());
col_strings.push(Col::u_petro.to_string());
col_strings.push(Col::e_u_petro.to_string());
col_strings.push(Col::v_psf.to_string());
col_strings.push(Col::e_v_psf.to_string());
col_strings.push(Col::v_petro.to_string());
col_strings.push(Col::e_v_petro.to_string());
col_strings.push(Col::g_psf.to_string());
col_strings.push(Col::e_g_psf.to_string());
col_strings.push(Col::g_petro.to_string());
col_strings.push(Col::e_g_petro.to_string());
col_strings.push(Col::r_psf.to_string());
col_strings.push(Col::e_r_psf.to_string());
col_strings.push(Col::r_petro.to_string());
col_strings.push(Col::e_r_petro.to_string());
col_strings.push(Col::i_psf.to_string());
col_strings.push(Col::e_i_psf.to_string());
col_strings.push(Col::i_petro.to_string());
col_strings.push(Col::e_i_petro.to_string());
col_strings.push(Col::z_psf.to_string());
col_strings.push(Col::e_z_psf.to_string());
col_strings.push(Col::z_petro.to_string());
col_strings.push(Col::e_z_petro.to_string());
col_strings.push(Col::ebmv_sfd.to_string());
col_strings.push(Col::prox.to_string());
col_strings.push(Col::prox_id.to_string());
col_strings.push(Col::edr_id.to_string());
col_strings.push(Col::edr_dist.to_string());
col_strings.push(Col::twomass_key1.to_string());
col_strings.push(Col::twomass_dist1.to_string());
col_strings.push(Col::twomass_cat1.to_string());
col_strings.push(Col::twomass_key2.to_string());
col_strings.push(Col::twomass_dist2.to_string());
col_strings.push(Col::twomass_cat2.to_string());
col_strings.push(Col::allwise_cntr.to_string());
col_strings.push(Col::allwise_dist.to_string());
col_strings.push(Col::ucac4_mpos.to_string());
col_strings.push(Col::ucac4_dist.to_string());
col_strings.push(Col::apass_recno.to_string());
col_strings.push(Col::apass_dist.to_string());
col_strings.push(Col::gaia_dr1_id.to_string());
col_strings.push(Col::gaia_dr1_dist.to_string());
col_strings.push(Col::ps1_dr1_id.to_string());
col_strings.push(Col::ps1_dr1_dist.to_string());
col_strings.push(Col::galex_bcs_id.to_string());
col_strings.push(Col::galex_bcs_dist.to_string());
col_strings.push(Col::gaia_dr2_id1.to_string());
col_strings.push(Col::gaia_dr2_dist1.to_string());
col_strings.push(Col::gaia_dr2_id2.to_string());
col_strings.push(Col::gaia_dr2_dist2.to_string());
map.insert(skymapperdr1_master.string(), col_strings);
}