Précalculer les localisations de réseau

Pour pouvoir effectuer une analyse de réseau, les entrées de l'analyse doivent se trouver sur le réseau utilisé pour l'analyse. Le calcul des localisations de réseau d’un grand nombre d’entrées peut s’avérer chronophage. Si vous envisagez d’utiliser les mêmes données en entrée pour plusieurs analyses avec le même jeu de données réseau et les mêmes paramètres d’analyse, vous pouvez gagner du temps en précalculant leurs localisations de réseau.

Utiliser l'outil Calculate Locations (Calculer les localisations) pour précalculer les localisations de réseau

L’outil Calculate Locations (Calculer les localisations) calcule les localisations de réseau d’une classe d’entités en entrée et stocke les informations dans des champs de localisation de réseau, qui sont ajoutés à la classe d’entités. Ces champs peuvent être utilisés si la classe d'entités est utilisée comme entrée d'une analyse de réseau.

Attention :

L'outil Calculate Locations (Calculer les localisations) ne peut pas utiliser d'URL de service d'analyse de réseau comme réseau en entrée. Il n'est pas possible de précalculer directement les localisations de réseau d'un service.

Vous ne pouvez pas précalculer et utiliser des localisations de réseau pour le service ArcGIS Online car les données de réseau utilisées par le service sont souvent mises à jour et ne sont pas accessibles par les clients. Toutefois, vous pouvez précalculer et utiliser des localisations de réseau pour une analyse à l'aide du service de calcul d'itinéraire de ArcGIS Enterprise si vous avez accès au jeu de données réseau utilisé lors de la publication du service. Vous pouvez utiliser ce jeu de données réseau sur votre poste local comme entrée de l'outil Calculate Locations (Calculer les localisations) pour précalculer les localisations de réseau. Les champs de localisation de réseau calculés par l'outil peuvent être utilisés dans les analyses qui font référence au service.

Validité des champs de localisation de réseau précalculés

Les champs de localisation précalculés sont valides uniquement pour le jeu de données réseau et le mode de déplacement pour lesquels ils ont été calculés. Si vous envisagez d’utiliser ces points avec un autre réseau ou un mode de déplacement différent, vous devez recalculer les champs de localisation. De plus, si vous mettez à jour et régénérez le jeu de données réseau, recalculez les champs de localisation stockés si les mises à jour affectent le mode de localisation des entrées.

Utiliser des localisations de réseau précalculées dans une analyse

Les champs de localisation de réseau précalculés sont transférés à la classe ou la sous-couche d'analyse en entrée via l'appariement des champs. Le processus, décrit dans les sous-sections ci-après, varie selon que vous utilisez une couche d’analyse de réseau ou le module Network Analyst Python.

Lorsque vous appariez des champs de localisation de réseau en vue d’une analyse, appariez uniquement les champs SourceID, SourceOID, PosAlong et SideOfEdge. Les champs SnapX, SnapY, SnapZ et DistanceToNetworkInMeters sont fournis à titre d’information et ne sont pas obligatoires pour spécifier des localisations en vue d’une analyse.

Utiliser des localisations de réseau précalculées pour les processus d'analyse de réseau basés sur une couche

Lorsque vous effectuez une analyse à l'aide d'une couche d’analyse de réseau, vous pouvez apparier les champs de localisation précalculés lorsque vous ajoutez des entrées à la couche d’analyse à l'aide de l’outil Add Locations (Ajouter des localisations). Pour cela, utilisez le paramètre Field Mappings (Appariements de champs) pour apparier les champs de localisation de réseau des entités en entrée aux propriétés de localisation de réseau. Si vous utilisez la boîte de dialogue de l’outil, définissez le paramètre Field Mappings (Appariements de champs) sur Use Network Location Fields (Utiliser les champs de localisation de réseau) pour activer l'appariement.

Utiliser des localisations de réseau précalculées pour les processus Python à l'aide du module Network Analyst

Lorsque vous effectuez une analyse dans Python à l'aide du module Network Analyst, les champs de localisation de réseau peuvent être utilisés lors de l'ajout d'entrées à l'aide de la méthode load ou insertCursor. Avec la méthode insertCursor, vous pouvez spécifier les champs de localisation de réseau comme tout autre champ. Pour les processus utilisant la méthode load, vous pouvez apparier les champs de localisation de réseau de l'entrée aux champs de la classe en entrée à l'aide de la méthode fieldMappings, en définissant le paramètre use_location_fields sur True. Une fois que les appariements de champs aux champs de localisation de réseau ont été créés, ils peuvent être utilisés dans le paramètre field_mappings de la méthode load.

Ces procédures sont décrites plus en détail, avec des échantillons de codes, dans la rubrique Définir les entrées de l’analyse.

Localisations de réseau précalculées et déplacement automatique au moment du calcul

Par défaut, les champs de localisation de réseau existants sont vérifiés lors du calcul d'une analyse pour s'assurer qu'ils sont valides et accessibles. Les champs de localisation de réseau d'entrées individuelles peuvent être recalculés automatiquement au moment du calcul dans les cas suivants :

  • L'entrée ne contient pas de champ de localisation de réseau ou les champs de localisation ne sont pas valides ou sont incomplets.
  • Le champ Status de l'entrée indique que l'entrée n'est pas localisée, qu'elle est inaccessible ou qu'elle ne se trouve pas sur la localisation de réseau la plus proche possible.
  • L'entrée se trouve sur un élément de réseau restreint par le mode de déplacement utilisé pour l'analyse.
  • L'entrée est obstruée par une interruption.

En outre, pour une couche d'analyse de réseau, toutes les entrées sont déplacées automatiquement au moment du calcul si le jeu de données réseau a été régénéré ou que les paramètres de localisation ont été modifiés dans la page des propriétés de la couche depuis le dernier calcul de la couche d'analyse de réseau. Dans ce cas, toutes les localisations de réseau précalculées sont mises à jour et remplacées.

Dans nombre de cas, ce déplacement automatique est le comportement souhaité, en particulier en présence d'interruptions, qui ne sont pas utilisées lors du précalcul des localisations de réseau. Dans ce cas, il est important que la couche d'analyse de réseau ou l'objet de solveur Python soit configuré avec les paramètres de localisation utilisés lors du précalcul des localisations de réseau. Les entrées affectées par des interruptions sont déplacées pour éviter les interruptions et les champs de localisation des autres entrées déplacées pour des motifs différents ne sont pas modifiés car les mêmes paramètres de localisation sont appliqués.

Le comportement du déplacement automatique peut s'avérer parfois intéressant, mais dans certains cas, il est préférable de désactiver cette option. En particulier, si vous n'utilisez pas d'interruption dans l'analyse, ce comportement présente peu d'intérêt. Si l'analyse est configurée avec les paramètres de localisation que vous avez utilisés lors du précalcul des localisations de réseau, le comportement de déplacement automatique trouve de nouveau les mêmes localisations de réseau. Vous pouvez également constater de légères améliorations en matière de performances en ignorant l'étape de déplacement automatique.

Lorsque vous effectuez une analyse de réseau à l'aide de processus basés sur une couche, vous pouvez ajuster ce paramètre à l'aide du paramètre Allow automatic relocating at solve time (Autoriser la relocalisation automatique au moment du calcul) de l'outil Add Locations (Ajouter des localisations) ou de la page des propriétés de la couche d'analyse de réseau. Lorsque vous effectuez une analyse en Python à l'aide du module Network Analyst, vous pouvez ajuster ce paramètre à l'aide de la propriété allowAutoRelocate.

Quelle que soit la valeur de ce paramètre, toute entrée sans champ de localisation de réseau ou avec des champs de localisation incomplets est localisée au moment du calcul à l'aide des paramètres configurés pour l'analyse. De même, si le jeu de données réseau est régénéré ou que les autres paramètres de localisation sont modifiés, les champs de localisation existants sont supposés non valides et toutes les localisations sont recalculées au moment du calcul, quelle que soit la valeur du paramètre.