копи,
Существует несколько подходов к решению, но это может быть один из самых простых (в зависимости от ваших потребностей):
Выберите функцию, используя QgsVectorLayer
Предполагая ссылку на ваш векторный слой (vlayer) и идентификатор объекта (fid). Смотрите также
vlayer.select(fid)
Увеличьте масштаб выбранной функции с помощью QgsInterface
qgis.utils.iface.actionZoomToSelected().trigger()
Отмените выбор функции с помощью QgsVectorLayer
vlayer.deselect(fid)
Сохраните холст как изображение, используя QgsMapCanvas
qgis.utils.iface.mapCanvas().saveAsImage('/Users/me/Desktop/feature.png')
Этот подход позволяет получить максимально возможную фотографию, если окно развернуто до полного размера, поскольку при сохранении холста используется разрешение экрана. Однако это не гарантирует, что ваши изображения будут иметь одинаковый масштаб масштабирования карты, только относительно того же размера пикселя. Есть и другие варианты, например, QgisInterface::actionPanToSelected()
если вам нужно, чтобы масштаб был согласованным.