Message posté par : Gonzo (adrien123456789(a)yahoo.fr)
----------------------------------------
Bonjour,
Pour ceux que ça intéresse, j'ai trouvé la solution via python.
Bonne journée à tous !
import arcpy
import os
# Chemin vers le répertoire racine contenant les données BDTOPO classées par département
bdtopo_root_dir = r"E:\IGN TEST\BD_TOPO_IGN_2023_DEPARTEMENTS_FRANCE"
# Chemin vers le répertoire où les géodatabases par département seront créées
output_gdb_dir = r"E:\IGN TEST\GDB"
# Crée le répertoire de sortie s'il n'existe pas déjà
if not os.path.exists(output_gdb_dir):
os.makedirs(output_gdb_dir)
# Liste des départements (ajustez selon vos besoins)
departements = ["90", "91"] # Ajoutez tous les numéros de département
nécessaires (exemple sur deux départements)
# Fonction pour créer une géodatabase et y importer les données
def create_gdb_for_departement(departement):
# Chemin vers les données du département actuel
dept_dir = os.path.join(bdtopo_root_dir,
f"BDTOPO_3-3_TOUSTHEMES_SHP_LAMB93_D0{departement}_2023-09-15")
# Vérifie si le répertoire du département existe
if not os.path.exists(dept_dir):
print(f"Le répertoire pour le département {departement} n'existe pas.
Passer au suivant.")
return
# Nom de la géodatabase
gdb_name = f"BDTOPO_{departement}.gdb"
gdb_path = os.path.join(output_gdb_dir, gdb_name)
# Crée la géodatabase si elle n'existe pas déjà
if not arcpy.Exists(gdb_path):
arcpy.CreateFileGDB_management(output_gdb_dir, gdb_name)
print(f"Géodatabase créée pour le département {departement}:
{gdb_path}")
else:
print(f"Géodatabase existe déjà pour le département {departement}:
{gdb_path}")
# Parcours tous les fichiers dans le répertoire du département
for root, dirs, files in os.walk(dept_dir):
for file in files:
if file.endswith(".shp"): # Modifier l'extension selon le
format des fichiers BDTOPO
shp_path = os.path.join(root, file)
feature_class_name = os.path.splitext(file)[0]
arcpy.FeatureClassToGeodatabase_conversion(shp_path, gdb_path)
print(f"Fichier {file} importé dans la géodatabase {gdb_name}")
# Boucle sur tous les départements pour créer les géodatabases
for dept in departements:
create_gdb_for_departement(dept)
print("Traitement terminé.")
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=367733#p367733
Pour y répondre : esri_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