#1 Thu 13 June 2024 10:11
- Larpenteur
- Participant actif
- Lieu: Avignon
- Date d'inscription: 24 Jan 2011
- Messages: 139
OGR2OGR conversion fichier csv en Shapefile
Bonjour la communauté,
Je cherche à créer un batch pour convertir un fichier CSV (ponctuel) en Shapefile.
Mon code est de type:
Code:
cd C:\Program Files cd QGIS 3.28\bin ogr2ogr -f "ESRI Shapefile" -oo X_POSSIBLE_NAMES=x* -oo Y_POSSIBLE_NAMES=y* -a_src EPSG:2154 "C:\travail\#temp\sortie.shp" "C:\travail\#temp\csv_to_shapefile\exemple_xy.csv
Mais il ne fonctionne pas...
Auriez-vous un idée?
Je vous remercie!
Sylvain
Hors ligne
#3 Fri 14 June 2024 15:49
- Larpenteur
- Participant actif
- Lieu: Avignon
- Date d'inscription: 24 Jan 2011
- Messages: 139
Re: OGR2OGR conversion fichier csv en Shapefile
Bonjour,
Merci Jean-Marie pour le retour!
Hélas ça ne fonctionne toujours pas
Sylvain
Hors ligne
#5 Mon 17 June 2024 08:15
- Larpenteur
- Participant actif
- Lieu: Avignon
- Date d'inscription: 24 Jan 2011
- Messages: 139
Re: OGR2OGR conversion fichier csv en Shapefile
Bonjour,
J'aimerais vous donner le message d'erreur mais impossible à lire car au lancement du script la fenêtre s'ouvre et se ferme trop rapidement...
Sylvain
Hors ligne
#6 Mon 17 June 2024 08:38
Re: OGR2OGR conversion fichier csv en Shapefile
Bonjour,
Est-ce possible d'avoir 3 lignes de ce fichier csv ?
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#7 Tue 18 June 2024 07:49
- Larpenteur
- Participant actif
- Lieu: Avignon
- Date d'inscription: 24 Jan 2011
- Messages: 139
Re: OGR2OGR conversion fichier csv en Shapefile
Bonjour,
Sauf erreur de ma part on ne peut plus joindre un fichier?
Voici quelques lignes, c'est un simple fichier test (ponctuel) avec 3 champs: id, x, y
1 841268.848 6352095.177
2 854942.640 6346306.273
3 875203.806 6341515.455
4 853245.892 6333730.376
5 884086.781 6328141.089
Merci pour votre aide!
Sylvain
Hors ligne
#8 Tue 18 June 2024 09:05
Re: OGR2OGR conversion fichier csv en Shapefile
Bonjour,
Oui, on va regarder pour les fichiers joints
Tu as mal compris les paramètres X_POSSIBLE_NAMES et Y_POSSIBLE_NAMES : ceux-ci indiquent le nom de la colonne géométrique, l'étoile évite à l'utilisateur à tout écrire.
Tu dois rajouter une ligne d'en-tête dans ton fichier csv :
Code:
id x_coord y_coord
et appeler la commande suivante (à adapter à ton système) :
Code:
ogr2ogr -f "ESRI Shapefile" -oo X_POSSIBLE_NAMES=x* -oo Y_POSSIBLE_NAMES=y* -a_srs EPSG:2154 sortie.shp test.csv
Si tu veux pouvoir voir les messages d'erreur dans ton script, tu peux utiliser le mot-clé PAUSE qui impliquera d'appuyer sur une touche du clavier pour passer à la suite (i.e. fermeture de la console).
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#9 Tue 18 June 2024 13:33
- Larpenteur
- Participant actif
- Lieu: Avignon
- Date d'inscription: 24 Jan 2011
- Messages: 139
Re: OGR2OGR conversion fichier csv en Shapefile
Bonjour Yves,
Merci beaucoup pour ton aide!
J'avance... mais à présent le message d'erreur apparaît:
FAILURE:
Unable to open datasource `exemple_xy.csv' with the following drivers.
Warning 3: Cannot find tms_NZTM2000.json (GDAL_DATA is not defined)
Je suis QGIS 3.28. LTR
Windows 10
D'après ce que je comprends je dois installer la varibale d'environnement GDAL_DATA?
Merci!
Sylvain
Hors ligne
#10 Wed 19 June 2024 11:44
Re: OGR2OGR conversion fichier csv en Shapefile
Sylvian,
Comment as-tu installé QGIS ? As tu OSGeo4Shell (un nom se rapprochant, je ne suis pas certain) ?
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#11 Wed 19 June 2024 11:45
Re: OGR2OGR conversion fichier csv en Shapefile
Tu peux, en effet, essayer de définir la variable GDAL_DATA mais il faut la définir avec la bonne valeur
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#12 Wed 19 June 2024 11:55
- vowelbetter
- Juste Inscrit !
- Date d'inscription: 19 Jun 2024
- Messages: 1
Re: OGR2OGR conversion fichier csv en Shapefile
Pour résoudre ce problème, définissez la variable d'environnement GDAL_DATA sur votre système Windows. Vous pouvez le faire en trouvant le répertoire share/gdal dans votre installation de QGIS (par exemple, C:Program FilesQGIS 3.28sharegdal) et en configurant GDAL_DATA avec ce chemin. Redémarrez ensuite votre session Windows pour que les modifications prennent effet. Cela permettra à GDAL de localiser les ressources nécessaires pour la conversion du CSV en Shapefile. Assurez-vous également que le chemin vers votre fichier CSV est correctement spécifié dans votre commande ogr2ogr.
Hors ligne
#13 Wed 19 June 2024 13:07
- Larpenteur
- Participant actif
- Lieu: Avignon
- Date d'inscription: 24 Jan 2011
- Messages: 139
Re: OGR2OGR conversion fichier csv en Shapefile
Bonjour,
QGIS a été installé par mon service informatique, oui j'ai bien OSGeo4Shell.
Je fais le test demain je vous tiens informé.
Merci beaucoup pour vos aides!
Sylvain
Hors ligne
#14 Wed 19 June 2024 16:08
- arnaud
- Membre
- Lieu: Plerin
- Date d'inscription: 22 Feb 2007
- Messages: 54
Re: OGR2OGR conversion fichier csv en Shapefile
Depuis la console Python de QGIS il est facile de récupérer cette variable :
import os
os.environ.get("GDAL_DATA")
'C:\PROGRA~1\QGIS32~1.15\apps\gdal\share\gdal'
Ici il s'agit de mon environnement; il faut faire la même chose dans votre QGIS.
Il est aussi possible d'utiliser ogr2ogr directement dans QGIS depuis la boite à outils de traitements :
- Ouvrir l'algorithme "conversion de format"
- Choisir le fichier CSV en entrée
- ajouter -oo X_POSSIBLE_NAMES=x* -oo Y_POSSIBLE_NAMES=y* dans Options de création supplémentaires
- Choisir le fichier en sortie
- Lancer l'algorithme
Moi j'obtiens bien une couche point avec ce fichier CSV :
Code:
numero,x,y 1,1.3,45.3
Ensuite on peut réouvrir la fenêtre depuis le menu Traitements / Historique et récupérer la commande.
Code:
ogr2ogr -f "ESRI Shapefile" -oo X_POSSIBLE_NAMES=x* -oo Y_POSSIBLE_NAMES=y* C:/Users/Arnaud/Desktop/tmp/shapefile_encoding/test.shp C:/Users/Arnaud/Desktop/test.csv test
Arnaud
Arnaud Morvan
Bénévole de l'association GeoRezo.net
Hors ligne
#15 Thu 20 June 2024 10:45
- Larpenteur
- Participant actif
- Lieu: Avignon
- Date d'inscription: 24 Jan 2011
- Messages: 139
Re: OGR2OGR conversion fichier csv en Shapefile
Bonjour,
Un grand merci à tous pour vos retours!
J'ai pu résoudre ce problème grâce vos pistes!
C'était un mélange de mauvaise syntaxe et de variable apparemment.
@Arnaud, il y a effectivement la boîte à outils traitements, mon objectif était de convertir le .CSV sans ouvrir QGIS.
Merci!
Sylvain
Hors ligne
#16 Fri 21 June 2024 09:49
- arnaud
- Membre
- Lieu: Plerin
- Date d'inscription: 22 Feb 2007
- Messages: 54
Re: OGR2OGR conversion fichier csv en Shapefile
Oui, j'avais bien compris, j'ai simplement donné le procédé pour construire la ligne de commande plus facilement en utilisant l'interface graphique de QGIS (éviter les problèmes de syntaxe notamment).
Avec cette méthode il est possible de visualiser le résultat dans QGIS à chaque changement, et de voir les erreurs, sans jamais utiliser la ligne de commande, puis de récupérer la commande finale pour la mettre dans le script.
Dernière modification par arnaud (Fri 21 June 2024 20:22)
Arnaud Morvan
Bénévole de l'association GeoRezo.net
Hors ligne
#17 Sun 23 June 2024 18:58
- Larpenteur
- Participant actif
- Lieu: Avignon
- Date d'inscription: 24 Jan 2011
- Messages: 139
Re: OGR2OGR conversion fichier csv en Shapefile
Merci Arnaud!
Effectivement la ligne de commande est affichée en bas des traitements, c'est une très bonne aide.
Sylvain
Hors ligne