Extraire les entités de plan d’étage d’un PDF (Indoors)

Synthèse

Crée des entités polylignes à partir d’un fichier .pdf.

Les polylignes en sortie de cet outil peuvent être affinées avec des outils de mise à jour et utilisées comme entrée pour que l’outil Importer des entités dans un jeu de données Indoor alimente un espace de travail Indoors qui sera utilisé dans des cartes et des scènes tenant compte des étages.

Utilisation

  • Cet outil accepte un fichier .pdf en entrée et crée des polylignes basées sur les lignes du PDF. Utilisez cet outil dans le cadre d’un processus de plus grande envergure pour extraire des plans d’étage à partir de fichiers PDF.

  • Affinez les entités polylignes en sortie à l’aide d’ outils de mise à jour pour supprimer les lignes ou les sommets inutiles, fermer les interruptions ou ajouter des détails non inclus dans le PDF. Utilisez ensuite la sortie comme entrée pour l’outil Importer des entités dans un jeu de données Indoor.

  • Si le fichier .pdf en entrée est géoréférencé, les informations de géoréférencement seront prises en compte. Si le fichier .pdf en entrée n’est pas géoréférencé, les polylignes générées sont créées dans WGS 1984 Web Mercator aux coordonnées 0,0.

  • Pour les PDF comportant plusieurs pages, utilisez le paramètre Numéro de page pour indiquer la page à importer.

  • L’outil crée les champs suivants dans la sortie :

    • PDF_NAME—Le nom du fichier .pdf en entrée.
    • PDF_NUMBER—La valeur du paramètre 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 Importer des entités dans un jeu de données Indoor.
  • La valeur du paramètre Entités linéaires en sortie prend en charge la création d’une nouvelle classe d’entités ou l’ajout de nouvelles entités polylignes à une couche existante. Si une couche existante qui contient des entités avec des valeurs de champ PDF_NAME et PDF_NUMBER correspondant au PDF en entrée est fournie, ces entités polylignes sont supprimées et de nouvelles entités polylignes sont ajoutées.

  • Les entités linéaires en sortie sont créées avec une valeur z de 0. Définissez la valeur z du niveau lors de l’exécution de l’outil Importer des entités dans un jeu de données Indoor.

  • Utilisez le paramètre Étendue pour limiter l’étendue de traitement et exclure des éléments PDF tels que les légendes, les zones de texte et les lignes de rattachement.

Paramètres

ÉtiquetteExplicationType de données
PDF en entrée

Le fichier .pdf en entrée à partir duquel les entités polylignes seront extraites.

File
Entités linéaires en sortie

La couche d’entités polylignes en sortie dans laquelle les polylignes extraites seront écrites.

Feature Layer
Numéro de page
(Facultatif)

Le numéro de page du fichier .pdf en entrée qui sera converti en données de type polygligne. La valeur par défaut est 1.

String
Étendue
(Facultatif)

Étendue des données qui seront évaluées.

  • Current Display Extent (Étendue actuellement affichée) Vue cartographique : l’étendue repose sur la carte ou la scène active.
  • Dessiner l’étendue Terminer avec mise à l’équerre : l’étendue est basée sur un rectangle dessiné sur la carte ou dans la scène.
  • Extent of a Layer (Étendue d’une couche) Couche : l’étendue repose sur une couche de carte active. Choisissez une couche disponible ou utilisez l’option Étendue des données dans toutes les couches. Chaque couche de carte comporte les options suivantes :

    • Toutes les entités Sélectionner tout : étendue de toutes les entités.
    • Entités sélectionnées Zone à partir des entités sélectionnées : étendue de toutes les entités sélectionnées.
    • Entités visibles Extent Indicator : étendue de toutes les entités visibles.

  • Parcourir Parcourir : l’étendue repose sur un jeu de données.
  • Intersection des entrées Intersection : l’étendue est l’étendue d’intersection de toutes les entrées.
  • Union des entrées Agréger : l’étendue est l’étendue combinée de toutes les entrées.
  • Presse-papiers Coller : l’étendue peut être copiée depuis et vers le Presse-papiers.
    • Copier l’étendue Copier : copie l’étendue et le système de coordonnées dans le Presse-papiers.
    • Coller l’étendue Coller : colle l’étendue et le système de coordonnées depuis le Presse-papiers. Si le Presse-papiers n’inclut pas de système de coordonnées, l’étendue utilise celui de la carte.
  • Reset Extent (Réinitialiser l’étendue) Réinitialiser : la valeur par défaut de l’étendue est rétablie.

Lorsque les coordonnées sont saisies manuellement, elles doivent être des valeurs numériques incluses dans le système de coordonnées de la carte active. La carte peut utiliser des unités d’affichage différentes de celles des coordonnées saisies. Utilisez le signe moins pour les coordonnées sud et ouest.

Extent

arcpy.indoors.ExtractFloorPlanFeaturesFromPDF(in_pdf, out_line_features, {page_number}, {extent})
NomExplicationType de données
in_pdf

Le fichier .pdf en entrée à partir duquel les entités polylignes seront extraites.

File
out_line_features

La couche d’entités polylignes en sortie dans laquelle les polylignes extraites seront écrites.

Feature Layer
page_number
(Facultatif)

Le numéro de page du fichier .pdf en entrée qui sera converti en données de type polygligne. La valeur par défaut est 1.

String
extent
(Facultatif)

Étendue des données qui seront évaluées.

  • MAXOF : l’étendue maximale de toutes les entrées est utilisée.
  • MINOF : l’étendue minimale commune à toutes les entrées est utilisée.
  • DISPLAY : l’étendue est égale à l’affichage visible.
  • Nom de la couche : l’étendue de la couche spécifiée est utilisée.
  • Objet Extent : l’étendue de l’objet spécifié est utilisée.
  • Chaîne délimitée par des espaces de coordonnées géographiques : l’étendue de la chaîne spécifiée est utilisée. Les coordonnées sont exprimées dans l’ordre x-min, y-min, x-max, y-max.
Extent

Exemple de code

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

Le script ci-dessous pour la fenêtre Python montre comment utiliser la fonction ExtractFloorPlanFeaturesFromPDF en mode immédiat.

import arcpy
arcpy.indoors.ExtractFloorPlanFeaturesFromPDF(r"C:\Indoors\PDFs\Floor1-Blueprint.PDF",
                                       r"C:\IndoorsDB\FloorPlanData\Floor1_ExtractedLines", 
                                       "1", 
                                       "-107.0 38.0 -104.0 40.0")
Exemple 2 d’utilisation de la fonction ExtractFloorPlanFeaturesFromPDF (script autonome)

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

#Name: Indoors_ExtractFloorPlanFeaturesFromPDF_example2.py
#Description: Extracts polyline floor plan features from an input PDF

import arcpy

# Check Out Extensions
arcpy.CheckOutExtension('Indoors')

# Set Local Variables
in_pdf=r"C:\Indoors\PDFs\Floor1-Blueprint.PDF"
out_line_features=r"C:\IndoorsDB\FloorPlanData\Floor1_ExtractedLines"
page_number="1"
extent="-107.0 38.0 -104.0 40.0"

# Call the function
arcpy.gp.ExtractFloorPlanFeaturesFromPDF(
    in_pdf,
    out_line_features,
    page_number,
    extent
)

# Check In Extensions
arcpy.CheckInExtension('Indoors')

Environnements

Informations de licence

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

Rubriques connexes