LabelProperties - Параметры подписывания

class axioma.render.LabelProperties

Параметры подписывания

class AngleMax

Возможные значения угла сглаживания (примерно к этому углу сводятся сегменты линии при сглаживании)

Углы сглаживания ломаных линий AngleMax:

Наименование

Значение

Описание

AngleMaxNone

0

Сглаживание не применяется

AngleMax20

1

20°

AngleMax25

2

25°

AngleMax30

3

30°

AngleMax38

4

38°

AngleMax45

5

45°

AngleMax60

6

60°

LabelProperties()

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

class SmoothPolyLine
Параметры сглаживания ломаных линий для вывода надписей.

Наименование

Значение

Описание

SmoothPolyLineStandard

0

Использовать сглаживание по умолчанию

SmoothPolyLineAbsent

1

Не использовать сглаживание линий

angleMax

Оптимальный угол сглаживания ломаных линий

Type

AngleMax

callout

Выноска

Type

LabelCallout

flatAngle

Предельный угол между сегментами линии, при превышении которого участок перестаёт считаться пологим

Type

float

flatPlotFallback

Возможность вывода подписи относительно всей линии при отсутствии пологих участков

Type

bool

isEmpty()

Является ли пустым; считается пустым, если не определена позиция подписи

Результат

является ли пустым

Тип результата

bool

layout

Положение подписи

Type

LabelLayout

position

Позиция подписи

Type

Point

reduceFontSize

Разрешения на уменьшение размера шрифта и возможность использования вывода по центроиду

Type

ReduceFontSize

smoothPolyLine

Параметры сглаживания линий при выводе надписей. Более точно задаются параметром axioma.render.LabelProperties.angleMax

Type

SmoothPolyLine

textProperties

Установки, регулирующие исключительно вывод ручных подписей

Type

TextProperties

class axioma.render.LabelLayout

Положение подписи

Выравнивание подписи по краям кодируется с помощью комбинации флагов Edges

class AntiAliasing

Использование сглаживания при отрисовке подписи

Алгоритм выбора сглаживания AntiAliasing:

Наименование

Значение

Описание

AntiAliasingUse

0

Всегда использовать сглаживание

AntiAliasingNone

1

Не использовать сглаживание

AntiAliasingNoneIfMany

2

Использовать сглаживание на слое, если подписей немного (меньше тысячи)

class Interior

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

Алгоритм выбора лучшего места для подписи внутри области Interior:

Наименование

Значение

Описание

InteriorMax

0

Подпись выводится в самой широкой внутренней области

InteriorCentroid

1

Подпись выводится в ближайшей к центроиду области

class Orientation
Ориентация подписей.

Наименование

Значение

Описание

Horizontal

0

Выводить горизонтально по центроиду

Parallel

1

Выводить параллельно участку полилинии

FollowPath

2

Выводить вдоль полилинии

class Placement

Правило отрисовки подписи области

Алгоритм выбора положения подписи области Placement:

Наименование

Значение

Описание

PlacementCentroid

0

Подпись выводится относительно центроида области

PlacementHorizontal

1

Подпись выводится внутри области горизонтально

PlacementVertical

2

Подпись выводится внутри области вертикально

PlacementSelect

3

Подпись выводится внутри области горизонтально, если положения найти не удалось, то производится поиск вертикального расположения

class ReferencePoint

Точка отсчёта вывода подписи по ломаной линии

Выбор участка вывода подписи ReferencePoint:

Наименование

Значение

Описание

RefPointGeneral

0

Подпись выводится на краю или посередине линии

RefPointCentroid

1

Подпись выводится на краю или посередине наидлиннейшего из пологих участков

RefPointFlat

2

Подпись выводится относительно центроида

alignment()

Устаревший метод. Возвращает выравнивание подписей областей.

Результат

установленное выравнивание подписи для областей

Тип результата

Edges

alignmentArea()

Получить выравнивание подписи относительно центроида области

Результат

установленное выравнивание подписи для областей

Тип результата

Edges

alignmentCurve()

Получить выравнивание подписи относительно центроида или другой точки на линии

Результат

установленное выравнивание подписи для линий

Тип результата

Edges

alignmentPoint()

Расположение геоцентра относительно подписи для точечных объектов

Результат

установленное выравнивание подписи для точечных объектов

Тип результата

Edges

antiAliasing()

Использование сглаживания при отрисовке подписи

Результат

условие использования сглаживания

Тип результата

AntiAliasing

interior()

Принцип выбора внутренней области подписывания

Результат

уточнение расположения внутренней области подписывания

Тип результата

Interior

offset()

Устаревший метод. Возвращает вертикальное смещение для подписей областей.

Результат

смещение для подписей областей в пунктах (0-24)

Тип результата

int

offsetArea()

Вертикальное смещение подписи относительно центроида области (ширина - горизонтальное смещение, высота - вертикальное).

Результат

горизонтальное и вертикальное смещение в пунктах (0-24)

Тип результата

QSize

offsetCurve()

Вертикальное смещение подписи относительно линии (для линий горизонтальное смещение не используется)

Результат

вертикальное смещение в пунктах (0-24)

Тип результата

int

offsetPoint()

Задать смещение относительно точечного объекта (ширина - горизонтальное смещение, высота - вертикальное)

Результат

горизонтальное и вертикальное смещение в пунктах (0-24)

Тип результата

QSize

orientation()

Ориентация подписи

Результат

тип ориентации

Тип результата

Orientation

pixelOffsetArea(dpiX, dpiY)

Получение смещения подписи относительно центроида области в пикселах

Параметры
  • dpiX (float) – число точек на дюйм устройства по горизонтали

  • dpiY (float) – число точек на дюйм устройства по вертикали

Результат

горизонтальное и вертикальное смещение в пикселах

Тип результата

QSize

pixelOffsetCurve(dpi)

Получение смещения подписи относительно линии в пикселах

Параметры

dpi (float) – число точек на дюйм устройства по условной вертикали

Результат

вертикальное смещение в пикселах

Тип результата

int

pixelOffsetPoint(dpiX, dpiY)

Получение смещения подписи относительно точки в пикселах

Параметры
  • dpiX (float) – число точек на дюйм устройства по горизонтали

  • dpiY (float) – число точек на дюйм устройства по вертикали

Результат

горизонтальное и вертикальное смещение в пикселах

Тип результата

QSize

placement()

Способ вывода надписи для области

Результат

Алгоритм выбора места для подписывания области

Тип результата

Placement

referencePoint()

Участок, относительно которого производится вывод подписи

Результат

тип участка

Тип результата

ReferencePoint

screenOffsetCurve()

Получение смещения подписи относительно линии в экранных пикселах

Результат

условно вертикальное смещение в пикселах

Тип результата

int

screenOffsetPoint()

Получение смещения подписи относительно точки в экранных пикселах

Результат

горизонтальное и вертикальное смещение в пикселах

Тип результата

QSize

screenOffsetPoint()

Получение смещения подписи относительно центроида области в экранных пикселах

Результат

горизонтальное и вертикальное смещение в пикселах

Тип результата

QSize

setAlignment([edges])

Задать единое выравнивание подписи для всех типов объектов. При нулевом параметре устанавливается выравнивание по центру (геоцентр располагается посередине подписи). Выравнивание производится относительно центроида объекта. Т.е. если задать setAlignment(Qt.BottomEdge | Qt.RightEdge), то метка будет находится слева вверху от геоцентра объекта.

Параметры

edges – комбинация флагов для выравнивания подписей

Результат

рефлексивная ссылка

setAlignmentArea([edges])

Задать выравнивание подписи для областей (может не использоваться, если вывод подписи не связан с центроидом). При нулевом параметре устанавливается выравнивание по центру (геоцентр располагается посередине подписи). Выравнивание производится относительно центроида подписи. Т.е. если задать setAlignment(Qt.BottomEdge | Qt.RightEdge), то метка будет находится слева вверху от геоцентра объекта.

Параметры

edges – комбинация флагов для выравнивания подписей областей

Результат

рефлексивная ссылка

setAlignmentCurve([edges])

Задать выравнивание подписи для линий. Зависит от режима выбора расположения линии (ReferencePoint). Если используется выравнивание по центроиду (refPointCentroid), то выравнивание указывает на расположение центроида относительно линии. Если используется выравнивание по пологому участку (refPointFlat), то выравнивание указывает на расположение краёв или середины участка относительно линии. Аналогично задаётся выравнивание относительно всей ломаной линии в целом (refPointGeneral). При нулевом параметре устанавливается выравнивание по центру. Флаги Qt.BottomEdge и Qt.TopEdge отвечают за расположение подписи над и под линией соответственно (выравнивание по аналогии с точечными объектами указывается для точек на кривой, хотя для линий это и не вполне корректно).

setAlignmentPoint([edges])

Задать выравнивание подписи для точечных объектов. При нулевом параметре устанавливается выравнивание по центру (геоцентр располагается посередине подписи). Выравнивание производится относительно центроида объекта. Т.е. если задать setAlignment(Qt.BottomEdge | Qt.RightEdge), то метка будет находится слева вверху от геоцентра объекта.

Параметры

edges – комбинация флагов для выравнивания подписей точечных объектов

Результат

рефлексивная ссылка

setAntiAliasing(antiAliasing)

Установить принцип выбора алгоритм сшлаживания

Параметры

antiAliasing (AntiAliasing) – принцип выбора алгоритм сглаживания

Результат

рефлексивная ссылка

setInterior(interior)

Установить принцип выбора внутренней области подписывания

Параметры

interior (Interior) – принцип выбора внутренней области подписывания

Результат

рефлексивная ссылка

setOffset(offset)

Установить единое смещение (высота совпадает с шириной) сразу для всех типов геометрий. Полезно, например, при необходимости сброса всех смещений в ноль.

Параметры

offset (int) – смещение в пунктах (0-24)

Результат

рефлексивная ссылка

setOffsetArea(offset)

Установить условно вертикльное смещение относительно линии (горизонтальное смещение относительно точки на линии не используется). Не действует, если задано нулевое выравнивание по центру (см. axioma.render.LabelProperties.setAlignmentArea()). Вообще выравнивание по центру горизонтально или вертикально отключает соответствующее смещение. Смещение также не используется, если используется алгоритм вывода подписи внутри области (см. Placement).

Параметры

offset (QSize) – горизонтальное и вертикальное смещение в пунктах (0-24)

Результат

рефлексивная ссылка

setOffsetCurve(offset)

Установить условно вертикальное смещение относительно линии (горизонтальное смещение относительно точки на линии не используется). Не действует, если задано нулевое выравнивание по центру (см. axioma.render.LabelProperties.setAlignmentCurve()).

Параметры

offset (int) – вертикальное смещение в пунктах (0-24)

Результат

рефлексивная ссылка

setOffsetPoint(offset)

Установить смещение относительно точечного объекта (ширина - горизонтальное смещение, высота - вертикальное). Не действует, если задано нулевое выравнивание по центру (см. axioma.render.LabelProperties.setAlignmentPoint()). Вообще выравнивание по центру горизонтально или вертикально отключает соответствующее смещение.

Параметры

offset (QSize) – горизонтальное и вертикальное смещение в пунктах (0-24)

Результат

рефлексивная ссылка

setOffsets(offset)

Установить единое смещение сразу для всех типов геометрий.

Параметры

offset (QSize) – горизонтальное и вертикальное смещение в пунктах (0-24)

Результат

рефлексивная ссылка

setOrientation(orientation)

Установить вид ориентации

Параметры

orientation (Orientation) – тип ориентации

Результат

рефлексивная ссылка

setPlacement(placement)

Установить участок линии для вывода подписи

Параметры

placement (Placement) – способ вывода подписи области

Результат

рефлексивная ссылка

setReferencePoint(referencePoint)

Установить участок линии для вывода подписи

Параметры

referencePoint (ReferencePoint) – тип ориентации

Результат

рефлексивная ссылка

class axioma.render.ReduceFontSize

Разрешения на уменьшение размера шрифта при выводе надписи внутри области

allowTransgress()

Выяснение возможности использования вывода по центроиду, если внутри области не удалось найти подходящего участка вывода.

Результат

признак вывода по центроиду в случае неудачного поиска участка внутри области

Тип результата

bool

distribution()

Предельно допустимое число шрифтов на слое

Результат

предельно допустимое число шрифтов на слое

Тип результата

int

minSize()

Получение минимально допустимого размера шрифта

Результат

минимально допустимый размер шрифта

Тип результата

float

setAllowTransgress(allowTransgress)

Установка возможности использования вывода по центроиду, если внутри области не удалось найти подходящего участка вывода.

Параметры

allowTransgress (bool) – признак вывода по центроиду в случае неудачного поиска участка внутри области

setDistribution(distribution)

Установка предельно допустимого числа шрифта на слое. Ноль означает отсутствие ограничений при выборе размеров шрифта. Единица означает, что допустим только базовый размер шрифта. Двойка означает возможнось использования базового и минимального размеров шрифта. Прочие значения создают линейно распределённый список размеров шрифта между минимальным и базовым значениями.

Параметры

distribution (int) – возможное число шрифтов на слое

setMinSize(minSize)

Установка минимально допустимого размера шрифта

Параметры

minSize (float) – минимально допустимый размер шрифта

class axioma.render.LabelCallout

Выноска

class EndType
Тип выноски.

Наименование

Значение

Описание

None

0

Не отображать

Line

1

Линия

Arrow

2

Стрелка

LabelCallout()

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

LabelCallout(style, endType=0)

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

Параметры
  • style (LineStringStyle) – стиль линии выноски

  • endType (EndType) – тип выноски

endType()

Тип выноски

Результат

тип выноски

Тип результата

EndType

isVisible()

Видимость выноски

Результат

видимость выноски

Тип результата

bool

lineStringStyle()

Стиль линии выноски

Результат

стиль линии выноски

Тип результата

LineStringStyle

setEndType(endType)

Задать тип выноски

Параметры

endType (EndType) – тип выноски

setLineStringStyle(lineStringStyle)

Задать стиль линии выноски

Примечание

для редактирования стиля используйте готовый диалог StyleEditDialog

Параметры

lineStringStyle (LineStringStyle) – стиль линии выноски

class axioma.render.TextProperties

Свойства ручных подписей

angleDegree()

Угол вывода ручной подписи в градусах (по часовой стрелке от оси абсцисс)

Результат

угол наклона ручной подписи в градусах

Тип результата

float

angleRadian()

Угол вывода ручной подписи в радианах (по часовой стрелке от оси абсцисс)

Результат

угол наклона ручной подписи в радианах

Тип результата

float

hasAngle()

Полусение признака ненулевого угла наклона подписи

Результат

признак ненулевого угла наклона подписи

Тип результата

bool

removeAngle()

Обнуление угла наклона ручной подписи

setAngleDegree(angle)

Установка угла вывода ручной подписи в градусах (по часовой стрелке от оси абсцисс)

Параметры

str (float) – угол наклона ручной подписи в градусах

setAngleRadian(angle)

Установка угла вывода ручной подписи в радианах (по часовой стрелке от оси абсцисс)

Параметры

str (float) – угол наклона ручной подписи в радианах

setText(str)

Установка текста ручной подписи

Параметры

str (string) – текст ручной подписи, может быть многострочным (разделитель - LF)

text()

Текст ручной подписи

Результат

текст ручной подписи, может быть многострочным (разделитель - LF)

Тип результата

string