Quantcast
Channel: Forum SIG - Systèmes d'Information Géographique et Géomatique
Viewing all articles
Browse latest Browse all 8030

[ArcGIS 10.x] python condition if pour ignorer un outil

$
0
0
Je reviens avec une nouvelle question sur la condition IF.
Et oui je cherche à aller toujours plus loin et j'ai du mal^^

Grâce au conseil de Barbapapa dans ce topic je me suis mis à faire un peu de python et mettre des scripts dans mes model builder.

Je cherche maintenant à reprojetter des couches en fonction de leur projection d'origine.
c'est à dire si la projection d'origine est NTF_Lambert_2étendu ou Lambert II je les reprojete sinon je passe à la suite.

Pour cela j'ai fait un script python qui me permet de savoir la projection d'origine j'y mets une condition if de si ca contient II ou tendu (et oui l'accent n'est pas accepter pour faire étendu mais ca marche comme ça) alors renvoie true sinon renvoie false.
mon script s’exécute comme il faut.

J'utilise la donnée en sortie comme pré-condition pour l’exécution de projeter.

Le problème de la pré-condition est que le processus "projeter" s’exécute quand même et c'est à la fin de l’exécution qu'il test la condition.
Cela crée des bug qui interrompt mon model car il m'arrive d'avoir des données en lambert 93 et projection lambert93 vers lambert93 = Erreur.

Je souhaiterais donc réaliser une manipulation pour dire si mon test est faux alors tu recommence l'itération ou alors tu ignores le projeter.
Auriez vous une idée de comment faire?

Pour donner une idée de ce que je fais ci joint le model builder et le script python

import arcpy
import sys
import os

TxtFilePath = arcpy.GetParameterAsText(0)
dsc = arcpy.Describe(TxtFilePath)

if "II" in dsc.spatialReference.Name or "tendu" in dsc.spatialReference.Name:
resu=1
projection=dsc.spatialReference.Name
print projection
else :
resu=0


#Definition du parametre en sortie
arcpy.SetParameterAsText(1, resu)
Images attachées

Viewing all articles
Browse latest Browse all 8030

Trending Articles