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

Printemps des cartes 2024

#1 Thu 28 September 2017 16:45

n.roelandt
Juste Inscrit !
Lieu: Champ Sur Marne
Date d'inscription: 10 Jul 2013
Messages: 7

[arcpy] Générer un mxd intégrant les rasters contenus dans un dossier

Bonjour,

Je suis en train d’écrire un script python me permettant de créer un mxd intégrant tous les raster au format jp2 présents dans un dossier.
En effet, je dispose d’un dossier contenant 552 fichiers rasters au format jp2 de 92 Mo chacun, soit un total de près de 50 Go.

Avec Arcmap, la manipulation est très longue et nécessite plusieurs heures pour charger les fichiers et générer le mxd. Cela peut être intéressant de l'automatiser.

Ce mxd servira par la suite à créer un service sur un arcGIS server.


Pour les 200 premiers rasters, le script met environ 1,5 s à intégrer un raster.

Mais vers 280 rasters, le script s’emballe et intègre les raster en 0.07s ce qui me fait penser que l’intégration ne se fait plus correctement.
Vers le raster 350, le script renvoi l’erreur suivante pour tous les rasters restant à charger :

Code:

Make Raster Layer example failed on 95-2014-0665-6895-LA93-0M20-E080.jp2
Executing: MakeRasterLayer D:\OHR_RVB_0M20_JP2-E080_LAMB93_IDF\95-2014-0665-6895-LA93-0M20-E080.jp2 95-2014-0665-6895-LA93-0M20-E080.jp2 # # #
Start Time: Thu Sep 28 16:06:42 2017
ERROR 999999: Error executing function

Pourriez-vous m’aider à comprendre cette erreur ?
Débutant avec arcpy, j’ai peut-être aussi mal utilisé une fonction. Pourriez-vous regarder mon code et vérifier cela ?


lien vers le code (valable 1 an) :

https://framabin.org/?b82094f323505db1# … cGDjPLQBo=

J’ai essayé de découper le bloc en plusieurs éléments (0-100, 100-200, 200-300, 0 -300, 300-552), sans avoir d’erreurs. Je ne pense donc pas que cela provienne des fichiers.


Informations complémentaires :
Arcmap 10.5.1
Windows 10 64bit
Intel core i5
16 go de ram


Merci par avance ,

Nicolas Roelandt

Hors ligne

 

#2 Fri 29 September 2017 15:20

gvellut
Participant actif
Lieu: Annecy
Date d'inscription: 13 Apr 2006
Messages: 112
Site web

Re: [arcpy] Générer un mxd intégrant les rasters contenus dans un dossier

Dans ta fonction, tu utilises :

Code:

result = arcpy.MakeRasterLayer_management(raster, rasterName)
result.getOutput(0)

pour créer le layer. Mais il me semble que ce n'est utile que si tu as besoin de créer une couche temporaire avec laquelle travailler.

Je crois que dans ton cas, tu peux faire directement :

Code:

layer = arcpy.mapping.Layer("chemin vers ton raster.jp2")
layer.name=....
arcpy.mapping.AddLayer(df, layer, "AUTO_ARRANGE")

Peut-être que ça changera qqchose ?

Hors ligne

 

#3 Fri 29 September 2017 17:04

n.roelandt
Juste Inscrit !
Lieu: Champ Sur Marne
Date d'inscription: 10 Jul 2013
Messages: 7

Re: [arcpy] Générer un mxd intégrant les rasters contenus dans un dossier

Bonjour,

Merci pour votre réponse.

J'ai testé avec votre technique qui ne fonctionne pas mieux malheureusement.
Cela permettra peut-être d'améliorer les performances si j'arrive à le faire fonctionner.

J'attends un autre jeu de données pour tester, le problème pouvant aussi venir de la qualité des données.

Merci

Nicolas

Hors ligne

 

Pied de page des forums

Powered by FluxBB