3
QGIS処理アルゴリズムでメモリレイヤーを使用することは可能ですか?
ローカルネットワーク内のMySQLデータベースに接続するQGISプラグインを構築し、テーブルのいずれかのサブセットをインメモリレイヤーに追加しています。サブセットはデータ通貨に基づいています(測定が行われる各場所の最新の観測値のみを取得します)。このメモリレイヤーは正常に作成されました。 しかし、その後、いくつかのジオプロセシングアルゴリズムを実行したいのですが、いずれのインメモリレイヤーでも使用できません。 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 …