Add JSON-EC-Processor.SRC
This commit is contained in:
parent
8a313ddc2b
commit
57790d44a9
71
JSON-EC-Processor.SRC
Normal file
71
JSON-EC-Processor.SRC
Normal file
@ -0,0 +1,71 @@
|
||||
{=========================== CustomJSONProcessor =============================}
|
||||
{ Custom JSON data processor for the JSONXMLDriver - Env Canada History Data }
|
||||
{ Processes Historical DISCHARGE & Level data with Timestamps }
|
||||
{=============================================================================}
|
||||
|
||||
(
|
||||
Data;
|
||||
UniqueID;
|
||||
)
|
||||
[
|
||||
CONSTANT IsJSONXMLProcessor = TRUE;
|
||||
DrawLabel = "Env Can JSON Processor";
|
||||
NewData;
|
||||
TimeValuePair Struct [
|
||||
Timestamp;
|
||||
Value;
|
||||
];
|
||||
DateTime;
|
||||
DateTimeVTS;
|
||||
i; {for loop pointer}
|
||||
r; {records retured in JSON}
|
||||
]
|
||||
|
||||
Main [
|
||||
If 1;
|
||||
[
|
||||
|
||||
r = Data.numberReturned; {only process returned records}
|
||||
|
||||
DateTime = New(r);
|
||||
DateTimeVTS = New(r);
|
||||
|
||||
|
||||
i = 0;
|
||||
|
||||
WhileLoop(i < r ,
|
||||
DateTime[i] = Data.features[i].properties.DATETIME;
|
||||
DateTimeVTS[i] = (datenum(substr(DateTime[i],8,2),substr(DateTime[i],5,2),substr(DateTime[i],0,4))*86400) +
|
||||
(substr(DateTime[i],11,2)*3600) + (substr(DateTime[i],14,2)*60) + substr(DateTime[i],17,2);
|
||||
i++);
|
||||
|
||||
|
||||
NewData = Dictionary();
|
||||
|
||||
NewData["STATION_NUMBER"] = Data.features[0].properties.STATION_NUMBER;
|
||||
NewData["STATION_NAME"] = Data.features[0].properties.STATION_NAME;
|
||||
NewData["NEWEST_TIMESTAMP"] = Data.features[0].properties.DATETIME;
|
||||
NewData["RECORDS_RETURNED"] = r;
|
||||
NewData["DISCHARGE"] = Data.features[0].properties.DISCHARGE;
|
||||
NewData["DISCHARGE:History"] = TimeValuePair(New(r), New(r));
|
||||
|
||||
i = 0;
|
||||
WhileLoop(i < r ,
|
||||
NewData["DISCHARGE:History"].Value[r-i-1] = Data.features[i].properties.DISCHARGE;
|
||||
NewData["DISCHARGE:History"].Timestamp[r-i-1] = DateTimeVTS[i];
|
||||
i++);
|
||||
|
||||
NewData["LEVEL"] = Data.features[0].properties.LEVEL;
|
||||
NewData["LEVEL:History"] = TimeValuePair(New(r), New(r));
|
||||
|
||||
i = 0;
|
||||
WhileLoop(i < r ,
|
||||
NewData["LEVEL:History"].Value[r-i-1] = Data.features[i].properties.DISCHARGE;
|
||||
NewData["LEVEL:History"].Timestamp[r-i-1] = DateTimeVTS[i];
|
||||
i++);
|
||||
|
||||
NewData["UniqueID"] = UniqueID;
|
||||
NewData["Timestamp"] = "Not a timestamp";
|
||||
Return(NewData);
|
||||
]
|
||||
]
|
Loading…
Reference in New Issue
Block a user