Добрый день. У меня следующая ситуация: я получаю данные для генерации стиля слоя в формате .sld, который нужно применить к слою. Я делала это через:
layer.loadSLDStyle("адрес")
Для этого нужно предварительно сохранить стиль как файл, чтобы потом его загрузить.
Задача избавится от этого шага, т.к. система возможно будет заблокирована от записи левых файлов.
Я пыталась записывать стиль без сохранения через:
style_doc = QDomDocument("qgis")
style_doc.setContent(response.text)
layer.importNamedStyle(style_doc)
QgsProject.instance().addMapLayer(layer)
и
providers = QgsProviderRegistry.instance().providerList()
providers.saveStyle(providerKey = providers, sldStyle=response.text, styleName="name"
Ни тот, ни тот способ не вносит вообще никаких изменений ни в стиль слоя, ни в список записанных слоев. Как еще можно решить проблему создания слоя из str переменной, без создания файла с этими данными?
Загрузка стиля для слоя через pyqgis
-
- Новоприбывший
- Сообщения: 1
- Зарегистрирован: 27 июн 2023, 13:15
- Репутация: 0
- Откуда: Самара
-
- Активный участник
- Сообщения: 212
- Зарегистрирован: 11 авг 2015, 16:13
- Репутация: 45
Re: Загрузка стиля для слоя через pyqgis
Сразу сообразить не смог.
Если не хочется писать на диск, то может попробовать временный файл в памяти?
Посмотрите здесь:
Создание временного файла с использованием метода NamedTemporaryFile ()
https://andreyex.ru/stati/rabota-s-vrem ... -v-python/
Или здесь:
https://ru.stackoverflow.com/questions/ ... 0%BE%D0%BC
Если не хочется писать на диск, то может попробовать временный файл в памяти?
Посмотрите здесь:
Создание временного файла с использованием метода NamedTemporaryFile ()
https://andreyex.ru/stati/rabota-s-vrem ... -v-python/
Или здесь:
https://ru.stackoverflow.com/questions/ ... 0%BE%D0%BC
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя