天体の高度·方位角の測定とマッピング

この例は、実行計画の観察を容易にするために、座標変換および可視性曲線の作成を示す。

この例では私たちは SkyCoord M 33の例である.そして以下の方法を用いて高さ-方位角座標を見つける astropy.coordinates.EarthLocation そして astropy.time.Time 物体です。

この例はデモを目的としています astropy.coordinates package. For more convenient and/or complex observation planning, consider the astroplan 小包です。

作者:エリック·トレドカイル·クルツ

ライセンス:BSD

風景が絵のようなアメリカニューヨーク熊山州立公園を見学する計画を立てていると仮定しましょう。望遠鏡を持っているとM 33が良い観測目標だと言われていますあなたはたまたま現地時間の夜11時に空いていることを知っていて、あなたはそれがオンラインになるかどうかを知りたいです。Astropyはこの質問に答えることができる。

Numpyとmatplotlibを導入する.後者の場合、より良い印刷パラメータのセットを使用して、印刷/変換量のサポートを設定してください。

import numpy as np
import matplotlib.pyplot as plt
from astropy.visualization import astropy_mpl_style, quantity_support
plt.style.use(astropy_mpl_style)
quantity_support()

出て:

<astropy.visualization.units.quantity_support.<locals>.MplQuantityConverter object at 0x7feda4ba2c50>

探索座標と座標変換に必要なパケットの導入

import astropy.units as u
from astropy.time import Time
from astropy.coordinates import SkyCoord, EarthLocation, AltAz

astropy.coordinates.SkyCoord.from_name SIMBADを用いて対象名を解析し,座標を検索する.

M 33の座標を取得する:

使用 astropy.coordinates.EarthLocation 熊山の位置を提供し、時間を米東部サマータイム2012年7月12日午後11時に設定した。

bear_mountain = EarthLocation(lat=41.3*u.deg, lon=-74*u.deg, height=390*u.m)
utcoffset = -4*u.hour  # Eastern Daylight Time
time = Time('2012-7-12 23:00:00') - utcoffset

astropy.coordinates.EarthLocation.get_site_names そして get_site_names 主要天文台の位置を取得するために使用することができる。

使用 astropy.coordinates 2012年7月12日午後11時に熊山から観測されたM 33のAlt,Az座標を見つけるために。

m33altaz = m33.transform_to(AltAz(obstime=time,location=bear_mountain))
print(f"M33's Altitude = {m33altaz.alt:.2}")

出て:

M33's Altitude = 0.13 deg

M 33が現在地平線上にあることが証明されたので、これは役に立つ。夜間にM 33の気団を発見することはより多くの情報を提供する。

アメリカ東部サマータイムの夜10時から朝7時までの間に100倍均一に分布するM 33のALT,AZ座標を見つける:

Alt,azを気団に変換する使用 secz 属性:

時間関数として気団を作成します

plt.plot(delta_midnight, m33airmasss_July13night)
plt.xlim(-2, 10)
plt.ylim(1, 4)
plt.xlabel('Hours from EDT Midnight')
plt.ylabel('Airmass [Sec(z)]')
plt.show()
plot obs planning

使用 get_sun 7月12日昼から7月13日昼までの1000個の等間隔で太陽の位置を見つけます。

同じ方法で get_moon 月が昇る時間を見つける。これは、月の正確な位置を得るために、インターネットから10 MBのファイルをダウンロードする必要があることに注意されたい。

同じ時間にM 33のAlt,Az座標を見つけた:

夜とその間のM 33と太陽の高さを説明する美しい図形を描きます

plt.plot(delta_midnight, sunaltazs_July12_to_13.alt, color='r', label='Sun')
plt.plot(delta_midnight, moonaltazs_July12_to_13.alt, color=[0.75]*3, ls='--', label='Moon')
plt.scatter(delta_midnight, m33altazs_July12_to_13.alt,
            c=m33altazs_July12_to_13.az, label='M33', lw=0, s=8,
            cmap='viridis')
plt.fill_between(delta_midnight, 0*u.deg, 90*u.deg,
                 sunaltazs_July12_to_13.alt < -0*u.deg, color='0.5', zorder=0)
plt.fill_between(delta_midnight, 0*u.deg, 90*u.deg,
                 sunaltazs_July12_to_13.alt < -18*u.deg, color='k', zorder=0)
plt.colorbar().set_label('Azimuth [deg]')
plt.legend(loc='upper left')
plt.xlim(-12*u.hour, 12*u.hour)
plt.xticks((np.arange(13)*2-12)*u.hour)
plt.ylim(0*u.deg, 90*u.deg)
plt.xlabel('Hours from EDT Midnight')
plt.ylabel('Altitude [deg]')
plt.show()
plot obs planning

出て:

/pb1/rst_repos/git/astropy/examples/coordinates/plot_obs-planning.py:146: MatplotlibDeprecationWarning: Auto-removal of grids by pcolor() and pcolormesh() is deprecated since 3.5 and will be removed two minor releases later; please call grid(False) first.
  plt.colorbar().set_label('Azimuth [deg]')

スクリプトの総実行時間: (0分2.080秒)

Gallery generated by Sphinx-Gallery