Localiser les entrées de l’analyse

Lorsque vous effectuez une analyse de réseau, les entrées de l’analyse se situent rarement en haut des tronçons ou jonctions de la source de données réseau utilisée. Vous pouvez ainsi utiliser un jeu de données réseau construit à partir d’axes médians des routes, mais les points que vous souhaitez analyser sont des centroïdes de parcelles dans votre ville. Ces centroïdes de parcelles ne se situent pas au-dessus des axes médians des routes ; ils sont plutôt décalés des routes selon une certaine distance. Pour pouvoir effectuer une analyse de réseau, Network Analyst doit déterminer l’emplacement sur le jeu de données réseau de chaque entrée de l’analyse. Cette localisation de réseau, plutôt que la localisation d’origine de l’entrée, est utilisée dans l’analyse. Par exemple, si vous calculez un itinéraire entre deux parcelles de votre ville, les points de début et de fin de l’itinéraire ne sont pas les centroïdes des parcelles, mais les emplacements auxquels les centroïdes des parcelles sont capturés sur les axes médians des routes.

Point localisé sur un tronçon du réseau

L’image ci-dessus illustre la localisation d’un arrêt de l’itinéraire sur le réseau. Le cercle violet indique l’emplacement géographique de l’arrêt. La ligne d’itinéraire commence toutefois au point le plus proche le long du réseau de transport, qui est la localisation de réseau du point.

Processus de localisation

Les localisations de réseau sont calculées en fonction de plusieurs facteurs, notamment les emplacements géographiques des entrées, les paramètres de l’analyse de réseau pour laquelle les entrées sont utilisées et les paramètres de localisation spécifiés par l’utilisateur dans l’outil ou la fonction employé pour localiser les entrées. La procédure fonctionne comme suit pour un point en entrée :

  1. Network Analyst recherche sur le réseau le point le plus proche de la localisation du point d'origine.
  2. Network Analyst tient compte des paramètres de l’analyse de réseau et des paramètres de localisation de l’utilisateur pour déterminer si cette localisation est valide pour localiser les entrées de l’analyse. Si la localisation est considérée comme non valide pour la localisation, elle est ignorée et la localisation suivante la plus proche possible est prise en compte. Une jonction ou un tronçon de réseau peut être considéré comme non valide pour la localisation pour les raisons suivantes :
    • La localisation est restreinte par le mode de déplacement sélectionné. Par exemple, si le mode de déplacement n’accepte pas les autoroutes à accès limité et que le tronçon de réseau le plus proche est une autoroute à accès limité, les points de cette analyse ne peuvent pas être situés sur ce tronçon.
    • La localisation est restreinte par une interruption.
    • La localisation est restreinte par les paramètres de localisation que vous avez spécifiés. Vous pouvez ainsi utiliser une requête de recherche pour empêcher la localisation des entrées sur des tronçons de réseau avec une classe routière particulière.
  3. Le processus se répète, en examinant à chaque fois la localisation de réseau la plus proche, jusqu’à ce qu’une localisation de réseau valide soit trouvée pour le point en entrée. Si aucune localisation valide n’est détectée dans la distance de la tolérance de recherche, le point n’est pas localisé et ne peut pas être utilisé dans l’analyse.

Une fois que l'entrée a été localisée, sa localisation de réseau est stockée dans un ensemble de champs. Ces champs sont décrits dans la section Network location fields (Champs de localisation de réseau) ci-après.

Lorsque vous localisez des interruptions ponctuelles, le mode de déplacement et les autres interruptions sont ignorés. Seuls la géométrie et les paramètres de localisation spécifiés par l’utilisateur sont pris en compte. Des lignes et des polygones peuvent également être utilisés en tant qu’entrées de l’analyse de réseau, mais uniquement comme interruptions linéaires et surfaciques. Ces interruptions sont localisées sur tous les tronçons ou jonctions du réseau sur lesquels elles sont superposées, en fonction des paramètres de localisation spécifiés par l’utilisateur.

Calcul de la localisation de réseau dans un processus d'analyse de réseau

Le mode de localisation et le moment auquel les entrées sont localisées sur le réseau dépendent de votre processus d’analyse de réseau.

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 calculer les localisations de réseau à l'avance, lorsque vous exécutez l'outil Add Locations (Ajouter des localisations), automatiquement au moment du calcul, ou toute combinaison de ces localisations. Les sous-sections ci-après expliquent ces options dans le contexte de plusieurs processus courants.

Processus basés sur une couche à l'aide de l'outil Add Locations (Ajouter des localisations)

L'un des processus d'analyse de réseau basés sur les couches les plus courants consiste à créer une couche d'analyse de réseau, exécuter l'outil Add Locations (Ajouter des localisations) pour ajouter des entrées à la couche d'analyse de réseau et résoudre la couche.

Si la couche d'analyse de réseau fait référence à un jeu de données réseau local, les entrées se trouvent sur le réseau lorsque l'outil Add Locations (Ajouter des localisations) est exécuté. L'outil calcule les localisations de réseau en fonction des paramètres configurés dans les paramètres de l'outil, du mode de déplacement de la couche d'analyse de réseau et de toutes interruptions actuellement stockées dans la couche d'analyse de réseau. Une fois que vous avez exécuté l'outil, les entrées sont ajoutées à la sous-couche spécifiée de la couche d'analyse de réseau et les champs de localisation de réseau de cette sous-couche sont renseignés avec les valeurs calculées. Vous pouvez afficher les champs de localisation de réseau dans la table attributaire de la sous-couche.

Par défaut, le mode de déplacement de la couche d’analyse de réseau et les interruptions existantes sont pris en compte lors de la localisation des entrées. Les entrées ne sont pas localisées sur des tronçons et des jonctions limités par le mode de déplacement ou des interruptions existantes. Il est par conséquent recommandé de définir le mode de déplacement et de charger les interruptions avant de charger les autres entrées de l’analyse, à l'aide de l'outil Add Locations (Ajouter des localisations). Toutefois, si vous modifiez le mode de déplacement après avoir ajouté des localisations ou que vous ajoutez ou retirez des interruptions, les localisations de réseau des points affectés sont automatiquement recalculées au moment du calcul pour garantir qu'elles restent valides, à moins que cette option de recalcul automatique soit désactivée.

Pour une couche d’analyse de réseau qui fait référence à un service de portail, les champs de localisation ne sont pas calculés avant l’analyse. L’outil Ajouter des localisations ajoute les entrées à la couche d’analyse lors du calcul des champs de localisation. Au moment du calcul, les entrées sont envoyées au service avec les paramètres d’analyse et de localisation de la couche d'analyse de réseau. Le service calcule les champs de localisation, effectue l’analyse et renvoie le résultat. Une fois que la couche a été résolue, les champs de localisation renseignés apparaissent dans les tables attributaires des sous-couches en entrée.

Processus basés sur une couche utilisant des outils de mise à jour pour créer des entrées

Un autre processus d'analyse de réseau basé sur une couche courant consiste à créer une couche d'analyse de réseau, utiliser les outils de mise à jour standard pour créer manuellement des entités dans les sous-couches de la couche d'analyse de réseau et résoudre la couche. Dans ce processus, les entrées sont localisées sur le réseau au moment du calcul à l'aide des paramètres de localisation configurés sur la couche d'analyse de réseau, du mode de déplacement et des interruptions. Une fois que le calcul est terminé, vous pouvez afficher les champs de localisation de réseau renseignés dans la table attributaire de chaque sous-couche en entrée.

Processus basés sur une couche utilisant des localisations de réseau précalculées

Dans certains processus, les localisations de réseau sont calculées à l'avance pour une classe d'entités, à l'aide de l'outil Calculate Locations (Calculer les localisations). Dans ce cas, l'outil Add Locations (Ajouter des localisations) utilise l'appariement des champs pour transférer les champs de localisation de réseau précalculés de la classe d'entités en entrée à la sous-couche spécifiée.

Découvrir comment précalculer des localisations de réseau et les utiliser dans une analyse

Dans certains cas, certaines localisations de réseau précalculées peuvent être recalculées au moment du calcul pour s'assurer qu'elles sont valides pour l'analyse, à moins que cette option ne soit désactivée. Si vous avez utilisé des paramètres de localisation autres que ceux par défaut lors du précalcul des localisations de réseau, vous devez mettre à jour les paramètres de localisation de la couche d'analyse de réseau pour qu'ils correspondent. De la sorte, les entrées déplacées automatiquement au moment du calcul utilisent les mêmes paramètres de localisation. Vous trouverez des informations supplémentaires sur ce comportement dans la rubrique associée ci-avant.

Processus Python utilisant le module Network Analyst

Lorsque vous effectuez une analyse en Python à l'aide du module Network Analyst, arcpy.nax, les localisations de réseau sont précalculées à l'avance ou calculées au moment du calcul. Les sous-sections ci-après récapitulent ces options.

Découvrir comment définir les entrées d'analyse d'un processus Python

Processus Python sans localisation de réseau précalculée

Dans un processus Python type, les entrées sont ajoutées à l’analyse à l'aide de la méthode load ou insertCursor sur l’objet solveur de l’analyse de réseau. À moins que les champs de localisation de réseau ne soient explicitement appariés, les localisations de réseau ne sont pas calculées avant que l’analyse ne soit effectuée à l'aide de la méthode solve. Le mode de déplacement et les interruptions utilisés dans l'analyse sont pris en compte lors de la localisation des entrées, tout comme les paramètres de localisation configurés sur l’objet solveur de l’analyse de réseau. Une fois l’analyse effectuée, les champs de localisation renseignés s’affichent dans les sorties accessibles via l’objet de résultat du solveur.

Processus Python utilisant des localisations de réseau précalculées

Dans certains processus, les localisations de réseau sont calculées à l'avance pour une classe d'entités, à l'aide de l'outil Calculate Locations (Calculer les localisations). Dans ce cas, les champs de localisation de réseau peuvent être appariés lors de l'ajout d'entrées à l'aide de la méthode load ou insertCursor. Ces champs de localisation de réseau pré-existants sont ensuite utilisés au moment du calcul.

Découvrir comment précalculer des localisations de réseau et les utiliser dans une analyse

Dans certains cas, certaines localisations de réseau précalculées peuvent être recalculées au moment du calcul pour s'assurer qu'elles sont valides pour l'analyse, à moins que cette option ne soit désactivée. Si vous avez utilisé des paramètres de localisation autres que ceux par défaut lors du précalcul des localisations de réseau, vous devez mettre à jour les paramètres de localisation de l'objet solveur pour qu'ils correspondent. De la sorte, les entrées déplacées automatiquement au moment du calcul utilisent les mêmes paramètres de localisation. Vous trouverez des informations supplémentaires sur ce comportement dans la rubrique associée ci-avant.

Paramètres affectant le mode de localisation des entrées

Plusieurs paramètres contrôlent le comportement de la localisation.

Vous pouvez contrôler les sources de jonctions et de tronçons de réseau à utiliser pour la localisation. Par exemple, vous pouvez configurer l'analyse de sorte à localiser les entrées sur les rues, mais non sur les trottoirs. La liste des sources possibles de localisation est spécifique au jeu de données réseau utilisé pour l'analyse. 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 Search Criteria (Critères de recherche) 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é searchSources (qui permet également de définir une requête pour chaque source).

Une requête de recherche permet de restreindre la localisation sur les entités de source de réseau présentant certaines charactéristiques à l'aide d'une expression SQL. Par exemple, vous pouvez configurer l'analyse de sorte à localiser les entrées uniquement sur les entités de rue correspondant à certaines classes de routes. 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 Search Query (Requête de recherche) 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é searchSources (qui permet également de contrôler les sources à utiliser pour la localisation).

La tolérance de recherche contrôle la distance de recherche maximum à utiliser lors de la localisation des entités en entrée sur le réseau. Si aucune localisation de réseau valide n’est détectée dans cette distance, l'entité en entrée est considérée comme non localisée. Une faible tolérance de recherche diminue la probabilité de localisation sur la rue incorrecte, mais augmente celle de ne pas trouver de localisation de réseau valide. 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 Search Tolerance (Tolérance de recherche) 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 des propriétés searchTolerance et searchToleranceUnits.

Remarque :
Ces paramètres ne sont pas pris en charge si la source de données réseau de l'analyse est ArcGIS Online ou un portail exécutant une version de ArcGIS Enterprise antérieure à la version 11.0.

En savoir plus sur le contrôle de ces paramètres à l'aide des propriétés d'une couche d'analyse de réseau.

En savoir plus sur le contrôle de ces paramètres à l'aide de l'outil Add Locations (Ajouter des localisations)

En savoir plus sur le contrôle de ces paramètres pour les processus qui utilisent le module Network Analyst

Contrôler le comportement de localisation séparément pour chaque classe en entrée

Dans certains cas, vous pouvez contrôler séparément le comportement de localisation pour chaque type d'entrée dans une analyse. Par exemple, dans une analyse de matrice de coût OD, vous pouvez utiliser une requête de recherche pour les origines en entrée uniquement, si cette requête ne doit pas s'appliquer aux destinations et interruptions en entrée.

Lorsque vous effectuez une analyse de réseau à l'aide de processus basés sur une couche, vous pouvez configurer le comportement de localisation pour des sous-couches individuelles à l'aide de la page des propriétés de la couche d'analyse de réseau. En outre, lorsque vous exécutez l'outil Add Locations (Ajouter des localisations), les paramètres de localisation configurés dans la boîte de dialogue de l'outil qui ne correspondent pas aux paramètres par défaut de la couche sont préservés sur la couche pour cette sous-couche.

Lorsque vous effectuez une analyse en Python à l'aide du module Network Analyst, vous pouvez utiliser la méthode setLocateSettingsOverrides pour configurer le comportement de localisation de classes en entrée individuelles, en remplaçant les paramètres par défaut pour l'analyse. En savoir plus sur cette méthode et en voir un exemple dans la rubrique Définition des entrées de l’analyse.

Remarque :
Cette fonctionnalité n'est pas prise en charge si la source des données réseau de l'analyse est ArcGIS Online ou un portail exécutant une version de ArcGIS Enterprise antérieure à la version 11.0.

Champs de localisation réseau

Une fois qu’une entrée a été localisée sur le réseau, sa localisation de réseau est définie grâce aux champs de localisation de réseau.

Champs de localisation de réseau pour les points

Pour les entrées des points, les champs de localisation de réseau contiennent l’ID du tronçon ou de la jonction de réseau dans lequel le point est localisé. Si le point est localisé sur un tronçon, les champs de localisation contiennent également l’emplacement le long de ce tronçon. Les champs de localisation de réseau pour les entrées de points sont les suivants :

Nom du champDescriptionType de données

SourceID

Identifiant numérique de la classe d’entités source du jeu de données réseau sur lequel se trouve le point en entrée.

Long

SourceOID

ObjectID de l’entité dans la source dans laquelle se trouve le point en entrée.

Long

PosAlong

Position le long du sens de numérisation de l’entité linéaire source. Cette valeur est stockée sous forme d’un ratio. Ce champ est nul si la localisation de réseau fait référence à une jonction.

Double

SideOfEdge

Côté du tronçon par rapport au sens de numérisation de l’entité linéaire. Ce champ est limité à un domaine de deux valeurs : Côté droit (1) et Côté gauche (2).

Long

SnapX

Coordonnée x de la position du jeu de données réseau où se trouvait le point, dans le système de coordonnées du jeu de données réseau.

Double

SnapY

Coordonnée y de la position du jeu de données réseau où se trouvait le point, dans le système de coordonnées du jeu de données réseau.

Double

SnapZ

Coordonnée z de la position du jeu de données réseau où se trouvait le point, dans le système de coordonnées du jeu de données réseau. Le champ SnapZ est égal à 0 si le réseau est en deux dimensions.

Double

DistanceToNetworkInMeters

Distance, exprimée en mètres, entre l’emplacement géographique du point et la position ou il se trouvait dans le réseau.

Double

Champs de localisation de réseau pour les lignes et les polygones

Les lignes et les polygones peuvent être employés comme interruptions dans une analyse de réseau. La localisation de réseau d’une entrée de ligne ou de polygone est définie par un seul champ BLOB : Locations.

Nom du champDescriptionType de données

Locations

Les informations de ce champ définissent les jonctions et les tronçons du réseau couverts par la ligne ou le polygone ainsi que la portion couverte de chaque tronçon. Vous ne pouvez pas lire ou mettre directement à jour les informations contenues dans ce champ, mais Network Analyst les interprète lors de la résolution d’une analyse.

BLOB

Entrées non localisées

Il peut arriver que Network Analyst ne puisse pas localiser une entrée sur le réseau. Cela se produit généralement lorsqu’aucun tronçon ou aucune jonction n’est trouvé dans la distance de la tolérance de recherche. Ces entrées non localisées ne peuvent pas être utilisées dans l’analyse de réseau.

Si un point n’est pas localisé, les champs de localisation de réseau ne sont pas renseignés. De plus, le champ Status a pour valeur 1(Not Located). Vous pouvez utiliser le champ Status pour interroger la table et rechercher toutes les entrées non localisées. Examinez les emplacements géographiques de ces points non localisés pour déterminer s’ils doivent être réellement ignorés ou si vous devez les mettre à jour.

Lorsque vous analysez une couche d’analyse de réseau, les entrées non localisées sont ignorées par défaut. Si, à la place, vous souhaitez que le calcul échoue pour toute entrée non localisée, désélectionnez l’option Ignore Invalid Locations (Ignorer les emplacements non valides) dans l’outil Rechercher. Pour les processus Python, utilisez la propriété ignoreInvalidLocations de l’objet solveur de l’analyse de réseau pour indiquer si les points non localisés doivent être ignorés.

Précalculer les champs de localisation de réseau

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 vos champs de localisation de réseau.

Découvrir comment précalculer des localisations de réseau et les utiliser dans une analyse

Utiliser le relèvement d’un véhicule pour calculer les localisations de réseau avec davantage d’exactitude

La direction dans laquelle un véhicule se déplace, ou relèvement, peut servir à mieux localiser son emplacement sur un réseau.

En savoir davantage sur l’utilisation du relèvement lors de la localisation des points