Ajouter des attributs géométriques (Gestion des données)

Synthèse

Ajoute des champs attributaires aux entités en entrée représentant les caractéristiques spatiales ou géométriques ainsi que l'emplacement de chaque entité, tels que la longueur ou la surface et les coordonnées x, y, z et m.

Héritage :

Cet outil est obsolète. Cette fonctionnalité a été remplacée par l’outil Calculer des attributs géométriques.

Utilisation

  • Un ou plusieurs champs attributaires sont ajoutés aux entités en entrée selon les options spécifiées dans le paramètre Propriétés de géométrie. Si les champs existent déjà dans les entités en entrée, les valeurs qu’ils contiennent sont remplacées. Reportez-vous au tableau suivant afin de déterminer les champs ajoutés pour chaque propriété de géométrie :

    Propriété de géométrieChamp ajouté

    SURFACE

    POLY_AREA: surface du polygone.

    AREA_GEODESIC

    AREA_GEO: surface géodésique de préservation de la forme du polygone.

    CENTROID

    CENTROID_X: coordonnée x du centroïde.

    CENTROID_Y: coordonnée y du centroïde.

    CENTROID_Z: coordonnée z du centroïde. Ce champ est ajouté uniquement si les entités en entrée prennent en charge les valeurs z.

    CENTROID_M: coordonnée m du centroïde. Ce champ est ajouté uniquement si les entités en entrée prennent en charge les valeurs m.

    CENTROID_INSIDE

    INSIDE_X: coordonnée x d'un point central dans ou sur l'entité en entrée.

    INSIDE_Y: coordonnée y d'un point central dans ou sur l'entité en entrée.

    INSIDE_Z: coordonnée z d'un point central dans ou sur l'entité en entrée. Ce champ est ajouté uniquement si les entités en entrée prennent en charge les valeurs z.

    INSIDE_M: coordonnée m d'un point central dans ou sur l'entité en entrée. Ce champ est ajouté uniquement si les entités en entrée prennent en charge les valeurs m.

    EXTENT

    EXT_MIN_X: coordonnée x minimale de l'entité.

    EXT_MIN_Y: coordonnée y minimale de l'entité.

    EXT_MAX_X: coordonnée x maximale de l'entité.

    EXT_MAX_Y: coordonnée y maximale de l'entité.

    LONGUEUR

    LENGTH: longueur de la ligne.

    LENGTH_GEODESIC

    LENGTH_GEO: longueur géodésique de préservation de la forme de la ligne.

    LENGTH_3D

    LENGTH_3D: longueur 3D de la ligne.

    LINE_BEARING

    BEARING: relèvement du début à la fin de la ligne. Les valeurs sont comprises entre 0 et 360, 0 correspondant au Nord, 90 à l'Est, 180 au Sud et 270 à l'Ouest.

    LINE_START_MID_END

    START_X: coordonnée x du premier point de la ligne ou de la bordure du polygone.

    START_Y: coordonnée y du premier point de la ligne ou de la bordure du polygone.

    START_Z: coordonnée z du premier point de la ligne ou de la bordure du polygone. Ce champ est ajouté uniquement si les entités en entrée prennent en charge les valeurs z.

    START_M: coordonnée m du premier point de la ligne ou de la bordure du polygone. Ce champ est ajouté uniquement si les entités en entrée prennent en charge les valeurs m.

    MID_X: coordonnée x du point situé au milieu de la ligne ou de la bordure du polygone.

    MID_Y: coordonnée y du point situé au milieu de la ligne ou de la bordure du polygone.

    MID_Z: coordonnée z du point situé au milieu de la ligne ou de la bordure du polygone. Ce champ est ajouté uniquement si les entités en entrée prennent en charge les valeurs z.

    MID_M: coordonnée m du point situé au milieu de la ligne ou de la bordure du polygone. Ce champ est ajouté uniquement si les entités en entrée prennent en charge les valeurs m.

    END_X: coordonnée x du dernier point de la ligne ou de la bordure du polygone.

    END_Y: coordonnée y du dernier point de la ligne ou de la bordure du polygone.

    END_Z: coordonnée z du dernier point de la ligne ou de la bordure du polygone. Ce champ est ajouté uniquement si les entités en entrée prennent en charge les valeurs z.

    END_M: coordonnée m du dernier point de la ligne ou de la bordure du polygone. Ce champ est ajouté uniquement si les entités en entrée prennent en charge les valeurs m.

    PART_COUNT

    PART_COUNT: nombre de parties qui composent l'entité.

    PERIMETER_LENGTH

    PERIMETER : longueur du périmètre ou de la bordure du polygone.

    PERIMETER_LENGTH_GEODESIC

    PERIM_GEO : longueur géodésique de préservation de la forme de la bordure ou du périmètre du polygone.

    POINT_COUNT

    PNT_COUNT : nombre de points qui composent l'entité.

    POINT_X_Y_Z_M

    POINT_XCoordonnée x du point.

    POINT_YCoordonnée y du point.

    POINT_ZCoordonnée z du point. Ce champ est ajouté uniquement si les entités en entrée prennent en charge les valeurs z.

    POINT_M : coordonnée m du point. Ce champ est ajouté uniquement si les entités en entrée prennent en charge les valeurs m.

  • Les calculs de longueur et de surface sont exprimés dans les unités du système de coordonnées spécifié, sauf si vous sélectionnez des unités différentes dans les paramètres Length Unit (Unité de longueur) et Area Unit (Unité de surface).

  • Les champs attributaires ajoutés par cet outil sont similaires à ceux que vous pouvez ajouter à une couche d'entités. Vous pouvez remplacer les valeurs de champ, ou supprimer ou renommer les champs. Les valeurs de ces champs ne sont pas automatiquement recalculées une fois les mises à jour terminées. Si vous modifiez les entités, vous devez à nouveau exécuter cet outil pour mettre à jour les valeurs de champ.

  • Si les entités en entrée comportent une sélection, seules les valeurs des entités sélectionnées sont calculées dans les champs ajoutés ; toutes les autres entités sont nulles.

  • Cet outil fonctionne avec les classes d’entités ponctuelles, multipoints, polylignes, surfaciques et annotations. L'annotation est traitée comme une classe d'entités surfaciques.

Paramètres

ÉtiquetteExplicationType de données
Entités en entrée

Entités en entrée auxquelles les nouveaux champs attributaires sont ajoutés pour stocker les propriétés, telles que la longueur, la surface ou les coordonnées x, y, z et m.

Feature Layer
Propriétés de géométrie

Spécifie les propriétés de géométrie ou de forme à calculer dans les nouveaux champs attributaires.

  • SurfaceUn attribut est ajouté pour stocker la surface de chaque entité surfacique.
  • Surface géodésiqueUn attribut est ajouté pour stocker la surface géodésique de préservation de la forme de chaque entité surfacique.
  • Coordonnées du centroïdeDes attributs sont ajoutés pour stocker les coordonnées du centroïde de chaque entité.
  • Coordonnées du point centralDes attributs sont ajoutés pour stocker les coordonnées d'un point central dans ou sur chaque entité.
  • Coordonnées de l'étendueDes attributs sont ajoutés pour stocker les coordonnées d'étendue de chaque entité.
  • LongueurUn attribut est ajouté pour stocker la longueur de chaque entité linéaire.
  • Longueur géodésiqueUn attribut est ajouté pour stocker la longueur géodésique de préservation de la forme de chaque entité linéaire.
  • Longueur 3DUn attribut est ajouté pour stocker la longueur 3D de chaque entité linéaire.
  • Relèvement de ligneUn attribut est ajouté pour stocker le relèvement du début à la fin de chaque entité linéaire. Les valeurs sont comprises entre 0 et 360, 0 correspondant au Nord, 90 à l'Est, 180 au Sud et 270 à l'Ouest.
  • Coordonnées de début, milieu et fin de ligneDes attributs sont ajoutés pour stocker les coordonnées du point de début, du centre et de l'extrémité de chaque entité.
  • Nombre de partiesUn attribut est ajouté pour stocker le nombre de parties composant chaque entité.
  • Longueur du périmètreUn attribut est ajouté pour stocker la longueur du périmètre ou de la bordure de chaque entité surfacique.
  • Longueur géodésique du périmètreUn attribut est ajouté pour stocker la longueur géodésique de préservation de la forme du périmètre ou de la bordure de chaque entité surfacique.
  • Nombre de sommetsUn attribut est ajouté pour stocker le nombre de points ou de sommets composant chaque entité.
  • Coordonnées x, y, z et m du pointDes attributs sont ajoutés pour stocker les coordonnées x, y, z et m de chaque entité ponctuelle.
String
Unité de longueur
(Facultatif)

Spécifie l'unité dans laquelle les longueurs sont calculées.

  • Pieds (Etats-Unis)Longueur en pieds (Etats-Unis)
  • MètresLongueur en mètres
  • KilomètresLongueur en kilomètres
  • Miles (Etats-Unis)Longueur en miles (Etats-Unis)
  • Miles nautiques (Etats-Unis)Longueur en miles nautiques (Etats-Unis)
  • Yards (Etats-Unis)Longueur en yards (Etats-Unis)
String
Unité de surface
(Facultatif)

Spécifie l'unité dans laquelle la surface est calculée.

  • AcresSurface en acres
  • HectaresSurface en hectares
  • Miles carrés (Etats-Unis)Surface en miles carrés (Etats-Unis)
  • Kilomètres carrésSurface en kilomètres carrés
  • Mètres carrésSurface en mètres carrés
  • Pieds carrés (Etats-Unis)Surface en pieds carrés (Etats-Unis)
  • Yards carrés (Etats-Unis)Surface en yards carrés (Etats-Unis)
  • Miles nautiques carrés (Etats-Unis)Surface en miles nautiques carrés (Etats-Unis)
String
Système de coordonnées
(Facultatif)

Système de coordonnées dans lequel sont calculées les coordonnées, la longueur et la surface. Le système de coordonnées des entités en entrée est utilisé par défaut.

Coordinate System

Sortie obtenue

ÉtiquetteExplicationType de données
Entités en entrée modifiées

Entités en entrée mises à jour.

Feature Layer

arcpy.management.AddGeometryAttributes(Input_Features, Geometry_Properties, {Length_Unit}, {Area_Unit}, {Coordinate_System})
NomExplicationType de données
Input_Features

Entités en entrée auxquelles les nouveaux champs attributaires sont ajoutés pour stocker les propriétés, telles que la longueur, la surface ou les coordonnées x, y, z et m.

Feature Layer
Geometry_Properties
[Geometry_Properties,...]

Spécifie les propriétés de géométrie ou de forme à calculer dans les nouveaux champs attributaires.

  • AREAUn attribut est ajouté pour stocker la surface de chaque entité surfacique.
  • AREA_GEODESICUn attribut est ajouté pour stocker la surface géodésique de préservation de la forme de chaque entité surfacique.
  • CENTROIDDes attributs sont ajoutés pour stocker les coordonnées du centroïde de chaque entité.
  • CENTROID_INSIDEDes attributs sont ajoutés pour stocker les coordonnées d'un point central dans ou sur chaque entité.
  • EXTENTDes attributs sont ajoutés pour stocker les coordonnées d'étendue de chaque entité.
  • LENGTHUn attribut est ajouté pour stocker la longueur de chaque entité linéaire.
  • LENGTH_GEODESICUn attribut est ajouté pour stocker la longueur géodésique de préservation de la forme de chaque entité linéaire.
  • LENGTH_3DUn attribut est ajouté pour stocker la longueur 3D de chaque entité linéaire.
  • LINE_BEARINGUn attribut est ajouté pour stocker le relèvement du début à la fin de chaque entité linéaire. Les valeurs sont comprises entre 0 et 360, 0 correspondant au Nord, 90 à l'Est, 180 au Sud et 270 à l'Ouest.
  • LINE_START_MID_ENDDes attributs sont ajoutés pour stocker les coordonnées du point de début, du centre et de l'extrémité de chaque entité.
  • PART_COUNTUn attribut est ajouté pour stocker le nombre de parties composant chaque entité.
  • PERIMETER_LENGTHUn attribut est ajouté pour stocker la longueur du périmètre ou de la bordure de chaque entité surfacique.
  • PERIMETER_LENGTH_GEODESICUn attribut est ajouté pour stocker la longueur géodésique de préservation de la forme du périmètre ou de la bordure de chaque entité surfacique.
  • POINT_COUNTUn attribut est ajouté pour stocker le nombre de points ou de sommets composant chaque entité.
  • POINT_X_Y_Z_MDes attributs sont ajoutés pour stocker les coordonnées x, y, z et m de chaque entité ponctuelle.
String
Length_Unit
(Facultatif)

Spécifie l'unité dans laquelle les longueurs sont calculées.

  • FEET_USLongueur en pieds (Etats-Unis)
  • METERSLongueur en mètres
  • KILOMETERSLongueur en kilomètres
  • MILES_USLongueur en miles (Etats-Unis)
  • NAUTICAL_MILESLongueur en miles nautiques (Etats-Unis)
  • YARDSLongueur en yards (Etats-Unis)
String
Area_Unit
(Facultatif)

Spécifie l'unité dans laquelle la surface est calculée.

  • ACRESSurface en acres
  • HECTARESSurface en hectares
  • SQUARE_MILES_USSurface en miles carrés (Etats-Unis)
  • SQUARE_KILOMETERSSurface en kilomètres carrés
  • SQUARE_METERSSurface en mètres carrés
  • SQUARE_FEET_USSurface en pieds carrés (Etats-Unis)
  • SQUARE_YARDSSurface en yards carrés (Etats-Unis)
  • SQUARE_NAUTICAL_MILESSurface en miles nautiques carrés (Etats-Unis)
String
Coordinate_System
(Facultatif)

Système de coordonnées dans lequel sont calculées les coordonnées, la longueur et la surface. Le système de coordonnées des entités en entrée est utilisé par défaut.

Coordinate System

Sortie obtenue

NomExplicationType de données
Modified_Input_Features

Entités en entrée mises à jour.

Feature Layer

Exemple de code

Exemple d'utilisation de l'outil AddGeometryAttributes (fenêtre Python)

Le script suivant pour la fenêtre Python illustre l’utilisation de la fonction AddGeometryAttributes.

import arcpy
arcpy.env.workspace = r"C:\data\City.gdb"
arcpy.management.AddGeometryAttributes("roads", "LENGTH;LINE_START_MID_END")
Exemple d'utilisation de l'outil AddGeometryAttributes (script autonome)

Calculez le rectangle d'emprise de chaque entité linéaire et générez une grille de 10 x 10 dans cette emprise.

# Name: GridCreation.py

# import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = r"C:\data\City.gdb"
arcpy.env.outputCoordinateSystem = arcpy.Describe("roads").spatialReference

# Set local variables
in_features = "roads"
properties = "EXTENT"
length_unit = ""
area_unit = ""
coordinate_system = ""

# Generate the extent coordinates using Add Geometry Properties tool
arcpy.management.AddGeometryAttributes(in_features, properties, length_unit,
                                       area_unit, coordinate_system)

# Use Search Cursor to walk through each feature and generate grids
with arcpy.da.SearchCursor(in_features, ["OID@", "EXT_MIN_X", "EXT_MIN_Y",
                                         "EXT_MAX_X", "EXT_MAX_Y"]) as sCur:
    for row in sCur:
        minX, minY, maxX, maxY = row[1], row[2], row[3], row[4]
        arcpy.management.CreateFishnet("fishnet_{0}".format(row[0]),
                    number_rows = 10,
                    number_columns = 10,
                    template = "{} {} {} {}".format(minX, maxX, minY, maxY),
                    origin_coord = "{} {}".format(minX, minY),
                    y_axis_coord = "{} {}".format(minX, maxY),
                    corner_coord = "{} {}".format(maxX, maxY),
                    geometry_type = "POLYGON",
                    labels = "NO_LABELS")