2012-01-06 08:55:05 -06:00
|
|
|
<?xml version="1.0"?>
|
|
|
|
<svg width="80" height="80"
|
|
|
|
viewBox="0 0 80 80"
|
|
|
|
overflow="visible"
|
|
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
|
|
xmlns:xlink="http://www.w3.org/1999/xlink" style="stroke: rgb(255,255,255);">
|
|
|
|
<defs>
|
2012-06-08 13:20:42 -05:00
|
|
|
<script type="text/python" plotDelegate="plotDelegate">
|
|
|
|
import datetime
|
|
|
|
|
|
|
|
class LdadMesoPlotDelegate(PlotDelegate):
|
|
|
|
def __init__(self):
|
|
|
|
PlotDelegate.__init__(self)
|
|
|
|
|
|
|
|
def getSampleText(self, rec):
|
|
|
|
s = rec.getString("stationId")
|
|
|
|
s += ","
|
|
|
|
s += str(datetime.datetime.utcfromtimestamp(rec.getLong("observationTime")/1000))
|
|
|
|
s += ","
|
|
|
|
s += getFloatAsString(rec, "temperature", "%.2f", 1.8, -459.67)
|
|
|
|
s += ","
|
|
|
|
s += getFloatAsString(rec, "dewpoint", "%.2f", 1.8, -459.67)
|
|
|
|
s += ","
|
|
|
|
s += getFloatAsString(rec, "relHumidity", "%.0f")
|
|
|
|
s += ","
|
|
|
|
s += getFloatAsString(rec, "wetBulbTemperature", "%.2f")
|
|
|
|
s += ","
|
|
|
|
s += getFloatAsString(rec, "windDir", "%.0f")
|
|
|
|
s += ","
|
|
|
|
s += getFloatAsString(rec, "windSpeed", "%.2f")
|
|
|
|
s += ","
|
|
|
|
s += getFloatAsString(rec, "windGust", "%.2f")
|
|
|
|
s += ","
|
|
|
|
s += getFloatAsString(rec, "pressure", "%.2f")
|
|
|
|
s += ","
|
|
|
|
s += getFloatAsString(rec, "stationPressure", "%.2f")
|
|
|
|
s += ","
|
|
|
|
s += getFloatAsString(rec, "altimeter", "%.2f")
|
|
|
|
s += ","
|
|
|
|
s += getFloatAsString(rec, "seaLevelPressure", "%.2f")
|
|
|
|
s += ","
|
|
|
|
s += getIntAsString(rec, "pressChangeChar", "%d")
|
|
|
|
s += ","
|
|
|
|
s += getFloatAsString(rec, "pressChange3Hour", "%.2f")
|
|
|
|
s += ","
|
|
|
|
s += getFloatAsString(rec, "precipAccum", "%.2f")
|
|
|
|
s += ","
|
|
|
|
s += getIntAsString(rec, "precipIntensity", "%d")
|
|
|
|
s += ","
|
|
|
|
s += getIntAsString(rec, "precipType", "%d")
|
|
|
|
s += ","
|
|
|
|
s += getFloatAsString(rec, "totalCloudCover", "%.2f")
|
|
|
|
s += ","
|
|
|
|
s += rec.getString("skyCover")
|
|
|
|
s += ","
|
|
|
|
s += getFloatAsString(rec, "skyLayerBase", "%.2f")
|
|
|
|
s += ","
|
|
|
|
s += getIntAsString(rec, "cloudBaseHeight", "%d")
|
|
|
|
s += ","
|
|
|
|
s += getFloatAsString(rec, "visibility", "%.2f")
|
|
|
|
s += ","
|
|
|
|
s += rec.getString("visibilityStatus")
|
|
|
|
s += ","
|
|
|
|
s += rec.getString("presWeather")
|
|
|
|
return s
|
|
|
|
|
|
|
|
def getFloatAsString(rec, key, format, scale=1, offset=0):
|
|
|
|
f = rec.getFloat(key)
|
|
|
|
if f == -9999:
|
|
|
|
return ""
|
|
|
|
f = f*scale + offset
|
|
|
|
return format % f
|
|
|
|
|
|
|
|
def getIntAsString(rec, key, format):
|
|
|
|
f = rec.getInt(key)
|
|
|
|
if f == -9999:
|
|
|
|
return ""
|
|
|
|
return format % f
|
|
|
|
|
|
|
|
plotDelegate = LdadMesoPlotDelegate()
|
|
|
|
|
|
|
|
</script>
|
2012-01-06 08:55:05 -06:00
|
|
|
<style type="text/css">
|
|
|
|
<![CDATA[
|
|
|
|
@font-face { font-family: "WindSymbolFont";
|
|
|
|
src: url(WindSymbols.svg#WindSymbols); }
|
|
|
|
@font-face { font-family: "StandardFont";
|
|
|
|
src: url(Standard.svg#Standard); }
|
|
|
|
@font-face { font-family: "WxSymbolFont";
|
|
|
|
src: url(WxSymbols.svg#WxSymbols); }
|
|
|
|
@font-face { font-family: "SpecialSymbolFont";
|
|
|
|
src: url(SpecialSymbols.svg#SpecialSymbols); }
|
|
|
|
text.barb
|
|
|
|
{
|
|
|
|
fill: none;
|
|
|
|
font-size: 1em;
|
|
|
|
font-size: 1em;
|
|
|
|
font-family: WindSymbolFont;
|
|
|
|
}
|
|
|
|
text.arrow
|
|
|
|
{
|
|
|
|
fill: none;
|
|
|
|
font-size: 1em;
|
|
|
|
font-size: 1em;
|
|
|
|
font-family: WindSymbolFont;
|
|
|
|
}
|
|
|
|
text.text
|
|
|
|
{
|
|
|
|
fill: none;
|
|
|
|
font-size: 1em;
|
|
|
|
stroke-width: 1px;
|
|
|
|
font-family: StandardFont;
|
|
|
|
font-size: 1em;
|
|
|
|
}
|
|
|
|
text.weather
|
|
|
|
{
|
|
|
|
fill: none;
|
|
|
|
font-size: 1em;
|
|
|
|
stroke-width: 1px;
|
|
|
|
font-family: WxSymbolFont;
|
|
|
|
|
|
|
|
}
|
|
|
|
text.special
|
|
|
|
{
|
|
|
|
fill: none;
|
|
|
|
font-size: 1em;
|
|
|
|
stroke-width: 1px;
|
|
|
|
font-size: 1em;
|
|
|
|
font-family: SpecialSymbolFont;
|
|
|
|
}
|
|
|
|
]]>
|
|
|
|
</style>
|
|
|
|
|
|
|
|
<symbol overflow="visible" id="plotData" class="info">
|
2012-06-08 13:20:42 -05:00
|
|
|
<text id="sampleParamsBasic" plotMode="sample" class="text" plotParam="stationId,observationTime" x="0" y="0"> </text>
|
|
|
|
<text id="sampleParamsTemp" plotMode="sample" class="text" plotParam="temperature,dewpoint,relHumidity,wetBulbTemperature" x="0" y="0"> </text>
|
|
|
|
<text id="sampleParamsWind" plotMode="sample" class="text" plotParam="windDir,windSpeed,windGust" x="0" y="0"> </text>
|
|
|
|
<text id="sampleParamsPress" plotMode="sample" class="text" plotParam="pressure,stationPressure,altimeter,seaLevelPressure,pressChangeChar,pressChange3Hour" x="0" y="0"> </text>
|
|
|
|
<text id="sampleParamsPrecip" plotMode="sample" class="text" plotParam="precipAccum,precipIntensity,precipType" x="0" y="0"> </text>
|
|
|
|
<text id="sampleParamsOther" plotMode="sample" class="text" plotParam="totalCloudCover,skyCover,skyLayerBase,cloudBaseHeight,visibility,visibilityStatus,presWeather" x="0" y="0"> </text>
|
2012-01-06 08:55:05 -06:00
|
|
|
<g id="windVaneText" plotMode="barb" plotParam="windSpeed,windDir,windGust" plotUnit="kts" x="0" y="0" transform="rotate(0,0,0)">
|
2012-06-08 13:20:42 -05:00
|
|
|
<text id="windVaneText" class="arrow" x="0" y="0"> </text>
|
2012-01-06 08:55:05 -06:00
|
|
|
<text id="windArrowText" class="barb" x="0" y="0">arrow</text>
|
2012-06-08 13:20:42 -05:00
|
|
|
<text id="windGustText" class="text" x="0" y="32" style="text-anchor: middle"> </text>
|
2012-01-06 08:55:05 -06:00
|
|
|
</g>
|
|
|
|
<text id="tempText" plotMode="text" plotParam="temperature" plotUnit="°F" plotFormat="%3.0f" style="text-anchor: end;" x="-10px" y="-10px">75</text>
|
|
|
|
<text id="dewText" plotMode="text" plotParam="DpT" plotUnit="°F" plotFormat="%3.0f" style="text-anchor: end;" x="-10px" y="10px">59</text>
|
|
|
|
<text id="pressure" plotMode="text" plotParam="seaLevelPressure" plotUnit="dPa" plotFormat="%5.0f" plotTrim="2" style="text-anchor: start;" x="10px" y="-10px">018</text>
|
|
|
|
</symbol>
|
|
|
|
</defs>
|
|
|
|
<use id="wind" x="40" y="40" width="80" height="80" visibility="visible" xlink:href="#plotData"/>
|
|
|
|
</svg>
|