Overview

The SkyGeo import function (<importType>SkyGeo</importType>) imports scalar time series from a SkyGeo (https://skygeo.com) specific csv file. Optionally the imported data can be displayed as a track in the grid display. In this case the parameters X and Y should be imported as well.

Configuring the Import

To make the importer known to FEWS, the import module has to be declared in the moduleInstanceDescriptors.xml in the RegionConfigFiles directory of the FEWS configuration:

<?xml version="1.0" encoding="UTF-8"?>
<moduleInstanceDescriptors 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/moduleInstanceDescriptors.xsd" version="1.0">
...
	
	<moduleInstanceDescriptor id="ImportSkyGeo">
		<moduleId>TimeSeriesImportRun</moduleId>
	</moduleInstanceDescriptor>

...
</moduleInstanceDescriptors>

An example of the SkyGeo import (filename: SkyGeo.xml) configuration for the files in the Import/skyGeo folder is given here. The importType is named SkyGeo which should be configured in the general section of the import.

<?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>SkyGeo</importType>
			<folder>$IMPORT_FOLDER$/skyGeo</folder>
		</general>
		<timeSeriesSet>
			<moduleInstanceId>ImportSkyGeo</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>height</parameterId>
			<locationSetId>sky_geo.locations</locationSetId>
			<timeSeriesType>external historical</timeSeriesType>
			<timeStep unit="nonequidistant" />
			<readWriteMode>add originals</readWriteMode>
		</timeSeriesSet>
		<timeSeriesSet>
			<moduleInstanceId>ImportSkyGeo</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>X</parameterId>
			<locationSetId>sky_geo.locations</locationSetId>
			<timeSeriesType>external historical</timeSeriesType>
			<timeStep unit="nonequidistant" />
			<readWriteMode>add originals</readWriteMode>
		</timeSeriesSet>
		<timeSeriesSet>
			<moduleInstanceId>ImportSkyGeo</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>Y</parameterId>
			<locationSetId>sky_geo.locations</locationSetId>
			<timeSeriesType>external historical</timeSeriesType>
			<timeStep unit="nonequidistant" />
			<readWriteMode>add originals</readWriteMode>
		</timeSeriesSet>
	</import>
</timeSeriesImportRun>

An example of a SkyGeo csv file can be seen here:

pnt_id,pnt_lat,pnt_lon,pnt_demheight,pnt_height,pnt_quality,pnt_linear,d_20150226,d_20150708,d_20150720,d_20150813,d_20150906,d_20151012,d_20151105,d_20151117,d_20151223,d_20160104,d_20160116,d_20160209,d_20160221,d_20160515,d_20160608,d_20160702,d_20160714,d_20160726,d_20160807,d_20160819,d_20160831,d_20160912,d_20160924,d_20161006,d_20161018,d_20161030,d_20161111,d_20161217,d_20161229,d_20170110,d_20170203
L24430P589340,11.973095,76.365428,699.51,706.87,0.81,-0.0080,0.0000,-0.0120,-0.0047,-0.0021,-0.0005,0.0000,-0.0012,-0.0075,-0.0077,-0.0126,-0.0177,-0.0141,-0.0168,-0.0130,-0.0091,-0.0080,-0.0110,-0.0131,-0.0120,-0.0176,-0.0106,-0.0192,-0.0107,-0.0186,-0.0144,-0.0180,-0.0124,-0.0121,-0.0171,-0.0166,-0.0163
L24430P589350,11.973088,76.365467,699.3,699.31,0.89,-0.0086,0.0000,0.0083,0.0028,0.0008,0.0015,0.0009,0.0007,-0.0009,-0.0021,-0.0065,-0.0120,-0.0080,-0.0082,-0.0090,-0.0065,-0.0036,-0.0093,-0.0085,-0.0077,-0.0103,-0.0059,-0.0124,-0.0084,-0.0132,-0.0097,-0.0110,-0.0085,-0.0086,-0.0104,-0.0122,-0.0113
L24440P589340,11.972970,76.365409,699.34,706.23,0.89,-0.0054,0.0000,-0.0049,-0.0040,0.0028,0.0003,0.0011,-0.0010,-0.0043,-0.0054,-0.0097,-0.0136,-0.0088,-0.0100,-0.0077,-0.0058,-0.0049,-0.0079,-0.0103,-0.0083,-0.0092,-0.0062,-0.0122,-0.0045,-0.0116,-0.0074,-0.0107,-0.0076,-0.0086,-0.0115,-0.0094,-0.0115
L25160P592900,11.966069,76.353075,702.85,698.48,0.75,-0.0003,0.0000,0.0068,0.0038,-0.0006,0.0040,0.0018,-0.0025,0.0005,-0.0065,-0.0055,-0.0174,-0.0085,-0.0041,0.0009,-0.0076,0.0069,0.0010,0.0008,0.0045,0.0017,-0.0016,-0.0052,-0.0029,-0.0020,0.0065,-0.0036,-0.0032,-0.0008,0.0020,-0.0020,-0.0007
....

 

Configuring the Grid Display

To make the tracks visible in grid display, the gridDisplay.xml configuration has to be extended with a gridPlot using a trackLayer. In the track layer the longitude is configured using the xTimeSeriesSet, the latitude using the yTimeSeriesSet and the height using the valuTimeSeriesSet. An example configuration is shown below. In the grid display all locations will be displayed with the active location highlighted for the currently selected timestep.

			<gridPlot id="SkyGeo Demo" name="Sky Geo Track">
			<trackLayer>
				<displayCurrentTrackOnly>true</displayCurrentTrackOnly>
				<lineColor>yellow</lineColor>
				<geoDatum>WGS 1984</geoDatum>
				<xTimeSeriesSet>
					<moduleInstanceId>ImportSkyGeo</moduleInstanceId>
					<valueType>scalar</valueType>
					<parameterId>X</parameterId>
					<locationSetId>sky_geo.locations</locationSetId>
					<timeSeriesType>external historical</timeSeriesType>
					<timeStep unit="nonequidistant"/>
					<readWriteMode>read complete forecast</readWriteMode>
				</xTimeSeriesSet>
				<yTimeSeriesSet>
					<moduleInstanceId>ImportSkyGeo</moduleInstanceId>
					<valueType>scalar</valueType>
					<parameterId>Y</parameterId>
					<locationSetId>sky_geo.locations</locationSetId>
					<timeSeriesType>external historical</timeSeriesType>
					<timeStep unit="nonequidistant"/>
					<readWriteMode>read complete forecast</readWriteMode>
				</yTimeSeriesSet>
				<valueTimeSeriesSet>
					<moduleInstanceId>ImportSkyGeo</moduleInstanceId>
					<valueType>scalar</valueType>
					<parameterId>height</parameterId>
					<locationSetId>sky_geo.locations</locationSetId>
					<timeSeriesType>external historical</timeSeriesType>
					<timeStep unit="nonequidistant"/>
					<readWriteMode>read complete forecast</readWriteMode>
				</valueTimeSeriesSet>
				
			</trackLayer>
			<classBreaks>
				<color color="070268" lowerValue="-0.01" opaquenessPercentage="70"/>
				<color color="0900AE" lowerValue="-0.008" opaquenessPercentage="70"/>
				<color color="4040FF" lowerValue="-0.006" opaquenessPercentage="70"/>
				<color color="0080C0" lowerValue="-0.004" opaquenessPercentage="70"/>
				<color color="129FFE" lowerValue="-0.002" opaquenessPercentage="70"/>
				<color color="00FF40" lowerValue="0" opaquenessPercentage="70"/>
				<color color="FFFF00" lowerValue="0.002" opaquenessPercentage="70"/>
				<color color="FF8000" lowerValue="0.004" opaquenessPercentage="70"/>
				<color color="FF0000" lowerValue="0.006" opaquenessPercentage="70"/>
				<color color="FF0080" lowerValue="0.008" opaquenessPercentage="70"/>
				<color color="FFFFFF" lowerValue="01.0" opaquenessPercentage="70"/>
			</classBreaks>
		</gridPlot>