Message posté par : antonio.andrade
----------------------------------------
Bonjour,
Merci pour ce partage. L'itération sur la collection de champs (QgsField) n'est
pas nécessaire. Une version simplifiée du code exécutable dans la console Python de QGIS
est :
-----------------
Code :
import json
mon_geojson = {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"NameKey": 5476,
"code": "code1",
"FOID": 1705794684060,
"result": 12.34
},
"geometry": {
"type": "Point",
"coordinates": [-4.612, 48.0738]
}
}
]
}
mon_layer = "Couche point"
fcString = json.dumps(mon_geojson)
codec = QTextCodec.codecForName("UTF-8")
fields = QgsJsonUtils.stringToFields(fcString, codec)
feats = QgsJsonUtils.stringToFeatureList(fcString, fields, codec)
vl = QgsVectorLayer('Point', mon_layer, "memory")
dp = vl.dataProvider()
dp.addAttributes(fields)
vl.updateFields()
dp.addFeatures(feats)
vl.updateExtents()
QgsProject.instance().addMapLayer(vl)
-----------------
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=341800#p341800
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net