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])Конструктор класса.
Свойства:
Стиль обводки элемента отчета.
Центр карты в координатах карты.
Геометрия обрезки карты.
Система координат карты.
Стиль заливки элемента отчета.
Прямоугольник карты в единицах измерения карты.
Размер (ограничивающий прямоугольник) элемента отчета в единицах измерения отчета.
Текущее значение масштаба карты.
Методы:
intersects
(checkRect)Пересекается ли с переданным прямоугольником.
map
()Возвращает элемент типа карта, на основании которой создается элемент отчета.
show_all
()Меняет масштаб карты чтобы показать ее полностью.
update
()Перерисовка элемента отчета
- __init__(rect: Union[Rect, QRectF], map: Map, coordsystem: Optional[CoordSystem] = None)
Конструктор класса.
- Параметры:
rect – Размер элемента отчета в единицах измерения отчета.
map – Карта, на базе которой будет создан элемент отчета.
coordsystem – Система координат
- 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
Система координат карты.
- intersects(checkRect: Union[Rect, QRectF])
Пересекается ли с переданным прямоугольником.
- Параметры:
checkRect – Прямоугольник для анализа.
- property rect: Rect
Размер (ограничивающий прямоугольник) элемента отчета в единицах измерения отчета.
- show_all()
Меняет масштаб карты чтобы показать ее полностью.
Пример замены масштаба для всех элементов отчета:
for item in reportView.report.items: if isinstance(item, MapReportItem): item.show_all()
- update()
Перерисовка элемента отчета