TransformGraph#
- class astropy.coordinates.TransformGraph[源代码]#
基类:
object
表示坐标系之间路径的图。
属性摘要
A
dict
此TransformGraph中所有Frame类的所有属性。A
set
在此TransformGraph中的任何Frame类中定义的所有组件名称。A
set
在此TransformGraph中存在的所有Frame类中。方法总结
add_transform
(fromsys, tosys, transform)向图形添加新的坐标变换。
find_shortest_path
(fromsys, tosys)计算沿变换图从一个系统到另一个系统的最短距离。
get_names
\()返回所有可用的转换名称。
get_transform
(fromsys, tosys)为两个坐标系之间的转换生成并返回CompositeTransform。
上下文管理器对所有适用的转换施加有限差分时间步长。
invalidate_cache
\()使存储用于遍历转换图的优化的缓存无效。
lookup_name
\(名称)尝试使用提供的别名定位坐标类。
remove_transform
(fromsys, tosys, transform)从图形中删除坐标变换。
to_dot_graph
([priorities, addnodes, savefn, ...])将此变换图形转换为 graphviz 点格式。
将此转换图转换为networkx图形。
transform
(transcls, fromsys, tosys[, priority])用于定义转换的函数修饰符。
属性文档
方法文件
- add_transform(fromsys, tosys, transform)[源代码]#
向图形添加新的坐标变换。
- 参数:
- fromsys类
要开始的坐标系类。
- tosys类
要转换为的坐标系类。
- transform :
CoordinateTransform
CoordinateTransform
变换对象。通常情况下,
CoordinateTransform
对象,尽管它可能是使用相同签名调用的某些其他可调用对象。
- 加薪:
TypeError
如果
fromsys
或tosys
不是类或transform
不可调用。
- get_names()[源代码]#
返回所有可用的转换名称。它们都是
lookup_name
.- 返回:
- nms :
list
Python :列表 坐标系的别名。
- nms :
- get_transform(fromsys, tosys)[源代码]#
为两个坐标系之间的转换生成并返回CompositeTransform。
- 参数:
- fromsys类
要开始的坐标系类。
- tosys类
要转换为的坐标系类。
- 返回:
- trans :
CompositeTransform
orNone
CompositeTransform或Python:无 如果有一条路从
fromsys
到tosys
,这是该路径的变换对象。如果找不到路径,这是None
.
- trans :
笔记
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
价值。
- dt :
- lookup_name(name)[源代码]#
尝试使用提供的别名定位坐标类。
- 参数:
- name :
str
Python :字符串 要查找的别名。
- name :
- 返回:
BaseCoordinateFrame
子类对应于
name
或None
如果不存在这样的类。
- to_dot_graph(priorities=True, addnodes=[], savefn=None, savelayout='plain', saveformat=None, color_edges=True)[源代码]#
将此变换图形转换为 graphviz 点格式。
可选择保存(需要 graphviz 安装在您的路径上)。
- 参数:
- priorities : bool布尔
如果
True
,显示每个变换的优先级值。否则,将不包括在图形中。- addnodes : sequence 的
str
PYTHON:PYTHON的序列:字符串 要添加的其他坐标系(这可以包括变换图中已有的坐标系,但它们只会出现一次)。
- savefn :
None
或str
PYTHON:None或PYTHON:STR 要将此图形保存到或的文件名
None
不保存到文件中。- savelayout{“素”、“点”、“neato”、“fdp”、“sfdp”、“Circo”、“twopi”、“nop”、“nop2”、“Osage”、“patchwork”}
用于布局图形的graphviz程序(请参见 graphviz 或'plain'来保存点图内容。忽略if
savefn
是None
.- saveformat :
str
Python :字符串 graphviz输出格式。(例如
-Txxx
命令行程序的选项-有关详细信息,请参阅graphviz docs)。忽略ifsavefn
是None
.- color_edges : bool布尔
根据变换类型为两个节点(帧)之间的边着色。
FunctionTransform
:红色,StaticMatrixTransform
:蓝色,DynamicMatrixTransform
:绿色。
- 返回:
- dotgraph :
str
Python :字符串 带点格式图形的字符串。
- dotgraph :
- to_networkx_graph()[源代码]#
将此转换图转换为networkx图形。
备注
你一定有 networkx 已安装包以使其正常工作。
- 返回:
- nxgraph :
networkx.Graph
networkx.Graph
这
TransformGraph
as a networkx.Graph 。
- nxgraph :
- transform(transcls, fromsys, tosys, priority=1, **kwargs)[源代码]#
用于定义转换的函数修饰符。
备注
如果装饰一个类的静态方法,
@staticmethod
应添加 在上面 这个装修工。- 参数:
- 返回:
- deco : functionPYTHON:函数
可以作为装饰器在另一个函数上调用的函数(参见示例)。
笔记
此修饰符假定
transcls
初始值设定项接受可调用的,而第二个和第三个fromsys
和tosys
。如果不是这样,则只需手动初始化类并使用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