Étiquette | Explication | Type de données |
Input Features (Entités en entrée) | La couche ou la classe d’entités en entrée à partir de laquelle la nouvelle couche est générée. Les classes d’entités complexes telles que les annotations et les dimensions ne sont pas des entrées valides. | Feature Layer |
Couche en sortie | Nom de la couche d'entités à créer. La couche peut être utilisée comme entrée de tout outil de géotraitement acceptant une couche d’entités comme entrée. | Feature Layer |
Expression (Facultatif) | Expression SQL permettant de sélectionner un sous-ensemble d’entités. Si l’entrée est une couche avec un ensemble de définition existant et si une clause WHERE est spécifiée avec ce paramètre, les deux clauses WHERE sont combinées à un opérateur AND pour la couche en sortie. Par exemple, si la couche en entrée comporte une clause WHERE d’ID > 10 et que ce paramètre est défini sur ID < 20, la clause WHERE de la couche résultante est ID > 10 AND ID < 20. | SQL Expression |
Espace de travail ou jeu de classes d’entités (Facultatif) | Ce paramètre n’est pas utilisé. | Workspace; Feature Dataset |
Informations de champ (Facultatif) | Les champs des entités en entrée sont inclus dans la couche en sortie. Vous pouvez supprimer les champs en entrée en les rendant invisibles et définir les champs pour qu’ils aient une règle de fractionnement de ratio. Le changement de nom des champs n’est pas pris en charge. | Field Info |
Synthèse
Crée une couche d’entités à partir d’une classe d’entités ou d’un fichier de couche. La couche créée est temporaire et disparaît à la fin de la session si la couche n’est pas enregistrée sur le disque ou si le document cartographique n’est pas enregistré.
Utilisation
La couche d’entités temporaire peut être enregistrée en tant que fichier de couche à l’aide de l’outil Enregistrer dans un fichier de couche ou en tant que nouvelle classe d’entités à l’aide de l’outil Copier des entités.
Les classes d’entités complexes telles que les annotations et les dimensions ne sont pas prises en charge.
Si une expression SQL est utilisée mais ne renvoie aucun résultat, la sortie est vide.
Une règle de fractionnement peut être définie à l’aide de l’option Ratio du paramètre Field Info (Informations de champ). La règle de fractionnement prend effet lorsque la couche d’entités est utilisée en tant qu’entrée dans un outil et qu’une géométrie de couche d’entités en entrée est fractionnée au cours du traitement. Lorsque la géométrie fractionnée est envoyée à la sortie, un ratio de la valeur attributaire en entrée est calculé pour la valeur attributaire en sortie. Lorsque l’option Ratio est activée, chaque fois qu’une entité est fractionnée dans une opération de superposition, les attributs des entités résultantes sont égaux à un quotient de la valeur attributaire de l’entité en entrée. La valeur en sortie dépend du quotient de division de la géométrie d’entité en entrée. Par exemple, si la géométrie en entrée a été divisée en parties égales, la moitié de la valeur attributaire de l’entité en entrée est affectée à la valeur attributaire de chaque nouvelle entité. L’option Ratio s’applique uniquement aux champs de type numérique.
Cette option est désactivée par défaut (NONE). Cela signifie que l’attribut des deux entités résultantes est une copie de la valeur attributaire de l’objet de départ.
Attention :
Les outils de géotraitement ne respectent pas les règles de fractionnement de champ des classes d'entités ou des tables de géodatabase.
Lorsque vous utilisez ModelBuilder pour créer un outil, vérifiez que la variable de données en entrée dans cet outil n’est pas marquée comme intermédiaire. Si c’est le cas, elle sera supprimée à l’issue de l’exécution du modèle et la couche en sortie ne sera pas ajoutée à l’affichage.
Dans un modèle, la variable en sortie de cet outil peut se voir attribuer un fichier de couche contenant la symbologie à appliquer à la couche en cours de création. Lorsque la couche en cours de création est renvoyée en tant que paramètre en sortie du modèle ou de l’outil de script dans une carte, la symbologie du fichier de couche est conservée, mais les propriétés des étiquettes ne le sont pas. Toutefois, si la couche créée par cet outil dans un modèle est enregistrée en tant que données permanentes (classe d’entités ou shapefile) et que ces données permanentes sont renvoyées dans la carte en tant que paramètre en sortie, les propriétés des étiquettes provenant du fichier de couche sont correctement appliquées.
Si la valeur du paramètre Input Features (Entités en entrée) est une couche, la symbologie, la sélection et l’ensemble de définition de l’entrée sont transférés vers la couche en sortie
Paramètres
arcpy.management.MakeFeatureLayer(in_features, out_layer, {where_clause}, {workspace}, {field_info})
Nom | Explication | Type de données |
in_features | La couche ou la classe d’entités en entrée à partir de laquelle la nouvelle couche est générée. Les classes d’entités complexes telles que les annotations et les dimensions ne sont pas des entrées valides. | Feature Layer |
out_layer | Nom de la couche d'entités à créer. La couche peut être utilisée comme entrée de tout outil de géotraitement acceptant une couche d’entités comme entrée. | Feature Layer |
where_clause (Facultatif) | Expression SQL permettant de sélectionner un sous-ensemble d'entités. Pour en savoir plus sur la syntaxe SQL reportez-vous à la rubrique d’aide Référence SQL pour les expressions de requête utilisées dans ArcGIS. Si l’entrée est une couche avec un ensemble de définition existant et si une clause WHERE est spécifiée avec ce paramètre, les deux clauses WHERE sont combinées à un opérateur AND pour la couche en sortie. Par exemple, si la couche en entrée comporte une clause WHERE d’ID > 10 et que ce paramètre est défini sur ID < 20, la clause WHERE de la couche résultante est ID > 10 AND ID < 20. | SQL Expression |
workspace (Facultatif) | Ce paramètre n’est pas utilisé. | Workspace; Feature Dataset |
field_info (Facultatif) | Les champs des entités en entrée sont inclus dans la couche en sortie. Vous pouvez supprimer les champs en entrée en les rendant invisibles et définir les champs pour qu’ils aient une règle de fractionnement de ratio. Le changement de nom des champs n’est pas pris en charge. | Field Info |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l’utilisation de la fonction MakeFeatureLayer en mode immédiat.
import arcpy
arcpy.env.workspace = "C:/data/input"
arcpy.management.MakeFeatureLayer("parcels.shp", "parcels_lyr")
Le script autonome ci-dessous illustre l’utilisation de la fonction MakeFeatureLayerpour créer une couche qui peut être utilisée par les fonctions SelectLayerByLocation et SelectLayerByAttribute.
# Name: makefeaturelayer_example_2.py
# Description: Uses MakeFeatureLayer with custom field info as input to Intersect
# Import system modules
import arcpy
from arcpy import env
# Set overwrite option
arcpy.env.overwriteOutput = True
# Set data path
cityboundaries = "C:/data/City.gdb/boundaries"
countyboundaries = "C:/data/City.gdb/counties"
# Get the fields from the input
fields= arcpy.ListFields(cityboundaries)
# Create a fieldinfo object
fieldinfo = arcpy.FieldInfo()
# Iterate through the input fields and add them to fieldinfo
for field in fields:
if field.name == "POPULATION":
# Set the Population to have a ratio split policy
fieldinfo.addField(field.name, field.name, "VISIBLE", "RATIO")
else:
fieldinfo.addField(field.name, field.name, "VISIBLE", "NONE")
# Make a layer from the feature class
arcpy.MakeFeatureLayer_management(cityboundaries, "city_boundaries_lyr", fieldinfo)
# Intersect cities and counties, splitting city population proportionally by county
arcpy.Intersect_analysis([["city_boundaries_lyr"],[countyboundaries]], "memory/intersected_city_counties")
Environnements
Vous avez un commentaire à formuler concernant cette rubrique ?