Skip To Content

Ajouter des attributs géométriques

Résumé

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.

Utilisation

    Attention :

    Cet outil modifie les données en entrée. Reportez-vous à la rubrique Outils sans sortie pour obtenir plus d'informations, ainsi que des stratégies pour éviter les mouvements de données indésirables.

  • 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 pour déterminer les champs qui sont ajoutés pour chaque propriété de géométrie :

    Propriété de géométrieChamp(s) ajouté(s)

    AREA

    POLY_AREA : surface du polygone.

    AREA_GEODESIC

    AREA_GEO : surface géodésique 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é.

    LENGTH

    LENGTH : longueur de la ligne.

    LENGTH_GEODESIC

    LENGTH_GEO : longueur géodésique 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, où 0 correspond au nord, 90 à l'est, 180 au sud, 270 à l'ouest, et ainsi de suite.

    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 : périmètre ou longueur de la bordure du polygone.

    PERIMETER_LENGTH_GEODESIC

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

    POINT_COUNT

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

    POINT_X_Y_Z_M

    POINT_X : coordonnée x du point.

    POINT_Y : coordonnée y du point.

    POINT_Z : coordonné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 Unité de longueur et Unité de surface.

  • Les champs attributaires que cet outil ajoute sont comme 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 points, multipoints, polylignes, surfaciques et annotations. L'annotation est traitée comme une classe d'entités surfaciques.

Syntaxe

AddGeometryAttributes_management (Input_Features, Geometry_Properties, {Length_Unit}, {Area_Unit}, {Coordinate_System})
ParamètreExplicationType de données
Input_Features

Les nouveaux champs attributaires sont ajoutés aux entités en entrée 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,...]

Détermine les propriétés de géométrie ou de forme qui seront calculées dans les nouveaux champs attributaires.

  • AREAAjoute un attribut pour stocker la surface de chaque entité surfacique.
  • AREA_GEODESICAjoute un attribut pour stocker la surface géodésique de chaque entité surfacique.
  • CENTROIDAjoute des attributs pour stocker les coordonnées du centroïde de chaque entité.
  • CENTROID_INSIDEAjoute des attributs pour stocker les coordonnées d'un point central dans ou sur chaque entité.
  • EXTENTAjoute des attributs pour stocker les coordonnées d'étendue de chaque entité.
  • LENGTHAjoute un attribut pour stocker la longueur de chaque entité linéaire.
  • LENGTH_GEODESICAjoute un attribut pour stocker la longueur géodésique de chaque entité linéaire.
  • LENGTH_3DAjoute un attribut pour stocker la longueur 3D de chaque entité linéaire.
  • LINE_BEARINGAjoute un attribut pour stocker le relèvement du début à la fin de chaque entité linéaire. Les valeurs sont comprises entre 0 et 360, où 0 correspond au nord, 90 à l'est, 180 au sud, 270 à l'ouest, et ainsi de suite.
  • LINE_START_MID_ENDAjoute des attributs pour stocker les coordonnées du point de début, du centre et de l'extrémité de chaque entité.
  • PART_COUNTAjoute un attribut pour stocker le nombre de parties composant chaque entité.
  • PERIMETER_LENGTHAjoute un attribut pour stocker le périmètre ou la longueur de la bordure de chaque entité surfacique.
  • PERIMETER_LENGTH_GEODESICAjoute un attribut pour stocker le périmètre ou la longueur géodésique de la bordure de chaque entité surfacique.
  • POINT_COUNTAjoute un attribut pour stocker le nombre de points ou de sommets composant chaque entité.
  • POINT_X_Y_Z_MAjoute des attributs pour stocker les coordonnées x, y, z et m de chaque entité ponctuelle.
String
Length_Unit
(Facultatif)

Unité de calcul de la longueur.

  • 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)

Unité de calcul de la surface.

  • 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

Exemple de code

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

Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil AddGeometryAttributes.

import arcpy
arcpy.env.workspace = r"C:\data\City.gdb"
arcpy.AddGeometryAttributes_management("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.AddGeometryAttributes_management(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.CreateFishnet_management("fishnet_{0}".format(row[0]),
                    number_rows = 10,
                    number_columns = 10,
                    template = "{0} {1} {2} {3}".format(minX, maxX, minY, maxY),
                    origin_coord = "{0} {1}".format(minX, minY),
                    y_axis_coord = "{0} {1}".format(minX, maxY),
                    corner_coord = "{0} {1}".format(maxX, maxY),
                    geometry_type = "POLYGON",
                    labels = "NO_LABELS")

Informations de licence

  • ArcGIS Desktop Basic: Oui
  • ArcGIS Desktop Standard: Oui
  • ArcGIS Desktop Advanced: Oui

Rubriques connexes