arcpy : obtenir la classe d'entités en tant qu'objet


LMB

Comment créer un objet en python à partir d'une classe d'entités dans une géodatabase ? Je pense que le code suivant créerait un objet featureclass ?

featureclassobject = "C:/path/to/my/featureclass"

Mais cela crée un objet chaîne, n'est-ce pas ? Je ne suis donc pas en mesure de passer cet objet dans une fonction arcpy plus tard.

Erica

Vous avez raison de dire qu'il crée un objet chaîne. Cependant, le fait qu'il fonctionne avec une fonction ArcPy particulière dépend de la fonction -- dans la plupart des cas, l'outil a simplement besoin de connaître le chemin d'accès à la fonction sous forme de chaîne (ce qui featureclassobjectest le cas).

Les pages d'aide sont légèrement inutiles à cet égard. Buffer , par exemple, indique que le paramètre d'entrée in_featuresdoit être du type de données "Feature Layer" - cependant, ce qu'il attend vraiment est une chaîne qui décrit où la couche d'entités peut être trouvée.


Une exception significative à cela concerne les objets géométriques :

Dans de nombreux workflows de géotraitement, vous devrez peut-être exécuter une opération spécifique à l'aide d'informations de coordonnées et de géométrie, mais vous ne souhaitez pas nécessairement passer par le processus de création d'une nouvelle classe d'entités (temporaire), en remplissant la classe d'entités avec des curseurs, à l'aide de la classe d'entités , puis en supprimant la classe d'entités temporaire. Les objets de géométrie peuvent être utilisés à la place pour l'entrée et la sortie afin de faciliter le géotraitement.

Mais si vous avez déjà une classe d'entités (ou un fichier de formes) sur le disque, c'est beaucoup plus simple que de créer un objet géométrique en mémoire avec lequel travailler.

Articles connexes