Suite

Script de géotraitement ArcGIS - L'appel d'un fichier EXE externe fonctionne dans le bureau - Provoque la fermeture brutale du service GP


J'ai un problème intéressant entre les mains… J'ai un script python générique qui effectue un tas de fonctions de géotraitement en utilisant le module arcgisscripting standard (Oui, je suis toujours à 9.3.1). À un moment donné dans ce script, j'appelle un exe externe. Cet exe externe effectue un traitement raster intensif à l'aide de gdal17.dll. Une fois que le .exe a fait son travail, mon script continue d'effectuer un traitement supplémentaire en utilisant les résultats du .exe - toujours en utilisant les fonctions arcgisscripting.

L'outil fonctionne parfaitement dans un environnement de bureau. Cependant, dès que je le publie en tant que service de géotraitement ArcGIS Server, il se ferme brusquement lors du premier appel de la fonction arcgisscripting APRÈS l'exe basé sur gdal est appelé. Je ne peux pas enregistrer ou piéger une erreur - il s'arrête tout simplement.

Je suis très conscient que le mélange de gdal dans l'environnement de géotraitement d'arcgis est à la recherche de problèmes. Cependant, le portage de la logique à partir de l'exe n'est tout simplement pas une option à ce stade - si c'est même possible. Le fait que le script fonctionne correctement dans l'environnement de bureau me donne une lueur d'espoir qu'il puisse fonctionner dans un service gp.

Toutes les suggestions grandement appréciées.


J'ai pu comprendre mon problème. Avant de décider d'appeler l'exe que j'ai décrit dans mon message d'origine, j'expérimentais python.net. Il y avait quelques vestiges de cette expérimentation - principalement l'import clr et quelques autres dll .net qui n'étaient plus nécessaires avec l'exe. Après avoir supprimé ces lignes de mon script, cela fonctionne bien à la fois comme outil de bureau et comme service de géotraitement.


Voir la vidéo: GIS Tools: ArcMapArcGIS Tool for connecting points (Octobre 2021).