RasterReportItem¶
-
class
axioma.render.
RasterReportItem
¶ Элемент отчета, основанный на созданной растровом слое. Т.е. перед созданием элемента отчета необходимо предварительно создать растровый слой на базе локального файла или же растра, размещенного на Web ресурсе. И уже на основе этого слоя создать элемент отчета.
Унаследован от:
ReportItem
-
RasterReportItem
(layer, rect, report, perserveAspectRatio=True)¶ Конструктор
- Параметры
layer (
RasterLayer
) – Растровый слой, на основании которого создается элемент отчета.rect (
QRectF
) – Прямоугольник элемента отчета в координатах отчета.report (
Report
) – Отчет, к которому относится создаваемый элемент.perserveAspectRatio (
bool
) – Сохранять исходное соотношение размеров растра. По умолчанию True
-
RasterReportItem
(layer, rect, report, perserveAspectRatio=True)¶ Конструктор
- Параметры
layer (
RasterLayer
) – Растровый слой, на основании которого создается элемент отчета.viewPort (
Viewport
) – Задание Viewport области видимости растра и его размер в отчете.report (
Report
) – Отчет, к которому относится создаваемый элемент.perserveAspectRatio (
bool
) – Сохранять исходное соотношение размеров растра. По умолчанию True
-
layer
()¶ Растровый слой, на основании которого создается элемент отчета.
- Результат
Ссылка на переданный в конструктор растровый слой
- Тип результата
-
preserveAspectRatio
()¶ Сохранять пропорции исходного растра для элемента отчета
- Результат
True, если да. В противном случае False
- Тип результата
-
setPreserveAspectRatio
(preserveAspectRatio)¶ Установка режима сохранения пропорций исходного растра. Если установлено True, при задании ограничивающего прямоугольника элемента отчета, его пропорции подгоняются исходя из пропорций базового растра.
- Параметры
preserveAspectRatio (
bool
) – Значение
-
Пример использования:
# Импорт 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)