1.class astropy.FixedTarget(coord, name=None)
①创建一个FixedTarget对象表示天体的对象,例如恒星(如果忽略适当的运动,它们固定在天球上)
from astropy.coordinates import SkyCoord
from astroplan import FixedTarget
# icrs是国际天球参考架,未给出则默认是icrs
coordinates = SkyCoord('19h50m47.6s', '+08d52m12.0s', frame='icrs')
altair = FixedTarget(name='Altair', coord=coordinates) #Altair是牛郎星
print(altair)
print(altair.coord)
print(altair.name)
输出结果:
<FixedTarget "Altair" at SkyCoord (ICRS): (ra, dec) in deg (297.69833333, 8.87)>
<SkyCoord (ICRS): (ra, dec) in deg
(297.6958273, 8.8683212)>
Altair
#其中,SkyCoord是目标坐标,name是目标的名称,是个str
②对于CDS名称解析器已知的对象,可以使用 from_name 命令快速检索其坐标:
altair = FixedTarget.from_name('Altair')
print(altair)
#from_name是FixedTarget对象的方法
#from_name(query_name,name = None)
#query_name:str,用于查询坐标的目标名称。
#name:字符串或None,在astroplan中使用的目标名称。如果使用None,则将query_name用作name
2.class astroplan.Observer(location=None, timezone='UTC', name=None, latitude=None, longitude=None, elevation=<Quantity 0. m>, pressure=None, relative_humidity=None, temperature=None, description=None)
①创建一个Observer对象,用于提供有关观察者的位置和环境的信息。
#可以通过2种方式来创建Observer对象,参数介绍参考官方文档
#第一种:某些天文台的位置存储在astroplan中,可以按名称访问它们
from astroplan import Observer
subaru = Observer.at_site("Subaru", timezone="US/Hawaii")
print(subaru)
输出结果:
<Observer: name='Subaru',
location (lon, lat, el)=(-155.47611111111112 deg, 19.825555555555564 deg, 4139.000000000389 m),
timezone=<DstTzInfo 'US/Hawaii' LMT-1 day, 13:29:00 STD>>
#第二种:可以通过使用EarthLocation指定位置来初始化Observer
from astropy.coordinates import EarthLocation
import astropy.units as u
location = EarthLocation.from_geodetic(-155.4761*u.deg, 19.825*u.deg,
4139*u.m)
subaru = Observer(location=location, name="Subaru", timezone="US/Hawaii")
#EarthLocation.from_geodetic()方法内的参数是x,y,z的坐标,即经度、维度和海拔。
#也可以创建不带EarthLocation的Observer
from astroplan import Observer
import astropy.units as u
subaru = Observer(longitude=-155.4761*u.deg, latitude=19.825*u.deg,
elevation=0*u.m, name="Subaru", timezone="US/Hawaii")
②一个参数较完整的例子:
import astropy.units as u
from astropy.coordinates import EarthLocation
from pytz import timezone
from astroplan import Observer
longitude = '-155d28m48.900s'
latitude = '+19d49m42.600s'
elevation = 4163 * u.m
location = EarthLocation.from_geodetic(longitude, latitude, elevation)
observer = Observer(name='Subaru Telescope',
location=location,
pressure=0.615 * u.bar,
relative_humidity=0.11,
temperature=0 * u.deg_C,
timezone=timezone('US/Hawaii'),
description="Subaru Telescope on Maunakea, Hawaii")
3.class astropy.time.Time(val,val2 = None,format = None,scale = None,precision = None,in_subfmt = None,out_subfmt = None,location = None,copy = False)
将日期作为Time对象,默认是位于UTC时区。
from astropy.time import Time
time = Time(['2015-06-16 06:00:00'])