Вопросы с тегом «pyqgis»

Привязки Python для QGIS.


1
Почему порядок импорта имеет значение в автономном скрипте обработки PyQGIS?
Я столкнулся со странной проблемой при запуске автономных сценариев обработки PyQGIS. Порядок импорта в сценарии влияет на его нормальное выполнение. Вы можете воспроизвести проблему, открыв консоль Python и введя следующий скрипт (я использую GNU / Linux, QGIS 2.6.1, плагин обработки v.2.2.0-2 и Python 2.7.3): # Prepare the environment import sys …

3
Выбор объектов с помощью выражения с PyQGIS
Как выбрать объекты с помощью PyQGIS с помощью выражения? Я пытался использовать, QgsExpressionно метод выбора не принимает его: exp = QgsExpression("'ogc_fid' = 482") cLayer = canvas.currentLayer() cLayer.select(exp) Возможно ли это, и если да, то как мне это сделать?

2
Задать атрибут объекта по имени через QGIS python api?
Я пытаюсь установить атрибуты объекта по имени атрибута с этим кодом pr = layer.dataProvider() pr.addAttributes([QgsField("test", QVariant.Int)]) layer.updateFields() for feature in layer.getFeatures(): attrName = 'test' feature[attrName] = 1 но в результате у меня есть NULL во всех полях. Если я использую feature.setAttributes([1]) это работает правильно. Что я делаю не так? Почему …
13 pyqgis 

1
Как увидеть команды печати через Python Script при программировании плагина для QGIS?
Есть ли способ, при котором пользовательский плагин, созданный для QGIS, может появляться вместе с оболочкой Python при запуске плагина, как экран отладки? Я спрашиваю это, чтобы узнать, есть ли способ увидеть команды печати через Python Script при программировании плагина для QGIS.

1
Изменить алгоритм минимальной ограничительной рамки
Я пытаюсь создать алгоритм, похожий на минимальный ограничивающий прямоугольник (хотя он может выглядеть совсем не так). В этом случае угол будет передан в качестве параметра, и, учитывая угол, мне нужен наименьший прямоугольник, охватывающий все мои точки / многоугольники. Пока что моя мысль состоит в том, чтобы найти центр моих точек …

3
Сделать плагин QGIS Python для обеих версий 2.x и 3.x?
Я нахожусь в процессе миграции плагина QGIS Python из QGIS 2в QGIS 3и просмотра различных ресурсов. Не ясно, возможно ли иметь плагин, совместимый с обеими версиями, или необходимо две версии для плагинов. Проблема, с которой я столкнулся, заключается в том, как управлять импортом PyQt (PyQt4 / PyQt5)?

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

1
Чистый способ отменить скрипты обработки QGIS из графического интерфейса
Я написал скрипт обработки QGIS, который выполняет анализ ближайшего пункта обслуживания. Взяв полный набор входных данных (20 тыс. Адресов в качестве начальных точек, ~ 100 целевых точек, дорожная сеть OSM с ~ 13 тыс. Линий трасс), сценарий выполняется около 3 часов и поэтому использует различные индикаторы прогресса, чтобы убедить пользователя …

2
Установка значения по умолчанию в поле QGIS
Я хотел бы добавить в поле слоя значение по умолчанию. Я имею в виду, что каждый раз, когда создается новая функция, это поле будет автоматически заполняться значением по умолчанию. В моем случае значением по умолчанию будет переменная @project_filename (имя файла проекта). Я не могу найти эту функцию нигде. С Уважением,

1
PyQGIS сохраняет растр как визуализированное изображение, затем использует на нем инструменты GDAL
Я попытался использовать код из QGis Save Raster в качестве отрендеренного изображения . iэто растровый слой: pipelayer = i pipeextent = pipelayer.extent() pipewidth, pipeheight = (pipelayer.width(), pipelayer.height()) piperenderer = pipelayer.renderer() pipeprovider = pipelayer.dataProvider() crs = pipelayer.crs().toWkt() pipe = QgsRasterPipe() pipe.set(pipeprovider.clone()) pipe.set(piperenderer.clone()) pipedFile = os.path.join(tempfile.gettempdir(), safeLayerName + '_pipe.tif') print pipedFile file_writer …

3
Можно ли использовать слои памяти в алгоритмах обработки QGIS?
Я создаю плагин QGIS, который подключается к базе данных MySQL в локальной сети, а затем добавляет подмножество одной из таблиц на уровень в памяти; Подмножество основано на валюте данных (берется только самое последнее наблюдение для каждого местоположения, где проводятся измерения). Этот слой памяти успешно создан. Однако затем я хочу запустить …

3
Разделить элемент при пересечении с элементом другого слоя, используя PyQGIS / Python?
У меня есть буферный слой (зеленый многоугольник), который я хочу разделить на два многоугольника всякий раз, когда он пересекает барьер (синяя линия). Я пытался использовать метод "splitGeometry", но я просто не могу заставить его работать. Мой код пока таков: while ldbuffprovider.nextFeature(feat): while barprovider.nextFeature(feat2): if feat.geometry().intersects(feat2.geometry()): intersection = feat.geometry().intersection(feat2.geometry()) result, newGeometries, …

1
Как обратиться к новому «завершенному заданию» QgsMessageBar в Python?
Я действительно поражен, какие огромные шаги предприняла разработка QGIS за последние месяцы. Новый набор иконок, улучшенный Композитор печати и многие другие изменения, которые можно увидеть в QGIS 2.0, действительно потрясающие! Среди многих других классных улучшений есть также изящная синяя панель задач, которая мне очень нравится. Можно ли обратиться к этой …
12 qgis  python  pyqgis 

4
Заставить код Python QGIS 2.x работать в QGIS 3.x? У объекта нет атрибута 'legendInterface', проблема
Следующий фрагмент кода хорошо работает в QGIS 2.x, однако он не работает в QGIS 3.x. myDir = 'd:/work/output_folder/' layers = iface.legendInterface().layers() pipe = QgsRasterPipe() for layer in layers: extent = layer.extent() width, height = layer.width(), layer.height() renderer = layer.renderer() provider=layer.dataProvider() crs = layer.crs().toWkt() pipe.set(provider.clone()) pipe.set(renderer.clone()) opts = ["COMPRESS=LZW"] file_writer = …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.