Générer des liens origine-destination (Analyse)

Résumé

Génère des lignes de connexion entre les entités d’origine et les entités de destination. Ce graphique est souvent appelé diagramme en étoile.

Illustration

Générer des liens origine-destination

Utilisation

  • Si les entités d’origine ou de destination sont des lignes ou des polygones, les liens sont générés à partir des centroïdes d’entité.

  • Les entités en sortie incluent les champs attributaires suivants :

    • ORIG_FID : champ ObjectID de l'entité d’origine.
    • ORIG_X : coordonnée x de l’entité d'origine (ou centroïde).
    • ORIG_Y : coordonnée y de l’entité d'origine (ou centroïde).
    • DEST_FID : champ ObjectID de l'entité de destination.
    • DEST_X : coordonnée x de l’entité de destination (ou centroïde).
    • DEST_Y : coordonnée y de l’entité de destination (ou centroïde).
    • LINK_DIST : longueur du lien en sortie, mesurée dans l’unité de distance spécifiée.
    • GROUP_ID : valeurs des champs de regroupement partagées entre les paires liées d’entités d’origine et de destination. Ce champ n’est ajouté que si les champs des groupes d’origine et de destination sont tous deux spécifiés.
    • COLOR_ID : valeur numérique permettant de symboliser les origines ou les groupes par huit liens colorés uniques, au maximum. Les valeurs sont des nombres aléatoires compris entre 1 et 8.
    • LINK_COUNT : nombre de liens superposés. Ce champ est ajouté si vous souhaitez agréger les liens de superposition.
    • Les champs de statistiques spécifiés lors de l’agrégation des liens de superposition sont également ajoutés à la classe d’entités en sortie.

  • Les entités d’origine et les entités de destination peuvent être spécifiées comme appartenant à la même couche ou au même jeu de données. Si les mêmes données sont utilisées à la fois comme origines et destinations, les liens ne sont pas générés à partir d’une entité d’origine vers l’entité de destination avec le même ID d’objet, car la ligne de longueur égale à zéro correspond à une erreur de géométrie nulle.

  • Cet outil peut être utilisé pour les relations un vers un et un vers plusieurs. Par exemple, vous pouvez lier un vol de véhicules à moteur à l’emplacement où il a été retrouvé (un à un) ou effectuer une analyse de proximité pour comprendre les distances entre l’emplacement d’un quartier général et les emplacements des bureaux régionaux (un à plusieurs).

  • La couche des liens en sortie inclut les diagrammes suivants pour que vous puissiez visualiser le résultat de l’analyse :

    • Un diagramme à barres du total de chaque ID de groupe si vous avez spécifié des champs de groupe.
    • Un diagramme à barres de la somme des longueurs de lien de chaque ID d’origine ou ID de groupe (si vous avez spécifié des champs de groupe). Ce diagramme est utile pour déterminer si des origines ou des groupes ont de grandes ou petites distances totales jusqu’aux destinations.
    • Un diagramme à barres des longueurs de lien moyennes de chaque ID d’origine ou ID de groupe (si vous avez spécifié des champs de groupe). Ce diagramme est utile pour déterminer la distance moyenne entre les entités d’origine ou les groupes et les destinations liées.
    • Une boîte à moustaches de la distribution des longueurs de lien de chaque ID d’origine ou ID de groupe (si vous avez spécifié des champs de groupe). Ce diagramme est utile pour déterminer si la plupart des liens reliant une origine ou un groupe à leurs destinations sont de grande ou petite taille et voir la plage et la distribution récapitulant ces longueurs de liens. Si le rectangle d’une entité d’origine ou d’un ID de groupe est plus large que haut, cela signifie que les distances entre cette origine ou ce groupe et toutes les destinations liées étaient similaires. Si une entité d’origine ou un ID de groupe a une boîte à moustaches plus haute que large, la plupart des liens sont de longueur importante.

Syntaxe

arcpy.analysis.GenerateOriginDestinationLinks(origin_features, destination_features, out_feature_class, {origin_group_field}, {destination_group_field}, {line_type}, {num_nearest}, {search_distance}, distance_unit, {aggregate_links}, {sum_fields})
ParamètreExplicationType de données
origin_features

Entités en entrée à partir desquelles les liens sont générés.

Feature Layer
destination_features

Entités de destination vers lesquelles les liens sont générés.

Feature Layer
out_feature_class

Classe d'entités polylignes en sortie devant contenir les liens en sortie.

Feature Class
origin_group_field
(Facultatif)

Champ attributaire issu des entités d’origine en entrée à utiliser pour le regroupement. Les entités possédant la même valeur de champ de regroupement entre les origines et les destinations sont connectées avec un lien.

Field
destination_group_field
(Facultatif)

Champ attributaire issu des entités de destination en entrée à utiliser pour le regroupement. Les entités possédant la même valeur de champ de regroupement entre les origines et les destinations sont connectées avec un lien.

Field
line_type
(Facultatif)

Spécifie si un chemin le plus court sur une sphéroïde (géodésique) ou une terre selon une projection cartésienne (planaire) est utilisé lors de la génération des liens en sortie. Les lignes géodésiques sont légèrement courbées si leur longueur dépasse environ 50 kilomètres car en raison de la courbure de la terre, la distance la plus courte entre deux points semble courbe sur une carte 2D.

Il est recommandé d’utiliser le type de ligne Geodesic (Géodésique) avec des données stockées dans un système de coordonnées non approprié pour les mesures de distance (par exemple, Web Mercator ou tout système de coordonnées géographiques) or tout jeu de données couvrant une zone géographique importante.

  • PLANARUne distance planaire est utilisée entre les entités. Il s’agit de l’option par défaut.
  • GEODESICDes distances géodésiques sont utilisées entre les entités. Ce type de ligne tient compte de la courbure de la sphéroïde et gère correctement les données situées près de la ligne de changement de jour et des pôles.
String
num_nearest
(Facultatif)

Nombre maximal de liens générés par entité d'origine vers les entités de destination les plus proches. Si aucun nombre n’est spécifié, l’outil génère des liens entre toutes les entités d’origine et de destination.

Par exemple, l’utilisation de la valeur 1 génère des liens entre chaque entité d'origine et son entité de destination la plus proche.

Double
search_distance
(Facultatif)

Distance maximum entre une entité d’origine et une entité de destination qui produit une entité de lien en sortie. L’unité de distance de recherche est spécifiée selon le paramètre d’unité de distance. Si aucune distance de recherche n’est spécifiée, l’outil génère des liens entre toutes les entités d’origine et de destination, quelle que soit la distance qui les sépare.

Double
distance_unit

Spécifie les unités utilisées pour mesurer les longueurs des liens. Les distances de chaque lien apparaissent dans le champ LINK_DIST. Si aucune unité de distance n'est spécifiée, celle du système de coordonnées des entités d'origine est utilisée.

  • KILOMETERSLa distance entre l’origine et la destination est calculée en kilomètres.
  • METERSLa distance entre l’origine et la destination est calculée en mètres.
  • MILESLa distance entre l’origine et la destination est calculée en miles.
  • NAUTICALMILESLa distance entre l’origine et la destination est calculée en miles nautiques.
  • YARDSLa distance entre l’origine et la destination est calculée en yards.
  • FEETLa distance entre l’origine et la destination est calculée en pieds.
String
aggregate_links
(Facultatif)

Indique si les liens de superposition sont agrégés.

  • AGGREGATE_OVERLAPPINGLes liens de superposition sont agrégés si les coordonnées du point de départ sont identiques.
  • NO_AGGREGATELes liens de superposition ne sont pas agrégés. Il s’agit de l’option par défaut.
Boolean
sum_fields
[sum_fields,...]
(Facultatif)

Spécifie les champs numériques des entités de destination contenant des valeurs attributaires agrégées lorsque plusieurs liens se superposent. Vous pouvez préciser plusieurs combinaisons de statistiques et de champs. Les valeurs nulles sont exclues de tous les calculs statistiques.

Les types de statistiques disponibles sont les suivants :

  • SUM : ajoutez la valeur totale du champ spécifié.
  • MEAN : calculez la moyenne du champ spécifié.
  • MIN : recherchez la valeur la plus faible parmi tous les enregistrements du champ spécifié.
  • MAX : recherchez la valeur la plus élevée parmi tous les enregistrements du champ spécifié.
  • RANGE : recherchez la plage de valeurs (maximum moins minimum) du champ spécifié.
  • STD : recherchez l'écart type des valeurs du champ spécifié.
  • COUNT : recherchez le nombre de valeurs incluses dans les calculs statistiques. Toutes les valeurs sont prises en compte, hormis les valeurs Null. Pour déterminer le nombre de valeurs nulles dans un champ, créez un total pour le champ en question, créez un total pour un autre champ qui ne contient pas de valeurs nulles (par exemple l’OID, s’il est présent), puis soustrayez le champ contenant des valeurs nulles du champ sans valeur nulle.
  • FIRST : recherchez le premier enregistrement en entrée et utilisez sa valeur de champ spécifiée.
  • LAST : recherchez le dernier enregistrement en entrée et utilisez sa valeur de champ spécifiée.
  • MEDIAN : calculez la médiane de tous les enregistrements du champ spécifié.
  • VARIANCE : calculez la variance de tous les enregistrements du champ spécifié.
  • UNIQUE : comptez le nombre de valeurs uniques du champ spécifié.
Value Table

Exemple de code

Exemple 1 d’utilisation de l’outil GenerateOriginDestinationLinks (fenêtre Python)

L’exemple ci-dessous illustre l’utilisation de la fonction GenerateOriginDestinationLinks dans la fenêtre Python :

import arcpy
arcpy.env.workspace = "C:/data/input/genODLinks.gdb"

arcpy.GenerateOriginDestinationLinks_analysis(
    "Station_100", "City_FireResponses", "Station_100_OD_Links")
Exemple 2 d’utilisation de l’outil GenerateOriginDestinationLinks (script autonome)

Le script Python ci-dessous illustre l’utilisation de la fonction GenerateOriginDestinationLinks dans un script autonome :

# Name: GenerateODLinks.py
# Description: Finds 10 nearest links within 25 miles from the origin fire
#              stations to the destination response points.

# import system modules
import arcpy

# set workspace environment
arcpy.env.workspace = "C:/data/input/genODLinks.gdb"

# set required parameters 
origin_features = "Station_100"
destination_features = "City_FireResponses"
out_feature_class = "Station_100_OD_Links"

# optional parameters
origin_group_field = 'STA_NUM'
destination_group_field = 'District'
line_type = 'PLANAR'
num_nearest = 10
search_distance = 25
distance_unit = 'MILES'
aggregate_links='AGGREGATE_OVERLAPPING'
sum_fields = 'TimeSpentOnCall SUM'

# make links between fire stations and call response points
arcpy.GenerateOriginDestinationLinks_analysis(
    origin_features, destination_features, out_feature_class,
    origin_group_field, destination_group_field, line_type, num_nearest,
    search_distance, distance_unit, aggregate_links, sum_fields)

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes