Создание линий выноски для перемещенных ярлыков

18

С помощью gis.stackexchange.com я создал лидерные линии для точечных символов. Линии основаны на символике генератора геометрии:

Сокращение геометрии линии с помощью диалогового выражения в QGIS?

введите описание изображения здесь

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

-- Geometry generator:
make_line(
    make_point(label_x, label_y),
    $geometry)

Еще раз, строки покрыты метками:

введите описание изображения здесь

введите описание изображения здесь

Есть ли способ адресации полей с ярлыками и сокращения лидирующих строк? Я полагаю, это довольно сложный вопрос: /

eclipsed_by_the_moon
источник
Попробуйте изменить значения смещения
GISKid

Ответы:

10

Во-первых, это действительно аккуратное решение! Я решил это, используя представление базы данных (немного излишне, но это сработало).

Мое предложение заключается в использовании фона и заливки на этикетке.

Или, посмотрев здесь , вы можете объединить решение типа буфера и клипа.

difference(make_line(make_point( "x" ,  "y" ), $geometry), buffer(make_point( "x" ,  "y" ),1))

Я только что проверил выше, и это работает (у меня есть другие поля, чем вы, но это доказывает суть). Использование генератора геометрии действительно гибкое, так что вы можете иметь буферное расстояние и для поля, возможно, в зависимости от символов?

Я не уверен, что происходит с точкой «три», но я думаю, точка привязки немного смещена влево.

несвязанные линии лидера лейбла

Алекс Лейт
источник
Я должен сделать несколько тестов в ближайшие несколько дней, но я боюсь, что фон не будет работать для сложных проектов, не покрывая некоторые слои.
eclipsed_by_the_moon
Вы видели другую часть моего ответа? Я нашел что-то, что обрезает для вас лидерские строки @eclipsed_by_the_moon.
Алекс Лейт
Обрезка выносных линий для символов фиксированного размера работает нормально, но метки представляют собой проблему. Я постараюсь динамически рассчитать буферное расстояние, как только найду время.
eclipsed_by_the_moon
4

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

Посмотрите на: EasycustomLabaling

Загрузите его, разархивируйте и вставьте реперториум 'EasyCustomLabeling' в реперториум своего репертуара плагина QGIS. Перезагрузите QGIS.

patricev
источник
Ваш плагин действительно полезен, но я бы предпочел линии, созданные генератором геометрии, которые начинаются в центре меток.
eclipsed_by_the_moon
Я понимаю. Для информации, это может быть установлено в полях исходного слоя при использовании этого плагина (поля LblAlignV и LblAlignH) - С уважением
patricev
Спасибо за информацию, я проверю это в выходные.
eclipsed_by_the_moon