Pages: 1
- Sujet précédent - [arcpy] Générer un mxd intégrant les rasters contenus dans un dossier - Sujet suivant
#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
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
Pages: 1
- Sujet précédent - [arcpy] Générer un mxd intégrant les rasters contenus dans un dossier - Sujet suivant