Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#1 Mon 21 September 2020 08:28

Laurence Lauvier
Participant occasionnel
Date d'inscription: 11 Jan 2012
Messages: 15

ArcGIS Pro 2.4 : traitement en parallèle

Bonjour à tous,


Je souhaiterais réaliser des traitements en parallèle sur les différents processeurs de mon pc grâce à à un script python afin de diminuer les temps de traitement. J'utilise pour se faire: futures.ProcessPoolExecutor avec un paramètre pour le nombre de processus=7. La base de départ est de taille importante (plusieurs millions de lignes qui nécessiteraient selon les critères de sélection 10 processus) aussi je commence par une sélection avec MakeFeatureLayer(base, nouvelle_base,selection). J'exporte ensuite cette sélection dans une géodatabase que je crée pour chaque processus dans un dossier lui aussi créé automatiquement comme suit:
   
    job_id = uuid.uuid4().hex
   
    job_folder = os.path.join(main_folder, job_id)
    pid = os.getpid()
    os.mkdir(job_folder)
    #global job_result
    #job_result={"jobId":job_id,"jobFolder":job_folder,"solveSucceeded":False,"solveMessages":"","outputLines":"","outputLayerFile":""}
    job_result={"jobId":job_id,"jobFolder":job_folder,"solveSucceeded":False,"outputLines":""}
   
    result = DM.CreateFileGDB(job_folder, "scratch")

Le dossier se crée correctement, la géodatabase aussi. Ma sélection est effectuée correctement et l'enregistrement de la base dans la gdb se fait correctement également pour les 7 premiers processus (le nombre de processus disponibles sur mon pc). Le problème survient pour les 3 traitements suivants: le dossier est bien créé, la gdb aussi. Lors de l'export de ma base, j'ai le code d'erreur suivant 000725 à savoir que la base existe déjà. J'ai modifié mes chemins pour que cela apparaisse plus clairement pour être sûre qu'il n'y ait pas de confusion (entre la gdb que je crée et celle qui contient la base d'origine) mais l'erreur persiste et je ne comprends pas pourquoi.

L'un d'entre vous pourrait-il me venir en aide svp, je ne suis pas experte en python, je découvre seulement le parallel geoprocessing et je suis totalement dans l'impasse.

D'avance merci,

Bonne journée

Laurence


.

Hors ligne

 

Pied de page des forums

Powered by FluxBB