「天聞的資料科學」如何用Astroquery取得Minor Planet Center提供的彗星觀測資料?

天文背包黑客
·
·
IPFS
·
「天聞的資料科學」專欄以臺北天文館、臺南南瀛天文館等網站的天文新聞為題材,介紹相關的開放資料及開源軟體,並引導讀者使用Python程式來取得、前處理、分析及視覺化這些資料。透過上述資料科學步驟,讓群眾能夠藉由動手體驗天文知識的發現過程,拉近與星空的距離。此外,本專欄也是「天文的資料科學」教育產品開發計畫的一部分,如果你想要體驗更多從資料產出天文新知識的旅程,歡迎填寫這份調查表單,讓我能根據你的需求及建議,制定適合你的教學內容及呈現方式。
與i蟒一同調查彗星的偵探。此圖是我藉由Midjourney AI創作。

一位島民正在觀看臺南南瀛天文館針對C/2022 E3 (ZTF)彗星的觀測直播,他注意到直播主使用一款開源的星象模擬軟體Stellarium,來示意彗星目前在夜空中的方位。他很好奇:Stellarium是依據什麼來顯示並預測彗星的位置?

「這就是客戶委託我們『天文數智』公司調查的原因。」PM貳婰舞說道。「另外,他還提供一個線索:為了讓Stellarium能夠顯示彗星的位置,必須從設定頁面匯入Minor Planet Center提供的資料。」

黑蛋看完調查任務說明的錄影後,呼喚他的人工智慧協作夥伴。

「嘿,i蟒,請你先解釋一下Minor Planet Center是什麼,然後,我想知道是否有任何Python套件可以用來取得它所提供的資料。」

Minor Planet Center是一個國際天文組織 ,專門負責收集、維護和發布彗星及小行星等太陽系小天體的運行軌跡相關數據,例如它們的軌道參數、位置和速度。它的官網提供資料搜尋及下載的界面,」i蟒停頓一下接續著說。「不過,如果你想用Python來取得這些資料,Astroquery最為方便。這個套件提供多個模組,能連接不同的天文資料庫服務以取得相關資料,其中的astroquery.mpc這個模組,就是用於取得Minor Planet Center提供的資料。要我為你產生astroquery.mpc的使用範例程式碼嗎?」

「不,請你先簡介astroquery.mpc模組有哪些資料查詢功能。」

「好的,首先,你可以透過MPC.query_object()連結到Minor Planet Center Web Service,以便取得某個彗星或小行星的軌道參數資訊,例如軌道傾角、半長軸、離心率等等。再來,MPC.get_observations()能從Minor Planet Center Observations Database查詢出彗星或小行星被某個天文台觀測到的時間、在天空上的座標位置及亮度。例如,你可以查詢到C/2007 N3這個由台灣鹿林天文台所發現的彗星的觀測資料。此外,天文台的編碼能藉由MPC.get_observatory_codes()得知,像是鹿林天文台的編碼為D35。最後,你若想得知這些天體未來的位置和軌跡,可以用MPC.get_ephemeris(),它會從Minor Planet Ephemeris Service取得彗星或小行星的星曆表(ephemeris)資料。要我為你示範如何……」

「咦?等等,」黑蛋打斷i蟒。「什麼是星曆表?」

「星曆表是一種用於記錄天體在什麼時候會出現在什麼地方的資料表,它可以幫助人們預測天象並找到想觀看的天體。」

「恩…..星曆表是怎麼製作的?為何能預測天體將會出現在哪裡?」

「為了製作星曆表,需要先觀測天體在不同時間的位置、速度及亮度,再根據天體力學及數值模擬計算出天體的軌道參數,進而了解它的運動軌跡並預測天體的位置。另外,由於彗星等小天體可能會受到太陽重力及輻射的影響,造成軌道變化,所以也會以新的觀測資料來修正星曆表。」

黑蛋嘴角微微上揚,他想起彗星觀測直播主曾提到他所研究的彗星,在經過太陽時被弄散的悲劇。

「那麼,星曆表會受到觀測地點影響嗎?畢竟不同地區的人看到天體的方位可能會不一樣。」

「是的,星曆表會因觀測地點的經度、緯度和海拔高度不同而有所不同。MPC.get_ephemeris()所回傳的星曆表預設是以地球中心作為觀測點,但可以使用location參數來指定天文台編號或是經緯度海拔數值。」

「喔,我了解了。接下來請你在Colab上新增一個名為comet.ipynb的調查報告,首先整理一下astroquery.mpc模組的功能介紹。然後,在該調查報告中使用這些功能,示範如何取得C/2007 N3和C/2022 E3兩個彗星的資料,星曆表的觀測地點要在鹿林天文台。」

「好的,等待期間,讓我為你表演一小段相聲。」i蟒在螢幕上播放一段影片。

「Janet:嘿,比Siri知道更多笑話的Sheldon,我最近看到一個專欄,叫『天聞的資料科學』,你有聽過嗎?

Sheldon:天聞的資料科學?這可是目前網路上很夯的專欄喔!那作者想藉此拉近我們與星空的距離。

Janet:對呀對呀,我現在好想當這專欄的鐵粉。你知道該怎麼做嗎?

Sheldon:來自良善之地的Janet,你可問對人了。要當鐵粉,你可以收藏這專欄文章的Writing NFT。

Janet:NFT?你是不是少寫一橫啊,你是指NET吧?

Sheldon:欸,您別挨罵了!NFT是Non-Fungible Token的縮寫,你要做的就是從作者的Writing NFT展示櫃中,挑選你喜愛的文章,然後按下收藏按鈕,用信用卡或加密貨幣$LIKE購買收藏。

Janet:唉呀,那我可得趕緊去支持這作者,成為鐵粉了。

Sheldon:對啊,別再猶豫,立即收藏『天聞的資料科學』專欄文章的Writing NFT吧!

Janet、Sheldon:ChatGPT們下台一鞠躬。」

「嘶~~~調查報告已完成,請點擊這個連結查看。」i蟒說。

黑蛋確認後說:「很好,我想休息一下看部電影,請播放與彗星有關的電影,作為這個調查任務暫時的句點。」

「我非常推薦『彗星來的那一夜』這部科幻驚悚電影,你看完後,我會接著播放『那一夜,我們說相聲』來幫你壓壓驚。」

「。。。。。。」

此篇文是由蘇羿豪經ChatGPT協助創作,文章以「創用CC姓名標示-非商業性-禁止改作 4.0(CC BY-NC-ND 4.0)國際版授權條款」釋出,相關程式碼以MIT授權條款釋出。如果你喜歡這篇創作,歡迎收藏它的Writing NFT
CC BY-NC-ND 2.0

Like my work? Don't forget to support and clap, let me know that you are with me on the road of creation. Keep this enthusiasm together!

天文背包黑客「開放天文 拉近群眾與星空的距離」 公民天文學家/Astrohackers in Taiwan社群的共同創辦人/承接網站開發及資料科學相關案子的遠距工作者 https://astrobackhacker.tw
  • Author
  • More

「天文學程式」用Claude重建《獵星者旅店》網頁小遊戲的雛型

「天文學Python」在《獵星者旅店》中創造屬於你的探索旅程,將星空連結到你的生活

免費版的ChatGPT使用者現在也可以進入《獵星者旅店》學習Python和天文囉!