3
是否可以在QGIS处理算法中使用存储层?
我正在构建一个QGIS插件,该插件连接到局域网中的MySQL数据库,然后将其中一个表的子集添加到内存层中;该子集基于数据货币(仅对进行测量的每个位置进行最新观察)。此存储层已成功创建。 但是,然后我想运行一些地理处理算法,而在其中任何一个中使用内存层都遇到了麻烦。 self.stationuri = "point?crs=epsg:4326&field=id:integer&field={}:double&index=yes".format(self.cb_field.currentText()) self.vlayer = QgsVectorLayer(self.stationuri,"scratch","memory") if not self.vlayer.isValid(): raise Exception("Failed to create in-memory layer") self.vlayer.startEditing() for i,r in enumerate(result): # Result is row-by-row result of SQL query # Add features ... self.vlayer.commitChanges() self.vlayer.updateExtents() # Add layer to map QgsMapLayerRegistry.instance().addMapLayer(self.vlayer) # Layer is successfully added to map with …