TransformGraph#

class astropy.coordinates.TransformGraph[源代码]#

基类:object

表示坐标系之间路径的图。

属性摘要

frame_attributes 

A dict 此TransformGraph中所有Frame类的所有属性。

frame_component_names 

A set 在此TransformGraph中的任何Frame类中定义的所有组件名称。

frame_set 

A set 在此TransformGraph中存在的所有Frame类中。

方法总结

add_transform(fromsys, tosys, transform)

向图形添加新的坐标变换。

find_shortest_path(fromsys, tosys)

计算沿变换图从一个系统到另一个系统的最短距离。

get_names \()

返回所有可用的转换名称。

get_transform(fromsys, tosys)

为两个坐标系之间的转换生成并返回CompositeTransform。

impose_finite_difference_dt \(日期)

上下文管理器对所有适用的转换施加有限差分时间步长。

invalidate_cache \()

使存储用于遍历转换图的优化的缓存无效。

lookup_name \(名称)

尝试使用提供的别名定位坐标类。

remove_transform(fromsys, tosys, transform)

从图形中删除坐标变换。

to_dot_graph([priorities, addnodes, savefn, ...])

将此变换图形转换为 graphviz 点格式。

to_networkx_graph \()

将此转换图转换为networkx图形。

transform(transcls, fromsys, tosys[, priority])

用于定义转换的函数修饰符。

属性文档

frame_attributes#

A dict 此TransformGraph中所有Frame类的所有属性。

frame_component_names#

A set 在此TransformGraph中的任何Frame类中定义的所有组件名称。

frame_set#

A set 在此TransformGraph中存在的所有Frame类中。

方法文件

add_transform(fromsys, tosys, transform)[源代码]#

向图形添加新的坐标变换。

参数:
fromsys

要开始的坐标系类。

tosys

要转换为的坐标系类。

transformCoordinateTransformCoordinateTransform

变换对象。通常情况下, CoordinateTransform 对象,尽管它可能是使用相同签名调用的某些其他可调用对象。

加薪:
TypeError

如果 fromsystosys 不是类或 transform 不可调用。

find_shortest_path(fromsys, tosys)[源代码]#

计算沿变换图从一个系统到另一个系统的最短距离。

参数:
fromsys

要开始的坐标系类。

tosys

要转换为的坐标系类。

返回:
path : list 属于阶级或阶级的 NonePYTHON:类列表或PYTHON:无

fromsystosys 作为一个有序的类序列。此列表包括 both fromsystosys . 是 None 如果没有可能的路径。

distance : floatintPYTHON:FLOAT或PYTHON:INT

总距离/优先级 fromsystosys . 如果未设置优先级,这是所需的转换数。是 inf 如果没有可能的路径。

get_names()[源代码]#

返回所有可用的转换名称。它们都是 lookup_name .

返回:
nms : listPython :列表

坐标系的别名。

get_transform(fromsys, tosys)[源代码]#

为两个坐标系之间的转换生成并返回CompositeTransform。

参数:
fromsys

要开始的坐标系类。

tosys

要转换为的坐标系类。

返回:
trans : CompositeTransform or NoneCompositeTransform或Python:无

如果有一条路从 fromsystosys ,这是该路径的变换对象。如果找不到路径,这是 None .

笔记

A CompositeTransform 总是返回,因为 CompositeTransform 在调用它的方式上比其他转换类稍微更具适应性。具体地说,它以与1跳转换一致的方式处理转换的中间步骤。

impose_finite_difference_dt(dt)[源代码]#

上下文管理器对所有适用的转换施加有限差分时间步长。

对于此转换图中具有属性的每个转换 finite_difference_dt ,则将该属性设置为提供的值。具有此属性的唯一标准转换是 FunctionTransformWithFiniteDifference

参数:
dt : Quantity [:ref: 'time' ]或 callable()数量 [:ref: 'time'] 或python:Callable()

如果是一个量,这是用来做有限差分的微分的大小。如果是可赎回的,应该接受 (fromcoord, toframe) 并返回 dt 价值。

invalidate_cache()[源代码]#

使存储用于遍历转换图的优化的缓存无效。当添加或移除变换时,会自动调用此函数,但如果变换上的权重被就地修改,则需要手动调用。

lookup_name(name)[源代码]#

尝试使用提供的别名定位坐标类。

参数:
name : strPython :字符串

要查找的别名。

返回:
BaseCoordinateFrame 子类

对应于 nameNone 如果不存在这样的类。

remove_transform(fromsys, tosys, transform)[源代码]#

从图形中删除坐标变换。

参数:
fromsys : class or None类或

坐标系 从开始。如果 Nonetransform 将被搜索并删除 (tosys 也一定是 None

tosys : class or None类或

坐标系 转化为。如果 Nonetransform 将被搜索并删除 (fromsys 也一定是 None

transform : callable()NonePYTHON:Callable()或PYTHON:None

要删除的转换对象或 None . 如果 Nonetosysfromsys 则不会进行检查以确保移除了正确的对象。

to_dot_graph(priorities=True, addnodes=[], savefn=None, savelayout='plain', saveformat=None, color_edges=True)[源代码]#

将此变换图形转换为 graphviz 点格式。

可选择保存(需要 graphviz 安装在您的路径上)。

参数:
priorities : bool布尔

如果 True ,显示每个变换的优先级值。否则,将不包括在图形中。

addnodes : sequencestrPYTHON:PYTHON的序列:字符串

要添加的其他坐标系(这可以包括变换图中已有的坐标系,但它们只会出现一次)。

savefn : NonestrPYTHON:None或PYTHON:STR

要将此图形保存到或的文件名 None 不保存到文件中。

savelayout{“素”、“点”、“neato”、“fdp”、“sfdp”、“Circo”、“twopi”、“nop”、“nop2”、“Osage”、“patchwork”}

用于布局图形的graphviz程序(请参见 graphviz 或'plain'来保存点图内容。忽略if savefnNone .

saveformat : strPython :字符串

graphviz输出格式。(例如 -Txxx 命令行程序的选项-有关详细信息,请参阅graphviz docs)。忽略if savefnNone .

color_edges : bool布尔

根据变换类型为两个节点(帧)之间的边着色。 FunctionTransform :红色, StaticMatrixTransform :蓝色, DynamicMatrixTransform :绿色。

返回:
dotgraph : strPython :字符串

带点格式图形的字符串。

to_networkx_graph()[源代码]#

将此转换图转换为networkx图形。

备注

你一定有 networkx 已安装包以使其正常工作。

返回:
nxgraphnetworkx.Graphnetworkx.Graph

TransformGraph as a networkx.Graph

transform(transcls, fromsys, tosys, priority=1, **kwargs)[源代码]#

用于定义转换的函数修饰符。

备注

如果装饰一个类的静态方法, @staticmethod 应添加 在上面 这个装修工。

参数:
transcls

要创建的转换对象的类。

fromsys

要开始的坐标系类。

tosys

要转换为的坐标系类。

priority : floatintPYTHON:FLOAT或PYTHON:INT

当找到最短坐标变换路径时,此变换的优先级-大数为低优先级。

Additional keyword arguments are passed into the ``transcls``
constructor.
返回:
deco : functionPYTHON:函数

可以作为装饰器在另一个函数上调用的函数(参见示例)。

笔记

此修饰符假定 transcls 初始值设定项接受可调用的,而第二个和第三个 fromsystosys 。如果不是这样,则只需手动初始化类并使用 add_transform 而不是这个装饰师。

实例

graph = TransformGraph()

class Frame1(BaseCoordinateFrame):
   ...

class Frame2(BaseCoordinateFrame):
    ...

@graph.transform(FunctionTransform, Frame1, Frame2)
def f1_to_f2(f1_obj):
    ... do something with f1_obj ...
    return f2_obj