Skip to main content

Extraire les entités de plan d’étage de PDF

Icône d’outil Disponible avec l’extension ArcGIS Indoors Pro ou ArcGIS Indoors Maps.

Vous pouvez créer des entités polylignes à partir de fichiers PDF ou de plans d’étage et les utiliser pour générer des entités dans un espace de travail Indoors à l’aide des outils de la boîte à outils Indoors. Cela peut être utile pour créer un SIG Indoor pour les espaces dans lesquels les données DAO ou BIM sont indisponibles. Un PDF peut comporter des données vectorielles, des données raster, ou les deux. Les PDF avec des données vectorielles, comme un PDF exporté depuis un CAO, stockent les informations sur le plan d’étage sous forme de graphiques évolutifs. Les PDF avec des données raster stockent des informations de plans d’étage dans des images.

L’importation de données PDF dans un espace de travail Indoors comprend les étapes générales suivantes :

  1. Géoréférencez éventuellement le PDF.

  2. Extrayez les entités polylignes du PDF à l’aide de l’outil Extract Floor Plan Features From PDF (Extraire les entités de plan d’étage d’un PDF).

  3. Inspectez les entités en sortie et, si nécessaire, mettez-les à jour pour vous assurer qu’elles reflètent les plans d’étage du bâtiment à un niveau de détail et de précision acceptable.

  4. Utilisez l’outil Import Features To Indoor Dataset (Importer des entités dans un jeu de données Indoor) pour créer des entités Unité, Niveau, Bâtiment et, éventuellement, Détail dans un espace de travail Indoors en fonction des entités extraites.

  5. Contrôlez les entités en sortie, et procédez à leur mise à jour selon les besoins.

Chaque étape est décrite dans les sections ci-après.

Géoréférencer les données PDF

Vous pouvez géoréférencer le PDF avant de générer des polylignes en ajoutant des pages PDF individuelles à une carte dans ArcGIS Pro et en utilisant des points de contrôle pour les déplacer, les mettre à l’échelle et les faire pivoter à la localisation appropriée. Lorsque vous géoréférencez des PDF, vous devez géoréférencer chaque page de manière individuelle.

Lorsque vous ajoutez un PDF à une carte, vous pouvez choisir une page, une résolution en PPP et un mode Couleur dans la boîte de dialogue PDF Options (Options PDF).

Remarque :

Avant de procéder au géoréférencement, vérifiez que le PDF a été ajouté à la carte avec la valeur par défaut pour le paramètre Resolution in DPI (Résolution en PPP). Ce paramètre affecte la façon dont le PDF apparaît sur la carte, et le géoréférencement avec une résolution ajustée en PPP peut conduire au positionnement incorrect des résultats si vous utilisez l’outil Extract Floor Plan Features From PDF (Extraire les entités de plan d’étage à partir d’un PDF).

Boîte de dialogue PDF Options (Options PDF)

Si vous ne géoréférencez pas les PDF avant d’exécuter l’outil Extract Floor Plan Features From PDF (Extraire les entités de plan d’étage à partir d’un PDF), vous pouvez utiliser l’outil Transform (Transformer) pour déplacer, mettre à l’échelle et pivoter les entités polylignes avant d’exécuter l’outil Import Features To Indoor Dataset (Importer des entités dans un jeu de données Indoor).

Remarque :

Le géoréférencement dans un système de coordonnées projetées est recommandé. Avec le géoréférencement dans un système de coordonnées géographiques, la transformation des entités risque de ne pas aboutir, ce qui peut entraîner une localisation incorrecte des données.

Extraire les entités polylignes à partir de données PDF

L’outil Extract Floor Plan Features From PDF (Extraire les entités de plan d’étage d’un PDF) extrait les entités polylignes du PDF, en excluant les éléments qu’il identifie comme du texte. Les polylignes en sortie de cet outil peuvent être affinées à l’aide d’outils de mise à jour et utilisées pour créer des entités dans un espace de travail Indoors à l’aide de l’outil Import Features To Indoor Dataset (Importer des entités dans un jeu de données Indoor) à utiliser dans des scènes et cartes tenant compte des étages.

Lorsque vous utilisez l’outil Extraire les entités de plan d’étage à partir d’un PDF, gardez les informations suivantes à l’esprit :

  • Si le PDF d’entrée contient plusieurs pages, utilisez le paramètre Page Number (Numéro de page) pour choisir la page pour laquelle extraire les fonctionnalités. Si aucune page n’est définie, l’outil extrait les fonctionnalités de la page 1.

  • Utilisez le paramètre Extent (Étendue) pour extraire les lignes d’un bâtiment spécifique ou de l’une de ses zones et réduire les artefacts générés par les informations PDF auxiliaires, telles que les légendes ou les tables d’informations architecturelles.

  • Si les lignes d’un PDF sont vectorielles, l’outil extrait directement les informations vectorielles. Cela peut générer une sortie avec un grand nombre d’entités. L’outil écrit également des champs tels que Stroke Color, Fill Color et PDF Layer dans les polylignes en sortie, en les renseignant avec des informations issues des couches vectorielles si elles sont disponibles dans le PDF en entrée.

  • Si les lignes d’un PDF sont de type raster, l’outil extrait les polylignes en fonction de la largeur des pixels de ligne. Pour les lignes d’une largeur inférieure à 10 pixels, les axes médians des pixels sont utilisés. Pour les lignes d’une largeur supérieure à 10 pixels, les contours des pixels sont utilisés.

  • Si un PDF contient à la fois des informations vectorielles et raster, seules les lignes vectorielles sont extraites.

L’outil crée les champs suivants dans la couche polyligne de sortie :

Attribut Description
PDF_NAME Le nom du fichier de l‘entrée .pdf.
PDF_PAGE La valeur du paramètre Page Number (Numéro de page).
USE_TYPE L’outil identifie les entités Porte et renseigne leur champ USE_TYPE. Ces entités peuvent être fermées lors de la création d’entités Unité à l’aide de l’outil Import Features To Indoor Dataset (Importer des entités dans un jeu de données Indoor). Les entités Détails créées à l’aide de l’outil Import Features To Indoor Dataset (Importer des entités dans un jeu de données Indoor) héritent de la valeur du champ USE_TYPE des entités source.
STROKE_COLOR, STROKE_WIDTH et PDF_LAYER Ces champs sont créés et renseignés avec les informations provenant des couches vectorielles si elles sont disponibles dans le PDF en entrée. Si le PDF en entrée est basé sur le raster, ces champs ne sont pas renseignés.

Extraire les entités polylignes à partir de données PDF

L’outil Extract Floor Plan Features From PDF (Extraire les fonctionnalités du plan d’étage du PDF) permet également d’extraire du texte à partir du PDF. Le texte extrait est écrit pour indiquer les entités ponctuelles contenant le texte dans la table d’attributs. Les points sont placés au centre du texte détecté. Les points de sortie de cet outil peuvent être utilisés pour remplir les attributs des données d’unités dans un espace de travail Indoors grâce à l’outil Import Features To Indoor Dataset (Importer des entités dans un jeu de données Indoor), permettant une symbologie avancée et un étiquetage des unités pour une utilisation dans des cartes et scènes tenant compte des étages.

Pour le texte stocké sous forme d’objets textuels dans un PDF vectoriel, le texte peut être extrait directement du PDF. Pour le texte non stocké sous forme d’objets texte dans le PDF, l’outil utilise la reconnaissance optique de caractères (OCR) pour détecter et reconnaître le texte à extraire.

Lorsque vous utilisez l’outil Extract Floor Plan Features From PDF (Extraire les entités de plan d’étage d’un PDF), gardez les informations suivantes à l’esprit :

  • L’extraction de texte et la reconnaissance des caractères dépendent de la qualité et du contenu du PDF. L’outil peut avoir du mal à extraire du texte à partir de PDF flous, marqués ou à basse résolution.

  • Des champs supplémentaires tels que Font Name, Font Size, et PDF Layer sont créés et remplis d’informations si elles sont disponibles dans le PDF en entrée.

  • Pour le texte extrait à l’aide de l’OCR, utilisez le champ Confidence Score pour évaluer la détection et la confiance en reconnaissance de texte par technologie OCR.

L’outil crée des champs d’attributs de texte dans les points de sortie facultatifs :

Attribut Description
PDF_TEXT Le texte extrait de l’entrée .pdf.
FONT_NAME Le nom de la police tel qu’enregistré dans les données PDF. Ce champ est nul lorsque l’outil utilise l’OCR pour extraire le texte.
FONT_SIZE La taille de la police telle qu’enregistrée dans les données PDF. Ce champ est nul lorsque l’outil utilise l’OCR pour extraire le texte.
FONT_WEIGHT Le poids de la police tel qu’enregistré dans les données PDF. Ce champ est nul lorsque l’outil utilise l’OCR pour extraire le texte.
IS_ITALIC Une valeur de 1 dans les métadonnées PDF indique un style de police italique. Ce champ est nul lorsque l’outil utilise l’OCR pour extraire le texte.
STROKE_COLOR La couleur de trait (ligne) de la police telle qu'enregistrée dans les données PDF. La valeur est une hexadécimale au format #RRGGBBAA. Ce champ est nul lorsque l’outil utilise l’OCR pour extraire le texte.
BBOX_WIDTH et BBOX_HEIGHT Lors du traitement, l’outil détermine une boîte englobante autour de chaque texte détecté. Ces dimensions peuvent aider à différencier le texte raster par taille. Les valeurs sont des mesures relatives sans unité et ne doivent pas être comparées entre différents PDF ou différentes pages.
SOURCE_TYPE La source à partir de laquelle l’outil extrayait les chaînes PDF_TEXT. Les valeurs possibles sont :

PDF_TEXT—L’outil a trouvé et extrait les valeurs de chaînes stockées sous forme de texte dans le PDF.

PDF_COMMENT — L’outil trouvait et extrayait les valeurs de chaînes stockées comme annotation dans le PDF.

OCR_TEXT—L’outil utilisé par OCR extrait des caractères reconnaissables à partir de PDF raster. L’OCR n’est utilisé que pour le texte non disponible dans d’autres sources listées ci-dessus.
PDF_LAYER Pour le PDF exporté depuis des systèmes utilisant des calques pour organiser les éléments, comme AutoCAD, ce champ est rempli avec le nom du calque de dessin sur lequel le texte a été détecté.
CONFIDENCE_SCORE Pour le texte extrait en OCR, ce champ contient une valeur de 0 à 1 indiquant la confiance avec laquelle l’outil a reconnu le texte.

Inspecter la sortie

Après avoir extrait les entités, vous pouvez les modifier selon vos besoins avant de les utiliser pour créer des entités dans un espace de travail Indoors. Par exemple, vous pouvez modifier ou supprimer des entités extraites par l’outil, comme des boîtes de texte, des tables et des symboles que vous n’avez pas besoin d’intégrer dans votre SIG intérieur.

Nettoyez les polylignes ou modifiez les sommets pour fermer les interruptions dans les murs (par exemple, là où du texte intersectait un mur dans le PDF), sélectionnez et supprimez les entités non souhaitées et déplacez ou remodélisez des lignes à des fins d’exactitude et de simplification. Le nettoyage des points de texte peut également impliquer la correction de valeurs de texte mal reconnues. Vous pouvez utiliser les outils des fenêtres Create Features (Créer des entités) et Modify Features (Modifier des entités) pour inspecter et modifier les entités.

Inspectez également les entités détectées et définies comme des portes dans le champ USE_TYPE et modifiez les attributs selon vos besoins. Les portes peuvent être fermées pour créer des limites d’unité dans un espace de travail Indoors. En vous assurant maintenant que les attributs sont définis correctement, vous vous épargnez des tâches de nettoyage ultérieures.

Vous pouvez utiliser les champs d’attribution des données de sortie pour visualiser et comprendre plus facilement vos données de plans d’étage. Par exemple, si le PDF vectoriel en entrée utilise différentes épaisseurs de ligne pour représenter différents éléments de plans d’étage, vous pouvez symboliser les polylignes en fonction du champ Stroke Width afin de mieux distinguer certaines parties de vos données. Pour les entités ponctuelles de texte extraits, vous pouvez étiqueter les points en utilisant le champ PDF_TEXT pour mieux relire le texte.

Ces champs peuvent également contribuer au nettoyage des entités. Par exemple, si le PDF vectoriel en entrée contient des informations sur les couches, le champ PDF Layer peut servir à sélectionner et supprimer rapidement des entités indésirables si ces entités partageaient une couche commune.

Remarque :

L’outil Extract Floor Plan Features From PDF (Extraire les entités de plan d’étage d’un PDF) crée des entités avec une valeur z de 0. Si vous créez ou modifiez des entités avec des outils de mise à jour, vérifiez que la valeur z par défaut des nouvelles entités est de 0. La valeur z appropriée pour vos entités de bâtiment peut être définie lors de l’exécution de l’outil Import Features To Indoor Dataset (Importer des entités dans un jeu de données Indoor) avec le paramètre Elevation of Level (Élévation du niveau).

Importer des polylignes dans un espace de travail Indoors

Une fois que vous avez généré des polylignes à partir des données PDF et effectué tout nettoyage nécessaire, vous pouvez utiliser l’outil Import Features To Indoor Dataset (Importer des entités dans un jeu de données Indoor) pour créer des entités Unités, Niveaux, Bâtiments et Détails dans un espace de travail Indoors en fonction des entités polylignes. Vous pouvez ensuite créer des entités ou modifier des entités existantes dans la couche de détails à l’aide d’outils de mise à jour dans ArcGIS Pro, Floor Plan Editor ou d’un modèle de carte préconfiguré.

L’outil prend en charge l’importation d’un niveau à la fois et nécessite que vous définissiez des informations, telles que le nom du bâtiment, le nom du niveau, l’ordre vertical et l’élévation de niveau, pour alimenter les attributs des entités et autoriser les fonctions avec les processus SIG Indoor.

En option, l’outil peut associer des points de texte aux attributs Unités. Lorsque vous spécifiez des entités dans le paramètre Point Features for Unit Attribution (Entités ponctuelles pour attribution unitaire), vous pouvez définir une ou plusieurs lignes dans le paramètre Text Point Mapping (Appariement des points de texte). Pour chaque ligne, vous pouvez spécifier un champ de texte source, un champ Unités cibles, une expression précisant quelles entités ponctuelless de texte apparier, et une règle que l’outil doit suivre si l’expression correspond à plus d’un point texte dans une unité donnée. Par exemple, dans la sortie de l’outil Extract Floor Plan Features From PDF (Extraire les entités de plan d’étage d’un PDF), il peut y avoir un point dans chaque unité représentant le nom de la pièce, et un autre point dans chaque unité représentant le type d’utilisation de la pièce.

Les options avancées des paramètres de l’outil vous permettent de contrôler davantage le comportement de création des polygones. Il est possible, par exemple, d’utiliser les paramètres Minimum Unit Width (Largeur d’unité minimale) et Minimum Unit Area (Surface d’unité minimale) pour exclure les espaces trop étroits ou trop petits tels que l’espace intérieur des murs.

Les entités Détails créées à l’aide de l’outil Import Features To Indoor Dataset (Importer des entités dans un jeu de données Indoor) héritent de la valeur du champ USE_TYPE des entités source. Des portes fermées et dotées d’attributs corrects sont essentielles pour générer un réseau routable Indoor et sont également utilies pour la visualisation.

Graphique montrant la différence entre une porte fermée et une porte ouverte dans une unité.

Lorsque les portes ont des attributs corrects et sont utilisées avec l’outil Import Features To Indoor Dataset (Importer des entités dans un jeu de données Indoor), les limites de l’unité produite n’incluent pas les battants des portes. L’unité de l’image A a été importée sans utiliser le paramètre Door Identifier (Identifiant de porte), alors que celle de l’image B a été importée avec le paramètre Door Identifier (Identifiant de porte).

Si le PDF en entrée contient des informations vectorielles, les champs supplémentaires peuvent offrir un meilleur contrôle lors de l’importation de polylignes avec l’outil Import Features To Indoor Dataset (Importer des entités dans un jeu de données Indoor). Par exemple, un PDF créé à partir d’un fichier DAO peut contenir des enregistrements pour I-WALL, A-COLS et A-FURN. Si vous ne souhaitez pas que les colonnes et les informations sur le mobilier soient écrites dans l’espace de travail Indoors, configurez un ensemble de définition pour ne sélectionner que les entités avec I-WALL dans le champ Couche PDF des polylignes en entrée. Ainsi, l’outil Import Features To Indoor Dataset (Importer des entités dans un jeu de données Indoor) crée des entités dans l’espace de travail Indoors uniquement en fonction de la sélection.

Renseigner les attributs dans l’espace de travail Indoors

Une fois que vous avez importé les entités dans un espace de travail Indoors, vous pouvez renseigner des attributs supplémentaires dans le jeu de données Indoor.

L’outil Import Features To Indoor Dataset (Importer des entités dans un jeu de données Indoor) renseigne les attributs requis pour établir des relations hiérarchiques entre les entités des couches Facilities (Bâtiments), Levels (Niveaux), Units (Unités) et Details (Détails), ainsi que les attributs nécessaires à la prise en charge des étages sur une carte. Vous pouvez renseigner des attributs supplémentaires utilisés pour la symbologie, l’étiquetage ou d’autres fonctions SIG Indoor.

Voici une liste d’exemples de cas d’utilisation des attributs :

  • Symbologie de carte : le champ USE_TYPE de la couche Units est utilisé pour prendre en charge la symbologie unique pour les bureaux, couloirs et autres espaces traversables, afin de les rendre facilement identifiables sur une carte intérieure.

  • Étiquetage et recherche : le champ NAME de la couche Units est utilisé pour prendre en charge l’affichage des noms des salles et les fonctions de recherche dans les applications Web et mobiles Indoors.

  • Navigation en intérieur : le champ USE_TYPE des couches Units et Details est utilisé pour prendre en charge l’identification des espaces traversables et des interruptions lors de la génération de parcours et de transitions d’étage pour un réseau routable Indoor.