「跟著黑蛋用Streamlit速成天文資料分析Web App」系列文[12]:加上系外行星資料表距離欄位的單位轉換功能
IPFS
PM貳婰舞開啟與黑蛋的語音通話。
「嗨,黑蛋,咦? 你那邊怎麼會有鳥叫聲?喔,原來你在山上呀。對了,客戶表示目前系外行星資料表中,『與地球的距離』欄位的值是以秒差距這個單位呈現,他希望有可以切換成其他單位的功能,像是光年、天文單位與公里,以便他能因應不同狀況而匯出不同距離單位的資料表。」
其實黑蛋一直很納悶何謂秒差距,結束通話後,他便詢問Google大神。在看完「星空500秒:ep8 視差現象與秒差距」這個由中央大學天文所陳文屏教授所解說的影片後,黑蛋俯瞰山腳,想像山腳下兩頭的人分別望向他所在的這座山時所造成的視角差異,體會到這便是用來定義秒差距的視差現象吧。
在略懂秒差距後,黑蛋開始著手進行單位轉換功能的開發。為了方便將秒差距換算成其他距離單位,他先是用了Astropy這個Python套件中的天文常用單位轉換功能astropy.units,來計算1個秒差距等於多少光年、多少天文單位、多少公里。然後,他加上st.radio元件,讓使用者能在頁面上切換距離單位,並搭配convert_exoplanet_table_distance_unit()函式,來換算資料表中『與地球的距離』欄位的值。最後,為了讓使用者了解不同單位如何換算,他以st.markdown加上說明。
此系列文由蘇羿豪撰寫,以「創用CC 姓名標示 4.0(CC BY 4.0)國際版授權條款」釋出。另外附上此文所提及的太陽系外行星資料分析app以及完整程式碼。
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!
- Author
- More