Я хочу создать функцию, которая выбирает функцию и увеличивает ее (аналогично QGIS). Поэтому есть следующая функция:
QgsMapLayerRegistry.instance().addMapLayer(self.vlayer)
def zoomTo(self):
layer = self.vlayer
atable = self.ui.table
selectList=[]
for i in atable.selectionModel().selectedRows():
ID = atable.item(i.row(),0).text()
selectList.append(int(ID))
layer.setSelectedFeatures(selectList)
Выбранные объекты будут выделены на карте. Но я понятия не имею, как сделать «зум» для выбранных объектов или как-то сфокусировать их в центре карты.
gis.utils.iface
. Теперь это работает отлично. Еще раз спасибо!Приближение к выбранным функциям также можно выполнить, активировав опцию «Zoom to Selection» в меню View.
Примечание. Номер индекса может отличаться в зависимости от версии QGIS.
Или более прямо:
источник
iface.actionZoomToSelected().trigger()
это немного безопаснее :)# Первый QMessageBox отображает все выбранные функции:
# Второй масштаб для выбранных функций:
источник