Overview

The BroGldAddition import function (<importType>BroGldAddition </importType>) imports XML files in the BroGldAddation format from the file system. It is also possible to import directly from the BRO API. Please see: BroGldAdditionServer

The BroGldAddition import supports importing GldAddation source documents. For more information about the format, please see the Basis Registratie Ondergrond standard: https://schema.broservices.nl/xsd/isgld/1.0/isgld-messages.xsd.

BroGldAddition Import Configuration

The configuration of the BroGldAddition import module is shown in the following example.

For each imported XML file a BRO ID is required. This can either be the same as the internal locationId or (preferably) should be configured as a location attribute. In the latter case idmapping is required. The location attribute that holds the BRO ID should be mapped, using a location id function. For example:

idImportBro.xml
<?xml version="1.0" encoding="UTF-8"?>
<idMap 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/idMap.xsd" version="1.1">
	<locationIdFunction internalLocationSet="Peilbuizen_BRO" externalLocationFunction="@BRO_GLD_ID@"/>
	<enableOneToOneMapping/>
</idMap>

The BroGldAddition can import multiple XML files that are located in the configured folder. However, the BRO GLD doesn't have multiple parameters (in the FEWS sense) only the heads in reference to NAP (for details see Basisregistratie Ondergrond Catalogus Grondwaterstandonderzoek (geostandaarden.nl)), so the external BRO parameter will always be mapped to the specified internal parameterId. This also means that the timeSeriesSets should only hold 1 parameterId. See for example the following configuration.

<?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">
    <import>
		<general>
			<importType>BroGldAddition</importType>
			<folder>$IMPORT_FOLDER$/BRO/GLD</folder>
			<idMapId>IdImportBro</idMapId>
			<flagConversionsId>FlagConversionBro</flagConversionsId>
            <expiryTime unit="day" multiplier="356"/>
		</general>
		<properties>
			<string key="flag" value="StatusQualityControl" />
		</properties>
        <timeSeriesSet>
			<moduleInstanceId>ImportBRO</moduleInstanceId>	
			<valueType>scalar</valueType>
			<parameterId>GW.m</parameterId>
			<locationSetId>Peilbuizen_BRO</locationSetId>
			<timeSeriesType>external historical</timeSeriesType>
			<timeStep unit="nonequidistant"/>
			<readWriteMode>read complete forecast</readWriteMode>
		</timeSeriesSet>
		<externUnit parameterId="GW.m" unit="cm+NAP"/>
	</import>
</timeSeriesImportRun>  

The above example includes the optional property "flag", which triggers a flag conversion from attributes found in the XML, supported values are:

statusQualityControl : Qualifier for individual measurements, "afgekeurd", "goedgekeurd", "nogNietBeoordeeld", "onbeslist", "onbekend"
observationType : Qualifier for a series of measurements, "reguliereMeting", "controleMeting"
statusCode : Qualifier for a series of measurements, "reguliereMeting", "controleMeting"

A simple flag conversion configuration for the statusQualityControl qualifier can be configured as follows:

<?xml version="1.0" encoding="UTF-8"?>
<flagConversions 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/flagConversions.xsd">
	<flagConversion>
		<inputFlag>
			<value>goedgekeurd</value>
		</inputFlag>
		<outputFlag>
			<name>Original/Reliable</name>
			<value>0</value>
		</outputFlag>
	</flagConversion>
	<defaultOuputFlag>
		<name>Original/Doubtful</name>
		<value>3</value>
	</defaultOuputFlag>
	<missingValueFlag>
		<name>Original/Missing</name>
		<value>9</value>
	</missingValueFlag>
</flagConversions>


The following code shows a sample BRO Gld_Addition document that can be imported:

<?xml version="1.0" encoding="UTF-8"?>
<registrationRequest xmlns="http://www.broservices.nl/xsd/isgld/1.0" xmlns:wml2="http://www.opengis.net/waterml/2.0" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:om="http://www.opengis.net/om/2.0" xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:brocom="http://www.broservices.nl/xsd/brocommon/3.0" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.broservices.nl/xsd/isgld/1.0 https://schema.broservices.nl/xsd/isgld/1.0/isgld-messages.xsd">
    <brocom:requestReference>GLD_Addition_sensorisch_id_fb7b8963-e880-4dc6-a15a-bf7945d0c6ed</brocom:requestReference>
    <brocom:deliveryAccountableParty>27376655</brocom:deliveryAccountableParty>
    <brocom:broId>GLD000000041620</brocom:broId>
    <brocom:qualityRegime>IMBRO/A</brocom:qualityRegime>
    <sourceDocument>
        <GLD_Addition gml:id="id_7a5d7c57-3c2a-4597-a499-cd4e234557e3">
            <observation>
                <om:OM_Observation gml:id="id_29b995ca-c627-4823-a28a-1d079537e874">
                    <om:type xlink:href="http://www.opengis.net/def/observationType/waterml/2.0/MeasurementTimeseriesTVPObservation"></om:type>
                    <om:metadata>
                        <wml2:ObservationMetadata>
                            <gmd:contact>
                                <gmd:CI_ResponsibleParty>
                                    <gmd:organisationName>
                                        <gco:CharacterString/>
                                    </gmd:organisationName>
                                    <gmd:role>
                                        <gmd:CI_RoleCode codeList="urn:ISO:19115:CI_RoleCode" codeListValue="principalInvestigator">principalInvestigator</gmd:CI_RoleCode>
                                    </gmd:role>
                                </gmd:CI_ResponsibleParty>
                            </gmd:contact>
                            <gmd:dateStamp gco:nilReason="unknown"/>
                            <gmd:identificationInfo gco:nilReason="unknown"/>
                            <wml2:status xlink:href="urn:bro:gld:StatusCode:voorlopig"/>
                            <wml2:parameter>
                                <om:NamedValue>
                                    <om:name xlink:href="urn:bro:gld:ObservationMetadata:principalInvestigator"/>
                                    <om:value xsi:type="brocom:OrganizationType">
                                        <brocom:chamberOfCommerceNumber>kvkNumber</brocom:chamberOfCommerceNumber>
                                    </om:value>
                                </om:NamedValue>
                            </wml2:parameter>
                            <wml2:parameter>
                                <om:NamedValue>
                                    <om:name xlink:href="urn:bro:gld:ObservationMetadata:observationType"/>
                                    <om:value xsi:type="gml:CodeWithAuthorityType" codeSpace="urn:bro:gld:ObservationType">reguliereMeting</om:value>
                                </om:NamedValue>
                            </wml2:parameter>
                        </wml2:ObservationMetadata>
                    </om:metadata>
                    <om:phenomenonTime>
                        <gml:TimePeriod gml:id="id_8852b8a7-66c8-43a2-b4e5-49bb468f2691">
                            <gml:beginPosition>2020-11-01T13:00:00Z</gml:beginPosition>
                            <gml:endPosition>2021-11-01T13:00:00Z</gml:endPosition>
                        </gml:TimePeriod>
                    </om:phenomenonTime>
                    <om:resultTime>
                        <gml:TimeInstant gml:id="id_552c694e-8938-427c-ac8d-b69eb7c4d7b8">
                            <gml:timePosition>2021-11-01T13:00:00Z</gml:timePosition>
                        </gml:TimeInstant>
                    </om:resultTime>
                    <om:procedure>
                        <wml2:ObservationProcess gml:id="id_47c053aa-4aa3-4b6c-a4ab-ba0c666a7c5c">
                            <wml2:processType xlink:href="http://www.opengis.net/def/waterml/2.0/processType/Algorithm"/>
                            <wml2:processReference xlink:href="urn:bro:gld:ProcessReference:NEN_EN_ISO22475v2006_C11v2010"/>
                            <wml2:parameter>
                                <om:NamedValue>
                                    <om:name xlink:href="urn:bro:gld:ObservationProcess:airPressureCompensationType"/>
                                    <om:value xsi:type="gml:CodeWithAuthorityType" codeSpace="urn:bro:gld:AirPressureCompensationType">monitoringnetmeting</om:value>
                                </om:NamedValue>
                            </wml2:parameter>
                            <wml2:parameter>
                                <om:NamedValue>
                                    <om:name xlink:href="urn:bro:gld:ObservationProcess:evaluationProcedure"/>
                                    <om:value xsi:type="gml:CodeWithAuthorityType" codeSpace="urn:bro:gld:EvaluationProcedure">oordeelDeskundige</om:value>
                                </om:NamedValue>
                            </wml2:parameter>
                            <wml2:parameter>
                                <om:NamedValue>
                                    <om:name xlink:href="urn:bro:gld:ObservationProcess:measurementInstrumentType"/>
                                    <om:value xsi:type="gml:CodeWithAuthorityType" codeSpace="urn:bro:gld:MeasurementInstrumentType">druksensor</om:value>
                                </om:NamedValue>
                            </wml2:parameter>
                        </wml2:ObservationProcess>
                    </om:procedure>
                    <om:observedProperty/>
                    <om:featureOfInterest/>
                    <om:result>
                        <wml2:MeasurementTimeseries gml:id="id_3ac2b742-1520-4031-a7e5-39b429bd0ef9">
                            <wml2:point>
                                <wml2:MeasurementTVP>
                                    <wml2:time>2020-11-01T13:00:00Z</wml2:time>
                                    <wml2:value uom="m+NAP">-0.881</wml2:value>
                                    <wml2:metadata>
                                        <wml2:TVPMeasurementMetadata>
                                            <wml2:qualifier>
                                                <swe:Category>
                                                    <swe:codeSpace xlink:href="urn:bro:gld:StatusQualityControl"/>
                                                    <swe:value>goedgekeurd</swe:value>
                                                </swe:Category>
                                            </wml2:qualifier>
                                        </wml2:TVPMeasurementMetadata>
                                    </wml2:metadata>
                                </wml2:MeasurementTVP>
                            </wml2:point>
                            <wml2:point>
                                <wml2:MeasurementTVP>
                                    <wml2:time>2020-11-01T14:00:00Z</wml2:time>
                                    <wml2:value uom="m+NAP">-0.881</wml2:value>
                                    <wml2:metadata>
                                        <wml2:TVPMeasurementMetadata>
                                            <wml2:qualifier>
                                                <swe:Category>
                                                    <swe:codeSpace xlink:href="urn:bro:gld:StatusQualityControl"/>
                                                    <swe:value>goedgekeurd</swe:value>
                                                </swe:Category>
                                            </wml2:qualifier>
                                        </wml2:TVPMeasurementMetadata>
                                    </wml2:metadata>
                                </wml2:MeasurementTVP>
                            </wml2:point>
                            <wml2:point>
                                <wml2:MeasurementTVP>
                                    <wml2:time>2020-11-01T15:00:00Z</wml2:time>
                                    <wml2:value uom="m+NAP">-0.881</wml2:value>
                                    <wml2:metadata>
                                        <wml2:TVPMeasurementMetadata>
                                            <wml2:qualifier>
                                                <swe:Category>
                                                    <swe:codeSpace xlink:href="urn:bro:gld:StatusQualityControl"/>
                                                    <swe:value>goedgekeurd</swe:value>
                                                </swe:Category>
                                            </wml2:qualifier>
                                        </wml2:TVPMeasurementMetadata>
                                    </wml2:metadata>
                                </wml2:MeasurementTVP>
                            </wml2:point>                                            
                        </wml2:MeasurementTimeseries>
                    </om:result>
                </om:OM_Observation>
            </observation>
        </GLD_Addition>
    </sourceDocument>
</registrationRequest>
  • No labels