Skip to main content
`Ctrl`+`K`

# CoordinateTransform

class astropy.coordinates.CoordinateTransform(fromsys, tosys, priority=1, register_graph=None)

  Bases: `object`

  An object that transforms a coordinate from one system to another. Subclasses must implement `__call__` with the provided signature. They should also call this superclass’s `__init__` in their `__init__`.

  Parameters:
    fromsys `BaseCoordinateFrame` subclass

      The coordinate frame class to start from.

    tosys `BaseCoordinateFrame` subclass

      The coordinate frame class to transform into.

    priority `python:float` or `python:int`

      The priority if this transform when finding the shortest coordinate transform path - large numbers are lower priorities.

    register_graph `TransformGraph` or `python:None`

      A graph to register this transformation with on creation, or `None` to leave it unregistered.

  Methods Summary

  `__call__`(fromcoord, toframe) | Does the actual coordinate transformation from the `fromsys` class to the `tosys` class.
  `register`(graph) | Add this transformation to the requested Transformation graph, replacing anything already connecting these two coordinates.
  `unregister`(graph) | Remove this transformation from the requested transformation graph.

  Methods Documentation

  abstractmethod __call__(fromcoord, toframe)

    Does the actual coordinate transformation from the `fromsys` class to the `tosys` class.

    Parameters:
      fromcoord `BaseCoordinateFrame` subclass instance

        An object of class matching `fromsys` that is to be transformed.

      toframe `object`

        An object that has the attributes necessary to fully specify the frame. That is, it must have attributes with names that match the keys of the dictionary `tosys.frame_attributes`. Typically this is of class `tosys`, but it might be some other class as long as it has the appropriate attributes.

    Returns:
      tocoord `BaseCoordinateFrame` subclass instance

        The new coordinate after the transform has been applied.

  register(graph)

    Add this transformation to the requested Transformation graph, replacing anything already connecting these two coordinates.

    Parameters:
      graph `TransformGraph` `object`

        The graph to register this transformation with.

  unregister(graph)

    Remove this transformation from the requested transformation graph.

    Parameters:
      graph `a` `TransformGraph` `object`

        The graph to unregister this transformation from.

    Raises:
      `ValueError`

        If this is not currently in the transform graph.