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 :
BaseCoordinateFrameclass 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)。
get_mask(*attrs)获取与这些坐标关联的面具。
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])在一组目录坐标中查找此坐标最近的天空匹配项。
radial_velocity_correction([kind, obstime, ...])计算将地球表面给定时间和地点的径向速度转换为重心速度或日心速度所需的修正量。
search_around_3d(searcharoundcoords, distlimit)在给定的三维半径内,搜索此对象中给定点集周围的所有坐标。
search_around_sky(searcharoundcoords, seplimit)在给定的天际间隔内,搜索该对象中给定点集周围的所有坐标。
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#
- mask#
与这些坐标关联的面具。
组合基础表示的所有组件的面具,包括可能的差异。
- masked#
基础数据是否被屏蔽。
- 加薪:
ValueError如果帧没有关联的数据。
- representation_type#
- shape#
方法文件
- apply_space_motion(new_obstime=None, dt=None)[源代码]#
使用速度计算新时间的位置。
使用存储在该对象中的速度并假设空间线性运动(包括相对论修正),计算由该坐标对象表示的源的位置到新的时间。这有时被称为“划时代的转变”。
进化前的初始时间取自
obstime此坐标的属性。请注意,此方法当前不支持在 框架 有一个obstime帧属性,因此obstime只用于存储前后时间,而不是作为帧的属性。或者,如果dt被给予,一个obstime根本不需要提供。
- directional_offset_by(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 :
strPython :字符串 要获取坐标的对象的名称,例如。
'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 。
- get_mask(*attrs)[源代码]#
获取与这些坐标关联的面具。
- 参数:
- *attrs :
strPython :字符串 用于组合面具的属性。项目可以点缀,例如
"data.lon", "data.lat".默认情况下,获取所有组件(包括差异)的组合掩蔽,忽略可能的属性掩蔽。
- *attrs :
- 返回:
- 加薪:
ValueError如果坐标系没有关联数据。
- 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)[源代码]#
使用插入给定索引之前的坐标值进行副本。
要插入的值必须符合对象就地设置的规则。
API签名与
np.insertAPI,但更为有限。插入索引规范obj必须是单个整数,并且axis必须是0用于索引前的简单插入。- 参数:
- obj :
intPython :整型 前一个整数索引
values插入。- values : array_likeNumpy:ARRAY_LIKE
要插入的值。如果
values与数量不同,values转换为匹配类型。- axis :
int,可选PYTHON:int,可选 插入轴
values. 默认值为0,这是唯一允许的值,将插入一行。
- obj :
- 返回:
- coord :
SkyCoord,BaseCoordinateFrameSkyCoord、Base Frame 插入新值的实例副本。
- coord :
- is_equivalent_frame(other)[源代码]#
检查此对象的框架是否与
other对象。要成为同一个Frame,两个对象必须是相同的Frame类并具有相同的Frame属性。两个人
SkyCoord对象, all 的帧属性必须匹配,而不仅仅是那些与对象的帧相关的属性。- 参数:
- other :
SkyCoord或BaseCoordinateFrameSkyCoord或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或BaseCoordinateFrameSkyCoord或BaseCoordinateFrame 要在其中搜索匹配项的基目录。通常这是一个坐标对象,它是一个数组(即。,
catalogcoord.isscalar == False)- nthneighbor :
int,可选PYTHON:int,可选 Which closest neighbor to search for. Typically
1is 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 (1is inappropriate because each point will find itself as the closest match).
- 目录坐标 :
- 返回:
- idx :
intarrayPython:整型数组 索引
catalogcoord为每个对象的坐标获取匹配点。形状与此对象匹配。- sep2d公司 :
Angle角度 中此对象中每个元素的最接近匹配项之间的天空间隔
catalogcoord. 形状与此对象匹配。- dist3d :
Quantity[:ref: 'length' ]数量 [:ref: 'length'] 中此对象中每个元素最接近匹配项之间的三维距离
catalogcoord. 形状与此对象匹配。
- idx :
笔记
此方法需要 SciPy 否则它将失败。
- match_to_catalog_sky(catalogcoord, nthneighbor=1)[源代码]#
在一组目录坐标中查找此坐标最近的天空匹配项。
有关如何使用此(及相关)功能的详细信息,请参阅中的示例 分隔、偏移、目录匹配和相关功能 .
- 参数:
- 目录坐标 :
SkyCoord或BaseCoordinateFrameSkyCoord或BaseCoordinateFrame 要在其中搜索匹配项的基目录。通常这是一个坐标对象,它是一个数组(即。,
catalogcoord.isscalar == False)- nthneighbor :
int,可选PYTHON:int,可选 Which closest neighbor to search for. Typically
1is 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 (1is inappropriate because each point will find itself as the closest match).
- 目录坐标 :
- 返回:
- idx :
intarrayPython:整型数组 索引
catalogcoord为每个对象的坐标获取匹配点。形状与此对象匹配。- sep2d公司 :
Angle角度 中此对象中每个元素的最接近匹配项之间的天空间隔
catalogcoord. 形状与此对象匹配。- dist3d :
Quantity[:ref: 'length' ]数量 [:ref: 'length'] 中此对象中每个元素最接近匹配项之间的三维距离
catalogcoord. 形状与此对象匹配。除非这个和catalogcoord有关联的距离,此数量假定所有源的距离为1(无量纲)。
- idx :
笔记
此方法需要 SciPy 否则它将失败。
- 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或BaseCoordinateFrameSkyCoord或BaseCoordinateFrame 四处搜索以尝试找到匹配点的坐标
SkyCoord.这必须是一维坐标数组。- distlimit :
Quantity[:ref: 'length' ]数量 [:ref: 'length'] 搜索的物理半径。它应该是可广播的形状与
searcharoundcoords.
- 搜索坐标 :
- 返回:
- idxsearcharound :
intarrayPython:整型数组 索引
searcharoundcoords与idxself. 形状匹配idxself.- idxself :
intarrayPython:整型数组 索引
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'] 天空分离可供搜索。它应该是可广播的形状与
searcharoundcoords.
- 返回:
- idxsearcharound :
intarrayPython:整型数组 索引
searcharoundcoords与idxself. 形状匹配idxself.- idxself :
intarrayPython:整型数组 索引
self与idxsearcharound. 形状匹配idxsearcharound.- sep2d公司 :
Angle角度 在天空中坐标之间的间隔。形状匹配
idxsearcharound和idxself.- dist3d :
Quantity[:ref: 'length' ]数量 [:ref: 'length'] 坐标之间的三维距离。形状匹配
idxsearcharound和idxself.
- idxsearcharound :
笔记
此方法需要 SciPy 否则它将失败。
在当前实现中,返回值的排序顺序始终与
searcharoundcoords(所以idxsearcharound以升序排列)。不过,这被认为是一个实现细节,因此它可能在将来的版本中更改。
- skyoffset_frame(rotation=None)[源代码]#
返回此SkyCoord位于原点的天空偏移帧。
- 参数:
- rotation : astropy:angle-like占星形:天使般的
框架围绕
origin. 旋转的符号是左手定则。也就是说,在最后一帧中,未旋转系统中处于特定位置角的对象将被发送到正纬度(z)方向。
- 返回:
- 阿斯特拉姆 :
SkyOffsetFrameSkyOffsetFrame 与此类型相同的天空偏移边框
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 另一个。
- 参数:
- 托考德 :
BaseCoordinateFrameBaseCoordinateFrame 要查找偏移的坐标。
- 托考德 :
- 返回:
- 加薪:
ValueError如果
tocoord与这个不在同一个框架中。这与separation()/separation_3d()方法,因为补偿分量严格取决于帧的具体选择。
参见
separation()对于 全部的 角度偏移(未分解为组件)。
position_angle()偏移的方向。
笔记
这将使用天空偏移帧机制,因此,如果该对象的帧类中还没有天空偏移帧,则将生成一个新的天空偏移帧。
- to_pixel(wcs, origin=0, mode='all')[源代码]#
使用
WCS对象。- 参数:
- 返回:
- 经验值,yp :
numpy.ndarraynumpy.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如果没有可能的转换路径。