Страница 1 из 1
Подпись слоя
Добавлено: 08 авг 2014, 13:30
kasandra
Подскажите, пожалуйста, можно ли в QGIS вывести подпись для слоя с полигонами так, что бы она располагалась параллельно одной из сторон полигона? Возможно ли такое?
Re: Подпись слоя
Добавлено: 08 авг 2014, 13:32
Александр Мурый
Для подобных вопросов очень желательно давать графический пример.
Re: Подпись слоя
Добавлено: 08 авг 2014, 13:41
kasandra
Вот пример.

Есть два дома, если я хочу вывести подпись КЖ, но так что бы она была параллельна стороне дома.
Re: Подпись слоя
Добавлено: 08 авг 2014, 13:46
Александр Мурый
Вы уже перепробовали все возможные настройки подписей для полигонов? Как вариант, можно было бы выделять нужные стороны дома в линии и подписывать их. Но не знаю, насколько это рационально.
Re: Подпись слоя
Добавлено: 08 авг 2014, 13:58
Александр Мурый
Подпись должна быть строго закреплена или нужно просто подписать одну сторону полигона и можно, чтобы надпись "плавала" вдоль периметра?
Вариант "плавающей" подписи:

- qgis_labels1.png (11.43 КБ) 6958 просмотров
В настройках подписей выставляем так:

- qgis_labels2.png (14.16 КБ) 6958 просмотров
Re: Подпись слоя
Добавлено: 08 авг 2014, 15:04
kasandra
Я не уточнила сразу, нужно что бы подпись по центру полигона располагалась и параллельно стороне.
Re: Подпись слоя
Добавлено: 08 авг 2014, 15:49
Александр Мурый
kasandra писал(а):Я не уточнила сразу, нужно что бы подпись по центру полигона располагалась и параллельно стороне.
Параллельно какой именно стороне?
Re: Подпись слоя
Добавлено: 08 авг 2014, 16:05
kasandra
Левой (боковой стороне)
Re: Подпись слоя
Добавлено: 08 авг 2014, 16:20
Александр Мурый
Для того, чтобы задать угол подписи параллельно левой стороне дома, вам нужно создать отдельное поле с углами в таблице атрибутов домов, заполнить его значениями соответствующего угла для каждого полигона, а затем указать это поле в настройках подписей в пункте "Размещение" --> "Переопределение свойств" --> "Угол поворота".
Вопрос в том, как автоматически посчитать значение нужного угла. Скорее всего, нужно написать небольшой скрипт на Питоне, который будет разбивать полигон на линии (стороны), находить линию с левой стороной у полигона (что само по себе не очень понятно), вычислять азимут этой линии и заносить его в таблицу.
Re: Подпись слоя
Добавлено: 08 авг 2014, 16:26
kasandra
Ясно, спасибо!