У мене є плагін, який знаходить буфер для списку міст за умови відстані. Назви штатів та міст беруться з таблиці атрибутів і відповідно фільтруються. Що я хочу, щоб мій плагін повинен визначати назву шару або порядок шару на полотні, незалежно від інших шарів, наявних у полотні, та отримувати доступ до відповідних атрибутів цього шару.
Мені також просто цікаво, чи вказівка конкретного імені шару в коді призведе до будь-якої помилки в ітерації, хоча деякі інші шари присутні?
Нижче наведено мій код, будь ласка, скажіть мені, де я можу внести зміни та що було б?
if dist and centerCity:
#QMessageBox.information(self.dlg, "info", "both True")
st = '"name" = \'' + centerCity + '\''
exp = QgsExpression(st)
else:
QMessageBox.warning(self.dlg, "Enter the distance","Enter the distance and try again.")
return #terminate the function
layer = self.iface.activeLayer()
it = layer.getFeatures(QgsFeatureRequest(exp))
feature = it.next()
mbuf = feature.geometry().buffer(dist, 2)
iterFeat = layer.getFeatures()
for f in iterFeat:
geom2 = f.geometry()
valTest = QgsGeometry.within(geom2, mbuf)