Python——astroplan库入门实例(二)

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'])

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值