Mercurial > hg > egg-tcls
changeset 169:c12e422a543a
FMI data parsing kinda almost works. It is horrible, though. XML ... :Q
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 02 Jun 2014 22:52:30 +0300 |
parents | 7eee54638b0f |
children | e4faa3746869 |
files | fetch_weather.pl |
diffstat | 1 files changed, 27 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/fetch_weather.pl Mon Jun 02 21:44:04 2014 +0300 +++ b/fetch_weather.pl Mon Jun 02 22:52:30 2014 +0300 @@ -364,6 +364,33 @@ my $xml = XMLin($res->decoded_content, KeyAttr => { server => 'name' }, ForceArray => [ 'server', 'address' ]); + + my $time_base = time(); + + foreach my $item (@{$xml->{"wfs:member"}}) + { + my $fitem = $item->{"omso:GridSeriesObservation"}; + if (defined($fitem->{"om:phenomenonTime"}{"gml:TimePeriod"})) + { + $time_base = str2time($fitem->{"om:phenomenonTime"}{"gml:TimePeriod"}{"gml:endPosition"}); + } + my $fname = $fitem->{"om:featureOfInterest"}{"sams:SF_SpatialSamplingFeature"}{"sams:shape"}{"gml:MultiPoint"}{"gml:pointMember"}{"gml:Point"}{"gml:name"}; + + my $fres = $fitem->{"om:result"}{"gmlcov:MultiPointCoverage"}{"gml:rangeSet"}{"gml:DataBlock"}{"gml:doubleOrNilReasonTupleList"}; + + ### TODO XXX HALARM - ei ota viimeista arvoa, kuten pitais + if ($fres =~ /([\+\-]?\d+\.?\d*)\s+([\+\-]?\d+\.?\d*)/) + { + my ($ftemp, $fhumid) = ($1, $2); + $weatherdata->{$fname} = [ + $time_base, + $ftemp, + "", + "", + $fhumid, + ]; + } + } } }