Message posté par : labriki (mlabriki(a)gmail.com)
----------------------------------------
Bonjour,
Je cherche un code me permettant de d'appeler et de traiter un csv contenant des
informations (coordonnées entre autres) en utilisant pyqgis dans la console des dernières
versions de QGis. Le code que voici (trouvé dans le web) se heurte aux changements de
python pour les dernières versions QGis:
-----------------
Code :
from qgis.core import *
from processing.tools.vector import VectorWriter
Input_Table = 'path_to_the_csv/input.csv' # set the filepath for the input CSV
lon_field = 'point_longitude' # set the name for the field containing the
longitude
lat_field = 'point_latitude' # set the name for the field containing the latitude
crs = 4326 # set the crs as needed
Output_Layer = 'path_to_the_output/output.shp' # set the filepath for the output
shapefile
spatRef = QgsCoordinateReferenceSystem(crs, QgsCoordinateReferenceSystem.EpsgCrsId)
inp_tab = QgsVectorLayer(Input_Table, 'Input_Table', 'ogr')
prov = inp_tab.dataProvider()
fields = inp_tab.pendingFields()
outLayer = QgsVectorFileWriter(Output_Layer, None, fields, QGis.WKBPoint, spatRef)
pt = QgsPoint()
outFeature = QgsFeature()
for feat in inp_tab.getFeatures():
attrs = feat.attributes()
pt.setX(float(feat[lon_field]))
pt.setY(float(feat[lat_field]))
outFeature.setAttributes(attrs)
outFeature.setGeometry(QgsGeometry.fromPoint(pt))
outLayer.addFeature(outFeature)
del outLayer
-----------------
Le code provient de l'adresse suivante:
https://howtoinqgis.wordpress.com/2017/04/24/how-to-convert-a-csv-file-to-a…
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=339653#p339653
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