天文数据批量下载笔记

这篇笔记介绍了如何使用python的astroquery模块批量下载天文数据,包括SDSS和LAMOST的光谱。astroquery提供了对多个数据库的访问,如SDSS、ALMA等。在下载SDSS数据时,涉及了查询区域、选择参数和下载光谱的过程。而对于LAMOST数据,由于没有API,通过FTP方法获取数据,并解释了LAMOST光谱的命名规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据批量下载笔记

一、astroquery

很多大型巡天项目都提供了下载数据的API方法,因此利用python脚本批量下载数据成为可能。基于已有的API(或者SQL)方法,astroquery整合了多个数据库,能够实现自动批量下载数据。

astroquery提供的数据库有:SDSS,ALMA,ESA,ESO,IRSA,MAST,NED 等等。详情见:https://astroquery.readthedocs.io/en/latest/#available-services

本笔记对于使用astroquery下载数据的经验进行整理:

1. 准备工作

  • 导入需要的数据库:
from astroquery.sdss import SDSS
  • 准备需要获得的参数:
    对软件包不了解时,可在astroquery的在线说明文档中找到对应的class(例 https://astroquery.readthedocs.io/en/latest/sdss/sdss.html#module-astroquery.sdss 最底下的SDSSCLASS),点击并查看class下可用的函数。astropy的说明文档详细,分类清晰能够快速定位所需的函数。

可以看到其中的query_region函数能够实现根据设置的位置(ra,dec)以及搜寻半径(radius)搜寻得到目标源的SDSS表格信息。返回的表格信息有一些默认column,并不会返回所有存在的column,通过设置参数photoobj_fields和specobj_fields可以指定需要对column,通过sdss官网可以查询可获得的column:
photoObjALL:http://skyserver.sdss.org/dr12/en/help/browser/browser.aspx#&&history=description+PhotoObjAll+U
SpecPhotoALL:http://skyserver.sdss.org/dr12/en/help/browser/browser.aspx#&&history=description+SpecPhotoAll+U

例:

photoobj_col=['ra','dec','objid','run','rerun','camcol','field','psfMag_u', 'psfMagerr_u', 'psfMag_g','psfMagerr_g', 'psfMag_r', 'psfMagerr_r', 'psfMag_i','psfMagerr_i', 'psfMag_z', 'psfMagerr_z']
specobj_col=['z','plate','mjd','fiberID','specobjid']

其中ra,dec,run,rerun,camcol,field 和 plate,mjd,fiberID,(或者objid、specobjid)都是目标(观测)最基本的识别信息,利用这些信息可以找到并下载图像或者光谱。

  • 准备源的位置信息:
    需要SkyCoord数据类型
coord=SkyCoord(ra,dec,frame='icrs',unit='deg')

2. 搜寻源的表格信息:

specObj_result=SDSS.query_region(coord,radius=1.5*u.arcsec,data_release=17,spectro=True,p
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值