> 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/es/flujos-de-trabajo-y-integraciones/arcgis-integration/arcgis-pro-attach-reports.md).

# Adjuntando Informes a anotaciones de Pozo de sondeo

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

> **Capítulos del video:** 0:00 Cómo GeoDin organiza los directorios de Informes de Pozo de sondeo | 0:37 Buscando anotaciones de Documento | 1:14 Preparando el campo AttachKey | 1:53 Seleccionando Pozos de observación con Enlazar documentos | 2:25 Calculando los valores de AttachKey | 3:33 Activando y generando adjuntos Encontrados | 4:35 Añadiendo los adjuntos | 5:34 Verificando los Informes adjuntos

Cuando un dibujo de Civil 3D con Pozos de observación de GeoDin® Ground se importa en ArcGIS Pro ([tutorial Anterior](/geodin-ground/es/flujos-de-trabajo-y-integraciones/arcgis-integration/arcgis-pro-ground-model.md)), los Informes PDF exportados pueden adjuntarse a la anotación de Documento de cada Pozo de sondeo, de modo que el Informe geotécnico correcto se abra desde la entidad correcta. Este tutorial crea una clave de coincidencia y ejecuta las dos herramientas de geoprocesamiento que conectan los PDF con las anotaciones.

{% hint style="info" %}
Para el mismo flujo de trabajo que parte de Capas de Punto exportadas por GeoDin® (un registro por Pozo de sondeo), consulte [Adjuntar Informes](https://docs.geodin.com/integrations-and-plug-ins/overview/attach-reports) en la documentación de GeoDin®. La Versión siguiente gestiona la Capa de anotación de Civil 3D, donde cada Pozo de sondeo tiene **múltiples** Registros de anotación.
{% endhint %}

## Paso 1: Localice los Informes y confirme las anotaciones

* Al Importar, GeoDin® Ground crea un Directorio de Documentos junto al dibujo, estructurado por Proyecto con una subcarpeta por Pozo de sondeo, cada una que contiene el Informe geotécnico de ese Pozo de sondeo.
* Copiar los PDF del informe en un directorio de trabajo para simplificar la coincidencia.

<figure><img src="https://593563994-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>El Directorio de Documentos exportados y el PDF Geotech Soil Log de un Pozo de sondeo</p></figcaption></figure>

* En la Tabla de atributos de la Capa de anotación, confirme el registro del documento del Pozo de sondeo: su **RefName** dice "1 Documento(s)".

<figure><img src="https://593563994-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>El registro de anotación del Documento en la Tabla de atributos</p></figcaption></figure>

## Paso 2: añadir un campo clave

* Abrir la Vista de campos de la clase de entidad y añadir un nuevo campo llamado **AttachKey** con **Asignar tipo de datos = Texto**. Guarda los cambios.

<figure><img src="https://593563994-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>El campo AttachKey agregado como Texto</p></figcaption></figure>

## Paso 3: Seleccionar solo las anotaciones del documento

* Usar **Seleccionar por Atributos** con la cláusula: **RefName contenidos el Texto** `documento`.
* Aplicar y verificar el Recuento de la Selección antes de continuar - la clave solo debe ser calculado para estos Registros.

<figure><img src="https://593563994-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>Seleccionando los Registros de anotación del Documento</p></figcaption></figure>

## Paso 4: Calcular la clave

* Con la Selección activa, haga clic con el botón derecho **AttachKey > Calcular campo**, conjunto **Término Tipo = Python**, término `extract_bh(!Capa!)`, y este Bloque de Código:

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

    # Definir el prefijo y sufijo conocidos
    prefijo = "LOC_BASE-"
    sufijo = "-BASIC"

    Cuando Capa.startswith(prefix) Y Capa.endswith(suffix):
        return Capa[len(prefix):-len(suffix)] + " -"

    retornar Ninguna
```

<figure><img src="https://593563994-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>Calcular campo aplicado solo a los Registros seleccionado</p></figcaption></figure>

* El final `" -"` es intencional: hace que la clave sea lo suficientemente específica a hacer coincidir exactamente con el prefijo un nombre de archivo de Informe, por lo que Pozos de observación con nombres similares (BH1 frente a BH1A) no pueden coincidir cruzadamente.

<figure><img src="https://593563994-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 clave rellenada - Nombre de la perforación más un guion final</p></figcaption></figure>

## Paso 5: Habilitar archivos adjuntos

* Abrir la clase de entidad **Propiedades > Administrar** y habilitar **Adjuntos** (los adjuntos son una entidad de geodatabase; la capa de anotación debe ser una clase de entidad de geodatabase, no un shapefile). Guardar.

<figure><img src="https://593563994-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>Adjuntos habilitados en la clase de entidad</p></figcaption></figure>

## Paso 6: Generar la tabla de coincidencias

* Ejecute el **Generar tabla de coincidencias de adjuntos** herramienta de geoprocesamiento:
  * **Conjunto de datos de entrada**: la capa de anotación (registros seleccionados).
  * **Directorio de entrada**: el directorio de trabajo con los PDFs.
  * **Campo clave**: `AttachKey` - **Filtro de datos de entrada**: `*.pdf` - **Patrón de coincidencia**: **Prefijo**.

<figure><img src="https://593563994-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>Generar tabla de coincidencias de adjuntos con el patrón de coincidencia establecido en Prefijo</p></figcaption></figure>

## Paso 7: Añadir los adjuntos

* Ejecute **Añadir adjuntos** con el mismo conjunto de datos de entrada, **Campo de unión de entrada** `OBJECTID`, la tabla de coincidencias del paso 6, y **Campo de unión de coincidencias** `MatchID`.

<figure><img src="https://593563994-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>Añadir adjuntos uniendo OBJECTID con MatchID</p></figcaption></figure>

## Paso 8: Verificar

* Haga clic en una anotación de documento en la escena y desplácese por su ventana emergente: el informe geotécnico aparece como un adjunto.
* Compruebe uno o dos pozos de sondeo más para confirmar que la coincidencia funcionó de forma coherente.

<figure><img src="https://593563994-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>El informe adjunto a la anotación, verificado en la ventana emergente</p></figcaption></figure>

## Ajustes opcionales

* **Ámbito de la selección** - calcule la clave **solo para los registros de documentos seleccionados**; calcular en todas las filas crea coincidencias incorrectas.
* **Especificidad de la clave** - si varios informes tienen nombres similares, haga que el formato de la clave sea más específico antes de coincidir (el sufijo final `" -"` existe exactamente para esto).

***

## Trabajar con la coincidencia de adjuntos

Confirme que los adjuntos estén habilitados antes de ejecutar las herramientas de coincidencia y de añadir, y compruebe uno de los pozos de sondeo después de cada etapa (clave calculada, tabla de coincidencias generada, adjuntos añadidos) para que cualquier desajuste se detecte un paso antes de su causa en lugar de al final.

***

**Siguiente paso:** [Publicar y revisar el modelo como una escena web](/geodin-ground/es/flujos-de-trabajo-y-integraciones/arcgis-integration/arcgis-web-scene.md) - los informes adjuntos permanecen disponibles en las ventanas emergentes de la escena publicada.


---

# 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/es/flujos-de-trabajo-y-integraciones/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.
