Suite

Validation du nom de la classe d'entités dans ArcGIS ModelBuilder ?


J'ai un modèle qui crée des classes d'entités basées sur la valeur d'un attribut (en utilisant Itérer la sélection d'entités). Cela fonctionne bien tant que les valeurs de champ n'ont pas d'espaces, de signes de ponctuation, etc. mais échoue dans le cas contraire.

Je sais dans un script que je peux utiliser arcpy.ValiderNomTable() convertir "C:Big Kalzas !" dans un nom qui peut être enregistré, "C__Big_Kalzas_". Comment faire de même dans un modèle ?

J'ai essayé Calculer la valeur avec une expression aussi simple quearcpy.ValidateTableName("%Nom du champ%")faire la définition et l'appel d'une fonction, mais elle continue d'évaluer à1.


Il s'avère que tout ce qui nécessite une importation doit être encapsulé dans une fonction :

validate("%Field Name%") def validate(s): import arcpy return arcpy.ValidateTableName(s)


Voir la vidéo: ArcGIS Pro Model Builder. ArcGIS Mastery Course (Octobre 2021).