RasterReportItem ================= .. currentmodule:: axioma.render .. class:: RasterReportItem Элемент отчета, основанный на созданной растровом слое. Т.е. перед созданием элемента отчета необходимо предварительно создать растровый слой на базе локального файла или же растра, размещенного на Web ресурсе. И уже на основе этого слоя создать элемент отчета. Унаследован от: :class:`ReportItem` .. py:method:: RasterReportItem(layer, rect, report, perserveAspectRatio=True) Конструктор :param layer: Растровый слой, на основании которого создается элемент отчета. :type layer: :class:`RasterLayer` :param rect: Прямоугольник элемента отчета в координатах отчета. :type rect: :class:`~PyQt5.QtCore.QRectF` :param report: Отчет, к которому относится создаваемый элемент. :type report: :class:`~axioma.render.Report` :param perserveAspectRatio: Сохранять исходное соотношение размеров растра. По-умолчанию True :type perserveAspectRatio: :class:`bool` .. py:method:: RasterReportItem(layer, rect, report, perserveAspectRatio=True) Конструктор :param layer: Растровый слой, на основании которого создается элемент отчета. :type layer: :class:`RasterLayer` :param viewPort: Задание Viewport области видимости растра и его размер в отчете. :type viewPort: :class:`~axioma.render.Viewport` :param report: Отчет, к которому относится создаваемый элемент. :type report: :class:`~axioma.render.Report` :param perserveAspectRatio: Сохранять исходное соотношение размеров растра. По-умолчанию True :type perserveAspectRatio: :class:`bool` .. py:method:: rectRaster() Прямоугольник исходного растра :return: Прямоугольник :rtype: :class:`~PyQt5.QtCore.QRect` .. py:method:: viewport() Установленное соотношение области растра и его размеров в отчете :return: Установленное значение Viewport :rtype: :class:`~axioma.render.Viewport` .. py:method:: setViewport(vp) Установка нового значения Viewport для элемента отчета :param vp: Новое значение :type vp: :class:`~axioma.render.Viewport` .. py:method:: layer() Растровый слой, на основании которого создается элемент отчета. :return: Ссылка на переданный в конструктор растровый слой :rtype: :class:`RasterLayer` .. py:method:: preserveAspectRatio() Сохранять пропорции исходного растра для элемента отчета :return: True, если да. В противном случае False :rtype: :class:`bool` .. py:method:: setPreserveAspectRatio(preserveAspectRatio) Установка режима сохранения пропорций исходного растра. Если установлено True, при задании ограничивающего прямоугольника элемента отчета, его пропорции подгоняются исходя из пропорций базового растра. :param preserveAspectRatio: Значение :type preserveAspectRatio: :class:`bool` Пример использования: .. code-block:: python # Импорт from axioma.render import * from axioma.mapinfo import * from axioma.core.dp import * # Создание элемента отчета типа растр из URL. Для локального файла использовать FileDefinition вместо WebDefinition def createRasterItem(report): print('Растр...') dp = axioma.app.gui.dataProviderById("GdalDataProvider") # находим необходимый провайдер url = "https://upload.wikimedia.org/wikipedia/en/7/72/World_Map_WSF.svg.png" # Исходный растр if dp is not None: try: definition = WebDefinition(QUrl(url)) rds = dp.openDataSource(definition) # Создаем источник данных obj = rds.openDataObject() # Создаем объект типа растр if (isinstance(obj, Raster)): lay = RasterLayer(obj) # Создаем растровый слой на базе существующего объекта rraster = QRectF(130, 0, 210, 145) rasterItem = RasterReportItem(lay, rraster, report) report.addItem(rasterItem) # Добавляем в отчет else: print('Объект не является растром. Что то пошло не так') except Exception as ex: print(ex)