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

Niveau de licence :BasicStandardAdvanced

Récapitulatif

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

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

Unité de calcul de la longueur.

  • FEET_USLongueur en pieds (U.S.)
  • METERSLongueur en mètres
  • KILOMETERSLongueur en kilomètres
  • MILES_USLongueur en milles (U.S.)
  • NAUTICAL_MILESLongueur en milles nautiques (U.S.)
  • YARDSLongueur en yards (U.S.)
String
Area_Unit

Unité de calcul de la surface.

  • ACRESSurface en acres
  • HECTARESSurface en hectares
  • SQUARE_MILES_USSurface en milles carrés (U.S.)
  • SQUARE_KILOMETERSSurface en kilomètres carrés
  • SQUARE_METERSSurface en mètres carrés
  • SQUARE_FEET_USSurface en pieds carrés (U.S.)
  • SQUARE_YARDSSurface en yards carrés (U.S.)
  • SQUARE_NAUTICAL_MILESSurface en milles nautiques carrés (U.S.)
String
Coordinate_System

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

Environnements

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Oui
ArcGIS for Desktop Standard: Oui
ArcGIS for Desktop Advanced: Oui
6/5/2014