SkyCoord

class astropy.coordinates.SkyCoord(*args, copy=True, **kwargs)[源代码]

基类:ShapedLikeNDArray

高级对象为天体坐标表示、操作和系统之间的转换提供了一个灵活的接口。

这个 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' (例如)以及 xyz .

另请参见:https://docs.astropy.org/en/stable/coordinates/

参数
框架BaseCoordinateFrame 类或字符串,可选BaseCoordinateFrame类或字符串,可选

坐标系类型 SkyCoord 应该代表。如果未给出或未给出,则默认为ICR。

unit : Unit, string, or tuple of Unit 或str,可选Unit、string或Unit或str的元组,可选

提供的坐标值的单位。如果只提供一个单位,则它适用于所有值。请注意,如果坐标值预期具有混合的物理意义(例如角度和距离),则只传递一个单位可能会导致单位转换错误。

obstime时间有限,可选

观察时间。

equinox时间有限,可选

坐标框架春分时间。

representation_typestr或表示类

指定表示形式,例如“球形”、“笛卡尔”或“圆柱形”。这会影响位置参数和其他关键字参数,这些参数必须与给定的表示形式相对应。

copy可选的布尔

如果 True (默认),将生成任何坐标数据的副本。此参数只能作为关键字参数传入。

**keyword_args

适用于用户定义坐标系的其他关键字参数。常见选项包括:

Ra,12月角度状,可选

帧的RA和Dec,其中 radec 钥匙在框架里吗 representation_component_names 包括 ICRSFK5FK4FK4NoETerms .

pm_ra_cosdec, pm_dec数量 [“角速度”] ,可选

固有运动分量,以角度/时间单位表示。

l,b角度状,可选

银河系 lb 对于框架,其中 lb 钥匙在框架里吗 representation_component_names ,包括 Galactic 框架。

pm_l_cosb, pm_b数量 [“角速度”] ,可选

Galactic 帧,以角度/时间单位表示。

x, y, z浮动或

笛卡尔坐标值

u, v, w浮动或

银河系框架的笛卡尔坐标值。

radial_velocity数量 [“速度”] ,可选

沿视线(即径向)的速度分量,以速度单位表示。

实例

下面的示例说明初始化 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 类或相应的字符串别名。astropy内置的框架类是 ICRSFK5FK4FK4NoETermsGalactic . 字符串别名只是类名的小写版本,并允许创建 SkyCoord 对象和转换帧,而不显式导入帧类。

属性摘要

frame 

info 

用于存储诸如名称、描述、格式等元信息的容器。

representation 

representation_type 

shape 

基础数据的形状。

方法总结

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 使用 WCS 对象。

get_constellation([short_name, ...])

确定此坐标的星座 SkyCoord 包含。

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 还有一个。

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 \()

转换此选项 SkyCoord 到一个 |QTable|

transform_to(frame[, merge_attributes])

将此坐标转换为新帧。

属性文档

frame
info

用于存储诸如名称、描述、格式等元信息的容器。当对象用作表中的mixin列时,这是必需的,但也可以作为存储元信息的通用方法。

representation
representation_type
shape

方法文件

apply_space_motion(new_obstime=None, dt=None)[源代码]

利用储存在这个物体中的速度,并假设线性空间运动(包括相对论修正),计算这个坐标物体所代表的源到一个新时间的位置。这有时被称为“时代转型”

进化前的初始时间取自 obstime 此坐标的属性。请注意,此方法当前不支持在 框架 有一个 obstime 帧属性,因此 obstime 只用于存储前后时间,而不是作为帧的属性。或者,如果 dt 被给予,一个 obstime 根本不需要提供。

参数
new_obstimeTime 可选时间,可选

位置发展到的时间。这需要 obstime 属性在此帧上存在。

dtQuantityTimeDelta 可选数量,时间增量,可选

进化源位置的时间量。不能同时给出 new_obstime .

返回
new_coordSkyCoordSkyCoord

一个新的坐标对象,在新的时间具有这个坐标的演化位置。 obstime 只有在以下情况下才会将此对象设置为新时间 self 也有 obstime .

contained_by(wcs, image=None, **kwargs)[源代码]

确定给定的wcs示意图中是否包含SkyCoord。

参数
wcsWCSWCS

要检查其是否在wcs坐标内的坐标。

image数组

可选。与正在检查坐标的wcs对象关联的图像。如果没有给出,则将使用naxis关键字来确定坐标是否落在wcs示意图内。

**kwargs

传递给的其他参数 to_pixel

返回
response布尔

True表示WCS示意图包含坐标,False表示不包含坐标。

directional_offset_by(position_angle, separation)[源代码]

计算与此坐标的给定偏移量处的坐标。

参数
position_angleAngle角度

位置偏移角

分离Angle角度

偏移角分离

返回
新点SkyCoordSkyCoord

与给定偏移相对应的位置坐标 position_angleseparation .

参见

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 --请参见docstring get_icrs_coordinates 更多信息。

参数
nameSTR

要获取坐标的对象的名称,例如。 'M42' .

框架 STR或 BaseCoordinateFrame 类或实例str或

要将对象变换到的帧。

parse布尔

是否尝试通过使用正则表达式分析从名称中提取坐标。对于名称中嵌入了J坐标的对象目录名称,例如“CRTS SSS100805 J194428-420209”,这可能比相同对象名称的Sesame查询快得多。以这种方式提取的坐标可能与数据库坐标相差几分秒,因此仅当坐标不需要亚弧秒精度时才使用此选项。

cache可选的布尔

确定是否缓存结果。要更新或覆盖现有值,请传递 cache='update' .

返回
coordSkyCoord

SkyCoord类的实例。

classmethod from_pixel(xp, yp, wcs, origin=0, mode='all')[源代码]

创建新的 SkyCoord 使用 WCS 对象。

参数
XP、YP浮动还是日积月累

要转换的坐标。

wcsWCSWCS

要用于转换的WCS

origin利息

返回基于0还是1的像素坐标。

mode“全部”或“wcs”

是否包括变形 ('all' )或者只包括核心WCS转换 ('wcs'

返回
库尔德SkyCoordSkyCoord

具有与输入相对应的天空坐标的新对象 xpyp .

参见

to_pixel

做逆运算

astropy.wcs.utils.pixel_to_skycoord

这种方法的实现

get_constellation(short_name=False, constellation_list='iau')[源代码]

确定此坐标的星座 SkyCoord 包含。

参数
short_name布尔

如果为真,则返回的名称为IAU认可的缩写名称。否则,将使用星座的全名。

constellation_listSTR

要使用的星座集。仅限当前 'iau' 支持,意思是88个“现代”星座得到国际天文学联盟的认可。

返回
constellationstr或string数组

如果这是标量坐标,则返回星座的名称。如果是数组 SkyCoord ,它返回一个名称数组。

笔记

为了确定天空中某个点所在的星座,首先进动到B1875,然后使用88个现代星座的Delporte边界,如下表所示: Roman 1987 .

classmethod guess_from_table(table, **coord_kwargs)[源代码]

创建和返回新的 SkyCoord 从一个天文表中的数据。

如果表列后面还跟一个非字母数字字符,则此方法与以请求帧的组件的不区分大小写的名称(包括差异)开头的表列匹配。它还将匹配符合以下条件的列 end 如果非字母数字字符是 在此之前 它。

例如,第一个规则表示名称为 'RA[J2000]''ra' 将被解释为 ra 的属性 ICRS 框架,但是 'RAJ2000''radius'not . 同样,第二条规则适用于 Galactic frame表示一个名为 'gal_l' 将用作 l 组件,但是 gall'fill' 不会。

这里字母数字的定义是基于Unicode对字母数字的定义,除非没有 _ (通常被认为是字母数字)。所以对于ASCII,这意味着非字母数字字符是 <space>_!"#$%&'()*+,-./\:;<=>?@[]^`{{|}}~

参数
表格Table 或子类表或子类

要从中加载数据的表。

**coord_kwargs

任何附加的关键字参数都直接传递给这个类的构造函数。

返回
新闻SkyCoord 或子类SkyCoord或子类

新的 SkyCoord (或子类)对象。

加薪
ValueError

如果在表中找到一个组件的多个匹配项,除非其他匹配项也是有效的框架组件名称。如果为表中也找到的值提供了“coord_kwargs”。

insert(obj, values, axis=0)[源代码]

在对象中的给定索引之前插入坐标值,并返回一个新的帧对象。

要插入的值必须符合的就地设置规则 SkyCoord 物体。

API签名与 np.insert API,但更为有限。插入索引规范 obj 必须是单个整数,并且 axis 必须是 0 用于索引前的简单插入。

参数
obj利息

前一个整数索引 values 插入。

values类似阵列的

要插入的值。如果 values 与数量不同, values 转换为匹配类型。

axis可选的

插入轴 values . 默认值为0,这是唯一允许的值,将插入一行。

返回
outSkyCoord 实例SkyCoord实例

插入值的新坐标对象

is_equivalent_frame(other)[源代码]

检查此对象的帧是否与 other 对象。

要成为同一帧,两个对象必须是相同的帧类,并且具有相同的帧属性。两个人 SkyCoord 物体, all 帧属性必须匹配,而不仅仅是与对象帧相关的属性。

参数
otherSkyCoord或BaseCoordinateFrame

另一个要检查的对象。

返回
isequiv布尔

如果帧相同,则为True;否则为False。

加薪
TypeError

如果 other 不是一个 SkyCoord 或A BaseCoordinateFrame 或子类。

is_transformable_to(new_frame)[源代码]

确定是否可以将此坐标系转换为另一个给定坐标系。

参数
new_frameFrame类、Frame对象或字符串

要转换为的建议框架。

返回
transformable布尔或STR

True 如果可以将其转换为 new_frameFalse 如果不是,或者字符串'same'if 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 对象。

有关如何使用此(及相关)功能的更多信息,请参阅中的示例 astropy:/coordinates/matchsep

参数
目录坐标SkyCoordBaseCoordinateFrameSkyCoord或BaseCoordinateFrame

要在其中搜索匹配项的基目录。通常这是一个坐标对象,它是一个数组(即。, catalogcoord.isscalar == False

nthneighbor可选的

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 is 2, for matching a coordinate catalog against itself (1 is inappropriate because each point will find itself as the closest match).

返回
idx整型数组

索引 catalogcoord 为每个对象的坐标获取匹配点。形状与此对象匹配。

sep2d公司Angle角度

中此对象中每个元素的最接近匹配项之间的天空间隔 catalogcoord . 形状与此对象匹配。

dist3d数量 [‘长度’]

中此对象中每个元素最接近匹配项之间的三维距离 catalogcoord . 形状与此对象匹配。

笔记

此方法需要 SciPy 否则它将失败。

match_to_catalog_sky(catalogcoord, nthneighbor=1)[源代码]

在一组目录坐标中查找此坐标最近的天空匹配项。

有关如何使用此(及相关)功能的更多信息,请参阅中的示例 astropy:/coordinates/matchsep

参数
目录坐标SkyCoordBaseCoordinateFrameSkyCoord或BaseCoordinateFrame

要在其中搜索匹配项的基目录。通常这是一个坐标对象,它是一个数组(即。, catalogcoord.isscalar == False

nthneighbor可选的

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 is 2, for matching a coordinate catalog against itself (1 is inappropriate because each point will find itself as the closest match).

返回
idx整型数组

索引 catalogcoord 为每个对象的坐标获取匹配点。形状与此对象匹配。

sep2d公司Angle角度

中此对象中每个元素的最接近匹配项之间的天空间隔 catalogcoord . 形状与此对象匹配。

dist3d数量 [‘长度’]

中此对象中每个元素最接近匹配项之间的三维距离 catalogcoord . 形状与此对象匹配。除非这个和 catalogcoord 有关联的距离,此数量假定所有源的距离为1(无量纲)。

笔记

此方法需要 SciPy 否则它将失败。

position_angle(other)[源代码]

计算此之间的天空位置角度(北偏东) SkyCoord 还有一个。

参数
其他SkyCoordSkyCoord

计算位置角度的另一个坐标。它被视为位置角矢量的“头部”。

返回
paAngle角度

指向的向量的(正)位置角 selfother . 如果任一 selfother 包含数组,这将是一个 numpy 广播规则。

实例

>>> 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)[源代码]

计算将地球表面给定时间和地点的径向速度转换为重心速度或日心速度所需的修正量。

参数
kindSTR

速度修正。必须是“重心”或“日心”。

观察时间Time 或无,可选时间或无,可选

计算修正值的时间。如果 None , the obstime 上的帧属性 SkyCoord 将被使用。

位置EarthLocation 或无,可选地球位置或无,可选

用于计算校正的观察者位置。如果 None , the location 传入的 obstime 将被使用,如果没有,则 location 上的帧属性 SkyCoord 将被使用。

返回
vcorr数量 [“速度”]

带正号的修正。即。, add 这就是观察到的径向速度,得到重心(或日心)速度。如果需要m/s或更高精度,请参阅下面的注释。

加薪
ValueError

如果任一 obstimelocation 被传入(不是 None )当帧属性已经设置在 SkyCoord .

TypeError

如果 obstimelocation 不作为参数或帧属性提供。

笔记

重心修正的计算精度比日心修正高,并包括额外的物理量(如时间膨胀)。如果需要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_opticaldoppler_radiodoppler_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 .

有关如何使用此(及相关)功能的更多信息,请参阅中的示例 astropy:/coordinates/matchsep

参数
搜索坐标SkyCoordBaseCoordinateFrameSkyCoord或BaseCoordinateFrame

要搜索的坐标,尝试在此中查找匹配点 SkyCoord . 这应该是具有数组坐标的对象,而不是标量坐标对象。

distlimit数量 [‘长度’]

要搜索的物理半径。

返回
idxsearcharound整型数组

索引 searcharoundcoordsidxself . 形状匹配 idxself .

idxself整型数组

索引 selfidxsearcharound . 形状匹配 idxsearcharound .

sep2d公司Angle角度

在天空中坐标之间的间隔。形状匹配 idxsearcharoundidxself .

dist3d数量 [‘长度’]

坐标之间的三维距离。形状匹配 idxsearcharoundidxself .

笔记

此方法需要 SciPy 否则它将失败。

在当前实现中,返回值的排序顺序始终与 searcharoundcoords (所以 idxsearcharound 以升序排列)。不过,这被认为是一个实现细节,因此它可能在将来的版本中更改。

search_around_sky(searcharoundcoords, seplimit)[源代码]

在给定的天际间隔内,搜索该对象中给定点集周围的所有坐标。

这是用于 SkyCoord 对象具有坐标数组,而不是标量坐标。对于标量坐标,最好使用 separation .

有关如何使用此(及相关)功能的更多信息,请参阅中的示例 astropy:/coordinates/matchsep

参数
searcharoundcoords类坐标

要搜索的坐标,尝试在此中查找匹配点 SkyCoord . 这应该是具有数组坐标的对象,而不是标量坐标对象。

seplimit数量 [“天使”]

在天际分离中寻找。

返回
idxsearcharound整型数组

索引 searcharoundcoordsidxself . 形状匹配 idxself .

idxself整型数组

索引 selfidxsearcharound . 形状匹配 idxsearcharound .

sep2d公司Angle角度

在天空中坐标之间的间隔。形状匹配 idxsearcharoundidxself .

dist3d数量 [‘长度’]

坐标之间的三维距离。形状匹配 idxsearcharoundidxself .

笔记

此方法需要 SciPy 否则它将失败。

在当前实现中,返回值的排序顺序始终与 searcharoundcoords (所以 idxsearcharound 以升序排列)。不过,这被认为是一个实现细节,因此它可能在将来的版本中更改。

separation(other)[源代码]

计算此坐标和另一个坐标之间的天空间隔。

备注

如果 other 坐标对象在不同的帧中,它首先被转换到该对象的帧上。如果不加以解释,这可能导致不直观的行为。特别值得注意的是 self.separation(other)other.separation(self) 在这种情况下可能不会给出相同的答案。

有关如何使用此(及相关)功能的更多信息,请参阅中的示例 astropy:/coordinates/matchsep

参数
其他SkyCoordBaseCoordinateFrameSkyCoord或BaseCoordinateFrame

得到分离的坐标。

返回
sepAngle角度

在天空中这个和 other 协调。

笔记

分离是用Vincenty公式计算的,该公式在所有位置都是稳定的,包括极点和对极 [1].

1

https://en.wikipedia.org/wiki/Great-circle_distance

separation_3d(other)[源代码]

这个坐标和另一个坐标之间的距离。

有关如何使用此(及相关)功能的更多信息,请参阅中的示例 astropy:/coordinates/matchsep

参数
其他SkyCoordBaseCoordinateFrameSkyCoord或BaseCoordinateFrame

得到分离的坐标。

返回
sepDistance距离

这两个坐标之间的实际空间距离。

加薪
ValueError

如果这个或另一个坐标没有距离。

skyoffset_frame(rotation=None)[源代码]

返回天空偏移帧 SkyCoord 原产地。

返回
阿斯特拉姆SkyOffsetFrameSkyOffsetFrame

与此帧类型相同的天空偏移 SkyCoord (例如,如果此对象具有ICRS坐标,则生成的帧为天偏,原点设置为该对象)

rotation角度状

框架围绕 origin . 旋转的符号是左手定则。也就是说,在最后一帧中,未旋转系统中处于特定位置角的对象将被发送到正纬度(z)方向。

spherical_offsets_by(d_lon, d_lat)[源代码]

计算偏离此坐标的指定角度偏移对的坐标。

参数
d_lon角度状

经度方向上的角度偏移。“经度”的定义取决于该坐标的框架(例如,RA代表赤道坐标)。

d_lat角度状

纬度方向上的角度偏移。“纬度”的定义取决于该坐标的框架(例如,赤道坐标为DEC)。

返回
新坐标SkyCoordSkyCoord

对应于偏移量为 d_lat 在纬度方向上, d_lon 在经度方向上。

参见

spherical_offsets_to

计算到另一个坐标的角度偏移

directional_offset_by

将坐标在某个方向上偏移一定角度

笔记

这在内部使用 SkyOffsetFrame 去做这个转变。要获得一组更完整的变换偏移量,请使用 SkyOffsetFrameWCS 手工操作。此特定方法可以通过执行以下操作来重现 SkyCoord(SkyOffsetFrame(d_lon, d_lat, origin=self.frame).transform_to(self))

spherical_offsets_to(tocoord)[源代码]

计算要执行的角度偏移 from 这个坐标 to 另一个。

参数
托考德BaseCoordinateFrameBaseCoordinateFrame

要查找偏移的坐标。

返回
lon_offsetAngle角度

经度方向上的角度偏移。“经度”的定义取决于该坐标的框架(例如,RA代表赤道坐标)。

lat_offsetAngle角度

纬度方向上的角度偏移。“纬度”的定义取决于该坐标的框架(例如,赤道坐标为DEC)。

加薪
ValueError

如果 tocoord 与这个不在同一帧中。这与 separation /`因为偏移分量主要取决于帧的特定选择。

参见

separation

对于 全部的 角度偏移(未分解为组件)。

position_angle

偏移的方向。

笔记

这将使用天空偏移帧机制,因此,如果该对象的帧类中还没有天空偏移帧,则将生成一个新的天空偏移帧。

to_pixel(wcs, origin=0, mode='all')[源代码]

使用 WCS 对象。

参数
wcsWCSWCS

要用于转换的WCS

origin利息

返回基于0还是1的像素坐标。

mode“全部”或“wcs”

是否包括变形 ('all' )或者只包括核心WCS转换 ('wcs'

返回
经验值,ypnumpy.ndarraynumpy.ndarray

像素坐标

参见

astropy.wcs.utils.skycoord_to_pixel

这种方法的实现

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|

任何长度与 SkyCoord 将被转换为 |QTable| 。所有其他属性都将记录为元数据。

返回
QTable

A |QTable| 包含此对象的数据 SkyCoord

实例

>>> 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_attributesTrue ,优先级如下:(1)在目的帧显式设置(即非默认)值;(2)在源帧显式设置值;(3)在目的帧中显式设置值。

请注意,在这两种情况下,任何在源上显式设置的属性 SkyCoord 不属于目标帧定义的内容将被保留(存储在生成的 SkyCoord ),因此可以往返(例如,从FK4到ICRS再到FK4而不丢失阻塞时间)。

参数
框架 STR, BaseCoordinateFrame 类或实例,或 SkyCoord 实例结构,

要将此坐标转换为的帧。如果 SkyCoord ,则提取底层帧,而忽略所有其他信息。

merge_attributes可选的布尔

是否允许目标帧中的默认属性被源中显式设置的属性覆盖(请参见上面的注释;默认值: True

返回
库尔德SkyCoordSkyCoord

一个新对象,该对象的 frame 框架。

加薪
ValueError

如果没有可能的转换路径。