Doç. Dr. Özgür Baştürk
Ankara Üniversitesi, Astronomi ve Uzay Bilimleri Bölümü
obasturk at ankara.edu.tr
http://ozgur.astrotux.org
Astronomide yıldız, ötegezegen, Güneş sistemi cisimleri, kuyrukluyıldız ve asteroidler, gökadalar, gökada kümeleri gibi cisim katalog ve veritabanlarından, teleskopların gözlemsel verilerini içeren veritabanlarına ve bibliyografi / literatür veritabanlarına kadar pek çok tür veritabanı neredeyse günlük olarak kullanılmaktadır. Bu derste bu veritabanlarına erişim ve sorgulamalara yönelik giriş niteliğindeki bilgi, Python betikleri yardımıyla uygulamalı olarak verilecektir.
astroquery astronomiye yönelik Python uygulamalarının bulunduğu büyük bir modül olan astropy 'ın çeşitli astronomi veritabanlarına erişim için araçlar sunan paketidir ve geniş bir dokümantasyonu da bulunmaktadır.
Örnek olarak aşağıda SIMBAD veritabanında basit bir cisim sorgusu (ing. identifier query) yapabilmeye olanak sağlayan bir Python betiği verilmiştir.
import astroquery
astroquery.__version__
'0.4.6'
from astroquery.simbad import Simbad
ELCVn = Simbad.query_object('EL CVn')
ELCVn.pprint()
MAIN_ID RA DEC ... COO_BIBCODE SCRIPT_NUMBER_ID "h:m:s" "d:m:s" ... --------- ------------- ------------- ... ------------------- ---------------- V* EL CVn 13 23 57.0187 +43 35 55.438 ... 2020yCat.1350....0G 1
ELCVn.colnames
['MAIN_ID', 'RA', 'DEC', 'RA_PREC', 'DEC_PREC', 'COO_ERR_MAJA', 'COO_ERR_MINA', 'COO_ERR_ANGLE', 'COO_QUAL', 'COO_WAVELENGTH', 'COO_BIBCODE', 'SCRIPT_NUMBER_ID']
Sorgunun sonucu bir astropy tablosudur (astropy tabloları ile geniş bilgi için bkz.) Bir astropy tablosundaki tüm sütunları görmek için astropy.table
nesnesinin columns
metodu kullanılır.
ELCVn.columns
<TableColumns names=('MAIN_ID','RA','DEC','RA_PREC','DEC_PREC','COO_ERR_MAJA','COO_ERR_MINA','COO_ERR_ANGLE','COO_QUAL','COO_WAVELENGTH','COO_BIBCODE','SCRIPT_NUMBER_ID')>
Herhangi bir sütundaki bilgi sütun adını indeks olarak vermek suretiyle alınabilir. Örneğin cismin koordinatlarının hangi dalgaboyunda yapılan gözlemlerle belirlendiği bilinmek isteniyorsa COO_WAVELENGTH sütunundaki bilgiye aşağıdaki şekillerde erişilebilir. Görüldüğü gibi veritabanlarında herhangi bir bilginin aranan sütunda bulunabilmesi için öncelikle o bilginin veritabanına girilmiş olması gereklidir ve maalesef bunun garantisi de yoktur.
print(ELCVn['COO_WAVELENGTH'])
COO_WAVELENGTH -------------- O
ELCVn['COO_BIBCODE']
2020yCat.1350....0G |
ELCVn['COO_QUAL']
A |
Gördüğünüz bu örnek basit bir nesne sorgusudur. astropy
modülünün ve diğer Python modülleriyle birleştirilerek kullanılmasıyla daha gelişkin sorgular da tasarlanabilir. Aşağıdaki sorguda astropy.coordinates
kütüphanesindeki SkyCoord
fonkskiyonu ICRS koordinat sisteminde bir koordinat oluşturmak üzere kullanılmaktadır. Daha sonra astropy.units
modülündeki arcminute
metoduyla yaydakikası biriminde bir yarıçap tanımı yapılıp, SIMBAD veritabanı bu yarıçap dahilindeki cisimleri verecek şekilde sorgulanmaktadır. Sorgunun sonucunun her satırda en fazla 80 karakteri ve toplamda 10 cismi geçmeyecek şekilde sınırlandırılması ve birimlerinin de gösterilmesi istenmiştir.
from astropy import coordinates
import astropy.units as u
from astroquery.simbad import Simbad
# Sadece ICRS koordinatlarıyla calisir
koordinat = coordinates.SkyCoord("22h22m50s +16d19m20s", frame='fk5')
yaricap = 15.0 * u.arcminute
sorgu = Simbad.query_region(koordinat, radius=yaricap)
sorgu.pprint(show_unit=True, max_width=80)
MAIN_ID RA ... SCRIPT_NUMBER_ID "h:m:s" ... ---------------------------- ------------- ... ---------------- V* BB Peg 22 22 56.8915 ... 1 LEDA 1505483 22 22 45.2 ... 1 TYC 1682-1530-1 22 22 48.2065 ... 1 SDSS J222302.48+161354.3 22 23 02.4831 ... 1 SDSS J222300.12+162519.5 22 23 00.125 ... 1 LP 460-13 22 22 21.3776 ... 1 TYC 1682-1466-1 22 22 41.1428 ... 1 BD+15 4634 22 23 20.3915 ... 1 BD+15 4631 22 22 38.0260 ... 1 TYC 1682-1413-1 22 22 02.0334 ... 1 SDSS J222205.50+162455.4 22 22 05.5012 ... 1 TYC 1682-1330-1 22 23 33.5844 ... 1 LSPM J2223+1618 22 23 42.4743 ... 1 TYC 1682-1444-1 22 22 01.8116 ... 1 CRTS J222318.6+160655 22 23 18.6883 ... 1 Gaia DR2 2737346454909302912 22 21 54.5218 ... 1
astropy.astroquery
pek çok veritabanında sorgular yapmayı sağlayan pek çok alt modül barınıdırır. Sorgulanabilecek servislerin listesi üzerinden her birinin dokümantasyonuna ulaşmak mümkündür. Bazı veritabanlarının sunucu ve bağlantıda zaman aşımı gibi seçeneklerin ayarlanmasına olanak sağlayan konfigürasyon dosyası UNIX sistemler için kullanıcı dizininde \$HOME/.astropy/config/astroquery.cfg dosyasında bulunmaktadır. Dosyanın konumu astropy'ın kurulum türüne göre değişiklik gösterebilir. Her bir servisin sağlayıcısı ayrıca github hesapları üzerinden dokümantasyon ve özellikle bu servislere bağlı programlar geliştirmek isteyenler için bilgiler sağlamkatadır.
astropy.astroquery
tüm bu veritabanlarına erişim için ortak olan araçlar paketini içeren bir Uygulama Programlama Arayüzü'ne (ing. Application Programming Interface, API) sahiptir. Bir API, modül, yazılım ve sistem bileşenlerinin söz konusu modüü nasıl kullanabileceğini tanımlayan bir arabirimidir. Bo modülle (örneğin astropy.astroquery
ile) yapılabilecek arama veya istek türlerini, nasıl yapılacağını, kullanılması gereken veri formatlarını ve izlenecek kuralları tanımlar. astroquery
API'de, çoğu modül için ortak olan standart araçlar; query_object ve query_region 'dır.
Tüm veritabanları için sorgulama yapısı benzer nitelikler içerir.
from astroquery.service import Servis
result = Servis.query_object('BB Peg')
Öncelikle astroquery.service
alt modülünden istenen Servis (ya da veritabanı) (IRSA, UKIDSS, SIMBAD, ALMA vs.) $import$ edilir. Daha sonra bu serviste istenen cisimler (tek tek ya da bir liste / döngü / dosya içinden) istenen servisin query_object
metoduyla aranabilir.
Daha önce de örneği verilen bir SIMBAD sorgusu aşağıdaki şekide örneklenebilir.
from astroquery.simbad import Simbad
Simbad.query_object("M 31")
MAIN_ID | RA | DEC | RA_PREC | DEC_PREC | COO_ERR_MAJA | COO_ERR_MINA | COO_ERR_ANGLE | COO_QUAL | COO_WAVELENGTH | COO_BIBCODE |
---|---|---|---|---|---|---|---|---|---|---|
"h:m:s" | "d:m:s" | mas | mas | deg | ||||||
object | str13 | str13 | int16 | int16 | float32 | float32 | int16 | str1 | str1 | object |
M 31 | 00 42 44.330 | +41 16 07.50 | 7 | 7 | -- | -- | 0 | C | I | 2006AJ....131.1163S |
API'nin diğer metodları yarıçap ($radius$) ya da genişliği ($width$) ile tanımlı bir alanda arama yapmak için kullanılan query_region
ve eğer veritabanı görüntü sağlıyorsa get_images
metotlarıdır.
from astropy import coordinates
import astropy.units as u
sorgu = Simbad.query_object("HAT-P-19")
koordinatlar = coordinates.SkyCoord(sorgu['RA'], sorgu['DEC'], \
unit=(u.hourangle, u.deg), frame='icrs')
yaricap = 20*u.arcminute
yeni_sorgu = Simbad.query_region(koordinatlar,radius=yaricap)
yeni_sorgu
MAIN_ID | RA | DEC | RA_PREC | DEC_PREC | COO_ERR_MAJA | COO_ERR_MINA | COO_ERR_ANGLE | COO_QUAL | COO_WAVELENGTH | COO_BIBCODE | SCRIPT_NUMBER_ID |
---|---|---|---|---|---|---|---|---|---|---|---|
"h:m:s" | "d:m:s" | mas | mas | deg | |||||||
object | str13 | str13 | int16 | int16 | float32 | float32 | int16 | str1 | str1 | object | int32 |
HAT-P-19b | 00 38 04.0136 | +34 42 41.552 | 14 | 14 | 0.029 | 0.025 | 90 | A | O | 2018yCat.1345....0G | 1 |
HAT-P-19 | 00 38 04.0135 | +34 42 41.553 | 14 | 14 | 0.010 | 0.008 | 90 | A | O | 2020yCat.1350....0G | 1 |
GSC 02283-01197 | 00 38 09.3713 | +34 41 37.191 | 14 | 14 | 0.009 | 0.007 | 90 | A | O | 2020yCat.1350....0G | 1 |
TYC 2283-664-1 | 00 38 16.2619 | +34 45 03.412 | 14 | 14 | 0.015 | 0.012 | 90 | A | O | 2020yCat.1350....0G | 1 |
DIR 120-28 | 00 38 | +34.8 | 2 | 2 | -- | -- | 0 | 1 | |||
SDSS J003824.49+343859.1 | 00 38 24.5045 | +34 38 59.336 | 14 | 14 | 3.760 | 2.865 | 90 | C | O | 2020yCat.1350....0G | 1 |
SDSS J003748.62+343747.7 | 00 37 48.6166 | +34 37 47.682 | 14 | 14 | 0.082 | 0.059 | 90 | A | O | 2020yCat.1350....0G | 1 |
2MASS J00382684+3446556 | 00 38 26.8465 | +34 46 55.479 | 14 | 14 | 0.012 | 0.009 | 90 | A | O | 2020yCat.1350....0G | 1 |
LSPM J0037+3449 | 00 37 59.7514 | +34 49 20.403 | 14 | 14 | 0.099 | 0.091 | 90 | A | O | 2020yCat.1350....0G | 1 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
TYC 2283-560-1 | 00 38 47.1404 | +34 26 22.331 | 14 | 14 | 0.013 | 0.009 | 90 | A | O | 2020yCat.1350....0G | 1 |
SDSS J003851.46+345839.0 | 00 38 51.464 | +34 58 39.08 | 7 | 7 | -- | -- | 0 | C | O | 2020ApJS..250....8L | 1 |
[STK2001] 09993a | 00 38 | +34.4 | 2 | 2 | 10800000.000 | 10800000.000 | 90 | E | 2001ApJ...563...80S | 1 | |
TYC 2283-365-1 | 00 38 07.9331 | +35 01 23.946 | 14 | 14 | 0.011 | 0.009 | 90 | A | O | 2020yCat.1350....0G | 1 |
CRTS J003644.8+343323 | 00 36 44.9018 | +34 33 22.880 | 14 | 14 | 0.063 | 0.046 | 90 | A | O | 2020yCat.1350....0G | 1 |
SDSS J003718.56+345901.6 | 00 37 18.560 | +34 59 01.69 | 7 | 7 | -- | -- | 0 | C | O | 2016MNRAS.455.3413K | 1 |
SDSS J003936.58+344023.1 | 00 39 36.5800 | +34 40 23.116 | 9 | 9 | -- | -- | 0 | C | O | 2015ApJS..219...12A | 1 |
SDSS J003638.71+345045.1 | 00 36 38.716 | +34 50 45.18 | 7 | 7 | -- | -- | 0 | C | O | 2020ApJS..250....8L | 1 |
CRTS J003657.7+342856 | 00 36 57.7566 | +34 28 55.964 | 14 | 14 | 0.032 | 0.027 | 90 | A | O | 2020yCat.1350....0G | 1 |
SDSS J003639.00+343341.6 | 00 36 39.008 | +34 33 41.61 | 7 | 7 | -- | -- | 0 | C | O | 2020ApJS..250....8L | 1 |
Görüntü sağlayan veritabanlarından görüntü de çekilmek istenebilir. Ancak bu noktada bazı veritabanlarının her kullanıcıya açık olmadğını, ancak kullanıcı adı ve şifreyle giriş yapılabildiğini belirtmekte fayda vardır. Örneğin UKIRT Teleskobu'yla süren Kızılöte Derin Gökyüzü Araştırması (UKIRT Infrared Deep Sky Survey) 'den aşağıdaki gibi bir betikle görüntü çekilebilir. Ancak kullanıcı adresi ve şifreye ihtiyaç duyulur.
from astroquery.ukidss import Ukidss
Ukidds.login(username,password)
images = Ukidss.get_images("m1")
Yukarıda HAT-P-19'un koordinatlarını elde etmeye yönelik sorgudan hareketle bu cisim merkezinde bir bölgeinin görüntüsü CDS.Vizier servisinden alınabilir. Ancak bunun için gökyüzü taraması yapan hangi araştırmada (survey) elde edilmiş imajların istendiği de belirtilmelidir. SkyView
tüm gökyüzü araştırmalarının (surveys) listesinden hangi araştırmada, hangi dalgaboyunda ve çözünürlüte elde edilen imajları görüntülemek istiyorsanız ona uygun olanları seçebilirsiniz.
from astropy import wcs
from astroquery.vizier import Vizier
from astroquery.skyview import SkyView
from matplotlib import pyplot as plt
goruntuler = SkyView.get_images(position=koordinatlar, survey='SDSSg')
# Fonksiyon bir imaj listesi dondurur
goruntu = goruntuler[0]
# Bir FITS goruntusu fits.HDUList nesnesi olup; 0. indeksinde goruntu bulunur
# Bu indeksin header nesnesi basligi data nesnesi ise goruntunun kendisini verir
# Bu goruntunun WCS koordinatlari goruntu basliginda bulunur
mywcs = wcs.WCS(goruntu[0].header)
fig = plt.figure(1)
# Bu WCS koordinatlari uzerinden istenen buyuklukte bir goruntu kesilip
# ekrana getirlebilir
ax = fig.add_axes([0.15, 0.1, 0.8, 0.8], projection=mywcs)
ax.set_xlabel("RA")
ax.set_ylabel("Dec")
ax.imshow(goruntu[0].data, cmap='gray_r', interpolation='none', origin='lower',
norm=plt.matplotlib.colors.LogNorm())
<matplotlib.image.AxesImage at 0x7f6e36ef9cd0>
Simbad veritabanı Güneş sistemi dışındaki gökcisimleri için temel verileri, farklı kataloglardaki isimlerini, bu cisimler üzerine yapılmış çalışmaların kaynakçasını ve cisim için yapılan çeşitli ölçümleri sağlar. SIMBAD veritabanı sınırlı sorgulama kapasitesine sahiptir. Sunucuya kısa sürelerde büyük sorgular gönderirseniz IP'niz geçici olarak kara listeye alınabilir. Sınırı değişmekle birlikte saniyede 5 ile 10 sorgudan fazla sorgu göndermemek gerekir. Çok sayıda cismi içeren büyük sorgularda nesne isimlerini bir döngü dahilinde dosyalardan okuyarak tek tek sorguya geçirmek yerine bir cisim listesi oluşturup, bu listeyi sorguya göndermekte fayda vardır.
Daha önce basit sorgular için bazı örnekler vermiştik. Şimdi biraz daha ileri sorgularla veritabanından veri almaya çalışalım. Yeni Nesil Transit Araştırması (ing. Next Generation Transit Survey, NGTS), temelde parlak yıldızların etrafında ($V < 13^m$) Neptün'nden daha küçük olan ötegezegenleri geçiş yöntemiyle keşfetmek ve karakterize etmek için tasarlanmış, geniş bir gökyüzü alanında yapılan bir fotometrik araştırmadır. Bu araştırmanın cisimleri NGTS ismi ile kataloglanmaktadır. Şu ana kadar ne kadar NGTS cisminin kataloglandığını öğrenmek için bir Simbad sorgusu aşağıdaki gibi yazılabilir.
from astroquery.simbad import Simbad
sonuc_tablosu = Simbad.query_object("NGTS-*", wildcard=True)
print(sonuc_tablosu)
MAIN_ID RA ... COO_BIBCODE SCRIPT_NUMBER_ID "h:m:s" ... ---------------- ------------- ... ------------------- ---------------- NGTS-1 05 30 51.4522 ... 2020yCat.1350....0G 1 CD-30 11338 14 20 29.4891 ... 2020yCat.1350....0G 1 NGTS-3 06 17 46.7534 ... 2020yCat.1350....0G 1 NGTS-3Ab 06 17 46.7535 ... 2018yCat.1345....0G 1 NGTS-4 05 58 23.7549 ... 2020yCat.1350....0G 1 NGTS-5 14 44 13.9703 ... 2020yCat.1350....0G 1 NGTS-8 21 55 54.1982 ... 2020yCat.1350....0G 1 NGTS-9 09 27 40.9609 ... 2020yCat.1350....0G 1 NGTS-10 06 07 29.3376 ... 2012yCat.1322....0Z 1 NGTS-10B 06 07 29.3136 ... 2020yCat.1350....0G 1 ... ... ... ... ... NGTS-15b 04 53 25.2674 ... 2020yCat.1350....0G 1 UCAC4 296-004060 03 53 03.3314 ... 2020yCat.1350....0G 1 NGTS-16b 03 53 03.3314 ... 2020yCat.1350....0G 1 UCAC4 279-005438 04 51 36.1377 ... 2020yCat.1350....0G 1 NGTS-17b 04 51 36.1377 ... 2020yCat.1350....0G 1 UCAC4 273-062781 12 02 11.0956 ... 2020yCat.1350....0G 1 NGTS-18b 12 02 11.0956 ... 2020yCat.1350....0G 1 NGTS-19B 15 16 31.5959 ... 2018yCat.1345....0G 1 NGTS-1b 05 30 51.4522 ... 2018yCat.1345....0G 1 NGTS-4b 05 58 23.7549 ... 2020yCat.1350....0G 1 Length = 44 rows
Görüldüğü gibi tüm NGTS cisimlerini görebilmek için "*" karakterini kullandık. Bu karakterler ("*","?", "[1-9]", "[a-b]" gibi) bir ya da daha çok karakterin yerini tutmak üzere kullanılır (ing. wildcard). Örneğin NGTS'in keşfettiği gezegenleri listelemek için NGTS katalog isminden sonra olası tüm seçenekleri listeleyecek olan (katalogdaki tüm NGTS adıyla kodlanmış cisimler) "*" karakterini kullandıktan sonra gezegen isimlerinin $b$ ile $i$ harfleri arasında isimlerle yıldız isminin sonuna getirileceğini düşünerek (bugüne kadar etrafında en fazla gezegen bulunan sistemde 8 gezegen keşfedilmiştir) aşağıdaki şekilde kurgulanan bir sorgu kullanılabilir.
sonuc_tablosu = Simbad.query_object("NGTS-*[b-i]", wildcard=True)
sonuc_tablosu
MAIN_ID | RA | DEC | RA_PREC | DEC_PREC | COO_ERR_MAJA | COO_ERR_MINA | COO_ERR_ANGLE | COO_QUAL | COO_WAVELENGTH | COO_BIBCODE | SCRIPT_NUMBER_ID |
---|---|---|---|---|---|---|---|---|---|---|---|
"h:m:s" | "d:m:s" | mas | mas | deg | |||||||
object | str13 | str13 | int16 | int16 | float32 | float32 | int16 | str1 | str1 | object | int32 |
NGTS-3Ab | 06 17 46.7535 | -35 42 23.046 | 14 | 14 | 0.016 | 0.017 | 90 | A | O | 2018yCat.1345....0G | 1 |
NGTS-10B | 06 07 29.3136 | -25 35 40.758 | 14 | 14 | 0.270 | 0.133 | 90 | A | O | 2020yCat.1350....0G | 1 |
NGTS-14B | 21 54 03.9205 | -38 22 38.653 | 14 | 14 | 0.082 | 0.069 | 90 | A | O | 2020yCat.1350....0G | 1 |
CD-30 11338b | 14 20 29.4890 | -31 12 07.437 | 14 | 14 | 0.053 | 0.040 | 90 | A | O | 2018yCat.1345....0G | 1 |
NGTS-5b | 14 44 13.9704 | +05 36 19.417 | 14 | 14 | 0.022 | 0.021 | 90 | A | O | 2018yCat.1345....0G | 1 |
NGTS-6b | 05 03 10.9028 | -30 23 57.719 | 14 | 14 | 0.011 | 0.013 | 90 | A | O | 2018yCat.1345....0G | 1 |
NGTS-7Ab | 23 30 05.2358 | -38 58 11.462 | 14 | 14 | 0.068 | 0.101 | 90 | A | O | 2018yCat.1345....0G | 1 |
NGTS-7B | 23 30 05.3237 | -38 58 12.004 | 14 | 14 | 0.057 | 0.167 | 90 | A | O | 2020yCat.1350....0G | 1 |
NGTS-8b | 21 55 54.1981 | -14 04 06.225 | 14 | 14 | 0.027 | 0.027 | 90 | A | O | 2018yCat.1345....0G | 1 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
NGTS-12b | 11 45 00.0094 | -35 38 26.137 | 14 | 14 | 0.027 | 0.019 | 90 | A | O | 2018yCat.1345....0G | 1 |
NGTS-13b | 11 44 57.6835 | -38 08 22.961 | 14 | 14 | 0.026 | 0.023 | 90 | A | O | 2018yCat.1345....0G | 1 |
NGTS-14Ab | 21 54 04.2263 | -38 22 38.794 | 14 | 14 | 0.023 | 0.020 | 90 | A | O | 2018yCat.1345....0G | 1 |
NGTS-15b | 04 53 25.2674 | -32 48 01.273 | 14 | 14 | 0.011 | 0.013 | 90 | A | O | 2020yCat.1350....0G | 1 |
NGTS-16b | 03 53 03.3314 | -30 48 16.632 | 14 | 14 | 0.010 | 0.012 | 90 | A | O | 2020yCat.1350....0G | 1 |
NGTS-17b | 04 51 36.1377 | -34 13 34.181 | 14 | 14 | 0.011 | 0.013 | 90 | A | O | 2020yCat.1350....0G | 1 |
NGTS-18b | 12 02 11.0956 | -35 32 55.017 | 14 | 14 | 0.015 | 0.012 | 90 | A | O | 2020yCat.1350....0G | 1 |
NGTS-19B | 15 16 31.5959 | -25 42 17.824 | 14 | 14 | 0.028 | 0.018 | 90 | A | O | 2018yCat.1345....0G | 1 |
NGTS-1b | 05 30 51.4522 | -36 37 50.896 | 14 | 14 | 0.016 | 0.020 | 90 | A | O | 2018yCat.1345....0G | 1 |
NGTS-4b | 05 58 23.7549 | -30 48 42.363 | 14 | 14 | 0.010 | 0.011 | 90 | A | O | 2020yCat.1350....0G | 1 |
Bir ya da daha fazla karakterin yerini tutmak üzere kulanabileceğiniz tüm karakterleri (ing. wildcard) öğrenmek için list_wildcards()
metodu kullanılabilir.
Simbad.list_wildcards()
* : Any string of characters (including an empty one) ? : Any character (exactly one character) [abc] : Exactly one character taken in the list. Can also be defined by a range of characters: [A-Z] [^0-9] : Any (one) character not in the list.
Bölge sorgularında (query_region
) varsayılan yarıçap $20$ yaydakikasıdır ve astropy.units
kullanılarak değiştirilebilir.
from astroquery.simbad import Simbad
import astropy.units as u
sonuc_tablosu = Simbad.query_region("Polaris", radius=0.1 * u.deg)
# yaricap derece-dakika-saniye ('dms') formatinda da tanimlanabilir
sonuc_tablosu = Simbad.query_region("Polaris", radius='0d6m0s')
print(sonuc_tablosu)
MAIN_ID RA ... SCRIPT_NUMBER_ID "h:m:s" ... --------------------------- ------------- ... ---------------- * alf UMi 02 31 49.0945 ... 1 * alf UMi B 02 30 36.0860 ... 1 Gaia DR3 576402619921730176 02 34 30.8477 ... 1 UCAC3 359-258 02 35 12.0618 ... 1 UCAC3 359-247 02 30 44.3425 ... 1 PWP 8 02 35 09.04 ... 1 RN 6 02 41 17 ... 1 UCAC3 359-198 02 10 05.9552 ... 1 2MASX J02341709+8920469 02 34 16.4080 ... 1 AG+88 8 02 16 19.8253 ... 1 IRAS 02057+8857 02 49 46.1 ... 1
Koordinat sorgularına daha önce örnekler verilmişti. Eğer bu tür sorgularda verilen koordinatların epoch değerleri (bu ölçümlerin referans verildiği zaman) biliniyorsa sorguya parametre olarak geçirilebilir.
from astropy import coordinates as coord
sonuc_tablosu = Simbad.query_region(coord.SkyCoord(ra=02.50, dec=89.90,
unit=(u.hour, u.deg), frame='fk5'),
radius=0.5 * u.deg,
epoch='B1950',
equinox=1950)
print(sonuc_tablosu)
MAIN_ID RA ... SCRIPT_NUMBER_ID "h:m:s" ... ---------------------------- ------------- ... ---------------- Gaia DR3 1152903847998259712 11 30 48.1736 ... 1 TYC 4644-6-1 11 35 12.6253 ... 1 TYC 4643-26-1 08 12 13.9402 ... 1 TYC 4645-2-1 13 38 05.8259 ... 1 Gaia DR3 1152911231045163776 07 58 42.9159 ... 1 Gaia DR2 1152919275520795776 06 30 53.3821 ... 1 NAME NCP 00 00 00 ... 1 BD+89 1 11 49 45.0283 ... 1 TYC 4630-19-1 07 17 18.0572 ... 1 HD 21070 09 46 20.2218 ... 1 ... ... ... ... Shk 172-1 15 33 24.4 ... 1 NVSS J163150+893352 16 31 50.1 ... 1 Shk 172-4 15 36 41.2 ... 1 IRAS 00110+8927 00 26 17.5 ... 1 Shk 172-5 15 42 52.8 ... 1 Shk 172-2 15 40 42.3 ... 1 1RXS J050421.1+893321 05 04 21.101 ... 1 Gaia DR3 576439316121957888 04 03 47.6985 ... 1 TYC 4644-20-1 10 49 28.3745 ... 1 Gaia DR3 576385646213013120 05 47 17.0370 ... 1 Length = 65 rows
Bölge sorgularında vektörleştirilmiş koordinat aralıklarını kullanmak hem hız açısından daha etkilidir, hem de daha kullanışlıdır.
sonuc_tablosu = Simbad.query_region(coord.SkyCoord(ra=[0, 1], dec=[-1,1],
unit=(u.hour, u.deg), frame='fk5'),
radius=0.1 * u.deg)
sonuc_tablosu
MAIN_ID | RA | DEC | RA_PREC | DEC_PREC | COO_ERR_MAJA | COO_ERR_MINA | COO_ERR_ANGLE | COO_QUAL | COO_WAVELENGTH | COO_BIBCODE | SCRIPT_NUMBER_ID |
---|---|---|---|---|---|---|---|---|---|---|---|
"h:m:s" | "d:m:s" | mas | mas | deg | |||||||
object | str13 | str13 | int16 | int16 | float32 | float32 | int16 | str1 | str1 | object | int32 |
NVSS J235956-010125 | 23 59 56.486 | -01 01 25.61 | 7 | 7 | 1000.000 | 1000.000 | 90 | C | R | 2015ApJ...801...26H | 1 |
2SLAQ J000006.80-010135.1 | 00 00 06.800 | -01 01 35.16 | 7 | 7 | 65.000 | 63.000 | 0 | C | O | 2009ApJS..182..543A | 1 |
PB 5664 | 23 59 46 | -00 58.3 | 4 | 4 | -- | -- | 0 | E | 1980A&AS...39...39B | 1 | |
SDSS J235955.88-010346.8 | 23 59 55.884 | -01 03 46.86 | 7 | 7 | -- | -- | 0 | C | O | 2020ApJS..250....8L | 1 |
2SLAQ J000015.84-005941.6 | 00 00 15.8519 | -00 59 41.649 | 14 | 14 | 1.692 | 2.216 | 90 | C | O | 2020yCat.1350....0G | 1 |
[VV2006] J235945.5-005819 | 23 59 45.4964 | -00 58 19.708 | 14 | 14 | 0.179 | 0.111 | 90 | A | O | 2020yCat.1350....0G | 1 |
[VV2006] J235944.2-005738 | 23 59 44.1356 | -00 57 38.274 | 14 | 14 | 0.248 | 0.197 | 90 | A | O | 2020yCat.1350....0G | 1 |
SDSS J000012.28-010405.5 | 00 00 12.282 | -01 04 05.56 | 7 | 7 | -- | -- | 0 | C | O | 2018A&A...613A..51P | 1 |
NVSS J235946-005605 | 23 59 46.175 | -00 55 59.90 | 7 | 7 | 1000.000 | 1000.000 | 90 | C | R | 2015ApJ...801...26H | 1 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
WiggleZ R01J010013498+00564914 | 01 00 13.5067 | +00 56 49.042 | 8 | 8 | -- | -- | 0 | C | O | 2018MNRAS.474.4151D | 2 |
SDSS J010005.78+010444.4 | 01 00 05.780 | +01 04 44.46 | 7 | 7 | 8000.000 | 58.000 | 90 | C | O | 2009ApJS..182..543A | 2 |
2MASS J01000980+0055406 | 01 00 09.8026 | +00 55 40.405 | 14 | 14 | 0.432 | 0.343 | 90 | A | O | 2020yCat.1350....0G | 2 |
SDSS J010004.05+005504.9 | 01 00 04.0586 | +00 55 04.976 | 9 | 9 | 100.000 | 75.000 | 90 | C | O | 2015ApJS..219...12A | 2 |
SDSS J010018.13+010218.6 | 01 00 18.139 | +01 02 18.66 | 7 | 7 | -- | -- | 0 | C | O | 2018A&A...613A..51P | 2 |
SDSS J005942.35+010233.1 | 00 59 42.355 | +01 02 33.19 | 7 | 7 | -- | -- | 0 | C | O | 2018A&A...613A..51P | 2 |
WiggleZ R01J005952967+01044853 | 00 59 52.9763 | +01 04 48.432 | 8 | 8 | -- | -- | 0 | C | O | 2018MNRAS.474.4151D | 2 |
SDSS J010018.10+010226.7 | 01 00 18.104 | +01 02 26.74 | 7 | 7 | 23.000 | 17.000 | 90 | C | O | 2012ApJS..203...21A | 2 |
WiggleZ R01J010016989+00565316 | 01 00 16.9983 | +00 56 53.063 | 8 | 8 | -- | -- | 0 | C | O | 2018MNRAS.474.4151D | 2 |
WiggleZ R01J010007335+00542459 | 01 00 07.3442 | +00 54 24.487 | 8 | 8 | -- | -- | 0 | C | O | 2018MNRAS.474.4151D | 2 |
Bir cismin alternatif isimlerini öğrenmek için aşağıdaki gibi bir sorgu kurgulanabilir.
sorgu = Simbad.query_objectids("TYC 7282-1298-1")
sonuc_tablosu = [isim[0] for isim in sorgu]
print(sonuc_tablosu)
['Gaia DR3 6220602384081327104', 'TIC 125739286', 'GSC 07282-01298', 'TYC 7282-1298-1', '2MASS J14202949-3112074', 'RAVE J142029.5-311208', 'NGTS-2', 'Gaia DR1 6220602379784456320', 'Gaia DR2 6220602384081327104', 'CD-30 11338']
Bibliyografik kodu bilinen herhangi bir yayında veri tabanında aranabilir.
from astroquery.simbad import Simbad
sonuc_tablosu = Simbad.query_bibcode('2011A&A...535A..17B')
print(sonuc_tablosu)
References --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 2011A&A...535A..17B = DOI 10.1051/0004-6361/201117740\nAstronomy and Astrophysics, volume 535A, 17-17 (2011/11-1)\nBASTURK O., DALL T.H., COLLET R., LO CURTO G. and SELAM S.O.\nBisectors of the HARPS cross-correlation function. The dependence on stellar atmospheric parameters.\nFiles: (abstract)
Bibliyografik kodu bilinen yayının içinde geçen kataloglanmış ve yayın içinde \astrobj latex anahtarıyla kodlanmış cisimleri almak için de aşağıdaki gibi bir sorgu yazılabilir.
from astroquery.simbad import Simbad
sonuc_tablosu = Simbad.query_bibobj('2011A&A...535A..17B')
print(sonuc_tablosu)
MAIN_ID RA DEC ... COO_BIBCODE SCRIPT_NUMBER_ID "h:m:s" "d:m:s" ... ----------- ------------- ------------- ... ------------------- ---------------- HD 1461 00 18 41.8676 -08 03 10.803 ... 2020yCat.1350....0G 1 HD 4915 00 51 10.8478 -05 02 21.401 ... 2020yCat.1350....0G 1 HD 7449 01 14 29.3222 -05 02 50.614 ... 2020yCat.1350....0G 1 * tau Cet 01 44 04.0831 -15 56 14.927 ... 2020yCat.1350....0G 1 * lam02 For 02 36 58.6077 -34 34 40.711 ... 2020yCat.1350....0G 1 * zet02 Ret 03 18 12.8188 -62 30 22.904 ... 2020yCat.1350....0G 1 * e Eri 03 19 55.6509 -43 04 11.215 ... 2020yCat.1350....0G 1 HD 21019 03 23 17.7011 -07 47 38.755 ... 2020yCat.1350....0G 1 HD 21693 03 27 12.4815 -58 19 25.249 ... 2020yCat.1350....0G 1 * eps Eri 03 32 55.8444 -09 27 29.739 ... 2020yCat.1350....0G 1 ... ... ... ... ... ... HD 162396 17 52 52.5830 -41 59 47.486 ... 2020yCat.1350....0G 1 HD 171990 18 47 49.1318 -77 52 05.703 ... 2020yCat.1350....0G 1 HD 176986 19 03 05.8729 -11 02 38.130 ... 2020yCat.1350....0G 1 HD 179949 19 15 33.2300 -24 10 45.671 ... 2020yCat.1350....0G 1 * del Pav 20 08 43.6088 -66 10 55.442 ... 2020yCat.1350....0G 1 HD 207129 21 48 15.7511 -47 18 13.017 ... 2020yCat.1350....0G 1 * eps Ind 22 03 21.6536 -56 47 09.522 ... 2020yCat.1350....0G 1 HD 210918 22 14 38.6528 -41 22 53.994 ... 2020yCat.1350....0G 1 HD 215456 22 46 08.0342 -48 58 43.758 ... 2020yCat.1350....0G 1 HD 221420 23 33 19.5789 -77 23 07.194 ... 2020yCat.1350....0G 1 Length = 66 rows
SIMBAD veritabanının istenen kriter(ler)e göre arama yapılmasını sağlayan bir kriter arayüzü (criteria interface) de bulunmaktadır. astropy.astroquery.Simbad
bu arayüzün kullanılmasına olanak sağlayan fonksiyonlara da sahiptir. Örneğin Simbad kataloğunda bulunan 12 kadirden daha parlak kataklizmik değişen değişenlerin bir listesine aşağıdaki sorguyla ulaşılabilir. Bu tür sorgular herhangi bir araştırma için hedef listesi oluşturulurken vazgeçilmezdir. Simbad veritabanında yapılabilecek kritere dayalı sorgular için öncelikle ilgili dokümantasyonu dikkatle okumak, sorgularda kullanılabilecek anahtar kelime ve olası karşılaştırma seçeneklerini öğrenmek gereklidir. Ayrıca nesne türü bazında araştırma yapmak için de Simbad'ın nesne sınıflandırma listesini incelemek gerekir.
from astroquery.simbad import Simbad
sonuc_tablosu = Simbad.query_criteria('Vmag < 12 & maintype = "CV*"')
print(sonuc_tablosu)
MAIN_ID RA ... COO_BIBCODE SCRIPT_NUMBER_ID "h:m:s" ... --------------------- ------------- ... ------------------- ---------------- NSV 786 02 22 22.6232 ... 2020yCat.1350....0G 0 V* Z Cam 08 25 13.1986 ... 2020yCat.1350....0G 0 V* V648 Ori 04 52 32.3611 ... 2020yCat.1350....0G 0 V* CW Mon 06 36 54.5810 ... 2020yCat.1350....0G 0 HD 54738 07 10 08.0 ... 0 V* FV Cnc 08 48 01.7386 ... 2020yCat.1350....0G 0 BD+08 102 00 44 01.3184 ... 2020yCat.1350....0G 0 V* LS Peg 21 51 57.9373 ... 2020yCat.1350....0G 0 V* TT Ari 02 06 53.0797 ... 2020yCat.1350....0G 0 V* RW Sex 10 19 56.6224 ... 2020yCat.1350....0G 0 ... ... ... ... ... NSV 12245 19 38 10.2125 ... 2020yCat.1350....0G 0 V* IX Vel 08 15 18.9688 ... 2020yCat.1350....0G 0 CD-48 3547 08 10 06.0739 ... 2020yCat.1350....0G 0 V* QU Car 11 05 42.4858 ... 2020yCat.1350....0G 0 V* V341 Ara 16 57 41.5109 ... 2020yCat.1350....0G 0 CD-42 14462 19 47 40.5290 ... 2020yCat.1350....0G 0 V* BG Tri 01 44 47.5789 ... 2020yCat.1350....0G 0 V* AE Aqr 20 40 09.1598 ... 2020yCat.1350....0G 0 1RXS J071404.0+700413 07 14 04.6544 ... 2020yCat.1350....0G 0 V* IM Eri 04 24 41.1074 ... 2020yCat.1350....0G 0 Length = 24 rows
Bir yıldızın tayf türünü (veritabanında bulunmak şartıyla) elde etmek üzere başka bir örnek aşağıda verilmiştir. Öcelikle Simbad() veritabanı nesnesinin bir olgusu (instance) oluşturulur. Daha sonra bu olguya VO tablosu sütunları eklenebilir (add_votable_fields
). Bu durumda eğer bilgi veritabanında varsa ona da sütun adı (sptype) üzerinden erişilebilir.
customSimbad = Simbad()
customSimbad.add_votable_fields('sptype')
result = customSimbad.query_object('EL CVn')
result
MAIN_ID | RA | DEC | RA_PREC | DEC_PREC | COO_ERR_MAJA | COO_ERR_MINA | COO_ERR_ANGLE | COO_QUAL | COO_WAVELENGTH | COO_BIBCODE | SP_TYPE | SP_QUAL | SP_BIBCODE | SCRIPT_NUMBER_ID |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
"h:m:s" | "d:m:s" | mas | mas | deg | ||||||||||
object | str13 | str13 | int16 | int16 | float32 | float32 | int16 | str1 | str1 | object | object | str1 | object | int32 |
V* EL CVn | 13 23 57.0187 | +43 35 55.438 | 14 | 14 | 0.009 | 0.014 | 90 | A | O | 2020yCat.1350....0G | A1V | C | 1969RGOB..156...35W | 1 |
result['SP_TYPE']
A1V |
SIMBAD veritabanı sorgularında ya da sonuçların görüntülenmesinde varsayılan değerler değiştirilebilir. Bir sorgunun sonucundan belirli sayıda satır çekmek için ROW_LIMIT, veritabanının belirli bir sürede sonuç vermediği vakit sorgunun başarısız olarak sonuçlandırılmasını denetleyen TIMEOUT gibi parametreler aşağıdaki şekilde ayarlanıp, istendiğinde değiştirilebilir. Bu ayarlar ayrıca astroquery.cfg konfigürasyon dosyasında da yer almaktadır. Bu dosyadan değiştirilerek kalıcı hale de getirilebilir.
Simbad.ROW_LIMIT = 15
Simbad.TIMEOUT = 60
İstenirse sanal gözlemevi (ing. Virtual Observatory, VO) tablolarında bulunan başlıklar listelenebilir (get_votable_fields), yenileri eklenebilir (add_votable_fields()) ya da çıkarılabilir (remove_votable_fields()). Sanal gözlemevi tabloları eski haline döndürülmek istendiğinde reset_votable_fields fonksiyonu kullanılır.
Simbad.list_votable_fields()
--NOTES-- 1. The parameter filtername must correspond to an existing filter. Filters include: B,V,R,I,J,K. They are checked by SIMBAD but not astroquery.simbad 2. Fields beginning with rvz display the data as it is in the database. Fields beginning with rv force the display as a radial velocity. Fields beginning with z force the display as a redshift 3. For each measurement catalog, the VOTable contains all fields of the first measurement. When applicable, the first measurement is the mean one. Available VOTABLE fields: bibcodelist(y1-y2) biblio cel cl.g coo(opt) coo_bibcode coo_err_angle coo_err_maja coo_err_mina coo_qual coo_wavelength coordinates dec(opt) dec_prec diameter dim dim_angle dim_bibcode dim_incl dim_majaxis dim_minaxis dim_qual dim_wavelength dimensions distance distance_result einstein fe_h flux(filtername) flux_bibcode(filtername) flux_error(filtername) flux_name(filtername) flux_qual(filtername) flux_system(filtername) flux_unit(filtername) fluxdata(filtername) gcrv gen gj hbet hbet1 hgam id(opt) ids iras irc iso iue jp11 link_bibcode main_id measurements membership mesplx mespm mk morphtype mt mt_bibcode mt_qual otype otype(opt) otypes parallax plx plx_bibcode plx_error plx_prec plx_qual pm pm_bibcode pm_err_angle pm_err_maja pm_err_mina pm_qual pmdec pmdec_prec pmra pmra_prec pos posa propermotions ra(opt) ra_prec rot rv_value rvz_bibcode rvz_error rvz_qual rvz_radvel rvz_type rvz_wavelength sao sp sp_bibcode sp_nature sp_qual sptype td1 typed_id ubv uvby uvby1 v* velocity xmm z_value For more information on a field: Simbad.get_field_description ('field_name') Currently active VOTABLE fields: ['main_id', 'coordinates']
Simbad.add_votable_fields('typed_id')
Simbad.query_objects(['M51', 'Proxima', 'Antares'])
MAIN_ID | RA | DEC | RA_PREC | DEC_PREC | COO_ERR_MAJA | COO_ERR_MINA | COO_ERR_ANGLE | COO_QUAL | COO_WAVELENGTH | COO_BIBCODE | TYPED_ID | SCRIPT_NUMBER_ID |
---|---|---|---|---|---|---|---|---|---|---|---|---|
"h:m:s" | "d:m:s" | mas | mas | deg | ||||||||
object | str13 | str13 | int16 | int16 | float32 | float32 | int16 | str1 | str1 | object | object | int32 |
M 51 | 13 29 52.698 | +47 11 42.93 | 7 | 7 | -- | -- | 0 | C | I | 2006AJ....131.1163S | M51 | 1 |
NAME Proxima Centauri | 14 29 42.9461 | -62 40 46.164 | 14 | 14 | 0.024 | 0.034 | 90 | A | O | 2020yCat.1350....0G | Proxima | 2 |
* alf Sco | 16 29 24.4597 | -26 25 55.209 | 9 | 9 | 10.710 | 6.680 | 90 | A | O | 2007A&A...474..653V | Antares | 3 |
Herhangi bir alanla (sütunla) ilgili açıklayıcı bilgi alınabilir (get_field_description).
Simbad.table.colnames
['MAIN_ID', 'RA', 'DEC', 'RA_PREC', 'DEC_PREC', 'COO_ERR_MAJA', 'COO_ERR_MINA', 'COO_ERR_ANGLE', 'COO_QUAL', 'COO_WAVELENGTH', 'COO_BIBCODE', 'SCRIPT_NUMBER_ID']
Ancak bu açıklamalar her zaman güvenilir ve yeterli olmayabilir! Bu durumda Simbad'ın ana dokümantasyonuna başvurmakta fayda vardır.
Simbad.get_field_description('coo_qual')
quality (A:astrometric, .., E:unknown)
SAO/NASA Astrophysics Data System astronomların literatür taramak üzere neredeyse her gün, belki defalarca sorgular yaptıları eşsiz bir dijital kütüphane portalıdır. ADS, Astronomi ve Astrofizik, Fizik ve arXiv e-baskılarındaki yayınları kapsayan 13 milyondan fazla kayıt içeren üç bibliyografik veri tabanı bulundurmaktadır. Astronomi ve fizik yayınlarının özetleri ve tam metni, yeni ADS modern arama formunun yanı sıra klasik bir arama formu aracılığıyla dizine eklenebilir ve aranabilir.
astropy.astroquery
SAO/NASA ADS veritabanında temel ve ileri düzey sorgular yapabilmek için pek çok fonksiyon sunar. Ancak öncelikle bir ADS hesabınızın olması gerekir. Yeni bir ADS hesabı oluşturmak, ADS hesabınızın ayarlarını kontrol etmek / güncellemek ve bu modülün ilgili fonksiyonlarının çalışabilmesi için gerekli API şifresini almak için öncelikle SAO/NASA ADS login sayfasına giriş yapmanız gerekir. API şifrenizi aldıktan sonra $na.ADS.TOKEN$ değişkenine verebileceğiniz gibi, bir dosyaya alabilir ya da bir çevre değişkeni olarak belirleyebilirsiniz.
from astroquery import nasa_ads as na
# Modul fonksiyonlarini kullanmadan once
# API sifrenizi girmeniz beklenir. Bunun icin oncelikle
# https://ui.adsabs.harvard.edu/user/account/login
# sayfasina giderek (kaydolduktan sonra) API sifrenizi aliniz
# API sifrenizi buradan verebileceğiniz gibi
# bir dosyaya kaydedip adini buraya verebilir
# ya da bir cevre degiskeni olarak ayarlayabilirsiniz.
na.ADS.TOKEN = 'Ug9VjbHlfR8araNkCVmxRs6vR65EgCLTU0oWAhoq'
# varsayilan kayit dondurme sayisi 10'dur ve kayitlar
# tarihe gore yeniden eskiye dogru siralanir
# bu ayarlar degistirilebilir.
# dondurulen kayit sayisini 30'a cikarmak icin
na.ADS.NROWS = 30
# sadece belirli alanlari almak icin
na.ADS.ADS_FIELDS = ['author','title','abstract','pubdate','bibcode']
# ornegin bir yazarin ilk isim oldugu yayinlari gorebilmek icin
# yazar adinin onune ^ isareti konur
# (bu durum ADS arama sayfasinda da aynidir)
# Bu yapisiyla query_simple yeni ADS arama kutusuyla ayni sekilde calisir
sonuclar = na.ADS.query_simple(query_string="^Basturk exoplanet")
# aramanizi istediginiz bir kritere gore sonradan da siralayabilirsiniz
sonuclar.sort(['pubdate'])
# en son sonucunu basligi
sonsonuc_baslik = sonuclar[-1]['title'][0]
print(sonsonuc_baslik)
# en son sonucun yazar listesi
print(sonuclar[-1]['author'])
Homogeneous transit timing analyses of 10 exoplanet systems ['Baştürk, Ö.', 'Esmer, E. M.', 'Yalçınkaya, S.', 'Torun, Ş.', 'Mancini, L.', 'Helweh, F.', 'Karamanlı, E.', 'Southworth, J.', 'Aliş, S.', 'Wünsche, A.', 'Tezcan, F.', 'Aladağ, Y.', 'Aksaker, N.', 'Tunç, E.', 'Davoudi, F.', 'Fişek, S.', 'Bretton, M.', 'Evans, D. F.', 'Yeşilyaprak, C.', 'Yılmaz, M.', 'Tezcan, C. T.', 'Yelkenci, K.']
astroquery.nasa_ads
henüz NASA / ADS veritabanı üzerinde çalışan web arayüzünün yeteneklerinin bütününe sahip değildir. Örneğin yayının yayıncıdan ya da arXiv'dan indirilebileceği linkleri sağlamaz, makalenizde doğrudan kullanabileceğiniz bibtex'ini vermez. Ancak dokümantasyounundan da takip edebileceğiniz gibi bu konularda ve modülü geliştirmek üzere çalışılmkatadır. İleride projeleriniz için yazmanız gerekecek kodlarda bu tür aramalara ihtyaç duyabilirsiniz, bu nedenle bu paketin gelişimini takip etmekte fayda vardır.
ads paketi SAO/NASA ADS veritabanı ile etkileşim için önemli bir alternatif sunar. Bu paketi kullanma için de API şifresine ihtiyaç duyulur ve yukarıda anlatıldığı şekilde alınabilir. Eğer python'u Anaconda üzerinden kurduysanız bu paketi kurmamış olmanız ihtimal dahilindedir. Her zamanki gibi $pip$ kurulum paketini kullanarak
$ pip install ads--user
komutu ile kurabileceğiniz gibi projenin github sayfasından kaynak kodu indirip de kurabilirsiniz.
Aşağıda $ads$ paketinin kullanımına bir örnek verilmiştir.
import ads
ads.config.token = 'Ug9VjbHlfR8araNkCVmxRs6vR65EgCLTU0oWAhoq'
sonuclar = ads.SearchQuery(q="HAT-P-19", sort="citation_count")
for sonuc in sonuclar:
print(sonuc.title[0], sonuc.bibcode)
Obliquities of Hot Jupiter Host Stars: Evidence for Tidal Interactions and Primordial Misalignments 2012ApJ...757...18A Starspots, Spin-Orbit Misalignment, and Active Latitudes in the HAT-P-11 Exoplanetary System 2011ApJ...743...61S 3.6 and 4.5 μm Spitzer Phase Curves of the Highly Irradiated Hot Jupiters WASP-19b and HAT-P-7b 2016ApJ...823..122W HST hot Jupiter transmission spectral survey: detection of water in HAT-P-1b from WFC3 near-IR spatial scan observations 2013MNRAS.435.3481W Adaptive Optics Images. II. 12 Kepler Objects of Interest and 15 Confirmed Transiting Planets 2013AJ....146....9A Observational constraints on tidal effects using orbital eccentricities 2012MNRAS.422.3151H The HAT-P-13 Exoplanetary System: Evidence for Spin-Orbit Alignment and a Third Companion 2010ApJ...718..575W HAT-P-18b and HAT-P-19b: Two Low-density Saturn-mass Planets Transiting Metal-rich K Stars 2011ApJ...726...52H System Parameters, Transit Times, and Secondary Eclipse Constraints of the Exoplanet Systems HAT-P-4, TrES-2, TrES-3, and WASP-3 from the NASA EPOXI Mission of Opportunity 2011ApJ...726...94C HAT-P-25b: A Hot-Jupiter Transiting a Moderately Faint G Star 2012ApJ...745...80Q The Continuing Search for Evidence of Tidal Orbital Decay of Hot Jupiters 2020AJ....159..150P Transmission spectroscopy of the inflated exo-Saturn HAT-P-19b 2015A&A...580A..60M Low albedos of hot to ultra-hot Jupiters in the optical to near-infrared transition regime 2019A&A...624A..62M Clear and Cloudy Exoplanet Forecasts for JWST: Maps, Retrieved Composition, and Constraints on Formation with MIRI and NIRCam 2018AJ....156...40S The Stellar Obliquity and the Long-period Planet in the HAT-P-17 Exoplanetary System 2013ApJ...772...80F Ground-based transit observations of the HAT-P-18, HAT-P-19, HAT-P-27/WASP40 and WASP-21 systems 2015MNRAS.451.4060S The Refined Physical Properties of Transiting Exoplanetary System WASP-11/HAT-P-10 2014AJ....147...92W Reassessing Exoplanet Light Curves with a Thermal Model 2018AJ....156...28A Atmospheric mass-loss of extrasolar planets orbiting magnetically active host stars 2018MNRAS.477..808L Observational Consequences of Shallow-water Magnetohydrodynamics on Hot Jupiters 2021ApJ...916L...8H A holistic and probabilistic approach to the ground-based and spaceborne data of HAT-P-19 system 2020MNRAS.496.4174B New transit timing observations for GJ 436 b, HAT-P-3 b, HAT-P-19 b, WASP-3 b, and XO-2 b 2018IBVS.6243....1M Two stacked tandem white organic light-emitting diodes employing WO<SUB>3</SUB> as a charge generation layer 2016SPIE.9941E..1TB HAT-P-68b: A Transiting Hot Jupiter around a K5 Dwarf Star 2021AJ....161...64L Probing Giant Planet Formation with MOSFIRE Exoplanet Transmission Spectroscopy 2014koa..prop..511M An X-ray survey of ultra-active planet hosts 2013xmm..prop..123S VizieR Online Data Catalog: Spectroscopy and photometry for HAT-P-50--HAT-P-53 (Hartman+, 2015) 2016yCat..51500168H A Bayesian Atmospheric Retrieval Performed on HAT-P-16b and WASP-11b/HAT-P-10b 2016DPS....4821207M Near UV Observation of HAT-P-16b 2013AAS...22221709P In Pursuit of New Worlds: Searches for and Studies of Transiting Exoplanets from Three Space-Based Observatories 2012PhDT.......138B VizieR Online Data Catalog: 25 hot-Jupiter properties from HST & Spitzer (Changeat+, 2022) 2022yCat..22600003C VizieR Online Data Catalog: Transit times of 11 hot Jupiters (Patra+, 2020) 2020yCat..51590150P VizieR Online Data Catalog: Differential photometry & RVs of HAT-P-69 & HAT-P-70 (Zhou+, 2019) 2019yCat..51580141Z Investigating Trends in Atmospheric Composition of Gas Giant Planets Using Spitzer Secondary Eclipses 2019ESS.....432640W Transit Spectroscopy of Mature Planets 2017jwst.prop.1185G MIRI observations of transiting exoplanets 2017jwst.prop.1177G Clear and Cloudy Exoplanet Forecasts for JWST: Maps, Retrieved Composition, and Constraints on Formation with MIRI and NIRCam 2019AAS...23320507S VizieR Online Data Catalog: Differential photometry of the F-subgiant HAT-P-67 (Zhou+, 2017) 2018yCat..51530211Z Atmospheric Retrievals of HAT-P-16b and WASP-11b/HAT-P-10b 2018AAS...23114802M HAT-P-16b: A Bayesian Atmospheric Retrieval 2017DPS....4941601M
Yayın üzerinden arama yapıp başlık ($title$), yazar ($author$), bibliyografi kodu ($bibcode$), özet ($abstract$), makalenizin biyografi bölümünü oluşturmak üzere bibtex girdisi ($bibtex$), atıfları ($citation$), atıf sayısı (citation_count) gibi pek çok bilgiye ulaşabilirsiniz. Sorgunuzun sonucunu atadığınız değişken (yukarıdaki örnekte $sonuclar$ değişkeni) sonuna nokta koyduktan sonra
ADS veritabanında üzerinde sorgu yapabileceğiniz bütün alanlarda $ads$ paketiyle de sorgu yapabilirsiniz. Aşağıda yazar ismiyle yapılmış bir sorgu örneği görüyorsunuz.
sonuclar = list(ads.SearchQuery(author="Basturk, O"))
for sonuc in sonuclar:
print(sonuc.title)
['Homogeneous transit timing analyses of 10 exoplanet systems'] ['Discovery of a young low-mass brown dwarf transiting a fast-rotating F-type star by the Galactic Plane eXoplanet (GPX) survey'] ['The ultra-hot-Jupiter KELT-16 b: dynamical evolution and atmospheric properties'] ['TESS Discovery of a Super-Earth and Three Sub-Neptunes Hosted by the Bright, Sun-like Star HD 108236'] ['Detection of two additional circumbinary planets around Kepler-451'] ['Transits of Known Planets Orbiting a Naked-eye Star'] ['Revisiting the analysis of HW Virginis eclipse timing data. I. A frequentist data modeling approach and a dynamical stability analysis'] ['Detection of two additional circumbinary planets around Kepler-451'] ['Orbital Period Analysis of Four Eclipsing Binaries XY Boo, RW Com, MR Del and AK Her'] ['A list of minima times of some eclipsing binaries'] ['The KELT Follow-up Network and Transit False-positive Catalog: Pre-vetted False Positives for TESS'] ['RR Draconis: An Algol-Type Eclipsing Binary with a Possible Massive Tertiary Companion'] ['Analysis of the Most Precise Light Curves of HAT-P-36 Detrended from Spot Signals'] ['The First Light Curve Solutions and Period Study of BQ Ari'] ['Investigation of Orbital Decay and Global Modeling of the Planet WASP-43 b'] ['Discovery of a pre-cataclysmic binary with unusual chromaticity of the eclipsed white dwarf by the GPX survey'] ['Homogeneously derived transit timings for 17 exoplanets and reassessed TTV trends for WASP-12 and WASP-4'] ['A simultaneous spectroscopic and photometric study of two eclipsing binaries: V566 Oph and V972 Her'] ['Benchmarking the power of amateur observatories for TTV exoplanets detection'] ['A holistic and probabilistic approach to the ground-based and spaceborne data of HAT-P-19 system'] ['Photometric Analysis of Overcontact Binaries AK Her, HI Dra, V1128 Tau, and V2612 Oph'] ['Analysis of HAT-P-16b and TrES-3b Exoplanets by the Transit Timing Variations Method'] ['KELT-18b: Puffy Planet, Hot Host, Probably Perturbed'] ['Photometric Analysis of HS Aqr, EG Cep, VW LMi, and du Boo'] ["KPS-1b: The First Transiting Exoplanet Discovered Using an Amateur Astronomer's Wide-field CCD Data"] ['Physical parameters of close binaries QX Andromedae, RW Comae Berenices, MR Delphini, and BD +079° 3142'] ['Physical parameters of some close binaries: ET Boo, V1123 Tau, V1191 Cyg, V1073 Cyg and V357 Peg'] ['Times of Minima of Some Eclipsing Binaries'] ['Photoelectric Minima of Some Eclipsing Binary Stars'] ['Light curve analysis of ground-based data from exoplanets transit database'] ['Transit timing variations of five transiting planets'] ['High-precision multiband time series photometry of exoplanets Qatar-1b and TrES-5b'] ['Photometric, Spectroscopic, and Orbital Period Study of Three Early-type Semi-detached Systems: XZ Aql, UX Her, and AT Peg'] ['BI CVn - A spotted, overcontact, type-W eclipsing binary'] ['First results of the Kourovka Planet Search: discovery of transiting exoplanet candidates in the first three target fields'] ['New Times of Minima of Some Eclipsing Binary Stars and Maxima of Pulsating Stars'] ['Photoelectric Minima of Some Eclipsing Binary Stars'] ['VizieR Online Data Catalog: Light curves of KELT-16 (Mancini+, 2022)'] ['Times of Minima of Eclipsing Binaries and Mid-Transit Times of Transiting Exoplanets'] ['The stable isotope composition of waters of the eastern Mediterranean Sea'] ['Changes in the hydrochemistry of the Black Sea inferred from water density profiles'] ['A Python-based GUI Software to Calculate Times of Maximum and Minimum: Xtrema'] ['Orbital Period Variations in the NY Vir System, Revisited in the Light of New Data'] ['Photoelectric Minima of Some Eclipsing Binary Stars'] ['VizieR Online Data Catalog: HAT-P-36 T80, T100 light curves and O-C (Yalcinkaya+, 2021)'] ['The absolute parameters of two W UMa type binaries in Ursa Majoris'] ['VizieR Online Data Catalog: 10 exoplanet systems transit timing (Basturk+, 2022)'] ['VizieR Online Data Catalog: HARPS, HIRES and AAT Radial Velocities of HD 136352 (Kane+, 2020)'] ['The absolute parameters of the detached eclipsing binary V482 Per'] ['Defocused Observations of Selected Exoplanet Transits with T100 at the TÜBİTAK National Observatory of Turkey (TUG)']
Her sorgu bir $ads.Article$ nesnesi döndürür. Bu nesnenin oldukça kullanışlı pek çok metodu bulunmaktadır. Aşağıda bu metotlara bazı örnekler verilmiştir.
en_son_yayin = sonuclar[-1]
# Yayinla ilgili bazı özet bilgiler
print(en_son_yayin)
print(en_son_yayin.author)
print(en_son_yayin.bibtex)
<Baştürk, Ö. et al. 2015, 2015ASPC..496..370B> ['Baştürk, Ö.', 'Hinse, T. C.', 'Özavcı, İ.', 'Yörükoǧlu, O.', 'Selam, S. O.']
/usr/local/lib/python3.8/dist-packages/ads/utils.py:26: UserWarning: You are lazy loading attributes via 'bibtex', and so are making multiple calls to the API. This will impact your overall rate limits. warnings.warn( /usr/local/lib/python3.8/dist-packages/ads/search.py:294: UserWarning: bibtex should be queried with ads.ExportQuery(); You will hit API ratelimits very quickly otherwise. warnings.warn("bibtex should be queried with ads.ExportQuery(); You will "
@INPROCEEDINGS{2015ASPC..496..370B, author = {{Ba{\c{s}}t{\"u}rk}, {\"O}. and {Hinse}, T.~C. and {{\"O}zavc{\i}}, {\.I}. and {Y{\"o}r{\"u}ko{\v{g}}lu}, O. and {Selam}, S.~O.}, title = "{Defocused Observations of Selected Exoplanet Transits with T100 at the T{\"U}B{\.I}TAK National Observatory of Turkey (TUG)}", keywords = {Astrophysics - Earth and Planetary Astrophysics}, booktitle = {Living Together: Planets, Host Stars and Binaries}, year = 2015, editor = {{Rucinski}, S.~M. and {Torres}, G. and {Zejda}, M.}, series = {Astronomical Society of the Pacific Conference Series}, volume = {496}, month = jul, pages = {370}, archivePrefix = {arXiv}, eprint = {1508.04500}, primaryClass = {astro-ph.EP}, adsurl = {https://ui.adsabs.harvard.edu/abs/2015ASPC..496..370B}, adsnote = {Provided by the SAO/NASA Astrophysics Data System} }
Gaia, galaksimizin kompozisyonunu, oluşumunu ve evrimini ortaya koymak amacıyla Samanyolu'nun üç boyutlu bir haritasını çıkarmak üzere geliştirilmiş bir uzay teleskobu projesidir. Gaia, Galaksimizde ve Yerel Grup genelinde yaklaşık bir milyar yıldızın tayfsal ve kinematik gözlemlerini gerçekleştirmek için bugüne kadar eşi görülmemiş bir duyarlılıkta konum ve radyal hız ölçümleri yapmakktadır.
Gaia arşivi TAP (Table Access Protocol) + REST servisleri üzerine kuruludur. Üzerine kurulu olduğu $TAP+$, Uluslararası Sanal Gözlemevleri Birliği (IVOA) tarafından belirtilen Tablo Erişim Protokolü'nün (TAP: http://www.ivoa.net/documents/TAP/) bir uzantısıdır. TAP sorgu dili, veritabanlarını sorgulamak için yaygın olarak kullanılan Yapılandırılmış Sorgu Dili'ne (ing, Structured Query Language, SQL) benzer bir dil olan Astronomi Veri Sorgu Dili ([Astronomical Data Query Language, ADQL] (http://www.ivoa.net/documents/ADQL/2.0))'dir.
TAP, Eşzamanlı (ya da Senkron: Synchronous) ve Asenkron (Asynchronous) olmak üzere iki çalışma modu sunar:
Eşzamanlı: istenen cevap sunucu tarafından alındığında oluşturulur. Bu yöntem büyük boyutlarda sonuç üreten sorgular için kullanılmamalıdır.
Asenkron: sunucu, sorgulama isteğini yürütecek bir iş (task) başlatır. İsteğe ilk yanıt, task durumunu elde etmek için gerekli bilgilerdir. Sorgulama işi bittikten sonra sonuçlar alınabilir.
Gaia $TAP+$ sunucusu herkese açık, genel (public) ve kullanıcı erişimli (authenticated) olmak üzere iki erişim modu sağlar:
Genel kullanıcı: Bu standart $TAP$ erişimidir. Bir kullanıcı, 'anında' sorguda kullanılacak ADQL sorgularını yürütebilir ve tabloları yükleyebilir (sorgu yürütüldüğünde bu tablolar kaldırılır). Sonuçlar diğer kullanıcılar tarafından kullanılabilir ve sınırlı bir süre için sunucuda kalır.
Kullanıcı erişimli sorgulamalar: bazı işlevler yalnızca kimliği doğrulanmış kullanıcılarla sınırlıdır. Sonuçlar özel bir kullanıcı alanına kaydedilir ve sonsuza kadar sunucuda kalır (kullanıcı tarafından kaldırılabilir).
ADQL sorguları ve sonuçları, kullanıcının özel alanına kaydedilir. Bir kullanıcı özel bir alana tablo yükleyebilir. Bu tablolar sorgularda ve çapraz eşleşme işlemlerinde kullanılabilir.
Örnek olarak basit bir Gaia sorgusu astroquery.gaia
alt modülüyle aşağıdaki şekilde kurgulanabilir. BU şekilde koordinatları bilinen bir cismin istenen yakınlığında başka bir kaynağın olup olmadığı konusunda bilgi verebilir.
import astropy.units as u
from astropy.coordinates import SkyCoord
from astroquery.gaia import Gaia
koordinatlar = "00h38m04s +34d42m41s"
koor = SkyCoord(koordinatlar, obstime="J2000.", frame='icrs')
ra_aralik = u.Quantity(1, u.arcmin)
dec_aralik = u.Quantity(1, u.arcmin)
sorgu = Gaia.query_object_async(coordinate=koor, width=ra_aralik, height=dec_aralik)
sorgu.pprint()
INFO: Query finished. [astroquery.utils.tap.core] dist ... ... --------------------- ... 7.814272017258781e-05 ...
sorgu['DESIGNATION']
Gaia DR2 365426679516816512 |
sorgu = Simbad.query_objectids(sorgu['DESIGNATION'])
sonuc_tablosu = [isim[0] for isim in sorgu]
print(sonuc_tablosu)
['Gaia DR3 365426679516816512', 'WISE J003803.98+344241.2', 'UCAC4 624-001874', 'TIC 267650535', 'Gaia DR2 365426679516816512', 'UCAC2 43902188', 'UCAC3 250-4408', '2MASS J00380401+3442416', 'HAT-P-19', 'GSC 02283-00589']
/usr/local/lib/python3.8/dist-packages/astroquery/simbad/core.py:135: UserWarning: Warning: The script line number 2 raised an error (recorded in the `errors` attribute of the result table): 'DESIGNATION': No known catalog could be found warnings.warn("Warning: The script line number %i raised "
İstenirse böyle bir sorgu isim üzerinden yapılmak üzere SIMBAD sorgularıyla birleştirilebilir.
Aşağıda SkyView kataloğunu kullanarak istenen bir alanın görüntüsünü çektikten sonra Vizier kataloğunu kullanarak bu görüntü üzerindeki kaynakları belirleyip işaretlemeye yönelik bir örnek verilmiştir. astroquery
her SkyView ve Vizier kataloglarında sorgulama yapaiblmek için birer alt modül sunmaktadır. Katalog sorgularını kullanırken astropy.coordinates
ve astropy.units
modüllerini de kullanmak gerekecektir. Grafikler için yine maptlotlib.pyplot
kullanılabilir.
from astropy import coordinates, units as u, wcs
from astroquery.skyview import SkyView
from astroquery.vizier import Vizier
from matplotlib import pyplot as plt
%matplotlib inline
merkez = coordinates.SkyCoord.from_name('Orion KL')
# Orion Nebula'nin 2MASS-J bandinda bir SkyView goruntusunu alalim
goruntuler = SkyView.get_images(position=merkez, survey='2MASS-H')
# sonucta birden fazla goruntu dondurulurse sadece ilkini kullanalim
goruntu = goruntuler[0]
# dondurulen goruntu bir HDU nesnesidir ve goruntu (imaj)
# bu nesnenin 0. indeksinde yer almaktadir.
koorwcs = wcs.WCS(goruntu[0].header)
fig = plt.figure(1)
# RA / DEC koordinatlarina sahip bir goruntu olusturalim
ax = fig.add_axes([0.15, 0.1, 0.8, 0.8], projection=koorwcs)
ax.set_xlabel("RA")
ax.set_ylabel("Dec")
ax.imshow(goruntu[0].data, cmap='gray_r', interpolation='none', origin='lower',
norm=plt.matplotlib.colors.LogNorm())
# Vizier'den bu bolgedeki nesne bilgilerini cekelim
# Bunun icin J/ApJ/826/16/table1 tablosunu kullanalim
# Herhangi baska bir tabloyu da kullanabilirdik
tablolar = Vizier.query_region(merkez, radius=5*u.arcmin,
catalog='J/ApJ/826/16/table1')
# istedigimiz koordinatlar bu tablolarin birincisindedir
tablo = tablolar[0]
# RA / DEC girdiyi astropy koordinatlarina donusturelim
tablo_koor = coordinates.SkyCoord(tablo['RAJ2000'], tablo['DEJ2000'],
unit=(u.hour, u.deg), frame='fk5')
# cismin cevresindeki diger cisimleri de J/ApJ/540/236 tablosundan alalim
tablolar2 = Vizier(row_limit=10000).query_region(merkez, radius=5*u.arcmin,
catalog='J/ApJ/540/236')
tablo2 = tablolar[0]
tablo2_koor = coordinates.SkyCoord(tablo2['RAJ2000'], tablo2['DEJ2000'],
unit=(u.hour, u.deg), frame='fk5')
# goruntuyu cizdirelim
ax.plot(tablo_koor.ra, tablo_koor.dec, '*', transform=ax.get_transform('fk5'),
mec='b', mfc='none')
ax.plot(tablo2_koor.ra, tablo2_koor.dec, 'o', transform=ax.get_transform('fk5'),
mec='r', mfc='none')
# istedigimiz bolgeye zoom yapabiliriz
ax.axis([100, 200, 100, 200])
plt.show()
NASA Exoplanet Archive veritabanı keşfedilen aday ve onaylanmış ötegezegenler ile onların barınak yıldızları hakkında farklı literatür kaynaklarında yayınlanmış bilgi ve parametrelere erişmek için NASA tarafından geliştirilmiş bir veritabanıdır. Veritabanını astropy.astroquery
fonksyonlarıyla sorgulamak için astroquery.ipac.nexsci.nasa_exoplanet_archive
modülü kullanılır. Veritabanının sorgulamalar için bir web arayüzü bulunduğu gibi TAP ve API arayüzleri de bulunmaktadır.
Örneğin WASP-43 b ötegezegenine ilişkin bilgilere erişmek için aşağıdaki gibi bir sorgu yazılabilir. Bu fonksiyonun parametrelerini doğru belirlemek önem taşımaktadır. Zira bir gezegen sisteminin farklı isimlerle de bulunabildiği "aliastable" için API desteği artık bulunmamaktadır. Bu nedenel regularize
parametresinin False
değerine atanması gerekir. Aksi takdirde fonksiyonu ismi verilen gezegen ya da barınak yıldız için aynı gezegenin farklı isimlerle geçtiği satırları da getirmek için aliastable tablosunu taramaktadır ancak bu tabloya API desteği bulunmamaktadır. Ayrıca, table
parametresinin doğru ayarlanması da önemlidir. Bu parametrenin varsayılan değeri olan ps
birden fazla yayından parametrelerin alınabildiği ve her bir gezegen için veritabanında parametre alınan yayın sayısı kadar satırın bulunduğu tablodur. Genellikle keşif yayınından ilgili parametrelerin alınıp, diğer parametrelerin de başka yayınlardan tamamlandığı, dolayısıyla her gezegenin tek bir parametre setiyle ve satırla temsil edildiği tablo (Composite Planet Table) kullanılmak istendiğinde bu parametre pscomppars
değerine ayarlanır.
from astroquery.ipac.nexsci.nasa_exoplanet_archive import NasaExoplanetArchive
exo_sorgu = NasaExoplanetArchive.query_object(object_name="WASP-43",table="ps", regularize=False)
WARNING: column st_lum has a unit but is kept as a MaskedColumn as an attempt to convert it to Quantity failed with: UnitTypeError("MaskedQuantity instances require normal units, not <class 'astropy.units.function.logarithmic.DexUnit'> instances.") [astropy.table.table] WARNING: column st_lumerr1 has a unit but is kept as a MaskedColumn as an attempt to convert it to Quantity failed with: UnitTypeError("MaskedQuantity instances require normal units, not <class 'astropy.units.function.logarithmic.DexUnit'> instances.") [astropy.table.table] WARNING: column st_lumerr2 has a unit but is kept as a MaskedColumn as an attempt to convert it to Quantity failed with: UnitTypeError("MaskedQuantity instances require normal units, not <class 'astropy.units.function.logarithmic.DexUnit'> instances.") [astropy.table.table] WARNING: column st_logg has a unit but is kept as a MaskedColumn as an attempt to convert it to Quantity failed with: UnitTypeError("MaskedQuantity instances require normal units, not <class 'astropy.units.function.logarithmic.DexUnit'> instances.") [astropy.table.table] WARNING: column st_loggerr1 has a unit but is kept as a MaskedColumn as an attempt to convert it to Quantity failed with: UnitTypeError("MaskedQuantity instances require normal units, not <class 'astropy.units.function.logarithmic.DexUnit'> instances.") [astropy.table.table] WARNING: column st_loggerr2 has a unit but is kept as a MaskedColumn as an attempt to convert it to Quantity failed with: UnitTypeError("MaskedQuantity instances require normal units, not <class 'astropy.units.function.logarithmic.DexUnit'> instances.") [astropy.table.table]
exo_sorgu.colnames
['pl_name', 'pl_letter', 'hostname', 'hd_name', 'hip_name', 'tic_id', 'gaia_id', 'default_flag', 'pl_refname', 'sy_refname', 'disc_pubdate', 'disc_year', 'discoverymethod', 'disc_locale', 'disc_facility', 'disc_instrument', 'disc_telescope', 'disc_refname', 'ra', 'rastr', 'dec', 'decstr', 'glon', 'glat', 'elon', 'elat', 'pl_orbper', 'pl_orbpererr1', 'pl_orbpererr2', 'pl_orbperlim', 'pl_orbperstr', 'pl_orblpererr1', 'pl_orblper', 'pl_orblpererr2', 'pl_orblperlim', 'pl_orblperstr', 'pl_orbsmax', 'pl_orbsmaxerr1', 'pl_orbsmaxerr2', 'pl_orbsmaxlim', 'pl_orbsmaxstr', 'pl_orbincl', 'pl_orbinclerr1', 'pl_orbinclerr2', 'pl_orbincllim', 'pl_orbinclstr', 'pl_orbtper', 'pl_orbtpererr1', 'pl_orbtpererr2', 'pl_orbtperlim', 'pl_orbtperstr', 'pl_orbeccen', 'pl_orbeccenerr1', 'pl_orbeccenerr2', 'pl_orbeccenlim', 'pl_orbeccenstr', 'pl_eqt', 'pl_eqterr1', 'pl_eqterr2', 'pl_eqtlim', 'pl_eqtstr', 'pl_occdep', 'pl_occdeperr1', 'pl_occdeperr2', 'pl_occdeplim', 'pl_occdepstr', 'pl_insol', 'pl_insolerr1', 'pl_insolerr2', 'pl_insollim', 'pl_insolstr', 'pl_dens', 'pl_denserr1', 'pl_denserr2', 'pl_denslim', 'pl_densstr', 'pl_trandep', 'pl_trandeperr1', 'pl_trandeperr2', 'pl_trandeplim', 'pl_trandepstr', 'pl_tranmid', 'pl_tranmiderr1', 'pl_tranmiderr2', 'pl_tranmidlim', 'pl_tranmidstr', 'pl_trandur', 'pl_trandurerr1', 'pl_trandurerr2', 'pl_trandurlim', 'pl_trandurstr', 'sy_kmagstr', 'sy_umag', 'sy_umagerr1', 'sy_umagerr2', 'sy_umagstr', 'sy_rmag', 'sy_rmagerr1', 'sy_rmagerr2', 'sy_rmagstr', 'sy_imag', 'sy_imagerr1', 'sy_imagerr2', 'sy_imagstr', 'sy_zmag', 'sy_zmagerr1', 'sy_zmagerr2', 'sy_zmagstr', 'sy_w1mag', 'sy_w1magerr1', 'sy_w1magerr2', 'sy_w1magstr', 'sy_w2mag', 'sy_w2magerr1', 'sy_w2magerr2', 'sy_w2magstr', 'sy_w3mag', 'sy_w3magerr1', 'sy_w3magerr2', 'sy_w3magstr', 'sy_w4mag', 'sy_w4magerr1', 'sy_w4magerr2', 'sy_w4magstr', 'sy_gmag', 'sy_gmagerr1', 'sy_gmagerr2', 'sy_gmagstr', 'sy_gaiamag', 'sy_gaiamagerr1', 'sy_gaiamagerr2', 'sy_gaiamagstr', 'sy_tmag', 'sy_tmagerr1', 'sy_tmagerr2', 'sy_tmagstr', 'pl_controv_flag', 'pl_tsystemref', 'st_metratio', 'st_spectype', 'sy_kepmag', 'sy_kepmagerr1', 'sy_kepmagerr2', 'sy_kepmagstr', 'st_rotp', 'st_rotperr1', 'st_rotperr2', 'st_rotplim', 'st_rotpstr', 'pl_projobliq', 'pl_projobliqerr1', 'pl_projobliqerr2', 'pl_projobliqlim', 'pl_projobliqstr', 'x', 'y', 'z', 'htm20', 'pl_rvamp', 'pl_rvamperr1', 'pl_rvamperr2', 'pl_rvamplim', 'pl_rvampstr', 'pl_radj', 'pl_radjerr1', 'pl_radjerr2', 'pl_radjlim', 'pl_radjstr', 'pl_rade', 'pl_radeerr1', 'pl_radeerr2', 'pl_radelim', 'pl_radestr', 'pl_ratror', 'pl_ratrorerr1', 'pl_ratrorerr2', 'pl_ratrorlim', 'pl_ratrorstr', 'pl_ratdor', 'pl_trueobliq', 'pl_trueobliqerr1', 'pl_trueobliqerr2', 'pl_trueobliqlim', 'pl_trueobliqstr', 'sy_icmag', 'sy_icmagerr1', 'sy_icmagerr2', 'sy_icmagstr', 'rowupdate', 'pl_pubdate', 'st_refname', 'releasedate', 'dkin_flag', 'pl_ratdorerr1', 'pl_ratdorerr2', 'pl_ratdorlim', 'pl_ratdorstr', 'pl_imppar', 'pl_impparerr1', 'pl_impparerr2', 'pl_impparlim', 'pl_impparstr', 'pl_cmassj', 'pl_cmassjerr1', 'pl_cmassjerr2', 'pl_cmassjlim', 'pl_cmassjstr', 'pl_cmasse', 'pl_cmasseerr1', 'pl_cmasseerr2', 'pl_cmasselim', 'pl_cmassestr', 'pl_massj', 'pl_massjerr1', 'pl_massjerr2', 'pl_massjlim', 'pl_massjstr', 'pl_masse', 'pl_masseerr1', 'pl_masseerr2', 'pl_masselim', 'pl_massestr', 'pl_bmassj', 'pl_bmassjerr1', 'pl_bmassjerr2', 'pl_bmassjlim', 'pl_bmassjstr', 'pl_bmasse', 'pl_bmasseerr1', 'pl_bmasseerr2', 'pl_bmasselim', 'pl_bmassestr', 'pl_bmassprov', 'pl_msinij', 'pl_msinijerr1', 'pl_msinijerr2', 'pl_msinijlim', 'pl_msinijstr', 'pl_msinie', 'pl_msinieerr1', 'pl_msinieerr2', 'pl_msinielim', 'pl_msiniestr', 'st_teff', 'st_tefferr1', 'st_tefferr2', 'st_tefflim', 'st_teffstr', 'st_met', 'st_meterr1', 'st_meterr2', 'st_metlim', 'st_metstr', 'st_radv', 'st_radverr1', 'st_radverr2', 'st_radvlim', 'st_radvstr', 'st_vsin', 'st_vsinerr1', 'st_vsinerr2', 'st_vsinlim', 'st_vsinstr', 'st_lum', 'st_lumerr1', 'st_lumerr2', 'st_lumlim', 'st_lumstr', 'st_logg', 'st_loggerr1', 'st_loggerr2', 'st_logglim', 'st_loggstr', 'st_age', 'st_ageerr1', 'st_ageerr2', 'st_agelim', 'st_agestr', 'st_mass', 'st_masserr1', 'st_masserr2', 'st_masslim', 'st_massstr', 'st_dens', 'st_denserr1', 'st_denserr2', 'st_denslim', 'st_densstr', 'st_rad', 'st_raderr1', 'st_raderr2', 'st_radlim', 'st_radstr', 'ttv_flag', 'ptv_flag', 'tran_flag', 'rv_flag', 'ast_flag', 'obm_flag', 'micro_flag', 'etv_flag', 'ima_flag', 'pul_flag', 'soltype', 'sy_snum', 'sy_pnum', 'sy_mnum', 'cb_flag', 'st_nphot', 'st_nrvc', 'st_nspec', 'pl_nespec', 'pl_ntranspec', 'pl_nnotes', 'sy_pm', 'sy_pmerr1', 'sy_pmerr2', 'sy_pmstr', 'sy_pmra', 'sy_pmraerr1', 'sy_pmraerr2', 'sy_pmrastr', 'sy_pmdec', 'sy_pmdecerr1', 'sy_pmdecerr2', 'sy_pmdecstr', 'sy_plx', 'sy_plxerr1', 'sy_plxerr2', 'sy_plxstr', 'sy_dist', 'sy_disterr1', 'sy_disterr2', 'sy_diststr', 'sy_bmag', 'sy_bmagerr1', 'sy_bmagerr2', 'sy_bmagstr', 'sy_vmag', 'sy_vmagerr1', 'sy_vmagerr2', 'sy_vmagstr', 'sy_jmag', 'sy_jmagerr1', 'sy_jmagerr2', 'sy_jmagstr', 'sy_hmag', 'sy_hmagerr1', 'sy_hmagerr2', 'sy_hmagstr', 'sy_kmag', 'sy_kmagerr1', 'sy_kmagerr2', 'sky_coord']
WASP-43 b örneğinde bir yarıçap değerinin verildiği yayınlardaki yarıçap değerleri Jüpiter yarıçapı cinsinden alınmak istenirse aşağıdaki gibi bir sorgu yazılabilir.
import pandas as pd
for satir in exo_sorgu:
if not(pd.isna(satir['pl_radj'])):
print("{:s} gezegeninin {:s} referasindaki yaricapi {:.2f}".
format(satir['pl_name'], satir['pl_refname'], satir['pl_radj']))
WASP-43 b gezegeninin <a refstr=HELLIER_ET_AL__2011 href=https://ui.adsabs.harvard.edu/abs/2011arXiv1104.2823H/abstract target=ref> Hellier et al. 2011 </a> referasindaki yaricapi 0.93 jupiterRad WASP-43 b gezegeninin <a refstr=BONOMO_ET_AL__2017 href=https://ui.adsabs.harvard.edu/abs/2017A&A...602A.107B/abstract target=ref>Bonomo et al. 2017</a> referasindaki yaricapi 1.04 jupiterRad WASP-43 b gezegeninin <a refstr=SALZ_ET_AL__2015 href=https://ui.adsabs.harvard.edu/abs/2015A&A...576A..42S/abstract target=ref>Salz et al. 2015</a> referasindaki yaricapi 0.93 jupiterRad WASP-43 b gezegeninin <a refstr=EXOFOP_TESS_TOI href=https://exofop.ipac.caltech.edu/tess/view_toi.php target=ref>ExoFOP-TESS TOI</a> referasindaki yaricapi 1.17 jupiterRad WASP-43 b gezegeninin <a refstr=ESPOSITO_ET_AL__2017 href=https://ui.adsabs.harvard.edu/abs/2017A&A...601A..53E/abstract target=ref>Esposito et al. 2017</a> referasindaki yaricapi 1.01 jupiterRad