Emprise géométrique minimale (Gestion des données)
Récapitulatif
Crée une classe d'entités contenant des polygones qui représentent une emprise géométrique minimale qui délimite chaque entité en entrée ou un groupe d'entités en entrée.
Illustration
Utilisation
-
Les entités surfaciques en sortie et leurs attributs varient selon le type de géométrie spécifié et les choix de regroupement.
-
Le paramètre Option de groupe de la boîte de dialogue (paramètre group_option dans l'écriture de script) affectera les attributs et les polygones en sortie de la façon suivante :
- Avec NONE, aucune des entités en entrée ne sera groupée. Une entité surfacique en sortie sera créée pour chaque entité en entrée ; les polygones ainsi créés peuvent superposer. Les attributs des entités en entrée seront conservés dans la classe d'entités points en sortie. Un nouveau champ, ORIG_FID, sera ajouté à la classe d'entités en sortie et défini sur les identifiants d'entité en entrée.
- Avec ALL, une entité surfacique en sortie sera créée pour toutes les entités en entrée. Les attributs des entités en entrée ne seront pas conservés dans la classe d'entités en sortie.
- Avec LIST, chaque ensemble d'entités en entrée avec les mêmes valeurs de champ dans le ou les champs de groupe spécifiés sera traité comme un groupe. Une entité surfacique en sortie sera créée pour chaque groupe ; les polygones ainsi créés peuvent superposer. Les attributs des entités en entrée utilisés comme champ de groupe ou champs seront conservés dans la classe d'entités en sortie.
-
Chaque type de géométrie peut être caractérisé par une ou plusieurs mesures uniques ; ces mesures peuvent en outre être ajoutées à la sortie sous forme de nouveaux champs comme décrit ci-dessous. La largeur, la longueur et les valeurs de diamètre sont exprimés dans les unités de l'entité ; les angles d'orientation sont indiqués en degrés décimaux, dans le sens des aiguilles du montre en partant du nord. Le préfixe, MBG_, indique le champ d'emprise géométrique minimale.
- Pour RECTANGLE_BY_AREA et RECTANGLE_BY_WIDTH, les nouveaux champs et mesures sont les suivants :
- MBG_Width – Longueur du plus petit côté du rectangle obtenu.
- MBG_Length – Longueur du plus grand côté du rectangle obtenu.
- MBG_Orientation – Orientation du plus grand côté du rectangle obtenu.
- Pour ENVELOPE, les nouveaux champs et mesures sont les suivants :
- MBG_Width – Longueur du plus petit côté du rectangle obtenu.
- MBG_Length – Longueur du plus grand côté du rectangle obtenu.
- Pour CONVEX_HULL, les nouveaux champs et mesures sont les suivants :
- MBG_Width – Distance la plus courte entre deux sommets de l'enveloppe convexe. (Elle peut se trouver entre plusieurs paires de sommets, mais c'est la première trouvée qui est utilisée.)
- MBG_Length – Distance la plus longue entre deux sommets de l'enveloppe convexe ; ces sommets sont appelés paires antipodes ou points antipodes. (Elle peut se trouver entre plusieurs paires de sommets, mais c'est la première trouvée qui est utilisée.)
- MBG_APodX1 – Coordonnée x du premier point des paires antipodes.
- MBG_APodY1 – Coordonnée y du premier point des paires antipodes.
- MBG_APodX2 – Coordonnée x du second point des paires antipodes.
- MBG_APodY2 – Coordonnée y du second point des paires antipodes.
- MBG_Orientation – Orientation de la ligne imaginaire qui connecte les paires antipodes.
- Pour CIRCLE, le nouveau champ et la nouvelle mesure sont les suivantes :
- MBG_Diameter – Diamètre du cercle obtenu.
- Pour RECTANGLE_BY_AREA et RECTANGLE_BY_WIDTH, les nouveaux champs et mesures sont les suivants :
-
Dans certains cas spéciaux, des entités en entrée provoquent des polygones en sortie non valides (surface nulle). Dans ces cas, une petite valeur dérivée de la Tolérance XY de l'entité en entrée sera utilisée comme largeur, longueur ou diamètre afin de créer des polygones en sortie. Ces polygones servent de paramètres fictifs pour le suivi des entités. Si les polygones obtenus apparaissent comme "invisibles" dans ArcMap en utilisant la largeur du contour du polygone par défaut, optez pour un symbole linéaire de contour plus épais pour les afficher. Ces cas spéciaux sont par exemple :
- Si une entité multi-points contient un seul point ou si un groupe d'entités de ce type sont coïncidentes, un polygone carré très petit sera créé autour du point pour les types de géométrie, RECTANGLE_BY_AREA, RECTANGLE_BY_WIDTH, CONVEX_HULL et ENVELOPE, et un cercle très petit sera créé pour le de type de géométrie CIRCLE. Les valeurs MBG_Width, MBG_Length, MBG_Orientation et MBG_Diameter seront définies sur zéro pour indiquer ces cas.
- Si une entité en entrée ou un groupe d'entités en entrée est parfaitement aligné (une ligne horizontale ou verticale ou une entité multi-points de deux points, par exemple), un polygone rectangle d'une très petite largeur sera créé autour de l'entité. Cela s'applique aux types de géométrie RECTANGLE_BY_AREA, RECTANGLE_BY_WIDTH, CONVEX_HULL et ENVELOPE ; la valeur MBG_Width obtenue sera définie sur zéro pour indiquer ces cas.
Les options de Type de géométrie (geometry_type) CONVEX_HULL, CIRCLE et ENVELOPE ne sont disponibles qu'avec une licence ArcGIS for Desktop Advanced.
Syntaxe
Paramètre | Explication | Type de données |
in_features |
Entités en entrée qui peuvent être ponctuelles, multi-points, linéaires, surfaciques ou multipatch. | Feature Layer |
out_feature_class |
Classe d'entités surfaciques en sortie. | Feature Class |
geometry_type (Facultatif) |
Spécifie le type d'emprise géométrique minimale que les polygones en sortie représenteront.
Licence : Les options CONVEX_HULL, CIRCLE et ENVELOPE ne sont disponibles qu'avec une licence ArcGIS for Desktop Advanced. | String |
group_option (Facultatif) |
Spécifie comment les entités en entrée seront groupées ; chaque groupe sera délimité par un polygone en sortie.
| String |
group_field [group_field,...] (Facultatif) |
Champ(s) dans les entités en entrée qui sera/seront utilisé(s) pour grouper des entités, lorsque LIST est spécifié comme Option de groupe. Au moins un champ de groupe est obligatoire pour l'option LIST. Toutes les entités qui ont la même valeur dans le ou les champs spécifiés seront traités comme un groupe. | Field |
mbg_fields_option (Facultatif) |
Spécifie s'il faut ajouter les attributs géométriques dans la classe d'entités en sortie ou les omettre.
| Boolean |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction MinimumBoundingGeometry en mode immédiat.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.MinimumBoundingGeometry_management("parks.shp",
"c:/output/output.gdb/parks_mbg",
"RECTANGLE_BY_AREA", "NONE")
Le script autonome suivant dessous est un exemple d'application simple de la fonction MinimumBoundingGeometry dans un environnement de scripts.
# Name: MinimumBoundingGeometry.py
# Description: Use MinimumBoundingGeometry function to find an area
# for each multipoint input feature.
# Author: ESRI
# import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Create variables for the input and output feature classes
inFeatures = "treeclusters.shp"
outFeatureClass = "forests.shp"
# Use MinimumBoundingGeometry function to get a convex hull area
# for each cluster of trees which are multipoint features
arcpy.MinimumBoundingGeometry_management(inFeatures, outFeatureClass,
"CONVEX_HULL", "NONE")