CoordTransform ================= .. currentmodule:: axioma.cs .. class:: CoordTransform Данный класс предназначен для преобразования координат из одной проекции в другую и обратно .. py:method:: CoordTransform(cs_from, cs_to) Конструктор :param cs_from: Исходная КС :type cs_from: :class:`~axioma.cs.CoordSystem` :param cs_to: Целевая КС :type cs_to: :class:`~axioma.cs.CoordSystem` .. py:method:: forward(p_in) Прямое преобразование точки из ``sourceCoordSystem`` в ``destinationСoordSystem`` :param p_in: входное значение :type p_in: :class:`~PyQt5.QtCore.QPointF` :return: выходное значение :rtype: :class:`~PyQt5.QtCore.QPointF` :raises RuntimeException: :exc:`~axioma.common.RuntimeException` - ошибка выполнения преобразования .. py:method:: forward(r_in) Прямое преобразование прямоугольника из ``sourceCoordSystem`` в ``destinationСoordSystem`` :param r_in: входное значение :type r_in: :class:`~PyQt5.QtCore.QRectF` :return: выходное значение :rtype: :class:`~PyQt5.QtCore.QRectF` :raises RuntimeException: :exc:`~axioma.common.RuntimeException` - ошибка выполнения преобразования .. py:method:: forward(list_in) Прямое преобразование массива точек из ``sourceCoordSystem`` в ``destinationСoordSystem`` :param list_in: входное значение :type list_in: :class:`list` [:class:`~PyQt5.QtCore.QPointF`] :return: выходное значение :rtype: :class:`list` [:class:`~PyQt5.QtCore.QPointF`] :raises RuntimeException: :exc:`~axioma.common.RuntimeException` - ошибка выполнения преобразования .. py:method:: forwardMesh(r_in, pointCount = 100) Прямое преобразование прямоугольника из ``sourceCoordSystem`` в ``destinationСoordSystem`` на базе сетки :param r_in: входное значение :type r_in: :class:`~PyQt5.QtCore.QRectF` :param pointCount: количество дополнительных точек на ребре по X. На базе этих дополнительных точек строится сетка, которая в виде входного параметра передается вместо rect :type pointCount: :class:`int` :return: выходное значение :rtype: :class:`~PyQt5.QtCore.QRectF` :raises RuntimeException: :exc:`~axioma.common.RuntimeException` - ошибка выполнения преобразования .. py:method:: inverse(p_in, p_out) Обратное преобразование точки из ``destinationСoordSystem`` в ``sourceCoordSystem`` :param p_in: входное значение :type p_in: :class:`~PyQt5.QtCore.QPointF` :return: выходное значение :rtype: :class:`~PyQt5.QtCore.QPointF` :raises RuntimeException: :exc:`~axioma.common.RuntimeException` - ошибка выполнения преобразования .. py:method:: inverse(r_in) Обратное преобразование прямоугольника из ``destinationСoordSystem`` в ``sourceCoordSystem`` :param r_in: входное значение :type r_in: :class:`~PyQt5.QtCore.QRectF` :return: выходное значение :rtype: :class:`~PyQt5.QtCore.QRectF` :raises RuntimeException: :exc:`~axioma.common.RuntimeException` - ошибка выполнения преобразования .. py:method:: inverse(list_in) Обратное преобразование массива точек из ``destinationСoordSystem`` в ``sourceCoordSystem`` :param list_in: входное значение :type list_in: :class:`list` [:class:`~PyQt5.QtCore.QPointF`] :return: выходное значение :rtype: :class:`list` [:class:`~PyQt5.QtCore.QPointF`] :raises RuntimeException: :exc:`~axioma.common.RuntimeException` - ошибка выполнения преобразования .. py:method:: inverseMesh(r_in, pointCount = 100) Обратное преобразование прямоугольника из ``destinationСoordSystem`` в ``sourceCoordSystem`` на базе сетки :param r_in: входное значение :type r_in: :class:`~PyQt5.QtCore.QRectF` :param pointCount: количество дополнительных точек на ребре по X. На базе этих дополнительных точек строится сетка, которая в виде входного параметра передается вместо rect :type pointCount: :class:`int` :return: выходное значение :rtype: :class:`~PyQt5.QtCore.QRectF` :raises RuntimeException: :exc:`~axioma.common.RuntimeException` - ошибка выполнения преобразования .. py:method:: sourceCoordSystem() Исходная координатная система :return: Ссылка на переданную в конструкторе исходную КС :rtype: :class:`~axioma.cs.CoordSystem` .. py:method:: destinationСoordSystem() Целевая координатная система :return: Ссылка на переданную в конструкторе целевую КС :rtype: :class:`~axioma.cs.CoordSystem` .. py:method:: isEqualsCS() Проверка факта преобразования при приведении операций :return: True, если исходная и целевая КС идентичны :rtype: :class:`bool` Пример использования: .. code-block:: python from axioma.cs import * from PyQt5.QtCore import * cs_latlon = CoordSysFactory.defaultCoordSysFactory().createFromEPSG(4326) cs_merc = CoordSysFactory.defaultCoordSysFactory().createFromPRJ("Earth Projection 12, 62, \"m\", 0") p_in = QPointF(45.0, 45.0) transform = CoordTransform(cs_latlon, cs_merc) p_out = transform.forward(p_in) print ("p_out = (%f, %f)" % (p_out.x(), p_out.y()))