Utilisation de la géométrie dans Python
Toutes les classes d'entités simples nécessitent un champ de géométrie, généralement nommé Shape (mais pas toujours). La fonction Describe permet de récupérer le nom du champ de géométrie d'une classe d'entités, à l'aide de la propriété shapeFieldName. La valeur du champ de géométrie est un objet géométrie, qui dispose de plusieurs propriétés décrivant l'entité. L'exemple ci-dessous montre comment créer un objet géométrie pour chaque entité linéaire d'une classe d'entités et calculer leur longueur :
import arcpy inFeatures = "d:/base/data.gdb/roads" # Create search cursor # rows = arcpy.SearchCursor(inFeatures) # Calculate the total length of all roads # length = 0 shapeName = arcpy.Describe(inFeatures).shapeFieldName # For each row, tally the length of the feature # for row in rows: feat = row.getValue(shapeName) length += feat.length # Print the total length of all roads # print length
Propriété |
Explication |
---|---|
area |
Surface pour un polygone ; vide pour tous les autres types d'entité. |
centroid |
Centroïde réel s'il se trouve dans ou sur l'entité ; dans le cas contraire, le point d'étiquette est retourné (revoie un objet point). |
extent |
Renvoie un objet d'étendue. |
firstPoint |
Première coordonnée de l'entité ; renvoie un objet point. |
hullRectangle |
Paires de coordonnées du rectangle d'enveloppe convexe. |
isMultipart |
True, si le nombre de parties pour cette géométrie est supérieur à un. |
labelPoint |
Point d'emplacement de l'étiquette ; renvoie un objet point (le point labelPoint figure toujours dans ou sur une entité). |
lastPoint |
Dernière coordonnée de l'entité ; renvoie un objet point. |
length |
Longueur de l'entité linéaire ; vide pour les types d'entité point ou multi-points. |
partCount |
Nombre de parties de géométrie de l'entité. |
pointCount |
Nombre d'objets point pour la partie de géométrie courante. |
trueCentroid |
Centre de gravité pour une entité ; renvoie un objet point. |
type |
Polygone, polyligne, point, multi-points, multipatch, dimension, annotation. |
Méthode |
Explication |
---|---|
getPart({index}) |
Retourne un tableau d'objets point pour une partie particulière de géométrie ou un tableau contenant plusieurs tableaux, un pour chaque partie. |