Générer un jeu de données de positionnement en intérieur (Positionnement en intérieur)

Synthèse

Génère un jeu de données de positionnement en intérieur pour une installation ArcGIS IPS existante. Vous pouvez utiliser la méthode Basé sur l’arpentage ou Sans arpentage pour générer le jeu de données.

Cet outil met à jour les classes d’entités Jeux de données de positionnement IPS et Points de positionnement IPS ainsi que la table Signaux de positionnement IPS dans le modèle d’information ArcGIS IPS.

Utilisation

  • L’outil génère un jeu de données de positionnement en intérieur à l’aide de l’une des méthodes suivantes :

    • Basé sur un arpentage : les entités Enregistrement IPS se composent de signaux collectés au cours d’un arpentage à l’aide de l’application ArcGIS IPS Setup. Pour cette méthode, il suffit d’indiquer les entités Enregistrement IPS et Niveau, mais vous pouvez également fournir les entités Balise IPS pour activer le positionnement radio adaptif afin d’optimiser la précision du positionnement sur les appareils Android. Si les entités Balise IPS sont indiquées, les signaux radio qui ne sont pas émis par les balises de la classe d’entités Balises IPS mais qui sont capturés lors de l’enregistrement d’un arpentage IPS sont exclus.
    • Sans arpentage : ces entités sont utilisées pour simuler la propagation d’un signal Bluetooth dans l’environnement intérieur. Pour cette méthode, vous devez fournir des entités Balises IPS, Zones IPS, Murs et Niveau.
  • La valeur du paramètre Nom du jeu de données en sortie doit être unique dans le champ Dataset Name de la classe d’entités que vous avez définie dans le paramètre Jeux de données de positionnement IPS cibles.

  • La valeur du paramètre Entités Niveau doit être une classe d’entités ou une couche d’entités conforme à la classe d’entités Niveaux du modèle d’informations ArcGIS Indoors.

    • Si la méthode de génération Basé sur l’arpentage est utilisée, un niveau doit être associé à au moins une entité d’enregistrement IPS valide dans le champ LEVEL_ID.
    • Si la méthode de génération Sans arpentage est utilisée, un niveau doit être associé à au moins quatre entités Balises, une entité Zone IPS et une entité Mur.
    • En outre, les attributs suivants doivent être valides, à jour et ne pas avoir une valeur nulle :
      • LEVEL_ID
      • VERTICAL_ORDER
      • FACILITY_ID

  • La valeur du paramètre Entités Enregistrements IPS doit être une couche d’entités ou une classe d’entités conforme à la classe d’entités IPS_Recordings du modèle ArcGIS IPS. Dans un processus de déploiement classique, la valeur du paramètre fait partie d’une carte qui a été partagée dans ArcGIS Online ou ArcGIS Enterprise.

    Remarque :

    Les déploiements mixtes Bluetooth et Wi-Fi sont autorisés, mais uniquement pour des bâtiments distincts sur un site. Certains bâtiments peuvent fournir un positionnement Bluetooth et d’autres un positionnement Wi-Fi. Cependant, les enregistrements Bluetooth et les enregistrements Wi-Fi ne peuvent pas être traités pour un même bâtiment dans un seul jeu de données de positionnement en intérieur.

    Si un bâtiment contient des enregistrements de relevé de ces deux types d’onde, sélectionnez les entités de l’un des types d’onde avant d’exécuter l’outil. Par exemple, utilisez l’outil Sélectionner une couche par attributs pour sélectionner tous les enregistrements Bluetooth d’un bâtiment qui contient les deux types d’onde, puis exécutez cet outil sur les entités sélectionnées uniquement. Le champ SITE_ID ne peut contenir qu’un seul ID de site par tâche de géotraitement. Traitez les sites supplémentaires en tant que jeux de données de positionnement en intérieur distincts.

  • La valeur du paramètre Entités Balise IPS doit être une couche d’entités ou une classe d’entités conforme à la classe d’entités Balises IPS du modèle de données IPS. La géométrie d’entité doit être précise et les attributs suivants doivent être valides, à jour et ne pas avoir une valeur nulle :

    • UUID
    • MAJOR
    • MINOR
    • LEVEL_ID
    • RSSI_1M
    Remarque :

    Pour plus d’informations, reportez-vous à l’article de blog How to maintain beacon data for ArcGIS IPS.

  • La valeur du paramètre Entités Zone IPS doit être une classe d’entités surfaciques ou une couche d’entités qui représente précisément les zones intérieures pour lesquelles vous souhaitez activer le positionnement en intérieur. Les conditions suivantes doivent être remplies :

    • La structure de l’entité Zone IPS inclut le champ LEVEL_ID.
    • L’entité Zone IPS est associée à un niveau existant à l’aide de l’attribut LEVEL_ID.
    • L’attribut LEVEL_ID ne doit pas avoir une valeur nulle.
    • La géométrie d’entité doit être contenue dans le niveau associé.

    Vous pouvez dériver la valeur du paramètre Entités Zone IPS de plusieurs façons. Il est recommandé de sélectionner les entités étiquetées comme des couloirs et des entrées dans la classe d’entités Unités du modèle d’informations ArcGIS Indoors. Vous pouvez aussi créer manuellement des entités Zone IPS pour pouvoir personnaliser le jeu de données selon vos besoins et préférences. La sélection de la méthode de dérivation dépend de vos exigences et de la complexité du cas d’utilisation.

  • La valeur du paramètre Entités Mur doit être une couche d’entités ou une classe d’entités représentant aussi précisément que possible l’étendue physique des murs dans les bâtiments où le positionnement en intérieur sera déployé. Ces entités peuvent être extraites depuis un modèle d’informations Indoors existant. La structure de la valeur du paramètre Entités Mur doit inclure tous les attributs requis pour la prise en compte des étages. Les conditions suivantes doivent être remplies :

    • Le mur doit être associé à un niveau existant via l’attribut LEVEL_ID.
    • L’attribut LEVEL_ID ne doit pas avoir une valeur nulle.
    • La géométrie d’entité doit être contenue dans le niveau associé.
  • La valeur du paramètre Mettre à jour un jeu de données existant doit être une valeur booléenne. Pour mettre à jour un jeu de données de positionnement en intérieur, activez le paramètre Mettre à jour un jeu de données existant.

    Remarque :

    Partagez le jeu de données de positionnement en intérieur (classes d’entités Jeux de données de positionnement IPS et Points de positionnement IPS ainsi que la table Signaux de positionnement IPS) sur la carte si vous souhaitez mettre à jour le jeu de données ultérieurement.

  • La valeur du paramètre Jeu de données existant n’est disponible que si le paramètre Mettre à jour un jeu de données existant est sélectionné. La valeur du paramètre doit être le nom d’un jeu de données de positionnement en intérieur existant se trouvant dans la valeur du paramètre Jeux de données de positionnement IPS cibles. Les données qui se trouvent dans le jeu de données seront utilisées en conjonction avec les entrées de l’outil pour générer une version mise à jour du jeu de données existant.

Paramètres

ÉtiquetteExplicationType de données
Jeux de données de positionnement IPS cibles

Classe d’entités dans laquelle le jeu de données de positionnement en intérieur généré est stocké.

Feature Layer
Nom du jeu de données en sortie

Nom du jeu de données de positionnement en intérieur en sortie.

Le nom du jeu de données en sortie doit être unique dans le champ Dataset Name de la classe d’entités Positionnement IPS cible.

String
Méthode de génération

Spécifie la méthode utilisée pour générer le jeu de données de positionnement en intérieur.

  • Basé sur l’arpentageLe jeu de données sera généré en traitant les enregistrements IPS.
  • Sans arpentageLe jeu de données sera généré en simulant la propagation d’un signal Bluetooth dans l’environnement intérieur.
String
Entités Niveau

Entités surfaciques représentant des emprises de niveau au sein des bâtiments.

Feature Layer
Entités Enregistrements IPS
(Facultatif)

Classe d’entités ou service d’entités qui contient les enregistrements IPS Setup.

Lors de la mise à jour des jeux de données de positionnement à l’aide de la méthode Basé sur un arpentage, il est possible d’utiliser l’arpentage IPS Setup et les enregistrements de la qualité. Les enregistrements de la qualité ne peuvent toutefois être utilisés que lorsque le paramètre Mettre à jour un jeu de données existant est activé.

Ce paramètre est requis lorsque le paramètre Méthode de génération a pour valeur Basé sur l’arpentage.

Feature Layer
Entités Balise IPS
(Facultatif)

Entités ponctuelles représentant la position et les paramètres des balises Bluetooth déployées dans l’environnement intérieur.

Lorsque vous générez le jeu de données de positionnement en intérieur Bluetooth avec le paramètre Méthode de génération défini sur Basé sur un arpentage, le fait de fournir des entités Balise valides permet d’activer le positionnement radio adaptatif, ce qui optimise la précision du positionnement en intérieur sur les appareils Android.

Ce paramètre est requis lorsque le paramètre Méthode de génération a pour valeur Sans arpentage.

Feature Layer
Entités Zone IPS
(Facultatif)

Entités surfaciques représentant la zone dans laquelle les données de positionnement en intérieur sont générées.

Ce paramètre est requis lorsque le paramètre Méthode de génération a pour valeur Sans arpentage.

Feature Layer
Entités Mur
(Facultatif)

Entités surfaciques représentant l’étendue physique des murs.

Ce paramètre est requis lorsque le paramètre Méthode de génération a pour valeur Sans arpentage.

Feature Layer
Mettre à jour un jeu de données existant
(Facultatif)

Indique si un jeu de données de positionnement en intérieur est créé en combinant un jeu de données existant et les entrées de l’outil. Ce paramètre est valide uniquement si le paramètre Méthode de génération a pour valeur Basé sur l’arpentage.

  • Activé : un jeu de données de positionnement en intérieur est créé en combinant un jeu de données existant et les entrées de l’outil.
  • Désactivé : un nouveau jeu de données de positionnement en intérieur est créé. Il s’agit de l’option par défaut.

Boolean
Jeu de données existant
(Facultatif)

Nom d’un jeu de données existant figurant dans la classe d’entités que vous avez définie dans le paramètre Jeux de données de positionnement IPS cibles. La valeur du paramètre doit être le nom d’un jeu de données de positionnement en intérieur se trouvant dans la classe d’entités cible. Les données qui se trouvent dans le jeu de données seront utilisées en conjonction avec les entrées de l’outil pour générer une version mise à jour du jeu de données existant. Ce paramètre est utilisé uniquement en combinaison avec le paramètre Mettre à jour un jeu de données existant.

String

Sortie obtenue

ÉtiquetteExplicationType de données
Jeux de données de positionnement IPS mis à jour

Classe d’entités Jeux de données de positionnement IPS mise à jour qui contient le jeu de données de positionnement en intérieur que vous venez de créer.

Feature Layer

arcpy.indoorpositioning.GenerateIndoorPositioningDataset(target_ips_positioning_datasets, dataset_name, generation_method, in_levels, {in_ips_recordings}, {in_beacons}, {in_ips_areas}, {in_walls}, {update_existing}, {existing_dataset})
NomExplicationType de données
target_ips_positioning_datasets

Classe d’entités dans laquelle le jeu de données de positionnement en intérieur généré est stocké.

Feature Layer
dataset_name

Nom du jeu de données de positionnement en intérieur en sortie.

Le nom du jeu de données en sortie doit être unique dans le champ Dataset Name de la classe d’entités Positionnement IPS cible.

String
generation_method

Spécifie la méthode utilisée pour générer le jeu de données de positionnement en intérieur.

  • SURVEY_BASEDLe jeu de données sera généré en traitant les enregistrements IPS.
  • SURVEY_LESSLe jeu de données sera généré en simulant la propagation d’un signal Bluetooth dans l’environnement intérieur.
String
in_levels

Entités surfaciques représentant des emprises de niveau au sein des bâtiments.

Feature Layer
in_ips_recordings
(Facultatif)

Classe d’entités ou service d’entités qui contient les enregistrements IPS Setup.

Lors de la mise à jour des jeux de données de positionnement à l’aide de la méthode Basé sur un arpentage, il est possible d’utiliser l’arpentage IPS Setup et les enregistrements de la qualité. Les enregistrements de la qualité ne peuvent toutefois être utilisés que lorsque le paramètre update_existing est défini sur UPDATE_EXISTING.

Ce paramètre est requis lorsque le paramètre generation_method est défini sur SURVEY_BASED.

Feature Layer
in_beacons
(Facultatif)

Entités ponctuelles représentant la position et les paramètres des balises Bluetooth déployées dans l’environnement intérieur.

Lorsque vous générez le jeu de données de positionnement en intérieur Bluetooth avec le paramètre generation_method défini sur SURVEY_BASED, le fait de fournir des entités Balise valides permet d’activer le positionnement radio adaptatif, ce qui optimise la précision du positionnement en intérieur sur les appareils Android.

Ce paramètre est requis lorsque le paramètre generation_method est défini sur SURVEY_LESS.

Feature Layer
in_ips_areas
(Facultatif)

Entités surfaciques représentant la zone dans laquelle les données de positionnement en intérieur sont générées.

Ce paramètre est requis lorsque le paramètre generation_method est défini sur SURVEY_LESS.

Feature Layer
in_walls
(Facultatif)

Entités surfaciques représentant l’étendue physique des murs.

Ce paramètre est requis lorsque le paramètre generation_method est défini sur SURVEY_LESS.

Feature Layer
update_existing
(Facultatif)

Indique si un jeu de données de positionnement en intérieur est créé en combinant un jeu de données existant et les entrées de l’outil. Ce paramètre est valide uniquement si le paramètre generation_method a pour valeur SURVEY_BASED.

  • UPDATE_EXISTINGUn jeu de données de positionnement en intérieur est créé en combinant un jeu de données existant et les entrées de l’outil.
  • NO_UPDATE_EXISTINGUn nouveau jeu de données de positionnement en intérieur est créé. Il s’agit de l’option par défaut.
Boolean
existing_dataset
(Facultatif)

Nom d’un jeu de données existant figurant dans la classe d’entités que vous avez définie dans le paramètre target_ips_positioning_datasets. La valeur du paramètre doit être le nom d’un jeu de données de positionnement en intérieur se trouvant dans la classe d’entités cible. Les données qui se trouvent dans le jeu de données seront utilisées en conjonction avec les entrées de l’outil pour générer une version mise à jour du jeu de données existant. Ce paramètre est utilisé uniquement en combinaison avec le paramètre update_existing.

String

Sortie obtenue

NomExplicationType de données
out_ips_datasets

Classe d’entités Jeux de données de positionnement IPS mise à jour qui contient le jeu de données de positionnement en intérieur que vous venez de créer.

Feature Layer

Exemple de code

Exemple 1 d’utilisation de la fonction GenerateIndoorPositioningDataset (script autonome Python)

Le script autonome Python ci-dessous illustre l’utilisation de la méthode Basé sur un arpentage de la fonction GenerateIndoorPositioningDataset pour générer un jeu de données de positionnement en intérieur.

# Name: GenerateIndoorPositioningDataset_example1.py
# Description: Generates an indoor positioning dataset
# using the survey-based method.

# Import system modules
import arcpy.indoorpositioning as ips

# Set local variables
ips_datasets = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\\IPS_Positioning_Datasets"
dataset_name = 'NewDataset'
levels = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\\Levels"
ips_recordings = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\\IPS_Recordings"

# Call the GenerateIndoorPositioningDataset tool

ips.GenerateIndoorPositioningDataset(target_ips_positioning_datasets=ips_datasets,
                                     dataset_name=dataset_name,
                                     generation_method='SURVEY_BASED',
                                     in_levels=levels,
                                     in_ips_recordings=ips_recordings)
Exemple 2 d’utilisation de la fonction GenerateIndoorPositioningDataset (script autonome Python)

Le script autonome Python ci-dessous illustre l’utilisation de la méthode Sans arpentage de la fonction GenerateIndoorPositioningDataset pour générer un jeu de données de positionnement en intérieur.

# Name: GenerateIndoorPositioningDataset_example2.py
# Description: Generates an indoor positioning dataset
# using the survey-less method.

# Import system modules
import arcpy.indoorpositioning as ips

# Set local variables
ips_datasets = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\\IPS_Positioning_Datasets"
dataset_name = 'NewDataset'
levels = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\\Levels"
beacons = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\\IPS_Beacons"
ips_areas = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\\IPS_Areas"
walls = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\\Walls"

# Call the GenerateIndoorPositioningDataset tool
ips.GenerateIndoorPositioningDataset(target_ips_positioning_datasets=ips_datasets,
                                     dataset_name=dataset_name,
                                     generation_method='SURVEY_LESS',
                                     in_levels=levels,
                                     in_beacons=beacons,
                                     in_ips_areas=ips_areas,
                                     in_walls=walls)
Exemple 3 d’utilisation de la fonction GenerateIndoorPositioningDataset (script autonome Python)

Le script autonome Python ci-après illustre la mise à jour d’un jeu de données de positionnement en intérieur existant à l’aide de la méthode Basé sur un arpentage en combinant les données d’un jeu de données existant et les entrées de l’outil.

# Name: GenerateIndoorPositioningDataset_example3.py 
# Description: Updates an existing indoor positioning dataset using the
# survey-based method by combining data from an existing dataset and the 
# tool inputs.

# Import system modules 

import arcpy.indoorpositioning as ips

# Set local variables 
ips_datasets = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\IPS_Positioning_Datasets" 
existing_dataset = 'Dataset1' 
dataset_name = 'Dataset1_updated'
levels = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\Levels" 
ips_recordings = r"C:\\Users\\myUser\\Documents\\ArcGIS\\Projects\\DemoProject\\DemoProject.gdb\IPS_Recordings" 

# Call the GenerateIndoorPositioningDataset tool 
ips.GenerateIndoorPositioningDataset(target_ips_positioning_datasets=ips_datasets,
                                     dataset_name=dataset_name,
                                     generation_method='SURVEY_BASED',
                                     in_levels=levels,
                                     in_ips_recordings=ips_recordings,
                                     update_existing="UPDATE_EXISTING",
                                     existing_dataset=existing_dataset)

Informations de licence

  • Basic: Non
  • Standard: Nécessite ArcGIS IPS
  • Advanced: Nécessite ArcGIS IPS

Rubriques connexes