Message posté par : Emco (emilien.couvelard(a)ryve.fr)
----------------------------------------
Bonjour à tous,
Je dois cartographier des données bathymétriques fournis au format .txt. Les mesures ont
été effectuées sur une grande surface alors plusieurs fichiers .txt sont présents (+100).
La manipulation sous QGIS consiste à faire ceci "Couche > Ajouter une couche de
texte délimités". Manuellement, aucun problème, j'arrive à cartographier les
données cependant je n'ai pas envie de faire cette manipulation répétitive afin
d'ouvrir les fichiers .txt sous QGIS alors j'ai essayé de rédigé un script python
pour automatiser la manipulation.
Le script est le suivant :
-----------------
Code :
import os
import glob
# Chemin vers le dossier contenant les fichiers .txt RBS
chemin = 'C:/Users/XXXXXX/Desktop/RBS_042-146/'
# Boucle à travers tous les fichiers .txt commençant par "RBS" dans le dossier
spécifié
for fichier_txt in glob.glob(os.path.join(chemin, 'RBS*.txt')):
# Nom de la couche à ajouter
nom_couche = os.path.basename(fichier_txt).split('.')[0]
# Ajout de la couche de texte délimité
uri = 'file:///' + fichier_txt +
"?delimiter=%s&crs=epsg:4326&xField=%s&yField=%s" % ('t',
'X', 'Y')
couche = QgsVectorLayer(uri, nom_couche, "delimitedtext")
# Configuration des paramètres
parametres = {'separator': 't', 'xField': 'X',
'yField': 'Y', 'useHeader': True, 'detectTypes': True}
couche.setProviderEncoding(u'UTF-8')
QgsProject.instance().addMapLayer(couche)
-----------------
Les différents fichiers apparaissent dans le panneau couche mais QGIS indique en message
d'erreur "Le champ Y Y n'est pas défini dans le fichier de texte
délimité" et "Le champ X X n'est pas défini dans le fichier de texte
délimité". Je suis novice sous python et je ne trouve pas comment faire pour que
python puisse lire correctement les colonnes X et Y de mes fichiers .txt. A noter que la
3ème colonne du fichier .txt représentent les données en Z et la 4ème les relevés
bathymétriques.
Merci de votre aide
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=359454#p359454
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