Saya ingin membuat fungsi yang memilih fitur dan memperbesarnya (serupa dengan QGIS). Oleh karena itu ada fungsi berikut:
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)
Fitur yang dipilih disorot pada peta. Tapi saya tidak tahu cara membuat "zoom" ke fitur yang dipilih atau memfokuskan mereka di tengah peta.
gis.utils.iface
. Sekarang ini berfungsi dengan baik. Terima kasih lagi!Zoom ke fitur yang dipilih juga dapat dilakukan dengan memicu opsi "Zoom ke Pilihan" pada menu Tampilan.
Catatan: Nomor indeks dapat bervariasi dengan versi QGIS yang berbeda.
Atau lebih langsung:
sumber
iface.actionZoomToSelected().trigger()
sedikit lebih aman :)# QMessageBox pertama menampilkan semua fitur yang dipilih:
# Zoom kedua ke fitur yang dipilih:
sumber