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 la classe d’entités Jeux de données de positionnement IPS, la table Signaux de positionnement IPS et la classe d’entités Points de positionnement IPS dans le modèle d’informations 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 l’arpentage : les entités Enregistrements IPS se composent de signaux collectés au cours d’un arpentage à l’aide de l’application ArcGIS IPS Setup. Pour cette méthode, vous devez fournir des entités Enregistrements IPS et Niveau.
    • 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 Positionnement IPS cible.

  • 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 Enregistrement IPS du modèle de données 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 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, sélectionnez le paramètre Mettre à jour un jeu de données existant.

    Remarque :

    Partagez le jeu de données de positionnement en intérieur (jeux de données, points et signaux) sur la carte si vous prévoyez de 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é sera 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 qui sera 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 des enregistrements d’arpentage IPS Setup.

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.

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 où les données de positionnement en intérieur seront 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 sera 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.

  • Sélectionné : un jeu de données de positionnement en intérieur est créé à l’aide du jeu de données existant et des entrées de l’outil.
  • Désélectionné : 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 parmi les 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 existant parmi les 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. 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 mis à 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é sera 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 qui sera 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 des enregistrements d’arpentage IPS Setup.

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.

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 où les données de positionnement en intérieur seront 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 sera 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éé à l’aide du jeu de données existant et des 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 parmi les 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 existant parmi les 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. 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 mis à 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 (fenêtre Python)

Le script de fenêtre Python ci-dessous montre comment utiliser la méthode Basé sur l’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 
 
# 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 
arcpy.indoorpositioning.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 (fenêtre Python)

Le script de fenêtre Python ci-dessous montre comment utiliser 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_example1.py 
# Description: Generates an indoor positioning dataset using the survey-less method. 
 
# Import system modules 
import arcpy 
 
# 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 
arcpy.indoorpositioning.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 (fenêtre Python)

Le script de fenêtre 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ée sur l’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 

# 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 
arcpy.indoorpositioning.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