---
title: "Procesar múltiples archivos de entrada en un único mapeo de datos"
date: "2013-01-29"
categories: 
  - "applications"
  - "data-integration"
tags: 
  - "data-mapping"
  - "mapforce"
description: Descubra cómo procesar de manera eficiente múltiples archivos de entrada para el mapeo de datos utilizando Altova MapForce. Esta guía cubre el uso de comodines, funciones de rutas de archivos y técnicas de filtrado.
---
Status: #blog

Tags:  #data-mapping #mapforce

Categories: [ETL](/blog/es/category/etl.md) | [data-integration](/blog/es/category/data-integration.md)
# Procesar múltiples archivos de entrada en un único mapeo de datos

Las tareas típicas de conversión de datos requieren el procesamiento de numerosos archivos de entrada que llegan en lotes. [Altova MapForce](https://www.altova.com/es/mapforce.html) incluye funciones que le permiten gestionar grupos de archivos con una intervención mínima. Por ejemplo, recientemente copiamos un conjunto de archivos de la tarjeta de memoria de una cámara digital con soporte GPS. Cada archivo .LOG es un archivo CSV que contiene las coordenadas GPS de una ruta específica.

![Lista de archivos de origen para la conversión de datos](https://lh4.ggpht.com/-Y_WZhryIjkY/UPl5wriQH7I/AAAAAAAAA9Q/EsluCIUq068/clip_image001%25255B3%25255D.png?imgmax=800 "Directory list of source files for data conversion")

Diseñamos rápidamente un sistema de conversión para transformar los datos en formato CSV a formato .gpx basado en XML, y procesamos los tres archivos para generar tres archivos de salida en una sola ejecución:

![Lista de archivos de salida generados automáticamente](https://lh3.ggpht.com/-_QzOFmBto78/UPl5xBjlsjI/AAAAAAAAA9Y/DIJBSZ6AdMw/clip_image002%25255B3%25255D.png?imgmax=800 "List of automatically generated output files")

<!--more-->

Primero, utilizamos un carácter comodín en el nombre del archivo de entrada, dentro del cuadro de diálogo de propiedades, para el componente de entrada del mapeo. Esto indica a MapForce que procese individualmente cada archivo del directorio de trabajo que coincida con el comodín.

![Utilizar un comodín para el archivo de entrada de la configuración](https://lh3.ggpht.com/-iqz0XDhHvLQ/UPl5xo-viaI/AAAAAAAAA9g/TO9klug7KLc/clip_image003%25255B3%25255D.png?imgmax=800 "Using a wildcard for the mapping input file")

Si está diseñando una conversión compleja, o si los archivos de entrada son muy grandes, puede utilizar un único nombre de archivo para desarrollar la configuración de la conversión, y luego cambiar a un comodín cuando esté satisfecho con el resultado de la configuración.

**Funciones para la gestión de rutas de archivos**

La biblioteca de funciones integrada de MapForce incluye funciones de rutas de archivo que podemos utilizar para gestionar los nombres de los archivos de salida. Si definimos un único archivo de salida, este se actualizará con nuevos datos cada vez que procesemos una nueva entrada.

![Funciones de rutas de archivos en la biblioteca de funciones de MapForce](https://lh5.ggpht.com/-JxIKHZXrzEo/UPl5xzHgSnI/AAAAAAAAA9o/6APxltAkffU/clip_image004%25255B3%25255D.png?imgmax=800 "File path functions in the MapForce function library")

Puede combinar las funciones de ruta de archivo con otras funciones de texto para tener un control total sobre los nombres y las ubicaciones de los archivos de salida. Decidimos mantener los archivos de salida en el mismo directorio que los archivos de entrada, pero creamos nombres de archivo más descriptivos y utilizamos la extensión de archivo .gpx.

La sección del proceso que se muestra a continuación utiliza la función de concatenación de cadenas junto con funciones de rutas de archivo para generar el archivo de salida "1211190converted.gpx" a partir de "1211190.LOG", y así sucesivamente.

![Utilizar funciones de ruta con una función de cadena](https://lh4.ggpht.com/-l6ypssdA9Mg/UPl5ydkZBjI/AAAAAAAAA9w/2IfnpeT0TDY/clip_image005%25255B3%25255D.png?imgmax=800 "Using path functions with a string function")

También puede utilizar funciones de rutas de archivo para generar cadenas de texto e insertarlas como resultado. El esquema XML para los archivos .gpx contiene un elemento de descripción de metadatos. Decidimos insertar el nombre del archivo de entrada en los metadatos para vincular explícitamente el archivo de salida a los datos originales. Esta estrategia hace que el archivo de salida sea autodescriptivo y puede ayudar en la depuración si necesita rastrear un resultado inesperado hasta la fuente original.

La sección del mapeo que se muestra a continuación inserta el nombre del archivo de origen en una cadena de texto y asocia esa cadena a los metadatos `<desc>` elemento:

![Asignar el nombre del archivo como dato de salida](https://lh4.ggpht.com/-_NjzoK77594/UPl5zLiSFyI/AAAAAAAAA94/3E_Qvk6srt8/clip_image006%25255B3%25255D.png?imgmax=800 "Mapping the file name as output data")

La descripción resultante se encuentra en la línea 4 de la [vista previa de los resultados de la geolocalización](https://www.altova.com/es/mapforce/mapping-output.html):

**[Imagen de una vista previa de los datos de salida, con un nombre de archivo]**

**Filtrado de datos de entrada**

El elemento central de esta asignación de datos requería un filtro en el archivo de entrada. Los archivos de registro GPS de la cámara se registran de acuerdo con la especificación de la Asociación Nacional de Electrónica Marina (NMEA). Una parte de uno de los archivos de entrada se muestra a continuación:

![Datos de muestra del registro GPS de la cámara](https://lh6.ggpht.com/-My1iWbnP1Fs/UPl5z4xF7tI/AAAAAAAAA-I/dmH9bWwphCI/clip_image008%25255B3%25255D.png?imgmax=800 "Sample data from the camera GPS log")

Después de la primera línea, cada punto registrado se describe mediante dos frases NMEA, donde el tipo de frase se identifica en el primer campo. Cada frase GGA incluye la hora, la latitud, la longitud, la altitud y datos adicionales sobre la calidad de la posición. Cada frase RMC contiene la hora, la latitud, la longitud y la fecha.

Una sentencia RMC contiene los datos mínimos que necesitamos para generar un archivo .gpx `<trkpt>` elemento, por lo que podemos utilizar un filtro para seleccionar solo aquellas líneas de la entrada, como se muestra aquí:

![Filtrar los datos de entrada para extraer filas](https://lh5.ggpht.com/-u3MGw07n5Jg/UPl50MRDs2I/AAAAAAAAA-M/Jdm8sOiyLko/clip_image009%25255B3%25255D.png?imgmax=800 "Filtering the input data to extract rows")

Si el tipo de mensaje en el primer campo de una fila contiene "$GPRMC", se procesa. De lo contrario, la fila se ignora.

Los datos reales del archivo de entrada también requerían cierta manipulación. Para cada latitud y longitud, tuvimos que combinar varios campos del archivo de origen que definían grados, minutos y segundos, y convertirlos a grados decimales. También fue necesario combinar los campos de fecha y hora, y registrar el resultado en formato ISO 8601, tal como lo exige el formato .gpx, por ejemplo, 2012-11-19T20:43:23Z. Definimos cada una de esas conversiones como funciones de usuario para encapsular su complejidad y separarlas del programa principal de mapeo.

Este mapeo también ofrece la oportunidad de reutilizar la función de usuario "getElevationUS" que definimos en la publicación anterior [Prepárese para lo inesperado: Altova MissionKit resuelve un misterio de formato numérico](https://www.altova.com/blog/2013/01/expect-unexpected-altova-missionkit.html). En esta ocasión, redondeamos los datos de elevación a tres decimales, lo que representa el milímetro más cercano.

La sección principal del mapeo de datos de Camerlog a GPX, que incluye funciones definidas por el usuario, se ve así:

![El núcleo del mapeo de datos se basa en funciones definidas por el usuario](https://lh6.ggpht.com/-2HVaK82dfyo/UPl50fC_aHI/AAAAAAAAA-Y/1rMavSy31hM/clip_image010%25255B3%25255D.png?imgmax=800 "Core of the data mapping with user functions")

Aquí se muestra uno de los archivos de salida, que contiene un elemento `<trk>`, un elemento `<trkseg>` y varios elementos `<trkpt>`.

![Datos de muestra de salida](https://lh6.ggpht.com/-HQudomQ_V9o/UPl51JbUgXI/AAAAAAAAA-g/OH2DiYSvrZU/clip_image011%25255B3%25255D.png?imgmax=800 "Sample output data")

El menú de salida de MapForce ofrece una opción que permite validar los archivos de salida con el esquema XML .gpx:

![Resultados de la validación](https://lh6.ggpht.com/-9PvYWtWIYh0/UPl51dQrWfI/AAAAAAAAA-o/1NI8SHJzfLg/clip_image012%25255B3%25255D.png?imgmax=800 "Validation results")

**Si desea utilizar** [**Altova MapForce**](https://www.altova.com/es/download-trial.html) **para procesar archivos de entrada por lotes y aplicar sus propias configuraciones de mapeo de datos** [**Haga clic aquí para descargar una versión de prueba gratuita.**](https://www.altova.com/es/download-trial.html)**.**
