# 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`() | Перерисовка элемента отчета.

  Специальные методы:

  `__eq__`(other) | Оператор равенства (==).

  __eq__(other: object) → bool

    Оператор равенства (==).

  __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]) → bool

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

    Параметры:

      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()

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