banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Sat 30 January 2021 13:48

labriki
Juste Inscrit !
Date d'inscription: 10 Jan 2013
Messages: 4

QGIS: Convertir un CSV en SHP en utilisant pyqgis

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/ … ng-python/

Hors ligne

 

Pied de page des forums

Powered by FluxBB