Annonce
Pour sécuriser votre compte sur les forums du GeoRezo, nous demandons de changer votre mot de passe.
Vous allez recevoir un message pour effectuer ce changement de mot de passe.
Merci de bien respecter les règles préconisées.
#1 Tue 28 March 2017 14:29
- bruhnild
- Participant actif
- Lieu: Lyon
- Date d'inscription: 7 Jun 2014
- Messages: 130
Création fichier .bat à partir de commande OGR
Bonjour à toutes et à tous,
Je cherche à créer un fichier .bat à partir d'une commande ogr mais je n'arrive pas à trouver la bonne syntaxe.
Voici ma ligne de commande :
C:\Program Files\PostgreSQL\9.4\bin>for %f in (chemin_vers_les_shp\*.shp) do ogr2ogr -update -append -lco SCHEMA=temp -f "PostgreSQL" PG:"host=localhost user=postgres password=****** dbname=test" -t_srs EPSG:2154 -nlt PROMOTE_TO_MULTI %f
Cette commande assez classique permet d'importer tous les shapefiles d'un dossier dans une base de données postgres/postgis.
Voici ce que contient mon .bat :
@ECHO OFF
SET C:\Program Files\PostgreSQL\9.4\bin
for %f in (chemin_vers_les_shp\*.shp) do ogr2ogr -lco SCHEMA=temp -f "PostgreSQL" PG:"host=localhost user=postgres password=****** dbname=test" -t_srs EPSG:2154 -nlt PROMOTE_TO_MULTI %f
PAUSE
De plus, ma commande ogr renvoie une erreur lorsque les shp se trouvent déjà dans le shema "temp". J'ai tenté de mettre un -skipfaillure et -overwrite=yes mais ça ne fonctionne pas...
Pouvez vous m'aider?
Merci d'avance!
Hors ligne
#2 Tue 28 March 2017 17:01
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1134
Re: Création fichier .bat à partir de commande OGR
Salut,
je ne sais pas si cela va aider mais il me semble que dans un batch
il faut doubler le caractère % quand on utilise un paramètre de boucle
ex :
Code:
@ECHO OFF SET C:\Program Files\PostgreSQL\9.4\bin for %%f in (chemin_vers_les_shp\*.shp) do ogr2ogr -lco SCHEMA=temp -f "PostgreSQL" PG:"host=localhost user=postgres password=****** dbname=test" -t_srs EPSG:2154 -nlt PROMOTE_TO_MULTI %%f PAUSE
Hors ligne
#3 Tue 28 March 2017 19:37
- cherbe
- Participant occasionnel
- Date d'inscription: 1 Nov 2008
- Messages: 41
Re: Création fichier .bat à partir de commande OGR
Bonsoir
Pas pris le temps de rechercher tes erreurs. Voici ce que j'utilise pour les fichiers du cadastre envoyés dans une base SQLITE :
Code:
FOR /F %%A IN ('DIR *.THF. /b') DO ( ogr2ogr -f "SQLite" %%A.sqlite %%A ) FOR /F %%B IN ('DIR *.sqlite /b') DO ( ogr2ogr -f "SQLite" -append fusion.sqlite %%B )
Dernière modification par cherbe (Tue 28 March 2017 19:41)
Hors ligne
#4 Wed 29 March 2017 10:09
- bruhnild
- Participant actif
- Lieu: Lyon
- Date d'inscription: 7 Jun 2014
- Messages: 130
Re: Création fichier .bat à partir de commande OGR
Merci tumasgiu, pour la tentative de réponse,
Aujourd'hui mon code ressemble à ça:
Code:
@ECHO OFF cd C:\Program Files\PostgreSQL\9.4\bin\ for %%f in (chemin_vers_les_shp\*.shp) do ogr2ogr -lco SCHEMA=temp -f "PostgreSQL" PG:"host=localhost user=postgres password=***** dbname=test" -t_srs EPSG:2154 -nlt PROMOTE_TO_MULTI %%f PAUSE
J'ai une erreur :
Unable to find driver 'PostgreSQL'.
J'ai cherché des pistes sur les forums mais rien qui n'ai vraiment éclairé ma lanterne...
Hors ligne
#5 Wed 29 March 2017 10:33
- bruhnild
- Participant actif
- Lieu: Lyon
- Date d'inscription: 7 Jun 2014
- Messages: 130
Re: Création fichier .bat à partir de commande OGR
Merci cherbe, pour la tentative de réponse,
Aujourd'hui mon code ressemble à ça:
Code:
@ECHO OFF cd C:\Program Files\PostgreSQL\9.4\bin\ for %%f in (chemin_vers_les_shp\*.shp) do ogr2ogr -lco SCHEMA=temp -f "PostgreSQL" PG:"host=localhost user=postgres password=***** dbname=test" -t_srs EPSG:2154 -nlt PROMOTE_TO_MULTI %%f PAUSE
J'ai une erreur :
Unable to find driver 'PostgreSQL'.
J'ai cherché des pistes sur les forums mais rien qui n'ai vraiment éclairé ma lanterne...
Hors ligne
#6 Wed 29 March 2017 10:40
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1134
Re: Création fichier .bat à partir de commande OGR
Je crois que la version de OGR shippée avec Postgis n'est pas compilée
avec le driver PostgreSQL.
Si vous tenez absolument à utiliser ce driver, vous pouvez soit utiliser une autre
version de GDAL/OGR qui est compilée avec ce driver , en l'installant à part ou
avec OSGEO4W ( que vous possédez déjà si vous avez QGIS d'installé ),
soit utiliser le driver PGDUMP.
les liens pour les installs :
https://trac.osgeo.org/osgeo4w/
http://www.gisinternals.com/release.php
Dernière modification par tumasgiu (Wed 29 March 2017 10:40)
Hors ligne
#7 Wed 29 March 2017 10:59
- bruhnild
- Participant actif
- Lieu: Lyon
- Date d'inscription: 7 Jun 2014
- Messages: 130
Re: Création fichier .bat à partir de commande OGR
Merci pour le coup de pouce! Ca marche à présent en déclarant le chemin vers OSGEO4W (C:\OSGeo4W64)
Hors ligne