Résumé
Résout le problème d'analyse de réseau spécifié à l'aide des balises, interruptions et propriétés de pondération spécifiées.
Utilisation
Cet outil ne s'applique pas aux jeux de données réseau (réseaux utilisés par l'extension ArcGIS Network Analyst).
Cet outil effectue une recherche spatiale à l'aide des balises et interruptions en entrée, de façon à localiser les entités coïncidentes. Cela permet, dans le cas des balises, de déterminer à partir de quelles entités le tracé doit démarrer et, dans le cas des interruptions, de déterminer quelles entités doivent bloquer le tracé. Par conséquent, les balises et interruptions en entrée doivent être placées de façon très précise. Dans ModelBuilder, si vous n'êtes pas sûr que les balises et interruptions sont correctement placées, vous pouvez utiliser l'outil Aligner pour désigner les entités avec lesquelles les balises et interruptions doivent coïncider.
La sortie de cet outil est un groupe de couches contenant une couche pour chaque classe d'entités contenue dans le réseau géométrique en entrée. Chaque entité retournée à partir du tracé est sélectionnée dans sa couche respective. Lorsque les couches en entrée sont affichées sur la carte, le groupe de couches en sortie peut contenir des couches sans sélection, c'est-à-dire des couches vides pour lesquelles aucune entité n'a été retournée à partir du tracé. Dans ModelBuilder, vous pouvez utiliser l'outil Sélectionner des données pour extraire des couches spécifiques à partir du groupe de couches et l'outil Make_Feature_Layer pour créer une couche d'entités à partir de la sortie de l'outil Sélectionner des données. Utilisez l'outil Get_Count pour déterminer si des couches du groupe sont vides. Cet outil est particulièrement utile lorsque vous publiez votre modèle sur ArcGIS Server, car les groupes de couches ne sont pas pris en charge comme type de paramètre en sortie à partir d'une tâche de géotraitement. Comme ils ne sont pas pris en charge en tant que sortie directe, vous devez utiliser l'outil Sélectionner des données afin de créer une simple couche (n'appartenant pas à un groupe) en sortie.
Cet outil ne peut pas être exécuté lors de la mise à jour d'un réseau géométrique dans une géodatabase personnelle.
Contrairement aux autres jeux de données (jeux de données réseau ou de topologie), les réseaux géométriques ne sont pas associés à une couche. Lorsque vous utilisez cet outil dans ArcMap, vous devez donc sélectionner le réseau géométrique à partir du disque. Vous ne pouvez pas le sélectionner à partir d'une liste déroulante de couches en entrée.
Syntaxe
arcpy.management.TraceGeometricNetwork(in_geometric_network, out_network_layer, in_flags, in_trace_task_type, {in_barriers}, {in_junction_weight}, {in_edge_along_digitized_weight}, {in_edge_against_digitized_weight}, {in_disable_from_trace}, {in_trace_ends}, {in_trace_indeterminate_flow}, {in_junction_weight_filter}, {in_junction_weight_range}, {in_junction_weight_range_not}, {in_edge_along_digitized_weight_filter}, {in_edge_against_digitized_weight_filter}, {in_edge_weight_range}, {in_edge_weight_range_not})
Paramètre | Explication | Type de données |
in_geometric_network | Réseau géométrique sur lequel le tracé est effectué. | Geometric Network |
out_network_layer | Nom du groupe de couches qui contiendra les résultats du tracé en tant qu'ensemble sélectionné. | Group Layer |
in_flags | Entités ponctuelles représentant un ensemble de balises qui servent de points de départ pour l'opération de traçage. Si vous effectuez, par exemple, une recherche en amont, une balise vous permet de spécifier le début de la recherche. Les balises peuvent être placées n'importe où sur les tronçons ou les jonctions, mais ces dernières sont prioritaires lorsqu'une jonction et un tronçon figurent tous deux à un emplacement. | Feature Layer |
in_trace_task_type | Tâche de traçage à effectuer sur le réseau géométrique spécifié.
| String |
in_barriers (Facultatif) | Entités ponctuelles représentant un ensemble d'interruptions. Les interruptions permettent de définir des points du réseau que le parcours ne peut pas traverser. Si vous souhaitez uniquement effectuer un traçage sur une partie précise du réseau, vous pouvez utiliser des interruptions pour isoler cette portion du réseau. Les interruptions peuvent être placées n'importe où sur les tronçons ou les jonctions, mais ces dernières sont prioritaires lorsqu'une jonction et un tronçon figurent tous deux à un emplacement. Cette fonction est considérée comme étant désactivée et n'est pas utilisée pendant le tracé, sauf si vous avez défini le paramètre in_trace_ends sur TRACE_ENDS afin de rechercher délibérément les entités interrompant le tracé. | Feature Layer |
in_junction_weight (Facultatif) | Pondération de jonction utilisée en tant que coût de cheminement à travers une jonction. La pondération doit déjà être définie pour le réseau géométrique donné. Ce paramètre est désactivé ou ignoré lorsque l'un des types de tâche de traçage indépendant du coût suivants est spécifié :
| String |
in_edge_along_digitized_weight (Facultatif) | Pondération de tronçon utilisée en tant que coût de cheminement à travers un tronçon le long du sens de numérisation de ce tronçon. La pondération doit déjà être définie pour le réseau géométrique donné. Ce paramètre est désactivé ou ignoré lorsque l'un des types de tâche de traçage indépendant du coût suivants est spécifié :
| String |
in_edge_against_digitized_weight (Facultatif) | Pondération de tronçon utilisée en tant que coût de cheminement à travers un tronçon contre le sens de numérisation de ce tronçon. La pondération doit déjà être définie pour le réseau géométrique donné. Ce paramètre est désactivé ou ignoré lorsque l'un des types de tâche de traçage indépendant du coût suivants est spécifié :
| String |
in_disable_from_trace [in_disable_from_trace,...] (Facultatif) | Liste de classes d'entités désactivées pour un traçage. Lorsqu'une classe d'entités est spécifiée comme étant désactivée, l'opération de traçage traite toutes les entités de cette classe comme si elles étaient désactivées ou comme si elles comportaient une interruption. Utilisez cette option pour exclure toute une classe d'entités d'une opération de traçage. En désactivant, par exemple, la couche de commutateurs d'un réseau de distribution électrique, en définissant le paramètre in_trace_ends sur TRACE_ENDS et en effectuant un traçage à partir d'un point donné du réseau, vous pouvez identifier les commutateurs devant être désactivés afin d'isoler ce point du réseau ; il s'agit des entités à partir desquelles la recherche est interrompue. | String |
in_trace_ends (Facultatif) | Indique si le tracé doit inclure toutes les entités ou uniquement celles qui l'interrompent. Utilisez cette option lorsque vous devez déterminer les entités qui interrompent un tracé. Pour pouvoir être retournées depuis l'opération de traçage avec cette option, les entités doivent appartenir à l'une des catégories suivantes :
| Boolean |
in_trace_indeterminate_flow (Facultatif) | Indique si le tracé doit inclure toutes les entités ou uniquement celles qui l'interrompent.
Option prise en compte uniquement lorsqu'un type de tâche de traçage dépendant du flux est défini :
| Boolean |
in_junction_weight_filter (Facultatif) | Pondération à utiliser pour créer le filtre de pondération des jonctions, qui est utilisé pour filtrer les entités de jonction au cours du traçage. | String |
in_junction_weight_range (Facultatif) | Spécifie des plages valides ou non valides de valeurs de pondération pour les entités de réseau à tracer. Option désactivée lorsqu'un type de tâche de traçage indépendant du coût est défini. Pour créer un filtre de pondération, vous devez spécifier des plages de poids valides pour les entités. Un filtre de pondération peut être constitué de plusieurs plages. Lorsque vous spécifiez plusieurs plages de poids, séparez les plages par des virgules. Les valeurs élevées et faibles d'une plage sont séparées d'un trait d'union. Les plages contenant une seule valeur ne contiennent pas de trait d'union et sont séparées par des virgules, par exemple, 0-2,3,6,7-10. | String |
in_junction_weight_range_not (Facultatif) | Applique l'opérateur logique NOT aux plages de pondérations de jonction spécifiées. Par défaut, les plages de pondérations de jonction que vous saisissez spécifient les jonctions qui peuvent être tracées. En cochant cette option, vous indiquez que les jonctions avec des pondérations au sein des plages que vous avez saisies ne peuvent pas être tracées.
| Boolean |
in_edge_along_digitized_weight_filter (Facultatif) | Pondération à utiliser pour créer le filtre de pondération des tronçons utilisé pour filtrer les tronçons au cours du traçage. | String |
in_edge_against_digitized_weight_filter (Facultatif) | Pondération à utiliser pour créer le filtre de pondération en sens inverse des tronçons utilisé pour filtrer les tronçons au cours du traçage. | String |
in_edge_weight_range (Facultatif) | Spécifie des plages valides ou non valides de valeurs de pondération pour les entités de réseau à tracer. Option désactivée lorsqu'un type de tâche de traçage indépendant du coût est défini. Pour créer un filtre de pondération, vous devez spécifier des plages de poids valides pour les entités. Un filtre de pondération peut être constitué de plusieurs plages. Lorsque vous spécifiez plusieurs plages de poids, vous devez séparer les plages par des virgules. Les valeurs élevées et faibles d'une plage sont séparées d'un trait d'union. Les plages contenant une seule valeur ne contiennent pas de trait d'union et sont séparées par des virgules, par exemple, 0-2,3,6,7-10. | String |
in_edge_weight_range_not (Facultatif) | Applique l'opérateur logique NOT aux plages de pondérations de tronçons spécifiées. Par défaut, les plages de pondérations des tronçons que vous saisissez spécifient les tronçons qui peuvent être tracés. En cochant cette option, vous indiquez que les tronçons avec des pondérations au sein des plages que vous avez saisies ne peuvent pas être tracés.
| Boolean |
Exemple de code
Exemple 1 d'utilisation de l'outil TraceGeometricNetwork (script autonome)
Le script Python autonome suivant montre comment utiliser la fonction TraceGeometricNetwork dans des scripts Python pour exécuter un traçage de recherche de connexions sur un réseau géométrique comportant des balises mais pas d'interruptions.
# Import arcpy module
import arcpy
# Local variables:
gnVersionFDS_Net = "C:/GeometricNetworks/GeometricNetwork.gdb/gnVersionFDS_with_GN/gnVersionFDS_1_Net"
Flags = "C:/GeometricNetworks/GeometricNetwork.gdb/gnVersionFDS_with_GN/Flags"
gnVersionFDS_1 = "gnVersionFDS_1_Net"
# Process: Trace Geometric Network
arcpy.TraceGeometricNetwork_management(gnVersionFDS_Net, gnVersionFDS_1, Flags, "FIND_CONNECTED", "", "", "", "", "", "NO_TRACE_ENDS", "", "", "", "AS_IS", "", "", "", "AS_IS")
Exemple 2 d'utilisation de l'outil TraceGeometricNetwork (script autonome)
Le script Python autonome suivant montre comment utiliser la fonction TraceGeometricNetwork dans des scripts Python pour exécuter un traçage de recherche de chemin sur un réseau géométrique comportant des balises mais pas d'interruptions, avec une pondération intitulée Friction_Factor et un filtre de pondération entre 1 et 10.
# Import arcpy module
import arcpy
# Local variables:
Water_Net = "C:/GeometricNetworks/Montgomery.gdb/Water/Water_Net"
Flags = "C:/GeometricNetworks/Montgomery.gdb/Water/Flags"
Water_Net_2 = "Water_Net"
# Process: Trace Geometric Network
arcpy.TraceGeometricNetwork_management(Water_Net, Water_Net_2, Flags, "FIND_PATH", "", "", "Friction_Factor", "Friction_Factor", "", "NO_TRACE_ENDS", "", "", "", "AS_IS", "Friction_Factor", "Friction_Factor", "1-10", "AS_IS")
Environnements
Cet outil n'utilise pas d’environnement de géotraitement.
Informations de licence
- Basic: Non
- Standard: Oui
- Advanced: Oui