J'ai plus d'une centaine de couches de données au format shapefile que je souhaite télécharger dans une base de données PostGIS. Ils sont tous dans la même projection, mais représentent différentes couches de données et n'ont donc pas le même schéma.
Quel est le moyen le plus rapide de convertir en masse tous ces fichiers dans ma base de données PostGIS (sous Windows 7)?
UPDATE: L' importation en bloc dans le programme de téléchargement de fichiers de formes PostGIS de pgAdmin3 (comme indiqué ci-dessous) est désormais disponible par défaut avec PostGIS 2.0 .
Réponses:
Si vous souhaitez vous en tenir à une interface graphique, la version la plus récente de pgAdmin contient Shapefile Loader qui peut être utilisé en tant que chargement en bloc.
la source
Si vous avez un ordinateur Windows, vous pouvez utiliser good 'ol
CMD.EXE
avec quelques boucles for ésotériques. Assurez-vous de le faire dans un répertoire "contenu" avec uniquement les fichiers shp / sql que vous devez charger.Première étape, créez les fichiers de chargement SQL (j'ai aussi supposé que vous avez des données WGS84 Lat / Long avec 4326 .. mettez cela à jour dans votre SRS):
Ensuite, vérifiez vos fichiers SQL pour vous assurer qu'ils ont l'air correct, puis faites une boucle similaire:
L'
bash
équivalent pour le folk POSIX (Linux, Mac OS X, etc.) est quelque chose comme:puis
ou les deux parties reliées en une seule boucle, si vous n'avez pas besoin de conserver les
.sql
fichiers intermédiaires :la source
for f in *.shp do shp2pgsql -s 4326 %f public.'basename $f .shp' > 'basename $f .shp'.sql | psql -h myserver -d mydb -U myuser done
>
partie de redirection, car cela casse la|
partie de tuyau), tant que vous êtes sûr que le SQL transmis à psql est correct. Je dirais que ce n'est pas mieux, car il n'y a pas d'enregistrement des données au format SQL.Vous pouvez également utiliser cette commande unique qui facilite beaucoup la mise en boucle et qui n’a pas besoin de créer .sql séparément.
la source
Vous voudrez peut-être aussi regarder SPIT , un plugin de chargeur PostGIS pour QGIS
la source