Disponible avec une licence Advanced.
Résumé
Crée une classe d'entités contenant des polygones générée à partir de surfaces délimitées par des entités surfaciques or linéaires en entrée.
Illustration
Utilisation
Lorsqu’une ou plusieurs entités en entrée forment une zone fermée, une nouvelle entité surfacique est créée et saisie vers la classe d’entités en sortie. Les attributs en sortie changent selon l’option Preserve attributes (Conserver les attributs) de la boîte de dialogue (le paramètre attributes du script) et l’option Label Features (Étiqueter les étiquettes) de la boîte de dialogue (le paramètre label_features dans l’écriture du script).
Lorsque plusieurs couches ou classes d'entités sont spécifiées dans la liste des entités en entrée, l'ordre des entrées dans la liste n'affecte pas le type d'entité en sortie, mais la référence spatiale de l'entrée supérieure de la boîte de dialogue de l'outil (première entrée dans l'écriture de script) dans la liste sera utilisée au cours du traitement et définie sur la sortie.
Les (vraies) courbes paramétriques des entités en entrée resteront de vraies courbes dans les polygones en sortie, même si elles sont fractionnées. Cela ne s'applique pas aux données des fichiers de formes.
Remarque :
Le paramètre Preserve attributes (Conserver les attributs) (paramètre attributes de l’écriture du script) ne fonctionne pas et ne doit pas être utilisé. Il ne sera pas supprimé pour la rétrocompatibilité des scripts ou des modèles. La structure attributaire en sortie et les valeurs de champ de certaines combinaisons en entrée peuvent être produites comme décrit ci-après, pour la plupart de façon involontaire.
Si l’option Preserve attributes (Conserver les attributs) de la boîte de dialogue est cochée (le paramètre attributes est défini sur ATTRIBUTES à l’écriture du script), le schéma des attributs en sortie et les valeurs des champs diffèrent selon que les entités d’étiquette (points) sont fournies comme suit :
- Si l’option Label Features (Étiqueter les entités) n’est pas renseignée, la structure d’attribut (noms et propriétés du champ, et non les valeurs de champ) de chaque entrée est conservée dans la sortie dans l’ordre d’apparition dans la liste en entrée. Un nouveau champ, FID_xxx, où xxx est le nom de la classe d’entités source d’une entrée en entrée particulière, est ajouté à la sortie pour chaque entrée saisie et défini sur la valeur -1. Tous les autres champs ont des valeurs égales à zéro ou Null.
- Si l’option Label Features (Étiqueter les entités) est renseignée, aucune des structures d’attribut en entrée n’est conservée dans la classe d’entités en sortie ; seuls les attributs des entités d’étiquette sont inclus dans la classe d’entités en sortie. Si un polygone en sortie contient une entité d'étiquette, il aura des valeurs de champ de cette entité d'étiquette ; Si un polygone en sortie contient plusieurs entités d'étiquette, il aura des valeurs de champ de l'un d'eux ; sinon, il aura des valeurs de champ égales à zéro ou nulles.
Si l’option Preserve attributes (Conserver les attributs) de la boîte de dialogue est décochée (le paramètre attributes est défini sur NO_ATTRIBUTES à l’écriture du script), les structures d’attribut en entrée sont écris en sortie, mais les valeurs d’attribut restent vides. Si vous ne souhaitez pas d’attribut sur la classe d’entités surfaciques en sortie, indiquez une classe d’entités points sans attribut pour le paramètre Label Features (Étiqueter les entités).
Lorsque les entités surfaciques en entrée sont réparties en plus petites entités surfaciques en sortie, l’outil Identity (Identité) peut être utilisé pour transférer les attributs à partir des entités surfaciques en entrée vers les entités surfaciques obtenues.
Cet outil utilise un processus de tuilage pour la gestion des jeux de données très volumineux afin d'améliorer les performances et l'évolutivité. Pour plus de détails, reportez-vous à la rubrique Géotraitement sur jeux de données volumineux.
Syntaxe
arcpy.management.FeatureToPolygon(in_features, out_feature_class, {cluster_tolerance}, {attributes}, {label_features})
Paramètre | Explication | Type de données |
in_features [in_features,...] | Entités en entrée qui peuvent être des lignes, des polygones, ou les deux. | Feature Layer |
out_feature_class | Classe d'entités surfaciques en sortie. | Feature Class |
cluster_tolerance (Facultatif) | La distance minimale séparant toutes les coordonnées d'entité, ainsi que la distance de déplacement possible d'une coordonnée sur X ou Y (ou les deux) au cours du calcul spatial. La tolérance XY par défaut est de 0,001 mètre ou son équivalent dans les unités d'entité. Attention :Modifier la valeur de ce paramètre peut provoquer des erreurs ou des résultats inattendus. Il est recommandé de ne pas modifier ce paramètre. Ce paramètre n’est plus affiché dans la boîte de dialogue de l’outil. Par défaut, la propriété tolérance x,y de référence spatiale de la classe d'entités en entrée est utilisée. | Linear Unit |
attributes (Facultatif) | Héritage :Ce paramètre n’est plus pris en charge. | Boolean |
label_features (Facultatif) | Entités ponctuelles en entrée facultatives qui comprennent les attributs à transférer vers les entités surfaciques en sortie. | Feature Layer |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction FeatureToPolygon en mode immédiat.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.FeatureToPolygon_management(["mainroads.shp","streets.shp"],
"c:/output/output.gdb/streetblocks",
"", "NO_ATTRIBUTES")
Le script autonome suivant est un exemple simple de la fonction FeatureToPolygon dans un environnement de scripts.
# Name: FeatureToPolygon_Example2.py
# Description: Use FeatureToPolygon function to construct habitat areas
# from park boundaries and rivers.
# import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data/parks_analysis.gdb"
# Set local parameters
inFeatures = ["park_boundaries", "rivers"]
outFeatureClass = "c:/output/output.gdb/habitat_areas"
clusTol = "0.05 Meters"
# Use the FeatureToPolygon function to form new areas
arcpy.FeatureToPolygon_management(inFeatures, outFeatureClass, clusTol,
"NO_ATTRIBUTES")
Environnements
Informations de licence
- Basic: Non
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?