Отображение стилей линий по нескольким полям

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
Joe_Johnson
Интересующийся
Сообщения: 20
Зарегистрирован: 21 июл 2019, 21:13
Репутация: 0
Откуда: Москва

Отображение стилей линий по нескольким полям

Сообщение Joe_Johnson » 02 ноя 2020, 16:33

Всем привет! Кто хорошо разбирается в функционале QGIS, подскажите пожалуйста, как настроить стили отображения геометрии (шейп файлов) по нескольким полям. Есть, допустим 3 поля - "Толщина линии", "Цвет линии" и "Тип линии". Тип линии это, например, сплошная, прерывистая и т. д. Приведите пример конкретных правил, буду очень вам признателен.

gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Отображение стилей линий по нескольким полям

Сообщение gamm » 02 ноя 2020, 18:17

в калькуляторе соорудите из всех полей одно, например преобразовав в символьные строки, и соединив. И задайте стиль по этому полю.

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2241
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1514
Откуда: Казань

Re: Отображение стилей линий по нескольким полям

Сообщение Игорь Белов » 02 ноя 2020, 23:16

Тип "Простой символ". Цвет, толщину, тип линий задаём значениями полей или выражениями.
Вложения
Screenshot_2020-11-02_23-09-48.png
Screenshot_2020-11-02_23-09-48.png (45.61 КБ) 5597 просмотров
The purpose of computing is insight, not numbers

Joe_Johnson
Интересующийся
Сообщения: 20
Зарегистрирован: 21 июл 2019, 21:13
Репутация: 0
Откуда: Москва

Re: Отображение стилей линий по нескольким полям

Сообщение Joe_Johnson » 03 ноя 2020, 10:43

gamm писал(а):
02 ноя 2020, 18:17
в калькуляторе соорудите из всех полей одно, например преобразовав в символьные строки, и соединив. И задайте стиль по этому полю.
Нет, так не получится. У меня очень много значений и значения должны быть конкретно прописаны. Как я пропишу 10000 значений руками, например? У меня есть 256 цветов, 10 типов линий, и 100 толщин линий. Мне нужно отдельно задать толщину, отдельно цвет и отдельно тип

Joe_Johnson
Интересующийся
Сообщения: 20
Зарегистрирован: 21 июл 2019, 21:13
Репутация: 0
Откуда: Москва

Re: Отображение стилей линий по нескольким полям

Сообщение Joe_Johnson » 03 ноя 2020, 10:48

Игорь Белов писал(а):
02 ноя 2020, 23:16
Тип "Простой символ". Цвет, толщину, тип линий задаём значениями полей или выражениями.
Можно конкретнее? Сделайте скриншот пожалуйста с примером. У меня есть многоженство цветов и я должен, грубо говоря отдельно прописать, что если значение в поле цвет такое-о, то цвет отображения такой то (если значение равно 1, то цвет красный, например. И тоже самое сделать независимо от цвета для толщины и стиля линий.
Для понимания, я пытаюсь создать стили для сконвертированного DWG чертежа и мне надо чтобы отображение было +- как в dwg чертеже.

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2241
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1514
Откуда: Казань

Re: Отображение стилей линий по нескольким полям

Сообщение Игорь Белов » 03 ноя 2020, 15:09

Joe_Johnson писал(а):
03 ноя 2020, 10:48
пытаюсь создать стили для сконвертированного DWG чертежа и мне надо чтобы отображение было +- как в dwg чертеже
Импортируйте DWG в QGIS:
[Project] → [Import/Export] → [Import Layers from DWG/DXF…]
Внимательно рассмотрите стили, созданные программой.
The purpose of computing is insight, not numbers

Joe_Johnson
Интересующийся
Сообщения: 20
Зарегистрирован: 21 июл 2019, 21:13
Репутация: 0
Откуда: Москва

Re: Отображение стилей линий по нескольким полям

Сообщение Joe_Johnson » 04 ноя 2020, 13:22

Игорь Белов писал(а):
03 ноя 2020, 15:09
[Project] → [Import/Export] → [Import Layers from DWG/DXF…]
У меня уже есть шейп со всеми нужными полями и мне нужно создать SLD стили, чтобы потом их использовать в другом софте. Я, в принципе, разобрался как сделать то, что я спросил, но есть новая проблема. SLD стиль сохраняет не всё форматирование. Это если делать через простой стиль и далее настраивать отдельно толщину, стиль и цвет по соотв. полям. Но это не работает. Сейчас думаю как сделать это через стиль на основании правил.

gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Отображение стилей линий по нескольким полям

Сообщение gamm » 04 ноя 2020, 19:44

сам по себе SLD стиль - просто небольшой фрагмент текста XML. Если связывать объекты по именам стилей, то проще написать скрипт (R/Python), который эти фрагменты генерирует (выделив все уникальные сочетания запросом), и записать имя стиля в SHAPE.

Joe_Johnson
Интересующийся
Сообщения: 20
Зарегистрирован: 21 июл 2019, 21:13
Репутация: 0
Откуда: Москва

Re: Отображение стилей линий по нескольким полям

Сообщение Joe_Johnson » 05 ноя 2020, 13:23

gamm писал(а):
04 ноя 2020, 19:44
Если связывать объекты по именам стилей, то проще написать скрипт (R/Python), который эти фрагменты генерирует (выделив все уникальные сочетания запросом), и записать имя стиля в SHAPE.
Проще - это когда умеешь) Когда умеешь - всё просто) У меня лишь общие представления о питоне. Могу написать "Привет мир" ну или что-то чуть сложнее.

Joe_Johnson
Интересующийся
Сообщения: 20
Зарегистрирован: 21 июл 2019, 21:13
Репутация: 0
Откуда: Москва

Re: Отображение стилей линий по нескольким полям

Сообщение Joe_Johnson » 05 ноя 2020, 13:23

gamm писал(а):
04 ноя 2020, 19:44
сам по себе SLD стиль - просто небольшой фрагмент текста XML.
Я понимаю, что его теоретически можно вообще руками прописать, но это надо понимать синтаксис и правила а я этот формат впервые вижу...

gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Отображение стилей линий по нескольким полям

Сообщение gamm » 05 ноя 2020, 14:33

Joe_Johnson писал(а):
05 ноя 2020, 13:23
я этот формат впервые вижу
я тоже. Он простой, как угол дома, вся документация есть RTFM. Создать пару примеров, а дальше лепить по образу и подобию, хоть копипастой, хоть скриптом на AutoLISP.

Ответить

Вернуться в «QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость