Résumé
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 (paramètre group_option dans Python) affecte les attributs et les polygones en sortie de la façon suivante :
- Avec Aucun, 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 Tout, 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 Liste, 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 de la géométrie d'emprise minimale.
- Pour Rectangle par surface et Rectangle par largeur, les nouveaux champs et mesures sont les suivants :
- MBG_Width : longueur du plus petit côté du rectangle obtenu.
- MBG_Length : longueur du plus long côté du rectangle obtenu.
- MBG_Orientation : orientation du plus grand côté du rectangle obtenu.
- Pour Enveloppe, les nouveaux champs et mesures sont les suivants :
- MBG_Width : longueur du plus petit côté du rectangle obtenu.
- MBG_Length : longueur du plus long côté du rectangle obtenu.
- Pour Enveloppe convexe, 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 Cercle, le nouveau champ et la nouvelle mesure sont les suivants :
- MBG_Diameter : diamètre du cercle obtenu.
- Pour Rectangle par surface et Rectangle par largeur, 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 par surface, Rectangle par largeur, Enveloppe convexe et Enveloppe, et un cercle très petit sera créé pour le type de géométrie Cercle. 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 par surface, Rectangle par largeur, Enveloppe convexe et Enveloppe. La valeur MBG_Width obtenue sera définie sur zéro pour indiquer ces cas.
Licence :
Les options Type de géométrie Enveloppe convexe, Cercle et Enveloppe ne sont disponibles qu'avec une licence ArcGIS Desktop Advanced.
Syntaxe
arcpy.management.MinimumBoundingGeometry(in_features, out_feature_class, {geometry_type}, {group_option}, {group_field}, {mbg_fields_option})
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 Enveloppe convexe, Cercle et Enveloppe ne sont disponibles qu'avec la licence ArcGIS 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 group_option. 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.
# 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")
Environnements
Informations de licence
- Basic: Limité
- Standard: Limité
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?