SkyCoord#
- class astropy.coordinates.SkyCoord(*args, copy=True, **kwargs)[源代码]#
-
高级对象为天体坐标表示、操作和系统之间的转换提供了一个灵活的接口。
这个
SkyCoord
类接受用于初始化的各种输入。至少,它们必须提供一个或多个具有明确单位的天坐标值。输入可以是标量或列表/元组/数组,生成标量或数组坐标(可通过SkyCoord.isscalar
)。通常情况下,还需要指定坐标系,但这不是必需的。球形表示的一般模式为:SkyCoord(COORD, [FRAME], keyword_args ...) SkyCoord(LON, LAT, [FRAME], keyword_args ...) SkyCoord(LON, LAT, [DISTANCE], frame=FRAME, unit=UNIT, keyword_args ...) SkyCoord([FRAME], <lon_attr>=LON, <lat_attr>=LAT, keyword_args ...)
也可以在其他表示法中输入坐标值,例如笛卡尔坐标或圆柱坐标。在本例中,一个包含关键字参数
representation_type='cartesian'
(例如)以及x
,y
和z
.另请参见:https://docs.astropy.org/en/stable/coordinates/
- 参数:
- frame :
BaseCoordinateFrame
class orstr
,可选BaseOrganateFrame类或python:str,可选 此坐标系的类型
SkyCoord
应该代表着。如果未提供或未作为无提供,则默认为ICRS。- unit :
Unit
,str
,或tuple
的Unit
或str
,可选单位、python:str或python:单位或python的元组:str,可选 提供的坐标值的单位。如果只提供一个单位,则它适用于所有值。请注意,如果坐标值预期具有混合的物理意义(例如角度和距离),则只传递一个单位可能会导致单位转换错误。
- obstime : astropy:time-like ,可选AstPy:像时间一样,可选
观察时间。
- equinox : astropy:time-like ,可选AstPy:像时间一样,可选
坐标框架春分时间。
- representation_type :
str
或BaseRepresentation
班级PYTHON:字符串或BasePresation类 指定表示形式,例如“球形”、“笛卡尔”或“圆柱形”。这会影响位置参数和其他关键字参数,这些参数必须与给定的表示形式相对应。
- copy : bool ,可选可选的布尔
如果
True
(默认),将生成任何坐标数据的副本。此参数只能作为关键字参数传入。- **keyword_args
适用于用户定义坐标系的其他关键字参数。常见选项包括:
- Ra,12月角度状,可选
帧的RA和DEC,其中
ra
和dec
是帧的representation_component_names
,包括ICRS
,FK5
,FK4
,以及FK4NoETerms
。- pm_ra_cosdec, pm_dec数量 [“角速度”] ,可选
固有运动分量,以角度/时间单位表示。
- l,b角度状,可选
银河
l
和b
对于帧,其中l
和b
是帧的representation_component_names
,包括Galactic
框架。- pm_l_cosb, pm_b数量 [“角速度”] ,可选
运动部件中的自行部件
Galactic
帧,以每时间单位的角度表示。- x, y, z浮动或
笛卡尔坐标值
- u, v, w浮动或
银河系框架的笛卡尔坐标值。
- radial_velocity数量 [“速度”] ,可选
沿视线(即径向)的速度分量,以速度单位表示。
- frame :
实例
下面的示例说明了初始化
SkyCoord
对象。有关允许的语法的完整描述,请参阅完整的坐标文档。首先是一些进口::>>> from astropy.coordinates import SkyCoord # High-level coordinates >>> from astropy.coordinates import ICRS, Galactic, FK4, FK5 # Low-level frames >>> from astropy.coordinates import Angle, Latitude, Longitude # Angles >>> import astropy.units as u
现在可以使用位置参数和关键字参数来提供坐标值和帧规范:
>>> c = SkyCoord(10, 20, unit="deg") # defaults to ICRS frame >>> c = SkyCoord([1, 2, 3], [-30, 45, 8], frame="icrs", unit="deg") # 3 coords >>> coords = ["1:12:43.2 +31:12:43", "1 12 43.2 +31 12 43"] >>> c = SkyCoord(coords, frame=FK4, unit=(u.hourangle, u.deg), obstime="J1992.21") >>> c = SkyCoord("1h12m43.2s +1d12m43s", frame=Galactic) # Units from string >>> c = SkyCoord(frame="galactic", l="1h12m43.2s", b="+1d12m43s") >>> ra = Longitude([1, 2, 3], unit=u.deg) # Could also use Angle >>> dec = np.array([4.5, 5.2, 6.3]) * u.deg # Astropy Quantity >>> c = SkyCoord(ra, dec, frame='icrs') >>> c = SkyCoord(frame=ICRS, ra=ra, dec=dec, obstime='2001-01-02T12:34:56') >>> c = FK4(1 * u.deg, 2 * u.deg) # Uses defaults for obstime, equinox >>> c = SkyCoord(c, obstime='J2010.11', equinox='B1965') # Override defaults >>> c = SkyCoord(w=0, u=1, v=2, unit='kpc', frame='galactic', ... representation_type='cartesian') >>> c = SkyCoord([ICRS(ra=1*u.deg, dec=2*u.deg), ICRS(ra=3*u.deg, dec=4*u.deg)])
速度分量(固有运动或径向速度)也可以以类似的方式提供:
>>> c = SkyCoord(ra=1*u.deg, dec=2*u.deg, radial_velocity=10*u.km/u.s) >>> c = SkyCoord(ra=1*u.deg, dec=2*u.deg, pm_ra_cosdec=2*u.mas/u.yr, pm_dec=1*u.mas/u.yr)
如图所示,该帧可以是
BaseCoordinateFrame
类或相应的字符串别名--类名的小写版本,允许创建SkyCoord
对象并变换帧,而不显式导入Frame类。属性摘要
用于存储诸如名称、描述、格式等元信息的容器。
基础数据的形状。
方法总结
apply_space_motion
([new_obstime, dt])使用速度计算新时间的位置。
contained_by
(wcs[, image])确定给定的wcs示意图中是否包含SkyCoord。
directional_offset_by
(position_angle, separation)计算与此坐标的给定偏移量处的坐标。
from_name
(name[, frame, parse, cache])给定一个名称,查询CDS名称解析程序以尝试检索该对象的坐标信息。
from_pixel
(xp, yp, wcs[, origin, mode])使用世界坐标系从像素坐标创建新的SkyCoord。
get_constellation
([short_name, ...])确定此SkyCoord包含的坐标的星座(S)。
guess_from_table
(table, **coord_kwargs)一种从星表中的数据创建和返回新SkyCoord的便捷方法。
insert
(obj, values[, axis])在对象中的给定索引之前插入坐标值,并返回一个新的帧对象。
is_equivalent_frame
(其他)检查此对象的框架是否与
other
对象。is_transformable_to
(new_frame)确定是否可以将此坐标系转换为另一个给定坐标系。
match_to_catalog_3d
(catalogcoord[, nthneighbor])查找此坐标与一组目录坐标的最接近的三维匹配。
match_to_catalog_sky
(catalogcoord[, nthneighbor])在一组目录坐标中查找此坐标最近的天空匹配项。
position_angle
(其他)计算此SkyCoord和另一个SkyCoord之间的空中位置角度(北向以东)。
radial_velocity_correction
([kind, obstime, ...])计算将地球表面给定时间和地点的径向速度转换为重心速度或日心速度所需的修正量。
search_around_3d
(searcharoundcoords, distlimit)在给定的三维半径内,搜索此对象中给定点集周围的所有坐标。
search_around_sky
(searcharoundcoords, seplimit)在给定的天际间隔内,搜索该对象中给定点集周围的所有坐标。
separation
(其他)计算此坐标和另一个坐标之间的天空间隔。
separation_3d
(其他)这个坐标和另一个坐标之间的距离。
skyoffset_frame
([rotation])返回此SkyCoord位于原点的天空偏移帧。
spherical_offsets_by
(d_lon, d_lat)计算偏离此坐标的指定角度偏移对的坐标。
spherical_offsets_to
\(tocoord)计算要执行的角度偏移 from 这个坐标 to 另一个。
to_pixel
(wcs[, origin, mode])使用
WCS
对象。to_string
([style])坐标的字符串表示。
to_table
\()transform_to
(frame[, merge_attributes])将此坐标转换为新帧。
属性文档
- frame#
- info#
用于存储诸如名称、描述、格式等元信息的容器。当对象用作表中的mixin列时,这是必需的,但也可以作为存储元信息的通用方法。
- representation_type#
- shape#
方法文件
- apply_space_motion(new_obstime=None, dt=None)[源代码]#
使用速度计算新时间的位置。
使用存储在该对象中的速度并假设空间线性运动(包括相对论修正),计算由该坐标对象表示的源的位置到新的时间。这有时被称为“划时代的转变”。
进化前的初始时间取自
obstime
此坐标的属性。请注意,此方法当前不支持在 框架 有一个obstime
帧属性,因此obstime
只用于存储前后时间,而不是作为帧的属性。或者,如果dt
被给予,一个obstime
根本不需要提供。
- directional_offset_by(position_angle, separation)[源代码]#
计算与此坐标的给定偏移量处的坐标。
- 参数:
- 返回:
- 新点 :
SkyCoord
SkyCoord
与给定偏移相对应的位置坐标
position_angle
和separation
.
- 新点 :
参见
position_angle
反操作
position_angle
成分separation
反操作
separation
成分
笔记
返回的SkyCoord帧仅保留结果帧类型的帧属性。(例如,如果输入帧是
ICRS
,一个equinox
值将被保留,但obstime
不会的。)要获得更完整的变换偏移集,请使用
WCS
.skyoffset_frame()
也可用于创建在参考点处具有(lat=0,lon=0)的球形框架,近似于小偏移的xy笛卡尔系统。这种方法的不同之处在于它在球面上是精确的。
- classmethod from_name(name, frame='icrs', parse=False, cache=True)[源代码]#
给定一个名称,查询CDS名称解析程序以尝试检索该对象的坐标信息。可以通过中的配置项设置搜索数据库、sesame url和查询超时
astropy.coordinates.name_resolve
--请参见docstringget_icrs_coordinates
更多信息。- 参数:
- name :
str
Python :字符串 要获取坐标的对象的名称,例如。
'M42'
.- frame :
str
或BaseCoordinateFrame
类或实例PYTHON:字符串或BaseOrganateFrame类或实例 要将对象变换到的帧。
- parse : bool布尔
是否尝试通过使用正则表达式分析从名称中提取坐标。对于名称中嵌入了J坐标的对象目录名称,例如“CRTS SSS100805 J194428-420209”,这可能比相同对象名称的Sesame查询快得多。以这种方式提取的坐标可能与数据库坐标相差几分秒,因此仅当坐标不需要亚弧秒精度时才使用此选项。
- cache : bool ,可选可选的布尔
确定是否缓存结果。要更新或覆盖现有值,请传递
cache='update'
.
- name :
- 返回:
- classmethod from_pixel(xp, yp, wcs, origin=0, mode='all')[源代码]#
使用世界坐标系从像素坐标创建新的SkyCoord。
- 参数:
- 返回:
参见
to_pixel
做逆运算
astropy.wcs.utils.pixel_to_skycoord
这种方法的实现
- get_constellation(short_name=False, constellation_list='iau')[源代码]#
确定此SkyCoord包含的坐标的星座(S)。
- 参数:
- 返回:
笔记
为了确定天空中的一个点在哪个星座中,首先处理到B1875,然后使用88个现代星座的Delporte边界,如下所示 Roman 1987 。
- classmethod guess_from_table(table, **coord_kwargs)[源代码]#
一种从星表中的数据创建和返回新SkyCoord的便捷方法。
此方法匹配以请求的帧的组件的不区分大小写的名称(包括差异)开头的表列,如果它们后面还跟一个非字母数字字符。它还将匹配以下列 end 如果非字母数字字符是 before 它。
例如,第一条规则表示具有如下名称的列
'RA[J2000]'
或'ra'
将被解释为ra
的属性ICRS
帧,但是'RAJ2000'
或'radius'
是 not 。同样,第二条规则适用于Galactic
框架表示名为的列'gal_l'
将用作l
组件,但是gall
或'fill'
不会的。这里字母数字的定义是基于Unicode对字母数字的定义,除非没有
_
(通常被认为是字母数字)。所以对于ASCII,这意味着非字母数字字符是<space>_!"#$%&'()*+,-./\:;<=>?@[]^`{{|}}~
)- 参数:
- 表格 :
Table
或子类表或子类 要从中加载数据的表。
- **coord_kwargs
任何附加的关键字参数都直接传递给这个类的构造函数。
- 表格 :
- 返回:
- 新闻 :
SkyCoord
或子类SkyCoord或子类 新实例。
- 新闻 :
- 加薪:
ValueError
如果在表中找到一个组件的多个匹配项,除非其他匹配项也是有效的框架组件名称。如果为表中也找到的值提供了“coord_kwargs”。
- insert(obj, values, axis=0)[源代码]#
在对象中的给定索引之前插入坐标值,并返回一个新的帧对象。
要插入的值必须符合的就地设置规则
SkyCoord
物体。API签名与
np.insert
API,但更为有限。插入索引规范obj
必须是单个整数,并且axis
必须是0
用于索引前的简单插入。- 参数:
- obj :
int
Python :整型 前一个整数索引
values
插入。- values : array_likeNumpy:ARRAY_LIKE
要插入的值。如果
values
与数量不同,values
转换为匹配类型。- axis :
int
,可选PYTHON:int,可选 插入轴
values
. 默认值为0,这是唯一允许的值,将插入一行。
- obj :
- 返回:
- out :
SkyCoord
实例SkyCoord实例 插入值的新坐标对象
- out :
- is_equivalent_frame(other)[源代码]#
检查此对象的框架是否与
other
对象。要成为同一个Frame,两个对象必须是相同的Frame类并具有相同的Frame属性。两个人
SkyCoord
对象, all 的帧属性必须匹配,而不仅仅是那些与对象的帧相关的属性。- 参数:
- other :
SkyCoord
或BaseCoordinateFrame
SkyCoord或BaseCoordinateFrame 另一个要检查的对象。
- other :
- 返回:
- isequiv : bool布尔
如果帧相同,则为True;否则为False。
- 加薪:
TypeError
如果
other
不是一个SkyCoord
或其子类BaseCoordinateFrame
。
- is_transformable_to(new_frame)[源代码]#
确定是否可以将此坐标系转换为另一个给定坐标系。
- 参数:
- 返回:
笔记
返回值'same'意味着转换可以工作,但它只会返回此对象的一个副本。预期用途是:
if coord.is_transformable_to(some_unknown_frame): coord2 = coord.transform_to(some_unknown_frame)
即使
some_unknown_frame
原来是同一帧类coord
. 这适用于无论帧属性如何(例如ICRS),帧都是相同的,但请注意 可以 还表明有人忘记定义同一帧类但属性不同的两个对象之间的转换。
- match_to_catalog_3d(catalogcoord, nthneighbor=1)[源代码]#
查找此坐标与一组目录坐标的最接近的三维匹配。
这将找到三维最近的邻居,它与天空中的距离不同,如果
distance
设置在该对象或catalogcoord
对象。有关如何使用此(及相关)功能的更多信息,请参阅中的示例 分隔、偏移、目录匹配和相关功能 。
- 参数:
- 目录坐标 :
SkyCoord
或BaseCoordinateFrame
SkyCoord或BaseCoordinateFrame 要在其中搜索匹配项的基目录。通常这是一个坐标对象,它是一个数组(即。,
catalogcoord.isscalar == False
)- nthneighbor :
int
,可选PYTHON:int,可选 Which closest neighbor to search for. Typically
1
is desired here, as that is correct for matching one set of coordinates to another. The next likely use case is2
, for matching a coordinate catalog against itself (1
is inappropriate because each point will find itself as the closest match).
- 目录坐标 :
- 返回:
- idx :
int
array
Python:整型数组 索引
catalogcoord
为每个对象的坐标获取匹配点。形状与此对象匹配。- sep2d公司 :
Angle
角度 中此对象中每个元素的最接近匹配项之间的天空间隔
catalogcoord
. 形状与此对象匹配。- dist3d :
Quantity
[:ref: 'length' ]数量 [:ref: 'length'] 中此对象中每个元素最接近匹配项之间的三维距离
catalogcoord
. 形状与此对象匹配。
- idx :
笔记
此方法需要 SciPy 否则它将失败。
- match_to_catalog_sky(catalogcoord, nthneighbor=1)[源代码]#
在一组目录坐标中查找此坐标最近的天空匹配项。
有关如何使用此(及相关)功能的更多信息,请参阅中的示例 分隔、偏移、目录匹配和相关功能 。
- 参数:
- 目录坐标 :
SkyCoord
或BaseCoordinateFrame
SkyCoord或BaseCoordinateFrame 要在其中搜索匹配项的基目录。通常这是一个坐标对象,它是一个数组(即。,
catalogcoord.isscalar == False
)- nthneighbor :
int
,可选PYTHON:int,可选 Which closest neighbor to search for. Typically
1
is desired here, as that is correct for matching one set of coordinates to another. The next likely use case is2
, for matching a coordinate catalog against itself (1
is inappropriate because each point will find itself as the closest match).
- 目录坐标 :
- 返回:
- idx :
int
array
Python:整型数组 索引
catalogcoord
为每个对象的坐标获取匹配点。形状与此对象匹配。- sep2d公司 :
Angle
角度 中此对象中每个元素的最接近匹配项之间的天空间隔
catalogcoord
. 形状与此对象匹配。- dist3d :
Quantity
[:ref: 'length' ]数量 [:ref: 'length'] 中此对象中每个元素最接近匹配项之间的三维距离
catalogcoord
. 形状与此对象匹配。除非这个和catalogcoord
有关联的距离,此数量假定所有源的距离为1(无量纲)。
- idx :
笔记
此方法需要 SciPy 否则它将失败。
- position_angle(other)[源代码]#
计算此SkyCoord和另一个SkyCoord之间的空中位置角度(北向以东)。
- 参数:
- 返回:
实例
>>> c1 = SkyCoord(0*u.deg, 0*u.deg) >>> c2 = SkyCoord(1*u.deg, 0*u.deg) >>> c1.position_angle(c2).degree 90.0 >>> c3 = SkyCoord(1*u.deg, 1*u.deg) >>> c1.position_angle(c3).degree 44.995636455344844
- radial_velocity_correction(kind='barycentric', obstime=None, location=None)[源代码]#
计算将地球表面给定时间和地点的径向速度转换为重心速度或日心速度所需的修正量。
- 参数:
- 返回:
- vcorr :
Quantity
[:ref: 'speed' ]数量 [:ref: 'speed'] 带正号的修正。即。, add 这就是观察到的径向速度,得到重心(或日心)速度。如果需要m/s或更高精度,请参阅下面的注释。
- vcorr :
- 加薪:
ValueError
如果有任何一个
obstime
或location
被传入(不是None
)当框架属性已设置在此SkyCoord
。TypeError
如果
obstime
或location
不作为参数或帧属性提供。
笔记
重心修正的计算精度比日心修正高,并包括额外的物理量(如时间膨胀)。如果需要m/s精度,则使用重心修正。
这里的算法足以在mm/s级别进行校正,但在应用中需要小心。返回的重心校正使用光学近似v=z*c。严格地说,重心校正是乘法的,应用如下:
>>> from astropy.time import Time >>> from astropy.coordinates import SkyCoord, EarthLocation >>> from astropy.constants import c >>> t = Time(56370.5, format='mjd', scale='utc') >>> loc = EarthLocation('149d33m00.5s','-30d18m46.385s',236.87*u.m) >>> sc = SkyCoord(1*u.deg, 2*u.deg) >>> vcorr = sc.radial_velocity_correction(kind='barycentric', obstime=t, location=loc) >>> rv = rv + vcorr + rv * vcorr / c
还请注意,此方法返回所谓 光学惯例 ::
>>> vcorr = zb * c
在哪里?
zb
是Wright&Eastman(2014)第3节中定义的重心校正红移。上面给出的应用公式是在假设径向速度为rv
也使用相同的光学约定进行了定义。注:这可被视为速度定义的问题,其本身并不意味着任何精度损失,前提是在解释结果时已足够小心。如果需要用全相对论速度表示的重心校正(例如,将其作为执行应用程序的另一个软件的输入),可以使用以下配方:>>> zb = vcorr / c >>> zb_plus_one_squared = (zb + 1) ** 2 >>> vcorr_rel = c * (zb_plus_one_squared - 1) / (zb_plus_one_squared + 1)
或者仅仅使用等价物:
>>> vcorr_rel = vcorr.to(u.Hz, u.doppler_optical(1*u.Hz)).to(vcorr.unit, u.doppler_relativistic(1*u.Hz))
也见
doppler_optical
,doppler_radio
和doppler_relativistic
有关速度约定的更多信息。默认情况下,此方法使用内置星历来计算太阳和地球的位置。其他星历可以通过设置
solar_system_ephemeris
变量,直接或通过with
声明。例如,要使用JPL星历,请执行以下操作:>>> from astropy.coordinates import solar_system_ephemeris >>> sc = SkyCoord(1*u.deg, 2*u.deg) >>> with solar_system_ephemeris.set('jpl'): ... rv += sc.radial_velocity_correction(obstime=t, location=loc)
- search_around_3d(searcharoundcoords, distlimit)[源代码]#
在给定的三维半径内,搜索此对象中给定点集周围的所有坐标。
这是用于
SkyCoord
对象具有坐标数组,而不是标量坐标。对于标量坐标,最好使用separation_3d
.有关如何使用此(及相关)功能的更多信息,请参阅中的示例 分隔、偏移、目录匹配和相关功能 。
- 参数:
- 搜索坐标 :
SkyCoord
或BaseCoordinateFrame
SkyCoord或BaseCoordinateFrame 搜索以尝试在此中查找匹配点的坐标
SkyCoord
。这应该是具有数组坐标的对象,而不是标量坐标对象。- distlimit :
Quantity
[:ref: 'length' ]数量 [:ref: 'length'] 要搜索的物理半径。
- 搜索坐标 :
- 返回:
- idxsearcharound :
int
array
Python:整型数组 索引
searcharoundcoords
与idxself
. 形状匹配idxself
.- idxself :
int
array
Python:整型数组 索引
self
与idxsearcharound
. 形状匹配idxsearcharound
.- sep2d公司 :
Angle
角度 在天空中坐标之间的间隔。形状匹配
idxsearcharound
和idxself
.- dist3d :
Quantity
[:ref: 'length' ]数量 [:ref: 'length'] 坐标之间的三维距离。形状匹配
idxsearcharound
和idxself
.
- idxsearcharound :
笔记
此方法需要 SciPy 否则它将失败。
在当前实现中,返回值的排序顺序始终与
searcharoundcoords
(所以idxsearcharound
以升序排列)。不过,这被认为是一个实现细节,因此它可能在将来的版本中更改。
- search_around_sky(searcharoundcoords, seplimit)[源代码]#
在给定的天际间隔内,搜索该对象中给定点集周围的所有坐标。
这是用于
SkyCoord
对象具有坐标数组,而不是标量坐标。对于标量坐标,最好使用separation
.有关如何使用此(及相关)功能的更多信息,请参阅中的示例 分隔、偏移、目录匹配和相关功能 。
- 参数:
- searcharoundcoords : astropy:coordinate-like占星体:类似于坐标
搜索以尝试在此中查找匹配点的坐标
SkyCoord
。这应该是具有数组坐标的对象,而不是标量坐标对象。- seplimit :
Quantity
[:ref: 'angle' ]数量 [:ref: 'angle'] 在天际分离中寻找。
- 返回:
- idxsearcharound :
int
array
Python:整型数组 索引
searcharoundcoords
与idxself
. 形状匹配idxself
.- idxself :
int
array
Python:整型数组 索引
self
与idxsearcharound
. 形状匹配idxsearcharound
.- sep2d公司 :
Angle
角度 在天空中坐标之间的间隔。形状匹配
idxsearcharound
和idxself
.- dist3d :
Quantity
[:ref: 'length' ]数量 [:ref: 'length'] 坐标之间的三维距离。形状匹配
idxsearcharound
和idxself
.
- idxsearcharound :
笔记
此方法需要 SciPy 否则它将失败。
在当前实现中,返回值的排序顺序始终与
searcharoundcoords
(所以idxsearcharound
以升序排列)。不过,这被认为是一个实现细节,因此它可能在将来的版本中更改。
- separation(other)[源代码]#
计算此坐标和另一个坐标之间的天空间隔。
备注
如果
other
坐标对象在不同的帧中,它首先被转换到该对象的帧上。如果不加以解释,这可能导致不直观的行为。特别值得注意的是self.separation(other)
和other.separation(self)
在这种情况下可能不会给出相同的答案。有关如何使用此(及相关)功能的更多信息,请参阅中的示例 分隔、偏移、目录匹配和相关功能 。
- 参数:
- 其他 :
SkyCoord
或BaseCoordinateFrame
SkyCoord或BaseCoordinateFrame 得到分离的坐标。
- 其他 :
- 返回:
- sep :
Angle
角度 在天空中这个和
other
协调。
- sep :
笔记
分离是用Vincenty公式计算的,该公式在所有位置都是稳定的,包括极点和对极 [1].
- separation_3d(other)[源代码]#
这个坐标和另一个坐标之间的距离。
有关如何使用此(及相关)功能的更多信息,请参阅中的示例 分隔、偏移、目录匹配和相关功能 。
- 参数:
- 其他 :
SkyCoord
或BaseCoordinateFrame
SkyCoord或BaseCoordinateFrame 得到分离的坐标。
- 其他 :
- 返回:
- sep :
Distance
距离 这两个坐标之间的实际空间距离。
- sep :
- 加薪:
ValueError
如果这个或另一个坐标没有距离。
- skyoffset_frame(rotation=None)[源代码]#
返回此SkyCoord位于原点的天空偏移帧。
- 参数:
- rotation : astropy:angle-like占星形:天使般的
框架围绕
origin
. 旋转的符号是左手定则。也就是说,在最后一帧中,未旋转系统中处于特定位置角的对象将被发送到正纬度(z)方向。
- 返回:
- 阿斯特拉姆 :
SkyOffsetFrame
SkyOffsetFrame
与此类型相同的天空偏移边框
SkyCoord
(例如,如果此对象具有ICRS坐标,则结果帧为SkyOffsetICRS,原点设置为此对象)
- 阿斯特拉姆 :
- spherical_offsets_by(d_lon, d_lat)[源代码]#
计算偏离此坐标的指定角度偏移对的坐标。
- 参数:
- d_lon : astropy:angle-like占星形:天使般的
经度方向上的角度偏移。“经度”的定义取决于该坐标的框架(例如,RA代表赤道坐标)。
- d_lat : astropy:angle-like占星形:天使般的
纬度方向上的角度偏移。“纬度”的定义取决于该坐标的框架(例如,赤道坐标为DEC)。
- 返回:
参见
spherical_offsets_to
计算到另一个坐标的角度偏移
directional_offset_by
将坐标在某个方向上偏移一定角度
笔记
这在内部使用
SkyOffsetFrame
去做这个转变。要获得一组更完整的变换偏移量,请使用SkyOffsetFrame
或WCS
手工操作。此特定方法可以通过执行以下操作来重现SkyCoord(SkyOffsetFrame(d_lon, d_lat, origin=self.frame).transform_to(self))
。
- spherical_offsets_to(tocoord)[源代码]#
计算要执行的角度偏移 from 这个坐标 to 另一个。
- 参数:
- 托考德 :
BaseCoordinateFrame
BaseCoordinateFrame
要查找偏移的坐标。
- 托考德 :
- 返回:
- 加薪:
ValueError
如果
tocoord
与这个不在同一帧中。这与separation
/`因为偏移分量主要取决于帧的特定选择。
参见
separation
对于 全部的 角度偏移(未分解为组件)。
position_angle
偏移的方向。
笔记
这将使用天空偏移帧机制,因此,如果该对象的帧类中还没有天空偏移帧,则将生成一个新的天空偏移帧。
- to_pixel(wcs, origin=0, mode='all')[源代码]#
使用
WCS
对象。- 参数:
- 返回:
- 经验值,yp :
numpy.ndarray
numpy.ndarray
像素坐标
- 经验值,yp :
参见
- to_string(style='decimal', **kwargs)[源代码]#
坐标的字符串表示。
默认样式定义为:
'decimal': 'lat': {'decimal': True, 'unit': "deg"} 'lon': {'decimal': True, 'unit': "deg"} 'dms': 'lat': {'unit': "deg"} 'lon': {'unit': "deg"} 'hmsdms': 'lat': {'alwayssign': True, 'pad': True, 'unit': "deg"} 'lon': {'pad': True, 'unit': "hour"}
见
to_string()
对于细节和关键字参数(形成坐标的两个角度都是Angle
实例)。关键字参数优先于样式默认值,并传递给to_string()
.- 参数:
- style{'hmsdms','dms','decimal'}
要使用的格式规范。这些编码三种最常见的坐标表示方式。默认值是
decimal
.- **kwargs
传递给的关键字参数
to_string()
.
- to_table()[源代码]#
-
任何长度与
SkyCoord
将被转换为QTable
。所有其他属性都将记录为元数据。实例
>>> sc = SkyCoord(ra=[40, 70]*u.deg, dec=[0, -20]*u.deg, ... obstime=Time([2000, 2010], format='jyear')) >>> t = sc.to_table() >>> t <QTable length=2> ra dec obstime deg deg float64 float64 Time ------- ------- ------- 40.0 0.0 2000.0 70.0 -20.0 2010.0 >>> t.meta {'representation_type': 'spherical', 'frame': 'icrs'}
- transform_to(frame, merge_attributes=True)[源代码]#
将此坐标转换为新帧。
转换为的精确帧取决于
merge_attributes
.如果False
,目标帧的使用与传入的完全相同。但这往往不是人们想要的。E、 g.假设有人想将一个具有obstime属性的ICRS坐标转换为FK4;在这种情况下,可能需要使用这个信息。因此,默认merge_attributes
是True
,优先级如下:(1)在目的帧显式设置(即非默认)值;(2)在源帧显式设置值;(3)在目的帧中显式设置值。请注意,在这两种情况下,任何在源上显式设置的属性
SkyCoord
不属于目标帧定义的内容将被保留(存储在生成的SkyCoord
),因此可以往返(例如,从FK4到ICRS再到FK4而不丢失阻塞时间)。- 参数:
- 返回:
- 加薪:
ValueError
如果没有可能的转换路径。