Emprise géométrique minimale (Gestion des données)

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

Illustration de l'outil Emprise géométrique minimale

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.

  • Licence :

    Les options Type de géométrie Enveloppe convexe, Cercle et Enveloppe ne sont disponibles qu'avec une licence ArcGIS Desktop Advanced.

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

Syntaxe

arcpy.management.MinimumBoundingGeometry(in_features, out_feature_class, {geometry_type}, {group_option}, {group_field}, {mbg_fields_option})
ParamètreExplicationType 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.

  • RECTANGLE_BY_AREARectangle de la plus petite surface délimitant une entité en entrée. Il s'agit de l'option par défaut.
  • RECTANGLE_BY_WIDTHRectangle de la plus petite largeur délimitant une entité en entrée.
  • CONVEX_HULLPlus petit polygone convexe délimitant une entité en entrée.
  • CIRCLEPlus petit cercle délimitant une entité en entrée.
  • ENVELOPEEnveloppe d'une entité en entrée.
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.

  • NONELes entités en entrée ne seront pas groupées. Il s'agit de l'option par défaut. Cette option n'est pas disponible pour le point en entrée.
  • ALLToutes les entités en entrée seront traitées comme un groupe.
  • LISTLes entités en entrée seront groupées en fonction de leurs valeurs communes dans le champ spécifié ou des champs du paramètre champ de groupe.
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.

  • NO_MBG_FIELDSOmet les attributs en entrée dans la classe d'entités en sortie. Il s'agit de l'option par défaut.
  • MBG_FIELDSAjoute les attributs géométriques dans la classe d'entités en sortie.
Boolean

Exemple de code

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

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")
Exemple 2 d'utilisation de l'outil MinimumBoundingGeometry (script Python autonome)

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

Informations de licence

  • Basic: Limité
  • Standard: Limité
  • Advanced: Oui

Rubriques connexes