MapReportItem - Элемент отчета: карта

class axipy.MapReportItem

Базовые классы: ReportItem

Элемент отчета, основанный на созданной ранее карте.

Примечание

Перед созданием элемента отчета необходимо предварительно создать карту, на основе которой будет создан элемент отчета.

Пример создания карты и добавления ее в отчет.
map_ = Map([world])
mapItem = MapReportItem(Rect(10, 110, 200, 210), map_)
mapItem.center = (100, 100)
mapItem.scale = 200000000
report.items.add(mapItem)

Конструктор класса:

__init__(rect, map[, coordsystem])

Конструктор класса.

Свойства:

border_style

Стиль обводки элемента отчета.

center

Центр карты в координатах карты.

clip

Геометрия обрезки карты.

coordsystem

Система координат карты.

fill_style

Стиль заливки элемента отчета.

map_rect

Прямоугольник карты в единицах измерения карты.

rect

Размер (ограничивающий прямоугольник) элемента отчета в единицах измерения отчета.

scale

Текущее значение масштаба карты.

Методы:

intersects(checkRect)

Пересекается ли с переданным прямоугольником.

map()

Возвращает элемент типа карта, на основании которой создается элемент отчета.

show_all()

Меняет масштаб карты чтобы показать ее полностью.

update()

Перерисовка элемента отчета

__init__(rect: Union[Rect, QRectF], map: Map, coordsystem: Optional[CoordSystem] = None)

Конструктор класса.

Параметры:
  • rect – Размер элемента отчета в единицах измерения отчета.

  • map – Карта, на базе которой будет создан элемент отчета.

  • coordsystem – Система координат

property border_style: Style

Стиль обводки элемента отчета.

property center: Pnt

Центр карты в координатах карты.

property clip: ClipGeometry

Геометрия обрезки карты. Устанавливается геометрия, в рамках которой будет отрисована карта. За пределами отрисовка производиться не будет. Обрабатываются только площадные объекты. Так-же допустимо устанавливать коллекции.

Пример установки обрезки по заданной геометрии:

reportview = axipy.view_manager.active
if isinstance(reportview, axipy.ReportView):
    rectangle = axipy.Rectangle(axipy.Rect(-50, -50, 50, 50))
    if isinstance(reportview.report.items[0], axipy.MapReportItem):
        reportview.report.items[0].clip.geometry = rectangle

Если установить None, то режим сбрасывается:

axipy.view_manager.active.report.items[0].clip.geometry = None

Если необходимо сохранить объект, то можно просто отключить режим:

axipy.view_manager.active.report.items[0].clip.status = False
property coordsystem: CoordSystem

Система координат карты.

property fill_style: Style

Стиль заливки элемента отчета.

intersects(checkRect: Union[Rect, QRectF])

Пересекается ли с переданным прямоугольником.

Параметры:

checkRect – Прямоугольник для анализа.

map() Map

Возвращает элемент типа карта, на основании которой создается элемент отчета.

property map_rect: Rect

Прямоугольник карты в единицах измерения карты.

property rect: Rect

Размер (ограничивающий прямоугольник) элемента отчета в единицах измерения отчета.

property scale: float

Текущее значение масштаба карты.

show_all()

Меняет масштаб карты чтобы показать ее полностью.

Пример замены масштаба для всех элементов отчета:

for item in reportView.report.items:
    if isinstance(item, MapReportItem):
        item.show_all()
update()

Перерисовка элемента отчета