LabelPlacementPolicy - Настройки автоматической расстановки подписей

class axioma.render.LabelSection

Типы геометрий, используемых при выводе подписей

Типы геометрий подписей LabelSection:

Тип

Значение

Описание

SectionArea

0

Геометрические объекты, имеющие площадь (области)

SectionCurve

1

Геометрические объекты, имеющие длину (линии)

SectionPoint

2

Точечные геометрические объекты

class axioma.render.CollectionRule

Правило вывода одного из типов геометрических объектов коллекции

class Rule

Правило выбора для подписывания геометрических объектов одного типа из коллекции

Правило выбора геометрических объектов LabelingAlgorithmType:

Правило

Значение

Описание

Примечание

RuleDisabled

0

Не подписывать

RuleBig

1

Подписывать самый большой по площади или длине объект

Для точек правило аналогично выбору ближайшей к центроиду точки

RuleNearToCentroid

2

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

Для линий правило учитывает длину объекта, т.е. если линия ближе к центроиду, но процент свеса не подходит для подписи, то такая линия не учитывается

RuleEvery

3

Подписывать каждый из объектов коллекции

RuleAtCenter

4

Подписывать в геометрическом центре набора объектов

Используется только для точек коллекции

RuleConvexHull

5

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

Используется только для точек коллекции; область образуется путём построения выпуклой оболочки точек

section

Тип геометрических объектов коллекции, для которых задаётся правило выбора

Type

LabelSection

rule

Правило выбора, применяемое к указанному типу геометрических объектов коллекции

Type

Rule

class axioma.render.LabelPlacementPolicy

Настройки автоматической расстановки подписей

class ClipPolicy

Использование отображаемой области карты при формировании подписей

Правила обрезки геометрий автоматических подписей ClipPolicy:

Правило

Значение

Описание

ClipUse

0

Использовать обрезку геометрий по видимой части карты (в этом случае подписи именуются динамическими)

ClipSkip

1

Использовать статические подписи (расчёт положения подписи ведётся по всей шеометрии безотносительно отображённой на экране части)

class Duplicates

Разрешение дублирующихся подписей (по тексту)

Правила учёта повтора подписей Duplicates:

Правило

Значение

Описание

DuplicatesAllow

0

На слое разрешены любые дубликаты

DuplicatesInterLayer

1

Разрешены копии подписей на других слоях, на текущем слое дубли запрещены

DuplicatesIntraLayer

2

Разрешены копии подписей на текущем слое, при наличии дубля на ранее выведенном слое вывод подписи запрещён

DuplicatesDisable

3

Дубликаты подписей на данном слое запрещены

class LabelingAlgorithmType

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

Алгоритм расстановки подписей LabelingAlgorithmType:

Наименование величины

Значение

Описание

AllowOverlap

0

Разрешить перекрытия

DisallowOverlap

1

Запретить перекрытия

TryOtherPosition

2

Пробовать другое положение

class LabelingDisplayMode

Режим отображения автоматических подписей

Режим отображения автоматических подписей LabelingDisplayMode:

Наименование величины

Значение

Описание

Дополнительно

ShowLabeling

0

Показать подписи

visible == True, visibleRange.enabled() == False

HideLabeling

1

Скрыть подписи

visible == False

ShowInLimitLabeling

2

Показывать подписи в пределах

visible == True, visibleRange.enabled() == True

clipPolicyArea

Правило обрезки областей по видимой части карты.

Type

axioma.render.LabelPlacementPolicy.ClipPolicy

clipPolicyCollection

Правило обрезки коллекций по видимой части карты.

Type

axioma.render.LabelPlacementPolicy.ClipPolicy

clipPolicyCurve

Правило обрезки линий по видимой части карты.

Type

axioma.render.LabelPlacementPolicy.ClipPolicy

collectionRules

Список правил выбора элементов коллекции для подписывания. Порядок в списке важен. Если используется выбор одного из типов геометрий коллекции для подписывания (см. axioma.render.LabelPlacementPolicy.labelEverySection), то порядок соответствует приоритету выбора. Например, если заданы правила для линий, точек и областей, а в коллекции линии отсутствуют, то будут выбраны точки, если же и их нет, - области. Если же используется вывод по всем геометрическим типам коллекции, то порядок влияет на обработку правила наложения подписей (см. LabelingAlgorithmType).

Type

list [CollectionRule]

isVisible(map_viewport)

Видимость в области карты; определяется как:

visible and visibleRange.isVisible(map_viewport)
Параметры

map_viewportMapViewport

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

bool

labelEverySection

Признак использования всех геометрических типов коллекции для подписывания (по умолчанию подписывается только какой-то один тип в соответствии с правилам axioma.render.LabelPlacementPolicy.collectionRules).

Type

bool

labelingDisplayMode()

Режим отображения подписей

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

LabelingDisplayMode

labelingType

Алгоритм расстановки подписей

Type

LabelingAlgorithmType

overhang

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

Type

int

setLabelingDisplayMode(display_mode)

Задать режим отображения подписей

Параметры

display_modeLabelingDisplayMode

visible

Видимость подписей (при чтении проверяется видимость хотя бы одного типа: точек, линий или областей, при установке разрешается отображение всех типов)

Type

bool

visibleArea

Видимость подписей у областей

Type

bool

visibleCurve

Видимость подписей у линий

Type

bool

visiblePoint

Видимость подписей у точек

Type

bool

visibleRange

Пределы отображения

Type

VisibilityConstraints