Mapeo y transformación de datos XML con comodines en MapForce

MapForce 2014 ahora admite la asignación de comodines XML, lo que permite crear un mecanismo de extensión integrado para los esquemas XML, implementado como xs:any o xs:anyAttribute.

Considere este fragmento de código XML, visualizado en XMLSpy:

Esta pequeña sección de un archivo muy extenso muestra dos puntos de ruta registrados durante un viaje por carretera por un dispositivo GPS de Garmin. Los datos XML siguen el esquema XML GPX, con extensiones propias de Garmin que añaden valores de velocidad y rumbo. El mapeo de comodines en XML permite mapear estas extensiones en MapForce de la misma manera que cualquier otro elemento definido explícitamente en el esquema XML.

Supongamos que queremos leer el archivo .gpx y extraer la velocidad máxima registrada durante un viaje

!--más--

Podemos comenzar un nuevo diseño de mapeo en MapForce importando un archivo .gpx como componente de entrada. MapForce muestra una vista de todos los elementos definidos en el esquema XML correspondiente y disponibles para el mapeo. La captura de pantalla que se muestra a continuación ilustra la parte del esquema XML correspondiente a los puntos de la ruta:

La latitud, la longitud, la altitud y la hora aparecen inmediatamente después del elemento "trkpt" y definen los datos que se muestran en el fragmento XML. Los siguientes elementos, desde la variación magnética ("magvar") hasta el ID de la estación DGPS ("dgpsid"), son todos opcionales y no aparecen en el archivo de datos de Garmin.

Los elementos de velocidad y trayectoria no están definidos en este esquema XML. En cambio, la velocidad y la trayectoria se permiten gracias a la opción "xs:any" que se encuentra al final de la imagen. Al hacer clic en el icono que aparece junto a "xs:any", se abre un diálogo que permite importar otro esquema XML que defina las extensiones, y se crea una estructura que combina el esquema XML original con las extensiones. Después de la importación, los nuevos elementos se muestran en el componente de origen y se pueden asignar

Ordenar los datos en el mapa

Los archivos de ejemplo que se instalan con MapForce incluyen un archivo de mapeo llamado FindHighestTemperatures.mfd, que podemos utilizar como ejemplo para extraer la velocidad máxima de nuestro archivo, utilizando una función de ordenamiento:

Esta función ordena todos los valores de velocidad de mayor a menor, y luego envía solo el primer valor para su salida. La opción de ordenamiento "de la Z a la A" ordena automáticamente los datos numéricos de los valores más altos a los más bajos.

Convertir valores en la asignación

Finalmente, necesitamos convertir la velocidad de metros por segundo a millas por hora, redondear el resultado a dos decimales y añadir un texto descriptivo

El resultado de la función de concatenación de cadenas mostrada anteriormente se escribe en el archivo de texto de salida:

Tenga en cuenta que no fue necesario transformar explícitamente la velocidad de un tipo de dato numérico a una cadena de texto al pasar de una función a otra. MapForce gestiona automáticamente la conversión de tipos de datos. A continuación, se muestra una versión reducida del mapeo completo, con anotaciones de las operaciones principales:

Haga clic en la imagen o haga clic aquí para verla en tamaño completo.

El sitio web de Altova incluye cursos de formación online gratuitos para MapForce. ¡Incluso puede descargar una versión de prueba gratuita de MapForce y empezar a mejorar sus habilidades en la gestión y transformación de datos hoy mismo!