[Qgis-user] python qgis 3 adding features fails partly

Reginald Reginald.Carlier at ingelmunster.be
Tue Feb 12 01:16:34 PST 2019


Hello list,

Using the python console in QGIS 3.4.4 with the following code:
<code>
from qgis.PyQt.QtCore import *
from PyQt5.QtGui import *

perceellayer=None
premielayer=None
layers = [layer for layer in QgsProject.instance().mapLayers().values()]
for lyr in layers:
    if lyr.name() == "Adpf1836007":
        perceellayer = lyr
    if lyr.name() == "premies_zwaluwen":
        premielayer = lyr
features = perceellayer.selectedFeatures()
geom = None
for f in features:
    if geom == None:
        geom = f.geometry()        
    else:
        geom = geom.combine(f.geometry())

feat = QgsFeature(premielayer.fields())
feat.setGeometry(geom)
result = iface.openFeatureForm(premielayer, feat, showModal=False)

print(result)
premielayer.addFeature(feat)
premielayer.updateFields()
print("klaar")
</code>

- when premies_zwaluwen is a postgis layer trying to save the edit fails
with the message that id cannot be NULL altough in the featureform I put
another value
- when premies_zwaluwen is a shapefile the geometry gets added but all the
fields of the new feature are empty altough I put a value in every field
from the featureform.

Any idea what I am doing wrong?

Regards,




--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-User-f4125267.html


More information about the Qgis-user mailing list