UM Aquo XML import

This is an import that makes use of the custom import mechanism described in Custom import formats. The UmAquo XML import consists of a xml parser, UmAquoXmlTimeSeriesParser.java, and a bin directory containing all dependant library files (UmAquo.zip ).

The UmAquo standard is being managed by Informatiehuis Water and is used to exchange data with the Online Omgevingsloket. Besides the XML format there also exists a CSV version of the UmAquo standard. Informatiehuis water is responsible for maintaining the Aquo-domaintables . These tables contain lists of standardised variable codes related to water management. These tables are meant to aid the exchange of data between organisations in the water-sector by means of a standard terminology.

The UmAquo XML import validates the input variables against these domaintables.

TimeSeries XML file format

The XML import format is described by the schema files that can be found here. Here follows a few example XML import files:

VEGMWATERNET.XML

VISWATERNET.XML

Expected XML elements:

MeetObject: contains location information

MonsterObject: Forms the link between the MeetObject and the timeseries

WaardeReeksTijd: Elements containing timeseries data

Validation

Validation of the values in the UmAquo import files is done against the Aquo schemas . Instead of validating over the web, validation is done locally by validating against the schemas present in the resource file UmAquo_schemas.jar. This archive contains a subset of schemas from the Aquo schemas site. If the Aquo schemas are updated then a new version of the schemas jar must be distributed.

Fews configuration

In order to activate the UmAquo CSV import as a FEWS import, it is required to setup a TimeSeriesImportRun module configuration file and an accompanying IdMap file and FlagConversion file. Also the bin directory containing all UmAquo resources must be placed in a location that can be accessed by the FEWS system.

Here is an example import module configuration file:

<?xml version="1.0" encoding="UTF-8"?>
<timeSeriesImportRun xmlns="http://www.wldelft.nl/fews"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                     xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/timeSeriesImportRun.xsd">
    <!-- This is an example import configuration file for importing UmAquo CSV data from an import directory    -->
    <import>
        <general>
           <!-- Class name of UmAquo CSV parser -->
            <parserClassName>nl.wldelft.webservice.umaquo.timeseriesparsers.UmAquoXmlTimeSeriesParser</parserClassName>

            <!-- Path to directory containing UmAquo libraries and schemas. If omitted then the content of the umaquo-bin
                 can be placed in the FEWS-bin dir -->
            <binDir>%REGION_HOME%/Modules/umaquo-bin</binDir>
            
            <!-- Directory from which CSV files are to be imported -->
            <folder>$IMPORT_FOLDER$/UmAquo/XML</folder>
            <failedFolder>$IMPORT_FAILED_FOLDER$/UmAquo/XML</failedFolder>
            <backupFolder>$IMPORT_BACKUP_FOLDER$/UmAquo/XML</backupFolder>
            <idMapId>IdImportUmAquo</idMapId>
            <importTimeZone>
                <timeZoneOffset>+00:00</timeZoneOffset>
            </importTimeZone>
        </general>
                <properties>
                   <!-- Optional: select UmAquo schema version 2009 or 2011. Default = 2009 -->
                   <int key="SCHEMA_VERSION" value="2009"/>
                   <!-- Optional: allow lenient validation. Default = false -->
                   <bool key="LENIENT" value="true"/>
                </properties>
        <timeSeriesSet>
            <moduleInstanceId>ImportUmAquo</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>MyPar</parameterId>
            <locationSetId>MyLocSet</locationSetId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>add originals</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
    </import>
</timeSeriesImportRun>

Here is an example id-map file:

please see UmAquoCsvImport

Here is an example flag conversion file:

please see UmAquoCsvImport