Générer des entités de réseau Indoor (Indoors)

Synthèse

Génère des parcours intérieurs et des transitions entre les étages sur les niveaux sélectionnés dans un ou plusieurs bâtiments. Cet outil peut générer des parcours horizontaux et des transitions verticales entre les étages pour le réseau de cheminement intérieur en une seule exécution d’outil.

Utilisation

  • La valeur du paramètre Entités Niveau en entrée doit être une couche ou classe d’entités conforme au modèle d’information ArcGIS Indoors pour la classe d’entités Niveaux.

    • Pour générer des parcours pour des bâtiments ou niveaux spécifiques, utilisez l’outil Sélectionner une couche par attribut afin de sélectionner les entités Niveau correspondantes avant d’exécuter cet outil.
    • Si une classe ou couche d’entités n’ayant aucune sélection est spécifiée, l’outil génère des parcours pour toutes les entités.

  • La valeur du paramètre Entités Unité en entrée doit être une couche ou une classe d’entités conforme au modèle Indoors pour la classe d’entités Unités.

  • La valeur du paramètre Entités d’obstacle en entrée doit être une couche ou une classe d’entités représentant des entités impossibles à traverser qui bloquent la génération des parcours, telles que les murs, les fenêtres et les colonnes.

    • L’entrée utilisée pour ce paramètre doit contenir un champ LEVEL_ID ou être une couche de carte configurée pour tenir compte des étages.
    • Le paramètre facultatif Expression d’obstacle permet de configurer une expression SQL qui définit un sous-ensemble d’entités à partir de la valeur du paramètre Entités d’obstacle en entrée pour sélectionner les valeurs attributaires définissant des interruptions qui bloqueront la génération des parcours, telles que les murs, les fenêtres ou les colonnes.

  • La valeur du paramètre Parcours intérieurs cibles doit être une classe d’entités ou une couche d’entités conforme au modèle Indoors de la classe d’entités Parcours.

    • Si la valeur du paramètre Parcours intérieurs cibles contient déjà des parcours pour les niveaux définis par la valeur du paramètre Entités Niveau en entrée, l’outil remplace les parcours existants.
  • La valeur du paramètre facultatif Transitions cibles entre les étages doit être une classe d’entités ou une couche d’entités conforme au modèle Indoors de la classe d’entités Transitions. Si aucune couche de transitions cibles n’est indiquée pour ce paramètre, l’outil ne crée que des entités de parcours horizontales.

    • Si la couche indiquée pour le paramètre Transitions cibles entre les étages contient déjà des transitions pour les niveaux définis par la valeur du paramètre Entités Niveau en entrée, l’outil remplace les parcours existants.
    • Les sommets des entités de transition créés par l’outil sont capturés avec les entités de parcours afin de garantir la connexion du réseau.
    • Au moins deux entités Niveau en entrée doivent être incluses dans les entités Niveau en entrée pour pouvoir créer des transitions.
    • Si des transitions sont indiquées, vous devez fournir une valeur pour le paramètre Expression Unité escalier, le paramètre Expression d’ascenseur ou les deux.
  • Le paramètre Méthode de génération des parcours propose les options suivantes relatives aux différentes modalités de création des entités de parcours :

    • Canevas : des parcours horizontaux sont créés à l’aide d’une approche basée sur un canevas, adaptée aux bâtiments qui possèdent une seule orientation ou de nombreux angles droits. Les entités Transitions sont également créées si des transitions en entrée sont indiquées. Il s’agit de l’option par défaut.
    • Réseau de circulation universelle : les parcours horizontaux sont créés à l’aide de l’algorithme de réseau de circulation universelle qui imite fidèlement les modèles de déplacement à pied et convient parfaitement aux bâtiments qui ne comportent pas principalement des angles à 90 degrés ou une rotation constante. Les entités Transitions sont également créées si des transitions en entrée sont indiquées.
    • Transitions uniquement : si vous possédez déjà des parcours, vous pouvez utiliser cette option pour créer les transitions verticales entre les étages et les capturer sur les parcours existants.
  • La valeur du paramètre facultatif Emplacements accessibles doit être une couche ou une classe d’entités ponctuelles représentant les points d’intérêt sur lesquels les parcours sont générés en plus des centroïdes d’unité. Si aucun emplacement accessible n’est indiqué, l’outil génère les parcours uniquement sur les centroïdes d’unité.

  • Le paramètre facultatif Zone tampon d’obstacle spécifie la proportion d’une zone tampon créée autour des interruptions lors de la définition des parcours. Considérez les points suivants lors de l’utilisation de la zone tampon d’obstacle :

    • Plus la zone tampon d’obstacle est petite, plus les entités de parcours sont créées à proximité des obstacles (comme les murs).
    • La zone tampon d’obstacle doit être au maximum égale à la moitié de la largeur de l’entrée la plus étroite pour garantir la connexion du parcours entre les unités.
    • Si les emplacements accessibles figurent dans la zone tampon, l’outil ne passe pas par eux.

  • Le paramètre facultatif Délai d’ascenseur spécifie le délai d’attente de l’ascenseur, exprimé en secondes, lorsque le passage entre les étages se fait par un ascenseur.

  • Le paramètre Rayon de recherche permet de localiser les localisations accessibles à proximité qui doivent être connectées au parcours à partir de n’importe quelle localisation accessible durant la génération des parcours. Tenez compte des points suivants lors de la définition d’un rayon de recherche :

    • L’augmentation du rayon de recherche entraîne un plus grand nombre de parcours générés.
    • Pour les espaces ouverts de grande taille ou les longs couloirs, l’utilisation d’un grand rayon de recherche permet de garantir la connexion du parcours.
    • Un grand rayon de recherche peut se traduire par un temps d’exécution plus long.

  • Cet outil respecte l’environnement Facteur de traitement parallèle. Si l’environnement n’est pas défini, la valeur par défaut est égale à 50 pour cent des cœurs disponibles. Si l’environnement est défini sur 100, le traitement parallèle complet est activé et l’outil tente de répartir les tâches sur tous les cœurs logiques de la machine. Si vous définissez l’environnement sur 0, le traitement parallèle est désactivé. Si vous spécifiez un facteur compris entre 1 et 99, l’outil détermine le pourcentage de cœurs logiques à utiliser en appliquant la formule (Facteur de traitement parallèle / 100 * Cœurs logiques) arrondie à l’entier supérieur le plus proche. Si le résultat de cette formule est 0 ou 1, le traitement parallèle n’est pas activé.

  • Le paramètre Rotation du canevas définit l’angle selon lequel pivote le canevas des parcours généré par rapport au plein ouest. Tenez compte des points suivants lorsque vous définissez la rotation du canevas :

    • Vous pouvez utiliser ce paramètre pour générer des parcours qui s’alignent mieux avec la direction de déplacement principale des entités Niveau en entrée.
    • Si aucune valeur n’est indiquée, l’outil calcule une valeur de rotation en fonction du rectangle d’emprise minimale de chaque niveau du bâtiment à l’aide de la valeur du paramètre Entités Niveau en entrée.

  • Le paramètre Espacement du canevas spécifie la distance maximale entre des nœuds connectés adjacents dans le canevas des parcours. La valeur du paramètre doit être comprise entre 0,25 et 2,9 mètres ou entre 0,6 et 9,5 pieds internationaux. Tenez compte des points suivants lorsque vous définissez l’espacement du canevas :

    • Vous pouvez utiliser ce paramètre pour générer un canevas avec un espacement assez réduit qui permet de franchir les portes les plus étroites d’un plan d’étage.
    • Évitez de rendre le canevas plus dense que nécessaire. La génération des canevas denses prend plus de temps et demande plus d’espace disque.
    • La valeur par défaut (0,6 mètre) fonctionne bien dans la plupart des situations.

Paramètres

ÉtiquetteExplicationType de données
Entités Niveau en entrée

Couche ou classe d’entités contenant les entités Niveau. Dans le modèle Indoors, il s’agit de la couche Niveaux. L’outil respecte les sélections et les ensembles de définition appliqués à la couche.

Feature Layer
Entités Unité en entrée

Classe ou couche d’entités contenant les entités Unité. Dans le modèle Indoors, il s’agit de la couche Unités.

Feature Layer
Entités d’obstacle en entrée

Classe ou couche d’entités contenant les entités polylignes représentant les entités impossibles à traverser, telles que les murs, les fenêtres et les colonnes. La couche d’entités d’obstacle doit comporter un champ LEVEL_ID ou être définie comme tenant compte des étages sur la carte.

Feature Layer
Parcours intérieurs cibles

Classe ou couche d’entités dans laquelle les entités des parcours générés sont créées. Dans le modèle Indoors, il s’agit de la couche Parcours.

Feature Layer
Transitions intérieures cibles
(Facultatif)

Classe ou couche d’entités dans laquelle les entités de transition générées, représentant les transitions verticales entre les étages (comme les escaliers et les ascenseurs), sont créées. Dans le modèle Indoors, il s’agit de la couche Transitions.

Feature Layer
Expression d’obstacle
(Facultatif)

Expression SQL qui définit, à partir du paramètre Entités d’obstacle en entrée, le sous-ensemble d’entités comportant les interruptions que les parcours ne doivent pas traverser. Elles incluent des entités telles que les murs, les fenêtres et les colonnes.

SQL Expression
Localisations accessibles
(Facultatif)

Localisations supplémentaires vers lesquelles des parcours sont générés. Ce paramètre accepte des couches d’entités ponctuelles en entrée.

Feature Layer
Méthode de génération des parcours
(Facultatif)

Indique la méthode utilisée pour générer des parcours intérieurs.

  • Réseau de circulation universelleLes parcours horizontaux sont créés à l’aide de l’algorithme de réseau de circulation universelle qui imite fidèlement les modèles de déplacement à pied. Cette méthode convient parfaitement aux bâtiments qui ne comportent pas principalement des angles à 90 degrés ou une rotation constante. Les entités Transition sont également créées si des transitions en entrée sont indiquées.
  • canevasDes parcours horizontaux sont créés à l’aide d’une approche basée sur un canevas, adaptée aux bâtiments qui possèdent une seule orientation et de nombreux angles droits. Il s’agit de l’option par défaut.
  • Transitions uniquementSi vous possédez déjà des parcours, cette option crée les transitions verticales entre les étages et les capture sur les parcours existants.
String
Expression Unité escalier
(Facultatif)

Expression SQL qui définit les entités, dans la couche Unités en entrée, qui représentent des transitions basées sur des pas, comme les escaliers et les escaliers mécaniques.

SQL Expression
Expression d’ascenseur
(Facultatif)

Expression SQL qui définit les entités, dans la couche Unités en entrée, représentant des transitions basées sur des ascenseurs.

SQL Expression
Délai d’ascenseur
(Facultatif)

Temps de transit moyen en secondes qu’une personne empruntant l’ascenseur peut compter attendre pour entrer et sortir de l’ascenseur. L’utilisation de ce paramètre peut améliorer les calculs d’itinéraire et de temps de transit.

La valeur doit être égale ou supérieure à zéro.

Double
Zone tampon d’obstacle
(Facultatif)

Distance de zone tampon à appliquer aux entités d’obstacle définies comme des interruptions. La valeur doit être comprise entre 0,25 et 2,9 mètres ou entre 0,6 et 9,5 pieds internationaux. Si aucune valeur n’est indiquée, une valeur par défaut est générée en fonction de la valeur du paramètre Méthode de génération des parcours comme suit :

  • Canevas : 0,05 mètre
  • Réseau de circulation universelle : 0,4 mètre

Linear Unit
Rayon de recherche
(Facultatif)

Distance de recherche des localisations accessibles à partir de n’importe quel point donné. Un rayon important entraîne la génération d’un plus grand nombre de parcours. Les espaces vastes et les longs couloirs impliquent un rayon de recherche plus grand pour permettre la génération des parcours.

Linear Unit
Espacement du canevas
(Facultatif)

Distance maximale autorisée entre des nœuds dans le canevas des parcours généré. L’outil utilise l’unité de mesure du système de coordonnées du jeu de données Indoors. La valeur par défaut est 0,6 mètre.

La valeur doit être comprise entre 0,25 et 2,9 mètres ou entre 0,6 et 9,5 pieds internationaux.

Linear Unit
Rotation du canevas
(Facultatif)

Nombre de degrés de rotation dans le sens horaire par rapport au plein ouest appliqué à la direction de déplacement principal des étages en entrée. Si aucune valeur n’est indiquée, une valeur par défaut basée sur le rectangle d’emprise minimale de chaque étage est utilisée.

La valeur doit être comprise entre 0 et 180.

Double

Sortie obtenue

ÉtiquetteExplicationType de données
Parcours mis à jour

Couche Parcours intérieurs cibles mise à jour.

Feature Layer
Transitions mises à jour

Couche Transitions intérieures cibles mise à jour.

Feature Layer

arcpy.indoors.GenerateIndoorNetworkFeatures(in_level_features, in_unit_features, in_obstacle_features, target_indoor_pathways, {target_floor_transitions}, {obstacle_expression}, {routable_locations}, {generation_method}, {stairway_unit_exp}, {elevator_unit_exp}, {elevator_delay}, {obstacle_buffer}, {search_radius}, {lattice_spacing}, {lattice_rotation})
NomExplicationType de données
in_level_features

Couche ou classe d’entités contenant les entités Niveau. Dans le modèle Indoors, il s’agit de la couche Niveaux. L’outil respecte les sélections et les ensembles de définition appliqués à la couche.

Feature Layer
in_unit_features

Classe ou couche d’entités contenant les entités Unité. Dans le modèle Indoors, il s’agit de la couche Unités.

Feature Layer
in_obstacle_features

Classe ou couche d’entités contenant les entités polylignes représentant les entités impossibles à traverser, telles que les murs, les fenêtres et les colonnes. La couche d’entités d’obstacle doit comporter un champ LEVEL_ID ou être définie comme tenant compte des étages sur la carte.

Feature Layer
target_indoor_pathways

Classe ou couche d’entités dans laquelle les entités des parcours générés sont créées. Dans le modèle Indoors, il s’agit de la couche Parcours.

Feature Layer
target_floor_transitions
(Facultatif)

Classe ou couche d’entités dans laquelle les entités de transition générées, représentant les transitions verticales entre les étages (comme les escaliers et les ascenseurs), sont créées. Dans le modèle Indoors, il s’agit de la couche Transitions.

Feature Layer
obstacle_expression
(Facultatif)

Expression SQL qui définit, à partir du paramètre in_obstacle_features, le sous-ensemble d’entités comportant les interruptions que les parcours ne doivent pas traverser. Elles incluent des entités telles que les murs, les fenêtres et les colonnes.

SQL Expression
routable_locations
[routable_locations,...]
(Facultatif)

Localisations supplémentaires vers lesquelles des parcours sont générés. Ce paramètre accepte des couches d’entités ponctuelles en entrée.

Feature Layer
generation_method
(Facultatif)

Indique la méthode utilisée pour générer des parcours intérieurs.

  • UCNLes parcours horizontaux sont créés à l’aide de l’algorithme de réseau de circulation universelle qui imite fidèlement les modèles de déplacement à pied. Cette méthode convient parfaitement aux bâtiments qui ne comportent pas principalement des angles à 90 degrés ou une rotation constante. Les entités Transition sont également créées si des transitions en entrée sont indiquées.
  • LATTICEDes parcours horizontaux sont créés à l’aide d’une approche basée sur un canevas, adaptée aux bâtiments qui possèdent une seule orientation et de nombreux angles droits. Il s’agit de l’option par défaut.
  • TRANSITIONS_ONLYSi vous possédez déjà des parcours, cette option crée les transitions verticales entre les étages et les capture sur les parcours existants.
String
stairway_unit_exp
(Facultatif)

Expression SQL qui définit les entités, dans la couche Unités en entrée, qui représentent des transitions basées sur des pas, comme les escaliers et les escaliers mécaniques.

SQL Expression
elevator_unit_exp
(Facultatif)

Expression SQL qui définit les entités, dans la couche Unités en entrée, représentant des transitions basées sur des ascenseurs.

SQL Expression
elevator_delay
(Facultatif)

Temps de transit moyen en secondes qu’une personne empruntant l’ascenseur peut compter attendre pour entrer et sortir de l’ascenseur. L’utilisation de ce paramètre peut améliorer les calculs d’itinéraire et de temps de transit.

La valeur doit être égale ou supérieure à zéro.

Double
obstacle_buffer
(Facultatif)

Distance de zone tampon à appliquer aux entités d’obstacle définies comme des interruptions. La valeur doit être comprise entre 0,25 et 2,9 mètres ou entre 0,6 et 9,5 pieds internationaux. Si aucune valeur n’est indiquée, une valeur par défaut est générée en fonction de la valeur du paramètre generation_method comme suit :

  • LATTICE : 0,05 mètre
  • UCN : 0,4 mètre

Linear Unit
search_radius
(Facultatif)

Distance de recherche des localisations accessibles à partir de n’importe quel point donné. Un rayon important entraîne la génération d’un plus grand nombre de parcours. Les espaces vastes et les longs couloirs impliquent un rayon de recherche plus grand pour permettre la génération des parcours.

Linear Unit
lattice_spacing
(Facultatif)

Distance maximale autorisée entre des nœuds dans le canevas des parcours généré. L’outil utilise l’unité de mesure du système de coordonnées du jeu de données Indoors. La valeur par défaut est 0,6 mètre.

La valeur doit être comprise entre 0,25 et 2,9 mètres ou entre 0,6 et 9,5 pieds internationaux.

Linear Unit
lattice_rotation
(Facultatif)

Nombre de degrés de rotation dans le sens horaire par rapport au plein ouest appliqué à la direction de déplacement principal des étages en entrée. Si aucune valeur n’est indiquée, une valeur par défaut basée sur le rectangle d’emprise minimale de chaque étage est utilisée.

La valeur doit être comprise entre 0 et 180.

Double

Sortie obtenue

NomExplicationType de données
updated_pathways

Couche target_indoor_pathways mise à jour.

Feature Layer
updated_transitions

Couche target_floor_transitions mise à jour.

Feature Layer

Exemple de code

Exemple 1 d’utilisation de la fonction GenerateIndoorNetworkFeatures (fenêtre Python)

Le script Python ci-dessous illustre l’utilisation de la fonction GenerateIndoorNetworkFeatures en mode immédiat.

import arcpy
arcpy.indoors.GenerateIndoorNetworkFeatures(r"C:\Indoors.gdb\Indoors\Levels",
                                 r"C:\Indoors.gdb\Indoors\Units",
                                 r"C:\Indoors.gdb\Indoors\Details",
                                 r"C:\Indoors.gdb\Network\Pathways",
                                 r"C:\Indoors.gdb\Network\Transitions",
                                 "USE_TYPE = 'Interior Wall'", "Occupants", 
                                 r"C:\Data.gdb\RoutableLocationPoints",
                                 "UCN",
                                 "USE_TYPE = 'Stairway'", "USE_TYPE = 'Elevator'", "",
                                 '0.5 Meters', '5 Meters'
                                 )
Exemple 2 d'utilisation de la fonction GenerateIndoorNetworkFeatures (script autonome)

Le script autonome ci-dessous illustre l’utilisation de la fonction GenerateIndoorNetworkFeatures.

#Name: Indoors_GenerateIndoorNetworkFeatures_example2.py
#Description: Generates indoor pathways on selected levels in one or more facilities.

import arcpy

# Set Local Variables
in_level_features=r"C:\data\Indoors.gdb\Indoors\Levels",
in_unit_features=r"C:\data\Indoors.gdb\Indoors\Units",
in_obstacle_features=r"C:\data\Indoors.gdb\Indoors\Details",
target_indoor_pathways=r"C:\data\Indoors.gdb\Network\Pathways",
target_transitions=r"C:\data\Indoors.gdb\Network\Transitions",
obstacle_expression="USE_TYPE = 'Interior Wall'",
routable_locations="Occupants",
generation_method="UCN"
stairway_unit_exp="USE_TYPE = 'Stairway'",
elevator_unit_exp="USE_TYPE = 'Elevator'",
elevator_delay="15"
obstacle_buffer="0.4 Meters",
search_radius="10 Meters"

#Call the function
arcpy.indoors.GenerateIndoorNetworkFeatures(
    in_level_features,
    in_unit_features,
    in_obstacle_features,
    target_indoor_pathways,
    target_floor_transitions,
    obstacle_expression,
    routable_locations,
    generation_method,
    stairway_unit_exp,
    elevator_unit_exp,
    elevator_delay,
    obstacle_buffer,
    search_radius,
)

Informations de licence

  • Basic: Non
  • Standard: Nécessite ArcGIS Indoors Pro ou ArcGIS Indoors Maps
  • Advanced: Nécessite ArcGIS Indoors Pro ou ArcGIS Indoors Maps

Rubriques connexes