5
5
import astropy .units as u
6
6
from astropy .coordinates import SkyCoord
7
7
8
- from astroquery import vizier
8
+ from astroquery . vizier import Vizier
9
9
from astroquery .utils import commons
10
10
from .conftest import scalar_skycoord , vector_skycoord
11
11
14
14
class TestVizierRemote :
15
15
16
16
def test_query_object (self ):
17
- result = vizier . core . Vizier .query_object (
17
+ result = Vizier .query_object (
18
18
"HD 226868" , catalog = ["NOMAD" , "UCAC" ])
19
19
20
20
assert isinstance (result , commons .TableList )
21
21
22
22
def test_query_another_object (self ):
23
- result = vizier . core . Vizier .query_region (
23
+ result = Vizier .query_region (
24
24
"AFGL 2591" , radius = '0d5m' , catalog = "B/iram/pdbi" )
25
25
assert isinstance (result , commons .TableList )
26
26
27
27
def test_query_object_async (self ):
28
- response = vizier . core . Vizier .query_object_async (
28
+ response = Vizier .query_object_async (
29
29
"HD 226868" , catalog = ["NOMAD" , "UCAC" ])
30
30
assert response is not None
31
31
32
32
def test_query_region (self ):
33
- result = vizier . core . Vizier .query_region (
33
+ result = Vizier .query_region (
34
34
scalar_skycoord , radius = 5 * u .deg , catalog = ["HIP" , "NOMAD" , "UCAC" ])
35
35
36
36
assert isinstance (result , commons .TableList )
37
37
38
38
def test_query_region_async (self ):
39
- response = vizier . core . Vizier .query_region_async (
39
+ response = Vizier .query_region_async (
40
40
scalar_skycoord , radius = 5 * u .deg , catalog = ["HIP" , "NOMAD" , "UCAC" ])
41
41
assert response is not None
42
42
43
43
def test_query_region_async_galactic (self ):
44
- response = vizier . core . Vizier .query_region_async (
44
+ response = Vizier .query_region_async (
45
45
scalar_skycoord , radius = 0.5 * u .deg , catalog = "HIP" , frame = "galactic" )
46
46
assert response is not None
47
- payload = vizier . core . Vizier .query_region_async (
47
+ payload = Vizier .query_region_async (
48
48
scalar_skycoord , radius = 0.5 * u .deg , catalog = "HIP" ,
49
49
frame = "galactic" , get_query_payload = True )
50
50
assert "-c=G" in payload
51
51
52
52
def test_query_Vizier_instance (self ):
53
53
with pytest .warns (UserWarning , match = "xry : No such keyword" ):
54
- v = vizier . core . Vizier (
54
+ vizier = Vizier (
55
55
columns = ['_RAJ2000' , 'DEJ2000' , 'B-V' , 'Vmag' , 'Plx' ],
56
56
column_filters = {"Vmag" : ">10" }, keywords = ["optical" , "xry" ])
57
57
58
- result = v .query_object ("HD 226868" , catalog = ["NOMAD" , "UCAC" ])
58
+ result = vizier .query_object ("HD 226868" , catalog = ["NOMAD" , "UCAC" ])
59
59
assert isinstance (result , commons .TableList )
60
- result = v .query_region (
60
+ result = vizier .query_region (
61
61
scalar_skycoord , width = "5d0m0s" , height = "3d0m0s" , catalog = ["NOMAD" , "UCAC" ])
62
62
assert isinstance (result , commons .TableList )
63
63
64
64
def test_vizier_column_restriction (self ):
65
65
# Check that the column restriction worked. At least some of these
66
66
# catalogs include Bmag's
67
- v = vizier . core . Vizier (
67
+ vizier = Vizier (
68
68
columns = ['_RAJ2000' , 'DEJ2000' , 'B-V' , 'Vmag' , 'Plx' ],
69
69
column_filters = {"Vmag" : ">10" }, keywords = ["optical" , "X-ray" ])
70
70
71
- result = v .query_object ("HD 226868" , catalog = ["NOMAD" , "UCAC" ])
71
+ result = vizier .query_object ("HD 226868" , catalog = ["NOMAD" , "UCAC" ])
72
72
for table in result :
73
73
assert 'Bmag' not in table .columns
74
74
75
75
@pytest .mark .parametrize ('all' , ('all' , '*' ))
76
76
def test_alls_withaddition (self , all ):
77
77
# Check that all the expected columns are there plus the _r
78
78
# (radius from target) that we've added
79
- v = vizier . core . Vizier (columns = [all , "+_r" ], catalog = "II/246" )
80
- result = v .query_region ("HD 226868" , radius = "20s" )
79
+ vizier = Vizier (columns = [all , "+_r" ], catalog = "II/246" )
80
+ result = vizier .query_region ("HD 226868" , radius = "20s" )
81
81
table = result ['II/246/out' ]
82
82
assert 'Jmag' in table .columns
83
83
assert '_r' in table .columns
84
84
85
85
def test_get_catalogs (self ):
86
- result = vizier . core . Vizier .get_catalogs ('J/ApJ/706/83' )
86
+ result = Vizier .get_catalogs ('J/ApJ/706/83' )
87
87
assert isinstance (result , commons .TableList )
88
88
89
89
def test_get_catalog_metadata (self ):
90
- meta = vizier . core . Vizier (catalog = "I/324" ).get_catalog_metadata ()
90
+ meta = Vizier (catalog = "I/324" ).get_catalog_metadata ()
91
91
assert meta ['title' ] == "The Initial Gaia Source List (IGSL)"
92
92
93
93
def test_query_two_wavelengths (self ):
94
- v = vizier . core . Vizier (
94
+ vizier = Vizier (
95
95
columns = ['_RAJ2000' , 'DEJ2000' , 'B-V' , 'Vmag' , 'Plx' ],
96
96
column_filters = {"Vmag" : ">10" }, keywords = ["optical" , "radio" ])
97
-
98
- v .query_object ('M 31' )
97
+ vizier . ROW_LIMIT = 1
98
+ vizier .query_object ('M 31' )
99
99
100
100
def test_regressiontest_invalidtable (self ):
101
- V = vizier . core . Vizier (
101
+ vizier = Vizier (
102
102
columns = ['all' ], ucd = '(spect.dopplerVeloc*|phys.veloc*)' ,
103
103
keywords = ['Radio' , 'IR' ], row_limit = 5000 )
104
- C = SkyCoord (359.61687 * u .deg , - 0.242457 * u .deg , frame = "galactic" )
104
+ coordinate = SkyCoord (359.61687 * u .deg , - 0.242457 * u .deg , frame = "galactic" )
105
105
106
106
# With newer versions UnitsWarning may be issued as well
107
- with pytest .warns () as w :
108
- V .query_region (C , radius = 2 * u .arcmin )
107
+ with pytest .warns () as warnings :
108
+ vizier .query_region (coordinate , radius = 2 * u .arcmin )
109
109
110
- for i in w :
110
+ for i in warnings :
111
111
message = str (i .message )
112
112
assert ("VOTABLE parsing raised exception" in message or "not supported by the VOUnit standard" in message )
113
113
114
114
def test_multicoord (self ):
115
115
116
116
# Regression test: the columns of the default should never
117
117
# be modified from default
118
- assert vizier . core . Vizier .columns == ['*' ]
118
+ assert Vizier .columns == ['*' ]
119
119
# Coordinate selection is entirely arbitrary
120
- result = vizier . core . Vizier .query_region (
120
+ result = Vizier .query_region (
121
121
vector_skycoord , radius = 10 * u .arcsec , catalog = ["HIP" , "NOMAD" , "UCAC" ])
122
122
123
123
assert len (result ) >= 5
@@ -126,36 +126,31 @@ def test_multicoord(self):
126
126
assert result ['I/239/hip_main' ]['HIP' ] == 98298
127
127
128
128
def test_findcatalog_maxcatalog (self ):
129
- V = vizier .core .Vizier ()
130
- cats = V .find_catalogs ('eclipsing binary' , max_catalogs = 5000 )
131
- assert len (cats ) >= 468
132
-
133
- # with pytest.raises(ValueError) as exc:
134
- # V.find_catalogs('eclipsing binary')
135
- # assert str(exc.value)==("Maximum number of catalogs exceeded."
136
- # " Try setting max_catalogs "
137
- # "to a large number and try again")
129
+ vizier = Vizier ()
130
+ cats = vizier .find_catalogs ('eclipsing binary planets' , max_catalogs = 5000 )
131
+ assert len (cats ) >= 39 # as of 2024
138
132
139
133
def test_findcatalog_ucd (self ):
140
- V = vizier .core .Vizier ()
141
- ucdresult = V (ucd = 'time.age*' ).find_catalogs ('eclipsing binary' , max_catalogs = 5000 )
142
- result = V .find_catalogs ('eclipsing binary' , max_catalogs = 5000 )
134
+ # this fails for VizieR 7.33.3, should work in next releases
135
+ vizier = Vizier ()
136
+ ucdresult = vizier (ucd = 'phys.albedo' ).find_catalogs ('mars' , max_catalogs = 5000 )
137
+ result = vizier .find_catalogs ('mars' , max_catalogs = 5000 )
143
138
144
- assert len (ucdresult ) >= 12 # count as of 1/15/2018
145
- assert len (result ) >= 628
139
+ assert len (ucdresult ) >= 1
140
+ assert len (result ) >= 11
146
141
# important part: we're testing that UCD is parsed and some catalogs are ruled out
147
142
assert len (ucdresult ) < len (result )
148
143
149
144
def test_asu_tsv_return_type (self ):
150
- V = vizier . core . Vizier ()
151
- result = V .query_object ("HD 226868" , catalog = ["NOMAD" , "UCAC" ], return_type = 'asu-tsv' , cache = False )
145
+ vizier = Vizier ()
146
+ result = vizier .query_object ("HD 226868" , catalog = ["NOMAD" , "UCAC" ], return_type = 'asu-tsv' , cache = False )
152
147
153
148
assert isinstance (result , list )
154
149
assert len (result ) == 3
155
150
156
151
def test_query_constraints (self ):
157
- V = vizier . core . Vizier (row_limit = 3 )
158
- result = V .query_constraints (catalog = "I/130/main" , mB2 = "=14.7" )[0 ]
152
+ vizier = Vizier (row_limit = 3 )
153
+ result = vizier .query_constraints (catalog = "I/130/main" , mB2 = "=14.7" )[0 ]
159
154
# row_limit is taken in account
160
155
assert len (result ) == 3
161
156
# the criteria is respected
0 commit comments