> For the complete documentation index, see [llms.txt](https://docs.geodin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.geodin.com/geodin-ground/fr/flux-de-travail-et-integrations/arcgis-integration/arcgis-pro-attach-reports.md).

# Attacher des Rapports sur les annotations de Trou de forage

{% embed url="<https://www.youtube.com/watch?v=34Gydh4vkws>" %}

> **Chapitres vidéo :** 0:00 Comment GeoDin organise les dossiers de rapports de Sondages | 0:37 Recherche des annotations de document | 1:14 Préparation du champ AttachKey | 1:53 Sélection des Sondages avec des Documents liés | 2:25 Calcul des Valeurs AttachKey | 3:33 Activation et génération des Concordances de pièces jointes | 4:35 Ajout des pièces jointes | 5:34 Vérification des Rapports attachés

Lorsqu’un dessin Civil 3D avec des Sondages GeoDin® Ground est importé dans ArcGIS Pro ([tutoriel Précédent](/geodin-ground/fr/flux-de-travail-et-integrations/arcgis-integration/arcgis-pro-ground-model.md)), les Rapports PDF exportés peuvent être attachés à l’annotation de document de chaque Trou de forage - ainsi le bon rapport géotechnique s’ouvre depuis la bonne entité. Ce tutoriel construit une clé de correspondance et exécute les deux outils de géotraitement qui relient les PDF sur les annotations.

{% hint style="info" %}
Pour le même flux de travail à partir des couches de points exportées de GeoDin® (un enregistrement par sondage), voir [Joindre les Rapports](https://docs.geodin.com/integrations-and-plug-ins/overview/attach-reports) inclus dans la documentation GeoDin®. La version ci-dessous gère la couche d’annotation Civil 3D, où chaque sondage a **plusieurs** enregistrements d’annotation.
{% endhint %}

## Étape 1 : Localisez les Rapports et confirmez les annotations

* À l’importation, GeoDin® Ground crée un répertoire de documents à côté du dessin, structuré par Projet avec un sous-répertoire par Trou de forage, chacun contenant le Rapport géotechnique de ce Trou de forage.
* Copier les PDF du Rapport dans un seul Répertoire sur simplifier la correspondance.

<figure><img src="https://3114657452-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPq7NpdI8RP7yepuTnGLt%2Fuploads%2Fgit-blob-f97670b6dc77ca6f955145752b90e9197b870c91%2FAGP_Attach_01_Documents_Folder.png?alt=media" alt=""><figcaption><p>Le Répertoire des documents exportés et le PDF du journal géotechnique des sols d’un Trou de forage</p></figcaption></figure>

* Inclus dans la Table attributaire de la Couche d’annotation, confirmez l’enregistrement du document du Trou de forage : son **Nom de référence** affiche « 1 document(s) ».

<figure><img src="https://3114657452-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPq7NpdI8RP7yepuTnGLt%2Fuploads%2Fgit-blob-ad9f9aa5bfece6e01f0a151f1ecef21d604828f6%2FAGP_Attach_02_Attribute_Table.png?alt=media" alt=""><figcaption><p>L’enregistrement d’annotation du document dans la Table attributaire</p></figcaption></figure>

## Étape 2 : Ajouter un champ clé

* Ouvert la Vue des champs de la classe d’entités et Ajouter un Nouveau champ nommé **AttachKey** avec **Type de donnée = Texte**. Sauvegarder les Changements.

<figure><img src="https://3114657452-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPq7NpdI8RP7yepuTnGLt%2Fuploads%2Fgit-blob-95c0981b3c737102f7b464f8130333a79ae14316%2FAGP_Attach_03_AttachKey_Field.png?alt=media" alt=""><figcaption><p>Le champ AttachKey ajouté comme Texte</p></figcaption></figure>

## Étape 3 : Sélectionner uniquement les annotations du document

* Utiliser **Sélectionner par Attributs** avec la clause : **RefName Contient le Texte** `document`.
* Appliquer et vérifier le Compte de Sélection avant de continuer - la clé doit uniquement être calculé pour ces Enregistrements.

<figure><img src="https://3114657452-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPq7NpdI8RP7yepuTnGLt%2Fuploads%2Fgit-blob-e4a1416ea93fa76b16e16629b52c1159a4cb0dc2%2FAGP_Attach_04_Select_By_Attributes.png?alt=media" alt=""><figcaption><p>Sélection des Enregistrements d’annotation du document</p></figcaption></figure>

## Étape 4 : Calculer la clé

* Avec la Sélection active, cliquez avec le bouton droit **AttachKey > Calculer le champ**, définissez **Type d’expression = Python**, expression `extract_bh(!Couche!)`, et ce Bloc de code :

```python
def extract_bh(Couche):
    Couche = Couche.upper()

    # Définir le préfixe et le suffixe connus
    prefix = "LOC_BASE-"
    suffixe = "-BASIC"

    Si Couche.startswith(prefix) ET Couche.endswith(suffix):
        return Couche[len(prefix):-len(suffix)] + " -"

    retourner aucun / aucune
```

<figure><img src="https://3114657452-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPq7NpdI8RP7yepuTnGLt%2Fuploads%2Fgit-blob-a58a2272e6e779184e61047469320cae1cea6440%2FArcGIS_Pro_Calculate_AttachKey.png?alt=media" alt=""><figcaption><p>Calcul du champ appliqué sur les Enregistrements sélectionné uniquement</p></figcaption></figure>

* La partie finale `" -"` est intentionnel : cela rend la clé suffisamment spécifique pour faire correspondre en préfixe exactement un nom de fichier de Rapport, de sorte que des Sondages nommés de manière similaire (BH1 vs. BH1A) ne peuvent pas se correspondre croisée.

<figure><img src="https://3114657452-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPq7NpdI8RP7yepuTnGLt%2Fuploads%2Fgit-blob-b9285f876960edd93f67f31a5861ae7998991862%2FAGP_Attach_06_Key_Populated.png?alt=media" alt=""><figcaption><p>La clé renseignée - Nom de forage plus tiret final</p></figcaption></figure>

## Étape 5 : Activer les pièces jointes

* Ouvert la classe d'entités **Propriétés > Gérer** et activer **Pièces jointes** (les pièces jointes sont une fonctionnalité de géodatabase - la Couche d'annotation doit être une classe d'entités de géodatabase, ne doit pas être un shapefile). Sauvegarder.

<figure><img src="https://3114657452-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPq7NpdI8RP7yepuTnGLt%2Fuploads%2Fgit-blob-3b70fbcfa08089a8024a389d184172b77291638b%2FAGP_Attach_07_Enable_Attachments.png?alt=media" alt=""><figcaption><p>Pièces jointes activées à la classe d'entités</p></figcaption></figure>

## Étape 6 : Générer le tableau de correspondance

* Exécutez le **Générer le Tableau de correspondance des pièces jointes** outil de géotraitement :
  * **Jeu de données d'entrée**: la Couche d'annotation (Enregistrements sélectionné).
  * **Répertoire d'entrée**: le Répertoire de travail avec les PDF.
  * **Champ clé**: `AttachKey` - **Filtre de Données d'entrées**: `*.pdf` - **Motif de correspondance**: **Préfixe**.

<figure><img src="https://3114657452-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPq7NpdI8RP7yepuTnGLt%2Fuploads%2Fgit-blob-a42ca0a4e9253c39016cf0cdec89b69174169127%2FAGP_Attach_08_Match_Table.png?alt=media" alt=""><figcaption><p>Générer un tableau de correspondance des pièces jointes avec le motif de correspondance défini sur Préfixe</p></figcaption></figure>

## Étape 7 : Ajouter les pièces jointes

* Exécuter **Ajouter des pièces jointes** avec le même jeu de données d'entrée, **Champ de jointure d'entrée** `OBJECTID`, le tableau de correspondance de l'étape 6, et **Champ de jointure de correspondance** `ID de correspondance`.

<figure><img src="https://3114657452-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPq7NpdI8RP7yepuTnGLt%2Fuploads%2Fgit-blob-4812b0a7d523737d75cd41f6a33369d06a8bfe72%2FAGP_Attach_09_Add_Attachments.png?alt=media" alt=""><figcaption><p>Ajouter des pièces jointes en associant OBJECTID à ID de correspondance</p></figcaption></figure>

## Étape 8 : Vérifier

* Cliquez sur une annotation de document dans la scène et faites défiler sa fenêtre contextuelle : le rapport géotechnique apparaît en tant que pièce jointe.
* Vérifiez rapidement un ou deux Sondages supplémentaires pour confirmer que la correspondance a fonctionné de manière cohérente.

<figure><img src="https://3114657452-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPq7NpdI8RP7yepuTnGLt%2Fuploads%2Fgit-blob-30e08c2a452c3e72eb5158903f72b300fd7af258%2FArcGIS_Pro_Attachment_Popup.png?alt=media" alt=""><figcaption><p>Le Rapport joint à l'annotation, vérifié dans la fenêtre contextuelle</p></figcaption></figure>

## Paramètres facultatifs

* **Portée de la Sélection** - calculer la clé **uniquement pour les Enregistrements du document sélectionné**; le calcul sur tous / toutes les Ligne crée des Concordances incorrectes.
* **Spécificité de la clé** - Si plusieurs Rapports ont des noms similaires, rendez le Format de papier de la clé plus spécifique avant la mise en correspondance (le suffixe `" -"` existe précisément pour cela).

***

## Travailler avec la correspondance des pièces jointes

Confirmez que les pièces jointes sont activées avant d'exécuter la correspondance ET d'Ajouter des outils, ET vérifiez ponctuellement un Trou de forage après chaque Étape (clé calculé, Tableau généré, Ajouter des pièces jointes) afin qu'une incohérence soit détectée à une Étape de sa cause plutôt qu'à la Fin.

***

**Étape Suivant :** [Publier et examiner le modèle en tant que scène Web](/geodin-ground/fr/flux-de-travail-et-integrations/arcgis-integration/arcgis-web-scene.md) - les Rapports attachés restent Disponible inclus les pop-ups de la scène publiée.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.geodin.com/geodin-ground/fr/flux-de-travail-et-integrations/arcgis-integration/arcgis-pro-attach-reports.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
