Геометрические операции =========================== .. function:: isColleciton(geometry) Является ли геометрия коллекцией :param geometry: входная геометрия :type geometry: :class:`~axioma.core.geometry.GeometryInterface` :rtype: :class:`bool` .. function:: isPointLike(geometry) Является ли геометрия точечным объектом :param geometry: входная геометрия :type geometry: :class:`~axioma.core.geometry.GeometryInterface` :rtype: :class:`bool` .. function:: cartesianDistance(point1, point2) Расстояние между двумя точками на плоскости :param point1: начальная точка :type point1: :class:`~PyQt5.QtCore.QPointF` :param point2: конечная точка :type point2: :class:`~PyQt5.QtCore.QPointF` :rtype: :class:`float` .. function:: sphericalDistance(point1, point2) Расстояние между двумя точками на сфере в метрах :param point1: начальная точка в градусах :type point1: :class:`~PyQt5.QtCore.QPointF` :param point2: конечная точка в градусах :type point2: :class:`~PyQt5.QtCore.QPointF` :rtype: :class:`float` .. function:: directGeodesicProblem(point, angle, distance) Решения прямой геодезической задачи. Нахождение положения точки по координатам исходной точки и значениями начального направления и расстояния на сфере. Входные и выходные величины измеряются в градусах :param point: исходная точка (широта, долгота) :type point: :class:`~PyQt5.QtCore.QPointF` :param angle: азимут направления :type angle: float :param distance: сферическое расстояние :type distance: float :return: искомая координата :rtype: :class:`~PyQt5.QtCore.QPointF` .. function:: pointOffset(point, angle, distance) Нахождение положения точки по координатам исходной точки и значениями начального направления и расстояния на плоскости :param point: начальная точка :type point: :class:`~PyQt5.QtCore.QPointF` :param angle: направление в градусах от направления на Восток :type angle: float :param distance: расстояние :type distance: float :return: искомая координата :rtype: :class:`~PyQt5.QtCore.QPointF` .. function:: cartesianPolygonArea(polygon) Площадь полигона на плоскости :param polygon: полигон :type polygon: :class:`~PyQt5.QtGui.QPolygonF` :rtype: :class:`float` .. function:: sphericalPolygonArea(polygon) Площадь полигона на сфере :param polygon: полигон :type polygon: :class:`~PyQt5.QtGui.QPolygonF` :rtype: :class:`float` .. function:: area(geometry, unit_name) Площадь поверхностных объектов в зависимости от внутренней проекции :param geometry: входная геометрия :type geometry: :class:`~axioma.core.geometry.GeometryInterface` :param unit_name: наименование единиц измерений :type unit_name: :class:`str` :rtype: :class:`float` .. function:: sphericalArea(geometry, unit_name) Площадь поверхностных объектов на сфере :param geometry: входная геометрия :type geometry: :class:`~axioma.core.geometry.GeometryInterface` :param unit_name: наименование единиц измерений :type unit_name: :class:`str` :rtype: :class:`float` .. function:: cartesianArea(geometry, unit_name) Площадь поверхностных объектов на плоскости :param geometry: входная геометрия :type geometry: :class:`~axioma.core.geometry.GeometryInterface` :param unit_name: наименование единиц измерений :type unit_name: :class:`str` :rtype: :class:`float` .. function:: surfaceArea(surface, unit_name) Площадь поверхностного объекта на плоскости в зависимости от внутренней проекции :param surface: поверхность :type surface: :class:`~axioma.core.geometry.Surface` :param unit_name: наименование единиц измерений :type unit_name: :class:`str` :rtype: :class:`float` .. function:: sphericalSurfaceArea(surface, unit_name) Площадь поверхностного объекта на сфере :param surface: поверхность :type surface: :class:`~axioma.core.geometry.Surface` :param unit_name: наименование единиц измерений :type unit_name: :class:`str` :rtype: :class:`float` .. function:: cartesianSurfaceArea(surface, unit_name) Площадь поверхностного объекта на плоскости :param surface: поверхность :type surface: :class:`~axioma.core.geometry.Surface` :param unit_name: наименование единиц измерений :type unit_name: :class:`str` :rtype: :class:`float` .. function:: perimeter(geometry, unit_name) Периметр поверхностных объектов :param geometry: входная геометрия :type geometry: :class:`~axioma.core.geometry.GeometryInterface` :param unit_name: наименование единиц измерений :type unit_name: :class:`str` :rtype: :class:`float` .. function:: sphericalPerimeter(geometry, unit_name) Периметр поверхностных объектов на сфере в зависимости от внутренней проекции :param geometry: входная геометрия :type geometry: :class:`~axioma.core.geometry.GeometryInterface` :param unit_name: наименование единиц измерений :type unit_name: :class:`str` :rtype: :class:`float` .. function:: cartesianPerimeter(geometry, unit_name) Периметр поверхностных объектов на плоскости :param geometry: входная геометрия :type geometry: :class:`~axioma.core.geometry.GeometryInterface` :param unit_name: наименование единиц измерений :type unit_name: :class:`str` :rtype: :class:`float` .. function:: sphericalPolygonPerimeter(polygon) Периметр полигона на сфере :param polygon: полигон :type polygon: :class:`~PyQt5.QtGui.QPolygonF` :rtype: :class:`float` .. function:: cartesianPolygonPerimeter(polygon) Периметр полигона на плоскости :param polygon: полигон :type polygon: :class:`~PyQt5.QtGui.QPolygonF` :rtype: :class:`float` .. function:: surfacePerimeter(surface, unit_name) Периметр поверхности в зависимости от внутренней проекции :param surface: поверхность :type surface: :class:`~axioma.core.geometry.Surface` :param unit_name: наименование единиц измерений :type unit_name: :class:`str` :rtype: :class:`float` .. function:: sphericalSurfacePerimeter(surface, unit_name) Периметр поверхности на сфере :param surface: поверхность :type surface: :class:`~axioma.core.geometry.Surface` :param unit_name: наименование единиц измерений :type unit_name: :class:`str` :rtype: :class:`float` .. function:: cartesianSurfacePerimeter(surface, unit_name) Периметр поверхности на плоскости :param surface: поверхность :type surface: :class:`~axioma.core.geometry.Surface` :param unit_name: наименование единиц измерений :type unit_name: :class:`str` :rtype: :class:`float` .. function:: length(geometry, unit_name) Длина линейных объектов в зависимости от внутренней проекции :param geometry: входная геометрия :type geometry: :class:`~axioma.core.geometry.GeometryInterface` :param unit_name: наименование единиц измерений :type unit_name: :class:`str` :rtype: :class:`float` .. function:: sphericalLength(geometry, unit_name) Длина линейных объектов на сфере :param geometry: входная геометрия :type geometry: :class:`~axioma.core.geometry.GeometryInterface` :param unit_name: наименование единиц измерений :type unit_name: :class:`str` :rtype: :class:`float` .. function:: cartesianLength(geometry, unit_name) Длина линейных объектов на плоскости :param geometry: входная геометрия :type geometry: :class:`~axioma.core.geometry.GeometryInterface` :param unit_name: наименование единиц измерений :type unit_name: :class:`str` :rtype: :class:`float` .. function:: curveLength(curve, unit_name) Длина дуги в зависимости от внутренней проекции :param curve: дуга :type curve: :class:`~axioma.core.geometry.Curve` :param unit_name: наименование единиц измерений :type unit_name: :class:`str` :rtype: :class:`float` .. function:: sphericalCurveLength(curve, unit_name) Длина дуги на сфере :param curve: дуга :type curve: :class:`~axioma.core.geometry.Curve` :param unit_name: наименование единиц измерений :type unit_name: :class:`str` :rtype: :class:`float` .. function:: cartesianCurveLength(curve, unit_name) Длина дуги на плоскости :param curve: дуга :type curve: :class:`~axioma.core.geometry.Curve` :param unit_name: наименование единиц измерений :type unit_name: :class:`str` :rtype: :class:`float` .. function:: centroid(geometry) Центроид геометрии :param geometry: геометрия :type geometry: :class:`~axioma.core.geometry.GeometryInterface` :rtype: :class:`~PyQt5.QtCore.QPointF` .. function:: linearRingToLineString(linear_ring) Конвертировать замкнутую линию в полилинию :param linear_ring: замкнутая линия :type linear_ring: :class:`~axioma.core.geometry.LinearRingInterface` :return: полилиния :rtype: :class:`~axioma.core.geometry.LinearStringInterface` .. .. function:: convertToLineStrings(polygon) .. .. !!! .. .. :param : !!! .. :type : !!! .. :return: !!! .. :rtype: !!! .. function:: convertToMultiLineString(geometry) Конвертировать геометрию в полилинию :param geometry: входная геометрия :type geometry: :class:`~axioma.core.geometry.GeometryInterface` :return: полилиния :rtype: :class:`~axioma.core.geometry.GeometryInterface` .. function:: convertCollectionToVector(geometry) Конвертировать коллекцию геометрий с список геометрий :param geometry: коллекция геометрий :type geometry: :class:`~axioma.core.geometry.GeometryInterface` :return: список геометрий :rtype: :class:`list` [:class:`~axioma.core.geometry.GeometryInterface`] .. .. function:: convertCollectionToVector(geometries) .. .. !!! .. .. :param : !!! .. :type : !!! .. :return: !!! .. :rtype: !!! .. .. function:: collectionToVector(collection) .. .. Конвертировать коллекцию геометрий с список геометрий .. .. :param collection: коллекция геометрий .. :type collection: :class:`~axioma.core.geometry.GeometryCollection` .. :return: список геометрий .. :rtype: :class:`list` [:class:`~axioma.core.geometry.GeometryInterface`] .. function:: convertFromLineStringsToPolygons(geometry) Конвертировать из линий в полигоны :param geometry: входная геометрия :type geometry: :class:`~axioma.core.geometry.GeometryInterface` :return: полигоны :rtype: :class:`~axioma.core.geometry.GeometryInterface` .. function:: uniteGeometries(collection) Объединить геометрии в коллекции :param collection: коллекция геометрий :type collection: :class:`~axioma.core.geometry.GeometryCollection` :return: объединенная геометрия :rtype: :class:`~axioma.core.geometry.GeometryInterface` .. .. function:: groupGeometries(geometries) .. .. !!! .. .. :param : !!! .. :type : !!! .. :return: !!! .. :rtype: !!! .. .. .. function:: ungroupGeometries(geometries) .. .. !!! .. .. :param : !!! .. :type : !!! .. :return: !!! .. :rtype: !!! .. function:: makePolygonMyRect(rect, coord_system) Получить полигон из прямоугольника :param rect: прямоугольник :type rect: :class:`~PyQt5.QtCore.QRectF` :param coord_system: координатная система :type coord_system: :class:`~axioma.cs.CoordSystem` :return: полигон :rtype: :class:`~axioma.core.geometry.GeometryInterface` .. function:: normalizedGeometryFromCoordSystem(geometry, coord_system) Нормализованная геометрия для координатной системы :param geometry: входная геометрия :type geometry: :class:`~axioma.core.geometry.GeometryInterface` :param coord_system: координатная система :type coord_system: :class:`~axioma.cs.CoordSystem` :return: нормализованная геометрия :rtype: :class:`~axioma.core.geometry.GeometryInterface` .. function:: fitGeometry(geometry) Поместить геометрию в границы координатной системы обрезкой :param geometry: входная геометрия :type geometry: :class:`~axioma.core.geometry.GeometryInterface` :return: результирующая геометрия :rtype: :class:`~axioma.core.geometry.GeometryInterface` .. function:: fitGeometryByShift(geometry) Попытка поместить геометрию в границы координатной системы методом сдвига :param geometry: входная геометрия :type geometry: :class:`~axioma.core.geometry.GeometryInterface` :return: Новая сдвинутая геометрия, либо None - если невозможно поместить геометрию :rtype: :class:`~axioma.core.geometry.GeometryInterface` .. function:: convertGeometryToJson(geometry) Преобразование геометрии из внутреннего представления в формат Json :param geometry: исходная геометрия :type geometry: :class:`~axioma.core.geometry.GeometryInterface` :return: строка Json :rtype: :class:`str` .. function:: geometryFromJson(json, coord_system=None) Инициализация геометрии из строки Json :param json: строка Json :type json: :class:`str` :param coord_system: координатная система :type coord_system: :class:`~axioma.cs.CoordSystem` :return: полученная геометрия :rtype: :class:`~axioma.core.geometry.GeometryInterface`