Updated Obs/Surface Menu
-Changed the menu name from "Obs" to "Surface" -Added in previous java code to plot/display the Surface Temps -Added in previous bundles -Combined the METAR/Synoptic plots to one menu (like in v18) -Removed local data -Removed mping (local data) -Added in previous svg files needed for plotting
This commit is contained in:
parent
e8ba091657
commit
7a38489e53
27 changed files with 3061 additions and 464 deletions
|
@ -22,7 +22,7 @@
|
||||||
<plugin>
|
<plugin>
|
||||||
<extension point="org.eclipse.ui.menus">
|
<extension point="org.eclipse.ui.menus">
|
||||||
<menuContribution locationURI="menu:org.eclipse.ui.main.menu?after=d2d.obsMenu">
|
<menuContribution locationURI="menu:org.eclipse.ui.main.menu?after=d2d.obsMenu">
|
||||||
<menu id="obs" label="Obs" mnemonic="O">
|
<menu id="obs" label="Surface" mnemonic="O">
|
||||||
<visibleWhen>
|
<visibleWhen>
|
||||||
<reference
|
<reference
|
||||||
definitionId="com.raytheon.uf.viz.d2d.ui.inD2DActionSet">
|
definitionId="com.raytheon.uf.viz.d2d.ui.inD2DActionSet">
|
||||||
|
@ -32,45 +32,12 @@
|
||||||
</separator>
|
</separator>
|
||||||
<separator name="EndOfInitial" visible="true">
|
<separator name="EndOfInitial" visible="true">
|
||||||
</separator>
|
</separator>
|
||||||
<command commandId="com.raytheon.viz.ui.actions.titleAction"
|
|
||||||
label="------ METAR ------">
|
|
||||||
</command>
|
|
||||||
<separator name="METAR" visible="false">
|
|
||||||
</separator>
|
|
||||||
<separator name="EndOfMetar" visible="true">
|
|
||||||
</separator>
|
|
||||||
<command commandId="com.raytheon.viz.ui.actions.titleAction"
|
|
||||||
label="------ Synoptic ------">
|
|
||||||
</command>
|
|
||||||
<separator name="SYNOPTIC" visible="false">
|
|
||||||
</separator>
|
|
||||||
<separator name="EndOfSynoptic" visible="true">
|
|
||||||
</separator>
|
|
||||||
<command commandId="com.raytheon.viz.ui.actions.titleAction"
|
|
||||||
label="------ Local data ------">
|
|
||||||
</command>
|
|
||||||
<separator name="LocalData" visible="false">
|
|
||||||
</separator>
|
|
||||||
<separator name="CollectionDissemSep" visible="false">
|
|
||||||
</separator>
|
|
||||||
<separator name="EndOfLocalData" visible="true">
|
|
||||||
</separator>
|
|
||||||
<command commandId="com.raytheon.viz.ui.actions.titleAction"
|
|
||||||
label="------ Maritime ------" id="MARITIME">
|
|
||||||
</command>
|
|
||||||
<separator name="EndOfMaritime" visible="true">
|
|
||||||
</separator>
|
|
||||||
<command commandId="com.raytheon.viz.ui.actions.titleAction"
|
|
||||||
label="------ Hazards ------">
|
|
||||||
</command>
|
|
||||||
<separator name="HAZARDS" visible="false" />
|
<separator name="HAZARDS" visible="false" />
|
||||||
<separator name="LIGHTNINGPLACEHOLDER"
|
<separator name="LIGHTNINGPLACEHOLDER"
|
||||||
visible="false" />
|
visible="false" />
|
||||||
<separator name="FOGPLACEHOLDER" visible="false" />
|
|
||||||
<separator name="SNOWPLACEHOLDER" visible="false" />
|
|
||||||
<separator name="EndOfHazards" visible="true">
|
<separator name="EndOfHazards" visible="true">
|
||||||
</separator>
|
</separator>
|
||||||
</menu>
|
</menu>
|
||||||
</menuContribution>
|
</menuContribution>
|
||||||
</extension>
|
</extension>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
||||||
<!--
|
|
||||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
|
||||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
|
||||||
|
|
||||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
|
||||||
This_software_product_contains_export-restricted_data_whose
|
|
||||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
|
||||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
|
||||||
an_export_license_or_other_authorization.
|
|
||||||
|
|
||||||
Contractor_Name:________Raytheon_Company
|
|
||||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
|
||||||
________________________Mail_Stop_B8
|
|
||||||
________________________Omaha,_NE_68106
|
|
||||||
________________________402.291.0100
|
|
||||||
|
|
||||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
|
||||||
further_licensing_information.
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
This is an absolute override file, indicating that a higher priority
|
|
||||||
version of the file will completely replace a lower priority version
|
|
||||||
of the file.
|
|
||||||
-->
|
|
||||||
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
||||||
<contribute xsi:type="command" menuText="Collection/Dissemination..." id="CollectionDissemination"
|
|
||||||
commandId="com.raytheon.uf.viz.app.launcher.appLauncherHandler">
|
|
||||||
<parameter key="bundleLocation" value="bundles/run-ldadScheduler.xml" />
|
|
||||||
</contribute>
|
|
||||||
</menuTemplate>
|
|
|
@ -1,28 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
||||||
<!--
|
|
||||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
|
||||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
|
||||||
|
|
||||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
|
||||||
This_software_product_contains_export-restricted_data_whose
|
|
||||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
|
||||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
|
||||||
an_export_license_or_other_authorization.
|
|
||||||
|
|
||||||
Contractor_Name:________Raytheon_Company
|
|
||||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
|
||||||
________________________Mail_Stop_B8
|
|
||||||
________________________Omaha,_NE_68106
|
|
||||||
________________________402.291.0100
|
|
||||||
|
|
||||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
|
||||||
further_licensing_information.
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
This is an absolute override file, indicating that a higher priority
|
|
||||||
version of the file will completely replace a lower priority version
|
|
||||||
of the file.
|
|
||||||
-->
|
|
||||||
<menuContributionFile>
|
|
||||||
<include installTo="menu:obs?after=CollectionDissemSep" fileName="menus/app-obs/baseCollectDissem.xml" />
|
|
||||||
</menuContributionFile>
|
|
|
@ -44,6 +44,10 @@
|
||||||
<binOffset posOffset="450" negOffset="450"
|
<binOffset posOffset="450" negOffset="450"
|
||||||
virtualOffset="0" />
|
virtualOffset="0" />
|
||||||
<metadataMap>
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR"
|
||||||
|
constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
<mapping key="pluginName">
|
<mapping key="pluginName">
|
||||||
<constraint constraintValue="obs"
|
<constraint constraintValue="obs"
|
||||||
constraintType="EQUALS" />
|
constraintType="EQUALS" />
|
||||||
|
|
|
@ -0,0 +1,460 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<bundle>
|
||||||
|
<displayList>
|
||||||
|
<displays xsi:type="d2DMapRenderableDisplay"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<descriptor xsi:type="mapDescriptor" currentAnimationMode="Temporal">
|
||||||
|
<!--CLOUD STUFF -->
|
||||||
|
<!--TRANSPARENT CLOUD STUFF -->
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#18D928"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.0"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Transparent Cloud Base"
|
||||||
|
plotModelFile="coloredObsTransCloudDesign.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR,SPECI" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<!--OBSCURED CLOUD STUFF -->
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#18D928"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.0"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Obscured Cloud Base VFR"
|
||||||
|
plotModelFile="coloredObsObscVFRCloudDesign.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR,SPECI" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#008FFF"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.25"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Obscured Cloud Base MVFR"
|
||||||
|
plotModelFile="coloredObsObscMVFRCloudDesign.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR,SPECI" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#DE1B31"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.25"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Obscured Cloud Base IFR"
|
||||||
|
plotModelFile="coloredObsObscIFRCloudDesign.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR,SPECI" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#E31BBE"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.25"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Obscured Cloud Base LIFR"
|
||||||
|
plotModelFile="coloredObsObscLIFRCloudDesign.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR,SPECI" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<!-- VISIBILITY STUFF -->
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#18D928"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.00"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Visibility VFR"
|
||||||
|
plotModelFile="coloredObsVisDesignVFR.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR,SPECI" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#008FFF"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.25"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Visibility MVFR"
|
||||||
|
plotModelFile="coloredObsVisDesignMVFR.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR,SPECI" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#DE1B31"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.25"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Visibility IFR"
|
||||||
|
plotModelFile="coloredObsVisDesignIFR.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR,SPECI" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#E31BBE"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.25"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Visibility LIFR"
|
||||||
|
plotModelFile="coloredObsVisDesignLIFR.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR,SPECI" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<!--PEAK WIND STUFF -->
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#DE1B31"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.25"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Pk Wind > 50 kts"
|
||||||
|
plotModelFile="coloredObsPkWindDesign.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true"
|
||||||
|
lowerLimit="50">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR,SPECI" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#FFFF00"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.25"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Pk Wind > 35 kts"
|
||||||
|
plotModelFile="coloredObsPkWindDesign.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true"
|
||||||
|
lowerLimit="35" upperLimit="49">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR,SPECI" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#18D928"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.00"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Pk Wind"
|
||||||
|
plotModelFile="coloredObsPkWindDesign.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true"
|
||||||
|
upperLimit="34">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR,SPECI" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<!--WIND & GUST STUFF -->
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#DE1B31"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.25"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Wind or Gst > 50 kts"
|
||||||
|
plotModelFile="coloredObsWind50PDesign.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR,SPECI" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#FFFF00"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.25"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Wind or Gst > 35 kts"
|
||||||
|
plotModelFile="coloredObsWind30T50Design.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR,SPECI" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#18D928"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.00"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Wind"
|
||||||
|
plotModelFile="coloredObsWindLowDesign.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR,SPECI" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<!-- WX STUFF -->
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#18D928"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.00"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Wx Plot"
|
||||||
|
plotModelFile="coloredObsWxDesign.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR,SPECI" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
</descriptor>
|
||||||
|
</displays>
|
||||||
|
</displayList>
|
||||||
|
</bundle>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,327 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<bundle>
|
||||||
|
<displayList>
|
||||||
|
<displays xsi:type="d2DMapRenderableDisplay"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<descriptor xsi:type="mapDescriptor" currentAnimationMode="Temporal">
|
||||||
|
<!-- WX STUFF -->
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#18D928"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.00"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Wx"
|
||||||
|
plotModelFile="${wxplot}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="1800" negOffset="1800" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<!--WIND & GUST STUFF -->
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#18D928"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.00"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Sus/Gst (< 20 kts)"
|
||||||
|
plotModelFile="${wndmarlow}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="1800" negOffset="1800" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#FFFF00"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.0"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Sus/Gst SC.Y (> 20 kts)"
|
||||||
|
plotModelFile="${wnd20T34}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="1800" negOffset="1800" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#DE1B31"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.0"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Sus/Gst GL.W (> 34 kts)"
|
||||||
|
plotModelFile="${wnd34T48}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="1800" negOffset="1800" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#E31BBE"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.0"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Sus/Gst SR.W (> 48 kts)"
|
||||||
|
plotModelFile="${wnd48T64}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="1800" negOffset="1800" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#870FFF"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.0"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Sus/Gst HF.W (> 64 kts)"
|
||||||
|
plotModelFile="${wnd64P}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="1800" negOffset="1800" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<!--PEAK WIND STUFF --><resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#18D928"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.00"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Pk (< 20 kts)"
|
||||||
|
plotModelFile="${pkwnd}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true"
|
||||||
|
upperLimit="10.19">
|
||||||
|
<binOffset posOffset="1800" negOffset="1800" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#FFFF00"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.00"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Pk SC.Y (> 20 kts)"
|
||||||
|
plotModelFile="${pkwnd}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true"
|
||||||
|
lowerLimit="10.20" upperLimit="17.49">
|
||||||
|
<binOffset posOffset="1800" negOffset="1800" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#DE1B31"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.00"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Pk GL.W (> 34 kts)"
|
||||||
|
plotModelFile="${pkwnd}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true"
|
||||||
|
lowerLimit="17.50" upperLimit="24.69">
|
||||||
|
<binOffset posOffset="1800" negOffset="1800" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#E31BBE"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.00"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Pk SR.W (> 48 kts)"
|
||||||
|
plotModelFile="${pkwnd}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true"
|
||||||
|
lowerLimit="24.70" upperLimit="32.99">
|
||||||
|
<binOffset posOffset="1800" negOffset="1800" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#870FFF"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.00"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Pk HF.W (> 64 kts)"
|
||||||
|
plotModelFile="${pkwnd}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true"
|
||||||
|
lowerLimit="33.00">
|
||||||
|
<binOffset posOffset="1800" negOffset="1800" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
</descriptor>
|
||||||
|
</displays>
|
||||||
|
</displayList>
|
||||||
|
</bundle>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
299
cave/com.raytheon.viz.pointdata/localization/bundles/ColoredStationPlot_CV.xml
Executable file
299
cave/com.raytheon.viz.pointdata/localization/bundles/ColoredStationPlot_CV.xml
Executable file
|
@ -0,0 +1,299 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<bundle>
|
||||||
|
<displayList>
|
||||||
|
<displays xsi:type="d2DMapRenderableDisplay"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<descriptor xsi:type="mapDescriptor" currentAnimationMode="Temporal">
|
||||||
|
<!-- WX STUFF -->
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#18D928"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.00"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Wx"
|
||||||
|
plotModelFile="${wxplot}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="${offset}" negOffset="${offset}" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<!--CLOUD STUFF -->
|
||||||
|
<!--TRANSPARENT CLOUD STUFF -->
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#18D928"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.0"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Transparent Cloud Base"
|
||||||
|
plotModelFile="${transsky}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="${offset}" negOffset="${offset}" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<!--OBSCURED CLOUD STUFF -->
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#18D928"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.0"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="VFR Cigs"
|
||||||
|
plotModelFile="${obscvfr}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="${offset}" negOffset="${offset}" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#008FFF"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.0"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="MVFR Cigs"
|
||||||
|
plotModelFile="${obscmvfr}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="${offset}" negOffset="${offset}" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#DE1B31"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.0"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="IFR Cigs"
|
||||||
|
plotModelFile="${obscifr}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="${offset}" negOffset="${offset}" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#E31BBE"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.0"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="LIFR Cigs"
|
||||||
|
plotModelFile="${obsclifr}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="${offset}" negOffset="${offset}" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<!-- VISIBILITY STUFF -->
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#18D928"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.00"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="VFR Visby"
|
||||||
|
plotModelFile="coloredObsVisDesignVFR.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="${offset}" negOffset="${offset}" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#008FFF"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.0"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="MVFR Visby"
|
||||||
|
plotModelFile="coloredObsVisDesignMVFR.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="${offset}" negOffset="${offset}" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#DE1B31"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.0"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="IFR Visby"
|
||||||
|
plotModelFile="coloredObsVisDesignIFR.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="${offset}" negOffset="${offset}" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#E31BBE"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.0"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="LIFR Visby"
|
||||||
|
plotModelFile="coloredObsVisDesignLIFR.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="${offset}" negOffset="${offset}" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
</descriptor>
|
||||||
|
</displays>
|
||||||
|
</displayList>
|
||||||
|
</bundle>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
222
cave/com.raytheon.viz.pointdata/localization/bundles/ColoredStationPlot_Wind.xml
Executable file
222
cave/com.raytheon.viz.pointdata/localization/bundles/ColoredStationPlot_Wind.xml
Executable file
|
@ -0,0 +1,222 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<bundle>
|
||||||
|
<displayList>
|
||||||
|
<displays xsi:type="d2DMapRenderableDisplay"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<descriptor xsi:type="mapDescriptor" currentAnimationMode="Temporal">
|
||||||
|
<!-- WX STUFF -->
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#18D928"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.00"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Wx"
|
||||||
|
plotModelFile="${wxplot}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<!--WIND & GUST STUFF -->
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#18D928"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.00"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Sus/Gst < 35 kts"
|
||||||
|
plotModelFile="${wndobslow}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#FFFF00"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.0"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Sus/Gst > 35 kts"
|
||||||
|
plotModelFile="${wnd30T50}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#DE1B31"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.0"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Sus/Gst > 50 kts"
|
||||||
|
plotModelFile="${wnd50P}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<!--PEAK WIND STUFF -->
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#18D928"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.00"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Pk < 35 kts"
|
||||||
|
plotModelFile="${pkwnd}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true"
|
||||||
|
upperLimit="34">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#FFFF00"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.00"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Pk > 35 kts"
|
||||||
|
plotModelFile="${pkwnd}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true"
|
||||||
|
lowerLimit="35" upperLimit="49">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties>
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="#DE1B31"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2.0"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.00"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Pk > 50 kts"
|
||||||
|
plotModelFile="${pkwnd}" spiFile="basemaps/MTR.spi"
|
||||||
|
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true"
|
||||||
|
lowerLimit="50">
|
||||||
|
<binOffset posOffset="900" negOffset="900" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="${reptype}" constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="${plgn}" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
</descriptor>
|
||||||
|
</displays>
|
||||||
|
</displayList>
|
||||||
|
</bundle>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -28,20 +28,6 @@
|
||||||
<displays xsi:type="d2DMapRenderableDisplay"
|
<displays xsi:type="d2DMapRenderableDisplay"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
<descriptor xsi:type="mapDescriptor">
|
<descriptor xsi:type="mapDescriptor">
|
||||||
<resource>
|
|
||||||
<loadProperties>
|
|
||||||
<capabilities>
|
|
||||||
<capability xsi:type="colorableCapability"
|
|
||||||
colorAsString="#9b9b9b" />
|
|
||||||
</capabilities>
|
|
||||||
</loadProperties>
|
|
||||||
<properties isMapLayer="true"/>
|
|
||||||
<resourceData xsi:type="spiResourceData"
|
|
||||||
pixelSizeHint="45">
|
|
||||||
<filename>basemaps/MTR.spi</filename>
|
|
||||||
<mapName>METAR Station Locations</mapName>
|
|
||||||
</resourceData>
|
|
||||||
</resource>
|
|
||||||
<resource>
|
<resource>
|
||||||
<loadProperties>
|
<loadProperties>
|
||||||
<capabilities/>
|
<capabilities/>
|
||||||
|
|
|
@ -36,8 +36,7 @@
|
||||||
isBlinking="false" isMapLayer="false" isHoverOn="false"
|
isBlinking="false" isMapLayer="false" isHoverOn="false"
|
||||||
isVisible="true" />
|
isVisible="true" />
|
||||||
<resourceData xsi:type="metarPrecipResourceData"
|
<resourceData xsi:type="metarPrecipResourceData"
|
||||||
duration="${duration}" ptype="${ptype}"
|
duration="${duration}" retrieveData="false"
|
||||||
plotSource="${legend}" retrieveData="false"
|
|
||||||
isUpdatingOnMetadataOnly="false"
|
isUpdatingOnMetadataOnly="false"
|
||||||
isRequeryNecessaryOnTimeMatch="true">
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
<binOffset posOffset="${posOffset}"
|
<binOffset posOffset="${posOffset}"
|
||||||
|
|
|
@ -29,7 +29,12 @@
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
<descriptor xsi:type="mapDescriptor">
|
<descriptor xsi:type="mapDescriptor">
|
||||||
<resource>
|
<resource>
|
||||||
<loadProperties loadWithoutData="true" />
|
<loadProperties loadWithoutData="true">
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.25"/>
|
||||||
|
<capability xsi:type="densityCapability" density="99999.0"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
<properties isSystemResource="false"
|
<properties isSystemResource="false"
|
||||||
isBlinking="false" isMapLayer="false" isHoverOn="false"
|
isBlinking="false" isMapLayer="false" isHoverOn="false"
|
||||||
isVisible="true" />
|
isVisible="true" />
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<bundle>
|
||||||
|
<displayList>
|
||||||
|
<displays xsi:type="d2DMapRenderableDisplay"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<descriptor xsi:type="mapDescriptor" currentAnimationMode="Temporal">
|
||||||
|
<resource>
|
||||||
|
<loadProperties loadWithoutData="true">
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="outlineCapability" outlineWidth="1" outlineOn="true" lineStyle="DEFAULT"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.5"/>
|
||||||
|
<capability xsi:type="densityCapability" density="3"/>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="white"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="metarTempResourceData" plotSource="Surface Temps [F]"
|
||||||
|
plotModelFile="colorTemp.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
isUpdatingOnMetadataOnly="true" retrieveData="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true" isTopOfTheHour="true" pixelSizeHint="45">
|
||||||
|
<binOffset posOffset="600" negOffset="600" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
</descriptor>
|
||||||
|
</displays>
|
||||||
|
</displayList>
|
||||||
|
</bundle>
|
|
@ -0,0 +1,55 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<bundle>
|
||||||
|
<displayList>
|
||||||
|
<displays xsi:type="d2DMapRenderableDisplay"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<descriptor xsi:type="mapDescriptor" currentAnimationMode="Temporal">
|
||||||
|
<resource>
|
||||||
|
<loadProperties loadWithoutData="true">
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="outlineCapability" outlineWidth="1" outlineOn="true" lineStyle="DEFAULT"/>
|
||||||
|
<capability xsi:type="densityCapability" density="1.5"/>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="white"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Surface Pressures [mb]"
|
||||||
|
plotModelFile="mslp.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
isUpdatingOnMetadataOnly="true" retrieveData="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true" isTopOfTheHour="true" pixelSizeHint="45">
|
||||||
|
<binOffset posOffset="600" negOffset="600" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
</descriptor>
|
||||||
|
</displays>
|
||||||
|
</displayList>
|
||||||
|
</bundle>
|
|
@ -0,0 +1,42 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<bundle>
|
||||||
|
<displayList>
|
||||||
|
<displays xsi:type="d2DMapRenderableDisplay"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<descriptor xsi:type="mapDescriptor" currentAnimationMode="Temporal">
|
||||||
|
<resource>
|
||||||
|
<loadProperties loadWithoutData="true">
|
||||||
|
<capabilities>
|
||||||
|
</capabilities>
|
||||||
|
<resourceType>PLAIN_VIEW</resourceType>
|
||||||
|
</loadProperties>
|
||||||
|
<resourceData xsi:type="plotBlendedResourceData">
|
||||||
|
<resource>
|
||||||
|
<loadProperties loadWithoutData="true">
|
||||||
|
<capabilities>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="METAR"
|
||||||
|
plotModelFile="stdObsDesign.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
isUpdatingOnMetadataOnly="true" retrieveData="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true" isTopOfTheHour="true" pixelSizeHint="45">
|
||||||
|
<binOffset posOffset="600" negOffset="600" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
</descriptor>
|
||||||
|
</displays>
|
||||||
|
</displayList>
|
||||||
|
</bundle>
|
|
@ -0,0 +1,37 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<bundle>
|
||||||
|
<displayList>
|
||||||
|
<displays xsi:type="d2DMapRenderableDisplay"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<descriptor xsi:type="mapDescriptor" currentAnimationMode="Temporal">
|
||||||
|
<resource>
|
||||||
|
<loadProperties loadWithoutData="true">
|
||||||
|
<capabilities>
|
||||||
|
<capability xsi:type="outlineCapability" outlineWidth="1" outlineOn="true" lineStyle="DEFAULT"/>
|
||||||
|
<capability xsi:type="magnificationCapability" magnification="1.25"/>
|
||||||
|
<capability xsi:type="densityCapability" density="2"/>
|
||||||
|
<capability xsi:type="colorableCapability" colorAsString="white"/>
|
||||||
|
</capabilities>
|
||||||
|
</loadProperties>
|
||||||
|
<properties isSystemResource="false" isBlinking="false"
|
||||||
|
isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData" plotSource="Surface Winds"
|
||||||
|
plotModelFile="windDesign.svg" spiFile="basemaps/MTR.spi"
|
||||||
|
isUpdatingOnMetadataOnly="true" retrieveData="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true" isTopOfTheHour="true" pixelSizeHint="45">
|
||||||
|
<binOffset posOffset="1800" negOffset="1800" virtualOffset="0"/>
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="METAR" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="obs" constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
</descriptor>
|
||||||
|
</displays>
|
||||||
|
</displayList>
|
||||||
|
</bundle>
|
|
@ -80,6 +80,52 @@
|
||||||
<mapName>Fixed Buoy Locations</mapName>
|
<mapName>Fixed Buoy Locations</mapName>
|
||||||
</resourceData>
|
</resourceData>
|
||||||
</resource>
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties loadWithoutData="true" />
|
||||||
|
<properties isSystemResource="false"
|
||||||
|
isBlinking="false" isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData"
|
||||||
|
plotSource="Moving Maritime Plot" plotModelFile="maritimeDesign.svg"
|
||||||
|
isUpdatingOnMetadataOnly="true" retrieveData="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="1800" negOffset="1800"
|
||||||
|
virtualOffset="0" />
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="1006, 1003"
|
||||||
|
constraintType="IN" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="sfcobs"
|
||||||
|
constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<loadProperties loadWithoutData="true" />
|
||||||
|
<properties isSystemResource="false"
|
||||||
|
isBlinking="false" isMapLayer="false" isHoverOn="false"
|
||||||
|
isVisible="true" />
|
||||||
|
<resourceData xsi:type="plotResourceData"
|
||||||
|
plotSource="Moving MAROB Plot" plotModelFile="maritimeDesign.svg"
|
||||||
|
isUpdatingOnMetadataOnly="true" retrieveData="false"
|
||||||
|
isRequeryNecessaryOnTimeMatch="true">
|
||||||
|
<binOffset posOffset="1800" negOffset="1800"
|
||||||
|
virtualOffset="0" />
|
||||||
|
<metadataMap>
|
||||||
|
<mapping key="reportType">
|
||||||
|
<constraint constraintValue="1007"
|
||||||
|
constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
<mapping key="pluginName">
|
||||||
|
<constraint constraintValue="sfcobs"
|
||||||
|
constraintType="EQUALS" />
|
||||||
|
</mapping>
|
||||||
|
</metadataMap>
|
||||||
|
</resourceData>
|
||||||
|
</resource>
|
||||||
</descriptor>
|
</descriptor>
|
||||||
</displays>
|
</displays>
|
||||||
</displayList>
|
</displayList>
|
||||||
|
|
|
@ -1,173 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
||||||
<!--
|
|
||||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
|
||||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
|
||||||
|
|
||||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
|
||||||
This_software_product_contains_export-restricted_data_whose
|
|
||||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
|
||||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
|
||||||
an_export_license_or_other_authorization.
|
|
||||||
|
|
||||||
Contractor_Name:________Raytheon_Company
|
|
||||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
|
||||||
________________________Mail_Stop_B8
|
|
||||||
________________________Omaha,_NE_68106
|
|
||||||
________________________402.291.0100
|
|
||||||
|
|
||||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
|
||||||
further_licensing_information.
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
This is an absolute override file, indicating that a higher priority
|
|
||||||
version of the file will completely replace a lower priority version
|
|
||||||
of the file.
|
|
||||||
-->
|
|
||||||
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
||||||
<contribute xsi:type="subMenu" menuText="mPING">
|
|
||||||
<contribute xsi:type="titleItem"
|
|
||||||
titleText="------ mPING 5 Minute Plots ------" id="MpingLine" />
|
|
||||||
<contribute xsi:type="bundleItem" file="bundles/mping/MpingPlotAll.xml"
|
|
||||||
menuText="mPING Plot All" id="MpingPlotAll">
|
|
||||||
<substitute key="svg" value="mpingPlotDesign.svg" />
|
|
||||||
<substitute key="legend" value="mPING All 5min" />
|
|
||||||
<substitute key="posOffset" value="0" />
|
|
||||||
<substitute key="negOffset" value="300" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem"
|
|
||||||
file="bundles/mping/MpingPlotCategory.xml" menuText="Rain/Snow"
|
|
||||||
id="MpingPlotRainSnow">
|
|
||||||
<substitute key="svg" value="mpingPlotDesign.svg" />
|
|
||||||
<substitute key="legend" value="mPING Rain/Snow 5min" />
|
|
||||||
<substitute key="posOffset" value="0" />
|
|
||||||
<substitute key="negOffset" value="300" />
|
|
||||||
<substitute key="category" value="Rain/Snow" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem"
|
|
||||||
file="bundles/mping/MpingPlotCategory.xml" menuText="Hail"
|
|
||||||
id="MpingPlotHail">
|
|
||||||
<substitute key="svg" value="mpingPlotDesign.svg" />
|
|
||||||
<substitute key="legend" value="mPING Hail 5min" />
|
|
||||||
<substitute key="posOffset" value="0" />
|
|
||||||
<substitute key="negOffset" value="300" />
|
|
||||||
<substitute key="category" value="Hail" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem"
|
|
||||||
file="bundles/mping/MpingPlotCategory.xml" menuText="Wind Damage"
|
|
||||||
id="MpingPlotWindDamage">
|
|
||||||
<substitute key="svg" value="mpingPlotDesign.svg" />
|
|
||||||
<substitute key="legend" value="mPING Wind Damage 5min" />
|
|
||||||
<substitute key="posOffset" value="0" />
|
|
||||||
<substitute key="negOffset" value="300" />
|
|
||||||
<substitute key="category" value="Wind Damage" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem"
|
|
||||||
file="bundles/mping/MpingPlotCategory.xml" menuText="Tornado"
|
|
||||||
id="MpingPlotTornado">
|
|
||||||
<substitute key="svg" value="mpingPlotDesign.svg" />
|
|
||||||
<substitute key="legend" value="mPING Tornado 5min" />
|
|
||||||
<substitute key="posOffset" value="0" />
|
|
||||||
<substitute key="negOffset" value="300" />
|
|
||||||
<substitute key="category" value="Tornado" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem"
|
|
||||||
file="bundles/mping/MpingPlotCategory.xml" menuText="Flood"
|
|
||||||
id="MpingPlotFlood">
|
|
||||||
<substitute key="svg" value="mpingPlotDesign.svg" />
|
|
||||||
<substitute key="legend" value="mPING Flood 5min" />
|
|
||||||
<substitute key="posOffset" value="0" />
|
|
||||||
<substitute key="negOffset" value="300" />
|
|
||||||
<substitute key="category" value="Flood" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem"
|
|
||||||
file="bundles/mping/MpingPlotCategory.xml" menuText="Mudslide"
|
|
||||||
id="MpingPlotMudslide">
|
|
||||||
<substitute key="svg" value="mpingPlotDesign.svg" />
|
|
||||||
<substitute key="legend" value="mPING Mudslide 5min" />
|
|
||||||
<substitute key="posOffset" value="0" />
|
|
||||||
<substitute key="negOffset" value="300" />
|
|
||||||
<substitute key="category" value="Mudslide" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem"
|
|
||||||
file="bundles/mping/MpingPlotCategory.xml" menuText="Reduced Visibility"
|
|
||||||
id="MpingPlotReducedVisibility">
|
|
||||||
<substitute key="svg" value="mpingPlotDesign.svg" />
|
|
||||||
<substitute key="legend" value="mPING Reduced Visibility 5min" />
|
|
||||||
<substitute key="posOffset" value="0" />
|
|
||||||
<substitute key="negOffset" value="300" />
|
|
||||||
<substitute key="category" value="Reduced Visibility" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="titleItem"
|
|
||||||
titleText="------ mPING 30 Minute Plots ------" id="MpingLine" />
|
|
||||||
<contribute xsi:type="bundleItem" file="bundles/mping/MpingPlotAll.xml"
|
|
||||||
menuText="mPING Plot All" id="MpingPlotAll">
|
|
||||||
<substitute key="svg" value="mpingPlotDesign.svg" />
|
|
||||||
<substitute key="legend" value="mPING All 30min" />
|
|
||||||
<substitute key="posOffset" value="300" />
|
|
||||||
<substitute key="negOffset" value="1500" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem"
|
|
||||||
file="bundles/mping/MpingPlotCategory.xml" menuText="Rain/Snow"
|
|
||||||
id="MpingPlotRainSnow">
|
|
||||||
<substitute key="svg" value="mpingPlotDesign.svg" />
|
|
||||||
<substitute key="legend" value="mPING Rain/Snow 30min" />
|
|
||||||
<substitute key="posOffset" value="300" />
|
|
||||||
<substitute key="negOffset" value="1500" />
|
|
||||||
<substitute key="category" value="Rain/Snow" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem"
|
|
||||||
file="bundles/mping/MpingPlotCategory.xml" menuText="Hail"
|
|
||||||
id="MpingPlotHail">
|
|
||||||
<substitute key="svg" value="mpingPlotDesign.svg" />
|
|
||||||
<substitute key="legend" value="mPING Hail 30min" />
|
|
||||||
<substitute key="posOffset" value="300" />
|
|
||||||
<substitute key="negOffset" value="1500" />
|
|
||||||
<substitute key="category" value="Hail" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem"
|
|
||||||
file="bundles/mping/MpingPlotCategory.xml" menuText="Wind Damage"
|
|
||||||
id="MpingPlotWindDamage">
|
|
||||||
<substitute key="svg" value="mpingPlotDesign.svg" />
|
|
||||||
<substitute key="legend" value="mPING Wind Damage 30min" />
|
|
||||||
<substitute key="posOffset" value="300" />
|
|
||||||
<substitute key="negOffset" value="1500" />
|
|
||||||
<substitute key="category" value="Wind Damage" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem"
|
|
||||||
file="bundles/mping/MpingPlotCategory.xml" menuText="Tornado"
|
|
||||||
id="MpingPlotTornado">
|
|
||||||
<substitute key="svg" value="mpingPlotDesign.svg" />
|
|
||||||
<substitute key="legend" value="mPING Tornado 30min" />
|
|
||||||
<substitute key="posOffset" value="300" />
|
|
||||||
<substitute key="negOffset" value="1500" />
|
|
||||||
<substitute key="category" value="Tornado" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem"
|
|
||||||
file="bundles/mping/MpingPlotCategory.xml" menuText="Flood"
|
|
||||||
id="MpingPlotFlood">
|
|
||||||
<substitute key="svg" value="mpingPlotDesign.svg" />
|
|
||||||
<substitute key="legend" value="mPING Flood 30min" />
|
|
||||||
<substitute key="posOffset" value="300" />
|
|
||||||
<substitute key="negOffset" value="1500" />
|
|
||||||
<substitute key="category" value="Flood" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem"
|
|
||||||
file="bundles/mping/MpingPlotCategory.xml" menuText="Mudslide"
|
|
||||||
id="MpingPlotMudslide">
|
|
||||||
<substitute key="svg" value="mpingPlotDesign.svg" />
|
|
||||||
<substitute key="legend" value="mPING Mudslide 30min" />
|
|
||||||
<substitute key="posOffset" value="300" />
|
|
||||||
<substitute key="negOffset" value="1500" />
|
|
||||||
<substitute key="category" value="Mudslide" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem"
|
|
||||||
file="bundles/mping/MpingPlotCategory.xml" menuText="Reduced Visibility"
|
|
||||||
id="MpingPlotReducedVisibility">
|
|
||||||
<substitute key="svg" value="mpingPlotDesign.svg" />
|
|
||||||
<substitute key="legend" value="mPING Reduced Visibility 30min" />
|
|
||||||
<substitute key="posOffset" value="300" />
|
|
||||||
<substitute key="negOffset" value="1500" />
|
|
||||||
<substitute key="category" value="Reduced Visibility" />
|
|
||||||
</contribute>
|
|
||||||
</contribute>
|
|
||||||
</menuTemplate>
|
|
|
@ -1,29 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
||||||
<!--
|
|
||||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
|
||||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
|
||||||
|
|
||||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
|
||||||
This_software_product_contains_export-restricted_data_whose
|
|
||||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
|
||||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
|
||||||
an_export_license_or_other_authorization.
|
|
||||||
|
|
||||||
Contractor_Name:________Raytheon_Company
|
|
||||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
|
||||||
________________________Mail_Stop_B8
|
|
||||||
________________________Omaha,_NE_68106
|
|
||||||
________________________402.291.0100
|
|
||||||
|
|
||||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
|
||||||
further_licensing_information.
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
This is an absolute override file, indicating that a higher priority
|
|
||||||
version of the file will completely replace a lower priority version
|
|
||||||
of the file.
|
|
||||||
-->
|
|
||||||
<menuContributionFile>
|
|
||||||
<include installTo="menu:obs?before=CollectionDissemSep"
|
|
||||||
fileName="menus/mping/baseMPing.xml" />
|
|
||||||
</menuContributionFile>
|
|
|
@ -1,122 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
||||||
<!--
|
|
||||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
|
||||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
|
||||||
|
|
||||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
|
||||||
This_software_product_contains_export-restricted_data_whose
|
|
||||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
|
||||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
|
||||||
an_export_license_or_other_authorization.
|
|
||||||
|
|
||||||
Contractor_Name:________Raytheon_Company
|
|
||||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
|
||||||
________________________Mail_Stop_B8
|
|
||||||
________________________Omaha,_NE_68106
|
|
||||||
________________________402.291.0100
|
|
||||||
|
|
||||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
|
||||||
further_licensing_information.
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
This is an absolute override file, indicating that a higher priority
|
|
||||||
version of the file will completely replace a lower priority version
|
|
||||||
of the file.
|
|
||||||
-->
|
|
||||||
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
||||||
<contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml"
|
|
||||||
menuText="30 min stn plot" id="local30minstnplot">
|
|
||||||
<substitute key="svg" value="ldadMesoDesign.svg" />
|
|
||||||
<substitute key="legend" value="30 min Local Data Plot" />
|
|
||||||
<substitute key="posOffset" value="900" />
|
|
||||||
<substitute key="negOffset" value="900" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem" file="bundles/LDADMesoQCPlot.xml"
|
|
||||||
menuText="30 min stn plot + QC" id="local30minstnQCplot">
|
|
||||||
<substitute key="svgPrefix" value="ldadQC" />
|
|
||||||
<substitute key="legend" value="30 min LDAD QC Plot" />
|
|
||||||
<substitute key="posOffset" value="900" />
|
|
||||||
<substitute key="negOffset" value="900" />
|
|
||||||
<substitute key="plugin" value="qc" />
|
|
||||||
<substitute key="qcType" value="ldadmesonet" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="subMenu" menuText="Other Local Plots">
|
|
||||||
<contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml"
|
|
||||||
menuText="15 min stn plot" id="local15minstnplot">
|
|
||||||
<substitute key="svg" value="ldadMesoDesign.svg" />
|
|
||||||
<substitute key="legend" value="15 min Local Data Plot" />
|
|
||||||
<substitute key="posOffset" value="450" />
|
|
||||||
<substitute key="negOffset" value="450" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem" file="bundles/LDADMesoQCPlot.xml"
|
|
||||||
menuText="15 min stn plot + QC" id="local15minstnQCplot">
|
|
||||||
<substitute key="svgPrefix" value="ldadQC" />
|
|
||||||
<substitute key="legend" value="15 min LDAD QC Plot" />
|
|
||||||
<substitute key="posOffset" value="450" />
|
|
||||||
<substitute key="negOffset" value="450" />
|
|
||||||
<substitute key="plugin" value="qc" />
|
|
||||||
<substitute key="qcType" value="ldadmesonet" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml"
|
|
||||||
menuText="5 min stn plot" id="local5minstnplot">
|
|
||||||
<substitute key="svg" value="ldadMesoDesign.svg" />
|
|
||||||
<substitute key="legend" value="5 min Local Data Plot" />
|
|
||||||
<substitute key="posOffset" value="150" />
|
|
||||||
<substitute key="negOffset" value="150" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml"
|
|
||||||
menuText="1 min stn plot" id="local1minstnplot">
|
|
||||||
<substitute key="svg" value="ldadMesoDesign.svg" />
|
|
||||||
<substitute key="legend" value="1 min Local Data Plot" />
|
|
||||||
<substitute key="posOffset" value="30" />
|
|
||||||
<substitute key="negOffset" value="30" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml"
|
|
||||||
menuText="WindCh/HeatIdx" id="localWindChHeatIdx">
|
|
||||||
<substitute key="svg" value="ldadMesoHiWcDesign.svg" />
|
|
||||||
<substitute key="legend" value="Local WindChill/HeatIndex Plot" />
|
|
||||||
<substitute key="posOffset" value="900" />
|
|
||||||
<substitute key="negOffset" value="900" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="titleItem" titleText="------ Precip Plots ------"
|
|
||||||
id="precipLine" />
|
|
||||||
<contribute xsi:type="bundleItem" file="bundles/CoopPrecip.xml"
|
|
||||||
menuText="Coop Precip" id="localCoopPrecip">
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml"
|
|
||||||
menuText="3 hr Precip" id="local3hrPrecip">
|
|
||||||
<substitute key="svg" value="ldadHydro3hrPrecipDesign.svg" />
|
|
||||||
<substitute key="legend" value="3 hr Precip Plot" />
|
|
||||||
<substitute key="posOffset" value="5400" />
|
|
||||||
<substitute key="negOffset" value="5400" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml"
|
|
||||||
menuText="1 hr Precip" id="local1hrPrecip">
|
|
||||||
<substitute key="svg" value="ldadHydro1hrPrecipDesign.svg" />
|
|
||||||
<substitute key="legend" value="1 hr Precip Plot" />
|
|
||||||
<substitute key="posOffset" value="1800" />
|
|
||||||
<substitute key="negOffset" value="1800" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml"
|
|
||||||
menuText="30 min Precip" id="local30minPrecip">
|
|
||||||
<substitute key="svg" value="ldadHydro30minPrecipDesign.svg" />
|
|
||||||
<substitute key="legend" value="30 min Precip Plot" />
|
|
||||||
<substitute key="posOffset" value="900" />
|
|
||||||
<substitute key="negOffset" value="900" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml"
|
|
||||||
menuText="15 min Precip" id="local15minPrecip">
|
|
||||||
<substitute key="svg" value="ldadHydro15minPrecipDesign.svg" />
|
|
||||||
<substitute key="legend" value="15 min Precip Plot" />
|
|
||||||
<substitute key="posOffset" value="450" />
|
|
||||||
<substitute key="negOffset" value="450" />
|
|
||||||
</contribute>
|
|
||||||
<contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml"
|
|
||||||
menuText="5 min Precip" id="local5minPrecip">
|
|
||||||
<substitute key="svg" value="ldadHydro5minPrecipDesign.svg" />
|
|
||||||
<substitute key="legend" value="5 min Precip Plot" />
|
|
||||||
<substitute key="posOffset" value="150" />
|
|
||||||
<substitute key="negOffset" value="150" />
|
|
||||||
</contribute>
|
|
||||||
</contribute>
|
|
||||||
</menuTemplate>
|
|
|
@ -1,29 +1,196 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<!--
|
|
||||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
|
||||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
|
||||||
|
|
||||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
|
||||||
This_software_product_contains_export-restricted_data_whose
|
|
||||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
|
||||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
|
||||||
an_export_license_or_other_authorization.
|
|
||||||
|
|
||||||
Contractor_Name:________Raytheon_Company
|
|
||||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
|
||||||
________________________Mail_Stop_B8
|
|
||||||
________________________Omaha,_NE_68106
|
|
||||||
________________________402.291.0100
|
|
||||||
|
|
||||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
|
||||||
further_licensing_information.
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
This is an absolute override file, indicating that a higher priority
|
|
||||||
version of the file will completely replace a lower priority version
|
|
||||||
of the file.
|
|
||||||
-->
|
|
||||||
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
<contribute xsi:type="bundleItem" file="bundles/SurfacePlot.xml"
|
<contribute xsi:type="titleItem" titleText="------ METAR / Synoptic ------"
|
||||||
menuText="Surface Plot" id="SurfacePlot"/>
|
id="sfcMenuMetar" />
|
||||||
</menuTemplate>
|
<contribute xsi:type="bundleItem" file="bundles/SurfaceColorTemp.xml"
|
||||||
|
menuText="Surface Temperature" id="MetarPlot">
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/SurfacePlotWinds.xml"
|
||||||
|
menuText="Surface Winds" id="MetarPlot">
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/SurfacePlotMetar.xml"
|
||||||
|
menuText="METAR Station Plot" id="MetarPlot">
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/SurfaceMSLP.xml"
|
||||||
|
menuText="METAR MSLP Plot" id="MetarPlot">
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/MetarPrecipPlot.xml"
|
||||||
|
menuText="METAR 24hr Precip" id="24HrPrecip">
|
||||||
|
<substitute key="duration" value="24"/>
|
||||||
|
<substitute key="posOffset" value="21600"/>
|
||||||
|
<substitute key="negOffset" value="0"/>
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/MetarPrecipPlot.xml"
|
||||||
|
menuText="METAR 6hr Precip" id="6HrPrecip">
|
||||||
|
<substitute key="duration" value="6"/>
|
||||||
|
<substitute key="posOffset" value="10800"/>
|
||||||
|
<substitute key="negOffset" value="10800"/>
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/MetarPrecipPlot.xml"
|
||||||
|
menuText="METAR 3hr Precip" id="3HrPrecip">
|
||||||
|
<substitute key="duration" value="3"/>
|
||||||
|
<substitute key="posOffset" value="1800"/>
|
||||||
|
<substitute key="negOffset" value="9000"/>
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/MetarPrecipPlot.xml"
|
||||||
|
menuText="METAR 1hr Precip" id="1HrPrecip">
|
||||||
|
<substitute key="duration" value="1"/>
|
||||||
|
<substitute key="posOffset" value="1800"/>
|
||||||
|
<substitute key="negOffset" value="1800"/>
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/SynSurfacePlot.xml"
|
||||||
|
menuText="Synoptic Plot" id="SynSurfacePlot">
|
||||||
|
<substitute key="svg" value="stdSynDesign.svg"/>
|
||||||
|
<substitute key="legend" value="Synoptic Data Plot"/>
|
||||||
|
<substitute key="posOffset" value="19800"/>
|
||||||
|
<substitute key="negOffset" value="1800"/>
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="subMenu" menuText="Other Plots">
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/15minSurfacePlot.xml"
|
||||||
|
menuText="15 min METARs" id="15MinSurfacePlot" />
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/MetarPlot.xml"
|
||||||
|
menuText="24Hr Chg" id="24HrChg">
|
||||||
|
<substitute key="svg" value="metar24ChgDesign.svg"/>
|
||||||
|
<substitute key="legend" value="METAR 24H Change"/>
|
||||||
|
<substitute key="posOffset" value="1800"/>
|
||||||
|
<substitute key="negOffset" value="1800"/>
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/MetarPlot.xml"
|
||||||
|
menuText="Ceil/Vis Plot (AGL)" id="CeilVisPlotAGL">
|
||||||
|
<substitute key="svg" value="metarCvDesign.svg"/>
|
||||||
|
<substitute key="legend" value="Ceiling (agl) and Visibility"/>
|
||||||
|
<substitute key="posOffset" value="1800"/>
|
||||||
|
<substitute key="negOffset" value="1800"/>
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/MetarPlot.xml"
|
||||||
|
menuText="Ceil/Vis Plot (MSL)" id="CeilVisPlotMSL">
|
||||||
|
<substitute key="svg" value="metarCvMslDesign.svg"/>
|
||||||
|
<substitute key="legend" value="Ceiling (msl) and Visibility"/>
|
||||||
|
<substitute key="posOffset" value="1800"/>
|
||||||
|
<substitute key="negOffset" value="1800"/>
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/MetarPlot.xml"
|
||||||
|
menuText="Wind Ch/HeatIdx" id="WindChHeatIdx">
|
||||||
|
<substitute key="svg" value="metarHiWcDesign.svg"/>
|
||||||
|
<substitute key="legend" value="Wind Chill/Heat Index plot"/>
|
||||||
|
<substitute key="posOffset" value="1800"/>
|
||||||
|
<substitute key="negOffset" value="1800"/>
|
||||||
|
</contribute>
|
||||||
|
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/ColoredASOSPlot.xml"
|
||||||
|
menuText="Colorized SA Station Plot" id="ColoredASOSPlot">
|
||||||
|
<dataURI>/obs/%</dataURI>
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/ColoredStationPlot_Wind.xml"
|
||||||
|
menuText="Colorized METAR (Wind)" id="ColoredStationPlotWindMETAR">
|
||||||
|
<substitute key="reptype" value="METAR,SPECI"/>
|
||||||
|
<substitute key="plgn" value="obs"/>
|
||||||
|
<substitute key="pkwnd" value="coloredObsPkWindDesign.svg"/>
|
||||||
|
<substitute key="wnd50P" value="coloredObsWind50PDesign.svg"/>
|
||||||
|
<substitute key="wnd30T50" value="coloredObsWind30T50Design.svg"/>
|
||||||
|
<substitute key="wndobslow" value="coloredObsWindLowDesign.svg"/>
|
||||||
|
<substitute key="wxplot" value="coloredObsWxDesign.svg"/>
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/ColoredStationPlot_CV.xml"
|
||||||
|
menuText="Colorized METAR (C/V)" id="ColoredStationPlotCVMETAR">
|
||||||
|
<substitute key="reptype" value="METAR,SPECI"/>
|
||||||
|
<substitute key="plgn" value="obs"/>
|
||||||
|
<substitute key="transsky" value="coloredObsTransCloudDesign.svg"/>
|
||||||
|
<substitute key="obscvfr" value="coloredObsObscVFRCloudDesign.svg"/>
|
||||||
|
<substitute key="obscmvfr" value="coloredObsObscMVFRCloudDesign.svg"/>
|
||||||
|
<substitute key="obscifr" value="coloredObsObscIFRCloudDesign.svg"/>
|
||||||
|
<substitute key="obsclifr" value="coloredObsObscLIFRCloudDesign.svg"/>
|
||||||
|
<substitute key="wxplot" value="coloredObsWxDesign.svg"/>
|
||||||
|
<substitute key="offset" value="900"/>
|
||||||
|
</contribute>
|
||||||
|
|
||||||
|
<contribute xsi:type="separator" id="PrecipSeparator"/>
|
||||||
|
|
||||||
|
<contribute xsi:type="titleItem"
|
||||||
|
titleText="------ Precip ------" id="PrecipLine"/>
|
||||||
|
|
||||||
|
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/SynSurfacePlot.xml"
|
||||||
|
menuText="Synoptic 6 hr Precip" id="synoptic6hrPrecip">
|
||||||
|
<substitute key="svg" value="synopticPrcp6Design.svg"/>
|
||||||
|
<substitute key="legend" value="Synoptic 6hr Precip Plot"/>
|
||||||
|
<substitute key="posOffset" value="0"/>
|
||||||
|
<substitute key="negOffset" value="21600"/>
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/SynSurfacePlot.xml"
|
||||||
|
menuText="Synoptic 24 hr Precip" id="synoptic24hrPrecip">
|
||||||
|
<substitute key="svg" value="synopticPrcp24Design.svg"/>
|
||||||
|
<substitute key="legend" value="Synoptic 24hr Precip Plot"/>
|
||||||
|
<substitute key="posOffset" value="0"/>
|
||||||
|
<substitute key="negOffset" value="43200"/>
|
||||||
|
</contribute>
|
||||||
|
|
||||||
|
<contribute xsi:type="separator" id="MaritimeSeparator"/>
|
||||||
|
|
||||||
|
<contribute xsi:type="titleItem"
|
||||||
|
titleText="------ Maritime ------" id="MaritimeLine"/>
|
||||||
|
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/maritimeFixedBuoy.xml"
|
||||||
|
menuText="Maritime Plot" id="FixedBuoys" />
|
||||||
|
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/SeaStatePlot.xml"
|
||||||
|
menuText="Fixed Sea State" id="FixedSeaState">
|
||||||
|
<substitute key="svg" value="seaStateDesign.svg"/>
|
||||||
|
<substitute key="legend" value="Fixed Buoys Sea State"/>
|
||||||
|
<substitute key="reportType" value="1004,1005"/>
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/SeaStatePlot.xml"
|
||||||
|
menuText="Moving Sea State" id="MovingSeaState">
|
||||||
|
<substitute key="svg" value="seaStateDesign.svg"/>
|
||||||
|
<substitute key="legend" value="Moving Buoys/Ships Sea State"/>
|
||||||
|
<substitute key="reportType" value="1003,1006"/>
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/SeaStatePlot.xml"
|
||||||
|
menuText="MAROB Sea State" id="MAROBSeaState">
|
||||||
|
<substitute key="svg" value="seaStateDesign.svg"/>
|
||||||
|
<substitute key="legend" value="MAROB Sea State"/>
|
||||||
|
<substitute key="reportType" value="1007"/>
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/MaritimePlot.xml"
|
||||||
|
menuText="Maritime Clouds/Vis" id="MaritimeCloudVis">
|
||||||
|
<substitute key="svg" value="maritimeCvDesign.svg"/>
|
||||||
|
<substitute key="legend" value="Maritime Clouds and Visibility"/>
|
||||||
|
<substitute key="reportType" value="1003"/>
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/MaritimePlot.xml"
|
||||||
|
menuText="MAROB Clouds/Vis" id="MarobCloudsVis">
|
||||||
|
<substitute key="svg" value="maritimeCvDesign.svg"/>
|
||||||
|
<substitute key="legend" value="MAROB Clouds and Visibility"/>
|
||||||
|
<substitute key="reportType" value="1007"/>
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/ColoredMaritimePlot_Wind.xml"
|
||||||
|
menuText="Colorized Maritime (Wind)" id="ColoredMaritimePlotWind">
|
||||||
|
<substitute key="reptype" value="1003,1004,1005,1006"/>
|
||||||
|
<substitute key="plgn" value="sfcobs"/>
|
||||||
|
<substitute key="pkwnd" value="coloredMaritimePkWindDesign.svg"/>
|
||||||
|
<substitute key="wnd64P" value="coloredMaritimeWind64PDesign.svg"/>
|
||||||
|
<substitute key="wnd48T64" value="coloredMaritimeWind48T64Design.svg"/>
|
||||||
|
<substitute key="wnd34T48" value="coloredMaritimeWind34T48Design.svg"/>
|
||||||
|
<substitute key="wnd20T34" value="coloredMaritimeWind20T34Design.svg"/>
|
||||||
|
<substitute key="wndmarlow" value="coloredMaritimeWindLowDesign.svg"/>
|
||||||
|
<substitute key="wxplot" value="coloredMaritimeWxDesign.svg"/>
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/ColoredStationPlot_CV.xml"
|
||||||
|
menuText="Colorized Maritime (C/V)" id="ColoredStationPlotCVMaritime">
|
||||||
|
<substitute key="reptype" value="1003,1004,1005,1006"/>
|
||||||
|
<substitute key="plgn" value="sfcobs"/>
|
||||||
|
<substitute key="transsky" value="coloredMaritimeTransCloudDesign.svg"/>
|
||||||
|
<substitute key="obscvfr" value="coloredMaritimeObscVFRCloudDesign.svg"/>
|
||||||
|
<substitute key="obscmvfr" value="coloredMaritimeObscMVFRCloudDesign.svg"/>
|
||||||
|
<substitute key="obscifr" value="coloredMaritimeObscIFRCloudDesign.svg"/>
|
||||||
|
<substitute key="obsclifr" value="coloredMaritimeObscLIFRCloudDesign.svg"/>
|
||||||
|
<substitute key="wxplot" value="coloredMaritimeWxDesign.svg"/>
|
||||||
|
<substitute key="offset" value="1800"/>
|
||||||
|
</contribute>
|
||||||
|
|
||||||
|
</contribute>
|
||||||
|
<contribute xsi:type="bundleItem" file="bundles/Redbook.xml"
|
||||||
|
menuText="MSLP Analysis" id="MSLPressureAnalysis">
|
||||||
|
<substitute key="wmo" value="PPAA89"/>
|
||||||
|
</contribute>
|
||||||
|
</menuTemplate>
|
||||||
|
|
|
@ -27,6 +27,5 @@
|
||||||
<include installTo="menu:obs?after=SURFACE" fileName="menus/obs/baseSurface.xml" />
|
<include installTo="menu:obs?after=SURFACE" fileName="menus/obs/baseSurface.xml" />
|
||||||
<include installTo="menu:obs?after=METAR" fileName="menus/obs/baseMetar.xml" />
|
<include installTo="menu:obs?after=METAR" fileName="menus/obs/baseMetar.xml" />
|
||||||
<include installTo="menu:obs?after=SYNOPTIC" fileName="menus/obs/baseSynoptic.xml" />
|
<include installTo="menu:obs?after=SYNOPTIC" fileName="menus/obs/baseSynoptic.xml" />
|
||||||
<include installTo="menu:obs?after=LocalData" fileName="menus/obs/baseLocalData.xml" />
|
|
||||||
<include installTo="menu:obs?after=MARITIME" fileName="menus/obs/baseMaritime.xml" />
|
<include installTo="menu:obs?after=MARITIME" fileName="menus/obs/baseMaritime.xml" />
|
||||||
</menuContributionFile>
|
</menuContributionFile>
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
<?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>
|
||||||
|
<script type="text/python" plotDelegate="plotDelegate">
|
||||||
|
import re
|
||||||
|
|
||||||
|
class ObsPlotDelegate(PlotDelegate):
|
||||||
|
def __init__(self):
|
||||||
|
PlotDelegate.__init__(self)
|
||||||
|
|
||||||
|
def getSampleText(self, rec):
|
||||||
|
sampleString = rec.getString("rawMETAR")
|
||||||
|
#strip WMO header
|
||||||
|
sampleString = re.sub("(\\s|\\S)+(METAR)", "\\2", sampleString)
|
||||||
|
#strip all multiple spaces and replace newlines with spaces
|
||||||
|
sampleString = re.sub("(\\s)+", " ", sampleString)
|
||||||
|
|
||||||
|
return sampleString
|
||||||
|
|
||||||
|
plotDelegate = ObsPlotDelegate()
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
@font-face { font-family: "StandardFont";
|
||||||
|
src: url(Standard.svg#Standard); }
|
||||||
|
|
||||||
|
text.text
|
||||||
|
{
|
||||||
|
fill: none;
|
||||||
|
font-size: 1em;
|
||||||
|
stroke-width: 1px;
|
||||||
|
font-family: StandardFont;
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<symbol overflow="visible" id="plotData" class="info">
|
||||||
|
<text id="tempText" plotMode="text" plotParam="T" plotUnit="°F" plotFormat="%3.0f" style="text-anchor: end;" x="0" y="0">75</text>
|
||||||
|
</symbol>
|
||||||
|
</defs>
|
||||||
|
<use id="wind" x="40" y="40" width="80" height="80" visibility="visible" xlink:href="#plotData"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
|
@ -0,0 +1,49 @@
|
||||||
|
<?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>
|
||||||
|
<script type="text/python" plotDelegate="plotDelegate">
|
||||||
|
import re
|
||||||
|
|
||||||
|
class ObsPlotDelegate(PlotDelegate):
|
||||||
|
def __init__(self):
|
||||||
|
PlotDelegate.__init__(self)
|
||||||
|
|
||||||
|
def getSampleText(self, rec):
|
||||||
|
sampleString = rec.getString("rawMETAR")
|
||||||
|
#strip WMO header
|
||||||
|
sampleString = re.sub("(\\s|\\S)+(METAR)", "\\2", sampleString)
|
||||||
|
#strip all multiple spaces and replace newlines with spaces
|
||||||
|
sampleString = re.sub("(\\s)+", " ", sampleString)
|
||||||
|
|
||||||
|
return sampleString
|
||||||
|
|
||||||
|
plotDelegate = ObsPlotDelegate()
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
@font-face { font-family: "StandardFont";
|
||||||
|
src: url(Standard.svg#Standard); }
|
||||||
|
|
||||||
|
text.text
|
||||||
|
{
|
||||||
|
fill: none;
|
||||||
|
font-size: 1em;
|
||||||
|
stroke-width: 1px;
|
||||||
|
font-family: StandardFont;
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<symbol overflow="visible" id="plotData" class="info">
|
||||||
|
<text id="pressure" plotMode="text" plotParam="seaLevelPress" plotUnit="hPa" plotFormat="%5.0f" style="text-anchor: start;" x="0px" y="0px">75</text>
|
||||||
|
|
||||||
|
</symbol>
|
||||||
|
</defs>
|
||||||
|
<use id="mslp" x="40" y="40" width="80" height="80" visibility="visible" xlink:href="#plotData"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
|
@ -0,0 +1,86 @@
|
||||||
|
<?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>
|
||||||
|
<script type="text/python" plotDelegate="plotDelegate">
|
||||||
|
import re
|
||||||
|
|
||||||
|
class ObsPlotDelegate(PlotDelegate):
|
||||||
|
def __init__(self):
|
||||||
|
PlotDelegate.__init__(self)
|
||||||
|
|
||||||
|
def getSampleText(self, rec):
|
||||||
|
sampleString = rec.getString("rawMETAR")
|
||||||
|
#strip WMO header
|
||||||
|
sampleString = re.sub("(\\s|\\S)+(METAR)", "\\2", sampleString)
|
||||||
|
#strip all multiple spaces and replace newlines with spaces
|
||||||
|
sampleString = re.sub("(\\s)+", " ", sampleString)
|
||||||
|
|
||||||
|
return sampleString
|
||||||
|
|
||||||
|
plotDelegate = ObsPlotDelegate()
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<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">
|
||||||
|
<text id="rawMETARText" plotMode="sample" class="text" plotParam="rawMETAR" x="0" y="0">0</text>
|
||||||
|
<g id="windVaneText" plotMode="barb" plotParam="windSpeed,windDir,windGust" plotUnit="kts" x="0" y="0" transform="rotate(0,0,0)">
|
||||||
|
<text id="windArrowText" class="barb" x="0" y="0">arrow</text>
|
||||||
|
</g>
|
||||||
|
</symbol>
|
||||||
|
</defs>
|
||||||
|
<use id="wind" x="40" y="40" width="80" height="80" visibility="visible" xlink:href="#plotData"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.7 KiB |
|
@ -0,0 +1,724 @@
|
||||||
|
/**
|
||||||
|
* This software was developed and / or modified by Raytheon Company,
|
||||||
|
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||||
|
*
|
||||||
|
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||||
|
* This software product contains export-restricted data whose
|
||||||
|
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||||
|
* to non-U.S. persons whether in the United States or abroad requires
|
||||||
|
* an export license or other authorization.
|
||||||
|
*
|
||||||
|
* Contractor Name: Raytheon Company
|
||||||
|
* Contractor Address: 6825 Pine Street, Suite 340
|
||||||
|
* Mail Stop B8
|
||||||
|
* Omaha, NE 68106
|
||||||
|
* 402.291.0100
|
||||||
|
*
|
||||||
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||||
|
* further licensing information.
|
||||||
|
**/
|
||||||
|
package com.raytheon.viz.pointdata.rsc;
|
||||||
|
|
||||||
|
import java.awt.Font;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Map.Entry;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.concurrent.LinkedBlockingQueue;
|
||||||
|
|
||||||
|
import javax.measure.Unit;
|
||||||
|
|
||||||
|
import org.eclipse.core.runtime.IProgressMonitor;
|
||||||
|
import org.eclipse.core.runtime.IStatus;
|
||||||
|
import org.eclipse.core.runtime.Status;
|
||||||
|
import org.eclipse.core.runtime.jobs.Job;
|
||||||
|
import org.eclipse.swt.graphics.RGB;
|
||||||
|
import org.geotools.coverage.grid.GridEnvelope2D;
|
||||||
|
import org.geotools.coverage.grid.GridGeometry2D;
|
||||||
|
import org.geotools.geometry.DirectPosition2D;
|
||||||
|
import org.geotools.geometry.Envelope2D;
|
||||||
|
import org.opengis.geometry.DirectPosition;
|
||||||
|
import org.opengis.referencing.FactoryException;
|
||||||
|
import org.opengis.referencing.crs.CoordinateReferenceSystem;
|
||||||
|
import org.opengis.referencing.operation.MathTransform;
|
||||||
|
import org.opengis.referencing.operation.TransformException;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.colormap.Color;
|
||||||
|
import com.raytheon.uf.common.colormap.ColorMapException;
|
||||||
|
import com.raytheon.uf.common.colormap.ColorMapLoader;
|
||||||
|
import com.raytheon.uf.common.colormap.prefs.ColorMapParameters;
|
||||||
|
import com.raytheon.uf.common.colormap.prefs.DataMappingPreferences;
|
||||||
|
import com.raytheon.uf.common.colormap.prefs.DataMappingPreferences.DataMappingEntry;
|
||||||
|
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
|
import com.raytheon.uf.common.dataplugin.annotations.DataURIUtil;
|
||||||
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||||
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType;
|
||||||
|
import com.raytheon.uf.common.geospatial.MapUtil;
|
||||||
|
import com.raytheon.uf.common.geospatial.ReferencedCoordinate;
|
||||||
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
|
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
|
import com.raytheon.uf.viz.core.DrawableString;
|
||||||
|
import com.raytheon.uf.viz.core.IExtent;
|
||||||
|
import com.raytheon.uf.viz.core.IGraphicsTarget;
|
||||||
|
import com.raytheon.uf.viz.core.IGraphicsTarget.HorizontalAlignment;
|
||||||
|
import com.raytheon.uf.viz.core.IGraphicsTarget.VerticalAlignment;
|
||||||
|
import com.raytheon.uf.viz.core.drawables.IDescriptor.FramesInfo;
|
||||||
|
import com.raytheon.uf.viz.core.drawables.IFont;
|
||||||
|
import com.raytheon.uf.viz.core.drawables.IFont.Style;
|
||||||
|
import com.raytheon.uf.viz.core.drawables.IRenderableDisplay;
|
||||||
|
import com.raytheon.uf.viz.core.drawables.PaintProperties;
|
||||||
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
|
import com.raytheon.uf.viz.core.map.IMapDescriptor;
|
||||||
|
import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
|
||||||
|
import com.raytheon.uf.viz.core.rsc.IResourceDataChanged.ChangeType;
|
||||||
|
import com.raytheon.uf.viz.core.rsc.LoadProperties;
|
||||||
|
import com.raytheon.uf.viz.core.rsc.capabilities.ColorMapCapability;
|
||||||
|
import com.raytheon.uf.viz.core.rsc.capabilities.DensityCapability;
|
||||||
|
import com.raytheon.uf.viz.core.rsc.capabilities.MagnificationCapability;
|
||||||
|
import com.raytheon.viz.pointdata.rsc.progdisc.GenericProgressiveDisclosure;
|
||||||
|
import com.raytheon.viz.pointdata.rsc.progdisc.GenericProgressiveDisclosure.PlotItem;
|
||||||
|
import com.raytheon.viz.pointdata.util.MetarTempDataContainer;
|
||||||
|
import com.raytheon.viz.pointdata.util.MetarTempDataContainer.TempData;
|
||||||
|
|
||||||
|
import tec.uom.se.AbstractUnit;
|
||||||
|
|
||||||
|
import org.locationtech.jts.geom.Coordinate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Resource for displaying colored Metar Temp values.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
*
|
||||||
|
* SOFTWARE HISTORY
|
||||||
|
*
|
||||||
|
* Date Ticket# Engineer Description
|
||||||
|
* ------------- -------- --------- --------------------------------------------
|
||||||
|
* Aug 05, 2016 mjames Copied from MetarPrecipResource
|
||||||
|
* Feb 06, 2019 mjames Updated for reprojection, default color map.
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @author bsteffen
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
public class MetarTempResource extends AbstractVizResource<MetarTempResourceData, IMapDescriptor> {
|
||||||
|
|
||||||
|
private static final transient IUFStatusHandler statusHandler = UFStatus
|
||||||
|
.getHandler(MetarTempResource.class);
|
||||||
|
|
||||||
|
private RGB color = new RGB(126, 126, 126);
|
||||||
|
|
||||||
|
public RGB getColorByValue(float value) {
|
||||||
|
ColorMapParameters parameters = getCapability(ColorMapCapability.class).getColorMapParameters();
|
||||||
|
if (parameters != null) {
|
||||||
|
Color color = parameters.getColorByValue(value);
|
||||||
|
if (color != null) {
|
||||||
|
return new RGB((int) (color.getRed() * 255),
|
||||||
|
(int) (color.getGreen() * 255),
|
||||||
|
(int) (color.getBlue() * 255));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return getColor();
|
||||||
|
}
|
||||||
|
|
||||||
|
public RGB getColor() {
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setColor(RGB color) {
|
||||||
|
this.color = color;
|
||||||
|
}
|
||||||
|
private static final int PLOT_PIXEL_SIZE = 30;
|
||||||
|
|
||||||
|
private class RenderableTempData extends TempData implements PlotItem {
|
||||||
|
|
||||||
|
public final DrawableString string;
|
||||||
|
|
||||||
|
public RenderableTempData(TempData data, DrawableString string) {
|
||||||
|
super(data.getTimeObs(), data.getStationName(),
|
||||||
|
data.getTempValue(), data.getLatLon().x, data.getLatLon().y);
|
||||||
|
this.string = string;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Coordinate getLocation() {
|
||||||
|
return new Coordinate(string.basics.x, string.basics.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// To avoid synchronization issues with data request, updates, and removals
|
||||||
|
// do it all on this thread.
|
||||||
|
private Job dataProcessJob = new Job("Loading Sfc Temps") {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected IStatus run(IProgressMonitor monitor) {
|
||||||
|
processNewFrames(monitor);
|
||||||
|
if (monitor.isCanceled()) {
|
||||||
|
return Status.CANCEL_STATUS;
|
||||||
|
}
|
||||||
|
processUpdates(monitor);
|
||||||
|
|
||||||
|
if (monitor.isCanceled()) {
|
||||||
|
return Status.CANCEL_STATUS;
|
||||||
|
}
|
||||||
|
processRemoves();
|
||||||
|
return Status.OK_STATUS;
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
private LinkedBlockingQueue<PluginDataObject> updates = new LinkedBlockingQueue<PluginDataObject>();
|
||||||
|
|
||||||
|
private LinkedBlockingQueue<DataTime> removes = new LinkedBlockingQueue<DataTime>();
|
||||||
|
|
||||||
|
private boolean reproject = false;
|
||||||
|
|
||||||
|
private Map<DataTime, GenericProgressiveDisclosure<RenderableTempData>> data = new HashMap<>();
|
||||||
|
|
||||||
|
private IFont font = null;
|
||||||
|
|
||||||
|
protected MetarTempResource(MetarTempResourceData resourceData,
|
||||||
|
LoadProperties loadProperties) {
|
||||||
|
super(resourceData, loadProperties, false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void disposeInternal() {
|
||||||
|
if (font != null) {
|
||||||
|
font.dispose();
|
||||||
|
font = null;
|
||||||
|
}
|
||||||
|
dataProcessJob.cancel();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void paintInternal(IGraphicsTarget target,
|
||||||
|
PaintProperties paintProps) throws VizException {
|
||||||
|
DataTime time = paintProps.getDataTime();
|
||||||
|
if (time == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
GenericProgressiveDisclosure<RenderableTempData> disclosure = null;
|
||||||
|
synchronized (data) {
|
||||||
|
disclosure = data.get(time);
|
||||||
|
}
|
||||||
|
if (disclosure == null) {
|
||||||
|
dataProcessJob.schedule();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
IExtent extent = paintProps.getView().getExtent();
|
||||||
|
Double magnification = getCapability(MagnificationCapability.class)
|
||||||
|
.getMagnification();
|
||||||
|
Double density = getCapability(DensityCapability.class).getDensity();
|
||||||
|
double threshold = (PLOT_PIXEL_SIZE * magnification) / density;
|
||||||
|
threshold = (threshold * extent.getWidth())
|
||||||
|
/ paintProps.getCanvasBounds().width;
|
||||||
|
Collection<RenderableTempData> temps = disclosure.runDisclosure(
|
||||||
|
extent, threshold);
|
||||||
|
if (temps.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (font == null) {
|
||||||
|
font = target.initializeFont(Font.DIALOG, 8,
|
||||||
|
new Style[] { Style.BOLD });
|
||||||
|
font.setMagnification(magnification.floatValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
List<DrawableString> strings = new ArrayList<DrawableString>();
|
||||||
|
|
||||||
|
for (RenderableTempData data : temps) {
|
||||||
|
data.string.font = this.font;
|
||||||
|
strings.add(data.string);
|
||||||
|
}
|
||||||
|
|
||||||
|
target.drawStrings(strings);
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<RenderableTempData> getTempsData(DataTime time) {
|
||||||
|
GenericProgressiveDisclosure<RenderableTempData> currData = null;
|
||||||
|
synchronized (data) {
|
||||||
|
currData = data.get(time);
|
||||||
|
}
|
||||||
|
if (currData != null) {
|
||||||
|
return currData.getAll();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void initInternal(IGraphicsTarget target) throws VizException {
|
||||||
|
dataProcessJob.schedule();
|
||||||
|
ColorMapParameters params = new ColorMapParameters();
|
||||||
|
|
||||||
|
try {
|
||||||
|
params.setColorMap(ColorMapLoader.loadColorMap("Grid/gridded data"));
|
||||||
|
} catch (ColorMapException e) {
|
||||||
|
throw new VizException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
DataMappingPreferences preferences = new DataMappingPreferences();
|
||||||
|
|
||||||
|
DataMappingEntry entry = new DataMappingEntry();
|
||||||
|
entry.setDisplayValue(-50.);
|
||||||
|
entry.setPixelValue(0.0);
|
||||||
|
preferences.addEntry(entry);
|
||||||
|
|
||||||
|
entry = new DataMappingEntry();
|
||||||
|
entry.setDisplayValue(-40.);
|
||||||
|
entry.setPixelValue(1.0);
|
||||||
|
preferences.addEntry(entry);
|
||||||
|
|
||||||
|
entry = new DataMappingEntry();
|
||||||
|
entry.setDisplayValue(-30.);
|
||||||
|
entry.setPixelValue(2.0);
|
||||||
|
preferences.addEntry(entry);
|
||||||
|
|
||||||
|
entry = new DataMappingEntry();
|
||||||
|
entry.setDisplayValue(-20.);
|
||||||
|
entry.setPixelValue(3.0);
|
||||||
|
preferences.addEntry(entry);
|
||||||
|
|
||||||
|
entry = new DataMappingEntry();
|
||||||
|
entry.setDisplayValue(-10.);
|
||||||
|
entry.setPixelValue(4.0);
|
||||||
|
preferences.addEntry(entry);
|
||||||
|
|
||||||
|
entry = new DataMappingEntry();
|
||||||
|
entry.setDisplayValue(0.0);
|
||||||
|
entry.setPixelValue(5.0);
|
||||||
|
preferences.addEntry(entry);
|
||||||
|
|
||||||
|
entry = new DataMappingEntry();
|
||||||
|
entry.setDisplayValue(10.);
|
||||||
|
entry.setPixelValue(6.0);
|
||||||
|
preferences.addEntry(entry);
|
||||||
|
|
||||||
|
entry = new DataMappingEntry();
|
||||||
|
entry.setDisplayValue(20.);
|
||||||
|
entry.setPixelValue(7.0);
|
||||||
|
preferences.addEntry(entry);
|
||||||
|
|
||||||
|
entry = new DataMappingEntry();
|
||||||
|
entry.setDisplayValue(30.);
|
||||||
|
entry.setPixelValue(8.0);
|
||||||
|
preferences.addEntry(entry);
|
||||||
|
|
||||||
|
entry = new DataMappingEntry();
|
||||||
|
entry.setDisplayValue(40.);
|
||||||
|
entry.setPixelValue(9.0);
|
||||||
|
preferences.addEntry(entry);
|
||||||
|
|
||||||
|
entry = new DataMappingEntry();
|
||||||
|
entry.setDisplayValue(50.);
|
||||||
|
entry.setPixelValue(10.0);
|
||||||
|
preferences.addEntry(entry);
|
||||||
|
|
||||||
|
entry = new DataMappingEntry();
|
||||||
|
entry.setDisplayValue(60.);
|
||||||
|
entry.setPixelValue(11.0);
|
||||||
|
preferences.addEntry(entry);
|
||||||
|
|
||||||
|
entry = new DataMappingEntry();
|
||||||
|
entry.setDisplayValue(70.);
|
||||||
|
entry.setPixelValue(12.0);
|
||||||
|
preferences.addEntry(entry);
|
||||||
|
|
||||||
|
entry = new DataMappingEntry();
|
||||||
|
entry.setDisplayValue(80.);
|
||||||
|
entry.setPixelValue(13.0);
|
||||||
|
preferences.addEntry(entry);
|
||||||
|
|
||||||
|
entry = new DataMappingEntry();
|
||||||
|
entry.setDisplayValue(90.);
|
||||||
|
entry.setPixelValue(14.0);
|
||||||
|
preferences.addEntry(entry);
|
||||||
|
|
||||||
|
entry = new DataMappingEntry();
|
||||||
|
entry.setDisplayValue(100.);
|
||||||
|
entry.setPixelValue(15.0);
|
||||||
|
preferences.addEntry(entry);
|
||||||
|
|
||||||
|
entry = new DataMappingEntry();
|
||||||
|
entry.setDisplayValue(110.);
|
||||||
|
entry.setPixelValue(16.0);
|
||||||
|
preferences.addEntry(entry);
|
||||||
|
|
||||||
|
params.setDisplayUnit(AbstractUnit.ONE);
|
||||||
|
params.setDataMapping(preferences);
|
||||||
|
params.setColorMapMin(0);
|
||||||
|
params.setColorMapMax(17);
|
||||||
|
|
||||||
|
getCapability(ColorMapCapability.class).setColorMapParameters(params);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void resourceDataChanged(ChangeType type, Object object) {
|
||||||
|
super.resourceDataChanged(type, object);
|
||||||
|
if (type == ChangeType.CAPABILITY) {
|
||||||
|
if (object instanceof MagnificationCapability) {
|
||||||
|
if (font != null) {
|
||||||
|
font.dispose();
|
||||||
|
font = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
issueRefresh();
|
||||||
|
} else if (type == ChangeType.DATA_UPDATE) {
|
||||||
|
if (object instanceof PluginDataObject[]) {
|
||||||
|
PluginDataObject[] pdos = (PluginDataObject[]) object;
|
||||||
|
for (PluginDataObject pdo : pdos) {
|
||||||
|
updates.offer(pdo);
|
||||||
|
dataProcessJob.schedule();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return "Surface Temps [F]";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void remove(DataTime dataTime) {
|
||||||
|
// This will be handled asynchronously by the update job
|
||||||
|
removes.offer(dataTime);
|
||||||
|
dataProcessJob.schedule();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void project(CoordinateReferenceSystem crs) throws VizException {
|
||||||
|
// This will be handled asynchronously by the update job
|
||||||
|
reproject = true;
|
||||||
|
dataProcessJob.schedule();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String inspect(ReferencedCoordinate coord) throws VizException {
|
||||||
|
Coordinate pixel = null;
|
||||||
|
try {
|
||||||
|
pixel = coord.asPixel(descriptor.getGridGeometry());
|
||||||
|
} catch (TransformException e) {
|
||||||
|
throw new VizException(e);
|
||||||
|
} catch (FactoryException e) {
|
||||||
|
throw new VizException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
Double magnification = getCapability(MagnificationCapability.class)
|
||||||
|
.getMagnification();
|
||||||
|
|
||||||
|
List<RenderableTempData> temps = getTempsData(descriptor
|
||||||
|
.getTimeForResource(this));
|
||||||
|
|
||||||
|
if ((temps == null) || temps.isEmpty()) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
IRenderableDisplay rDisplay = descriptor.getRenderableDisplay();
|
||||||
|
|
||||||
|
double bestDist = PLOT_PIXEL_SIZE * magnification;
|
||||||
|
if (rDisplay != null) {
|
||||||
|
bestDist *= rDisplay.getView().getExtent().getWidth()
|
||||||
|
/ rDisplay.getBounds().width;
|
||||||
|
} else {
|
||||||
|
bestDist *= 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
TempData bestData = null;
|
||||||
|
|
||||||
|
for (RenderableTempData temp : temps) {
|
||||||
|
double xDist = temp.string.basics.x - pixel.x;
|
||||||
|
double yDist = temp.string.basics.y - pixel.y;
|
||||||
|
double dist = Math.hypot(xDist, yDist);
|
||||||
|
if (dist < bestDist) {
|
||||||
|
bestDist = dist;
|
||||||
|
bestData = temp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (bestData != null) {
|
||||||
|
return bestData.getStationName();
|
||||||
|
}
|
||||||
|
return "No Data";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Re-project to the new crs. Returns true to reload the frame.
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
private boolean processReproject() {
|
||||||
|
|
||||||
|
if (reproject) {
|
||||||
|
reproject = false;
|
||||||
|
|
||||||
|
GridEnvelope2D envelope = GridGeometry2D.wrap(
|
||||||
|
descriptor.getGridGeometry()).getGridRange2D();
|
||||||
|
|
||||||
|
synchronized (data) {
|
||||||
|
for (GenericProgressiveDisclosure<RenderableTempData> disclosure : data
|
||||||
|
.values()) {
|
||||||
|
List<RenderableTempData> dataList = disclosure.getAll();
|
||||||
|
Iterator<RenderableTempData> it = dataList.iterator();
|
||||||
|
while (it.hasNext()) {
|
||||||
|
RenderableTempData temp = it.next();
|
||||||
|
Coordinate latLon = temp.getLatLon();
|
||||||
|
double[] px = descriptor.worldToPixel(new double[] {
|
||||||
|
latLon.x, latLon.y });
|
||||||
|
if (envelope.contains(px[0], px[1])) {
|
||||||
|
temp.string.setCoordinates(px[0], px[1], px[2]);
|
||||||
|
} else {
|
||||||
|
it.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
issueRefresh();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void processRemoves() {
|
||||||
|
synchronized (data) {
|
||||||
|
while (!removes.isEmpty()) {
|
||||||
|
DataTime toRemove = removes.poll();
|
||||||
|
this.dataTimes.remove(toRemove);
|
||||||
|
this.data.remove(toRemove);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void processUpdates(IProgressMonitor monitor) {
|
||||||
|
if (updates.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
HashMap<String, RequestConstraint> rcMap = resourceData
|
||||||
|
.getMetadataMap();
|
||||||
|
rcMap = new HashMap<String, RequestConstraint>(rcMap);
|
||||||
|
RequestConstraint rc = new RequestConstraint(null, ConstraintType.IN);
|
||||||
|
long earliestTime = Long.MAX_VALUE;
|
||||||
|
Set<String> newStations = new HashSet<String>();
|
||||||
|
// Get the envelope and math transform to ensure we only bother
|
||||||
|
// processing updates on screen.
|
||||||
|
MathTransform toDescriptor = null;
|
||||||
|
try {
|
||||||
|
toDescriptor = MapUtil.getTransformFromLatLon(descriptor.getCRS());
|
||||||
|
} catch (FactoryException e) {
|
||||||
|
statusHandler
|
||||||
|
.handle(Priority.PROBLEM,
|
||||||
|
"Error processing updates for MetarTemps, Ignoring all updates.",
|
||||||
|
e);
|
||||||
|
updates.clear();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Envelope2D envelope = new Envelope2D(descriptor.getGridGeometry()
|
||||||
|
.getEnvelope());
|
||||||
|
|
||||||
|
while (!updates.isEmpty()) {
|
||||||
|
PluginDataObject pdo = updates.poll();
|
||||||
|
try {
|
||||||
|
Map<String, Object> map = DataURIUtil.createDataURIMap(pdo);
|
||||||
|
double lon = ((Number) map.get("location.longitude")).doubleValue();
|
||||||
|
double lat = ((Number) map.get("location.latitude")).doubleValue();
|
||||||
|
DirectPosition2D dp = new DirectPosition2D(lon, lat);
|
||||||
|
toDescriptor.transform(dp, dp);
|
||||||
|
if (envelope.contains((DirectPosition) dp)) {
|
||||||
|
newStations.add(map.get("location.stationId").toString());
|
||||||
|
long validTime = pdo.getDataTime().getMatchValid();
|
||||||
|
if (validTime < earliestTime) {
|
||||||
|
earliestTime = validTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
statusHandler.handle(Priority.PROBLEM,
|
||||||
|
"Error processing updates for MetarTemps, Ignoring an update.", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newStations.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
rc.setConstraintValueList(newStations.toArray(new String[0]));
|
||||||
|
|
||||||
|
rcMap.put("location.stationId", rc);
|
||||||
|
|
||||||
|
MetarTempDataContainer container = new MetarTempDataContainer(
|
||||||
|
rcMap);
|
||||||
|
|
||||||
|
for (Entry<DataTime, GenericProgressiveDisclosure<RenderableTempData>> entry : data
|
||||||
|
.entrySet()) {
|
||||||
|
DataTime time = entry.getKey();
|
||||||
|
if (time.getMatchValid() < earliestTime) {
|
||||||
|
// No need to reprocess times after the earliest update.
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
GenericProgressiveDisclosure<RenderableTempData> newValue = new GenericProgressiveDisclosure<>();
|
||||||
|
for (RenderableTempData data : entry.getValue().getAll()) {
|
||||||
|
if (!newStations.contains(data.getStationName())) {
|
||||||
|
newValue.add(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
entry.setValue(newValue);
|
||||||
|
addData(time, container.getBaseTempData(time));
|
||||||
|
if (monitor.isCanceled()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void processNewFrames(IProgressMonitor monitor) {
|
||||||
|
// load data in two steps, first load base data then any derived data.
|
||||||
|
// Always try to load the current frame, then nearby frames.
|
||||||
|
MetarTempDataContainer container = new MetarTempDataContainer(
|
||||||
|
resourceData.getMetadataMap(),
|
||||||
|
descriptor.getGridGeometry().getEnvelope());
|
||||||
|
Set<DataTime> reprojectedFrames = new HashSet<DataTime>();
|
||||||
|
Set<DataTime> baseOnly = new HashSet<DataTime>();
|
||||||
|
boolean modified = true;
|
||||||
|
while (modified) {
|
||||||
|
// don't want to miss a reproject if retrieval takes awhile.
|
||||||
|
|
||||||
|
if (processReproject()) {
|
||||||
|
// We must create a new container and re request all the data
|
||||||
|
// for the new area.
|
||||||
|
data.clear();
|
||||||
|
reprojectedFrames = new HashSet<DataTime>(data.keySet());
|
||||||
|
container = new MetarTempDataContainer(
|
||||||
|
resourceData.getMetadataMap(), descriptor
|
||||||
|
.getGridGeometry().getEnvelope());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (monitor.isCanceled()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
modified = false;
|
||||||
|
// If the current frame changes while we are processing we will
|
||||||
|
// begin requesting data for the new frame
|
||||||
|
FramesInfo frameInfo = descriptor.getFramesInfo();
|
||||||
|
DataTime[] times = frameInfo.getTimeMap().get(
|
||||||
|
MetarTempResource.this);
|
||||||
|
if (times == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
int curIndex = frameInfo.getFrameIndex();
|
||||||
|
int count = frameInfo.getFrameCount();
|
||||||
|
// This will generate the number series 0, -1, 1, -2, 2, -3, 3...
|
||||||
|
for (int i = 0; i < ((count / 2) + 1); i = i < 0 ? -i : -i - 1) {
|
||||||
|
int index = (count + curIndex + i) % count;
|
||||||
|
DataTime next = times[index];
|
||||||
|
if (next != null) {
|
||||||
|
if (!data.containsKey(next)
|
||||||
|
|| reprojectedFrames.contains(next)) {
|
||||||
|
List<TempData> baseData = container
|
||||||
|
.getBaseTempData(next);
|
||||||
|
addData(next, baseData);
|
||||||
|
baseOnly.add(next);
|
||||||
|
modified = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (baseOnly.contains(next)) {
|
||||||
|
List<TempData> derivedData = container
|
||||||
|
.getBaseTempData(next);
|
||||||
|
addData(next, derivedData);
|
||||||
|
baseOnly.remove(next);
|
||||||
|
reprojectedFrames.remove(next);
|
||||||
|
modified = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
issueRefresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
synchronized (data) {
|
||||||
|
// This will only happen if frames were removed while we were
|
||||||
|
// processing. Don't leave any half created frames
|
||||||
|
for (DataTime time : baseOnly) {
|
||||||
|
this.dataTimes.remove(time);
|
||||||
|
this.data.remove(time);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addData(DataTime time, List<TempData> temps) {
|
||||||
|
if (temps.isEmpty()) {
|
||||||
|
if (dataTimes.add(time)) {
|
||||||
|
GenericProgressiveDisclosure<RenderableTempData> disclosure =
|
||||||
|
new GenericProgressiveDisclosure<RenderableTempData>();
|
||||||
|
synchronized (data) {
|
||||||
|
data.put(time, disclosure);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (data.containsKey(time)) {
|
||||||
|
temps = new ArrayList<TempData>(temps);
|
||||||
|
temps.addAll(getTempsData(time));
|
||||||
|
}
|
||||||
|
Collections.sort(temps, new Comparator<TempData>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compare(TempData o1, TempData o2) {
|
||||||
|
return o2.getTempValue().compareTo(o1.getTempValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
GenericProgressiveDisclosure<RenderableTempData> newTemps = new GenericProgressiveDisclosure<RenderableTempData>();
|
||||||
|
|
||||||
|
//RGB color = getCapability(ColorableCapability.class).getColor();
|
||||||
|
|
||||||
|
GridEnvelope2D envelope = GridGeometry2D.wrap(
|
||||||
|
descriptor.getGridGeometry()).getGridRange2D();
|
||||||
|
|
||||||
|
for (int i = 0; i < temps.size(); i++) {
|
||||||
|
TempData tempFromTenths = temps.get(i);
|
||||||
|
RenderableTempData data = null;
|
||||||
|
if (tempFromTenths instanceof RenderableTempData) {
|
||||||
|
data = (RenderableTempData) tempFromTenths;
|
||||||
|
} else {
|
||||||
|
double[] px = descriptor.worldToPixel(new double[] {
|
||||||
|
tempFromTenths.getLatLon().x, tempFromTenths.getLatLon().y });
|
||||||
|
if (!envelope.contains(px[0], px[1])) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
Float amount = temps.get(i).getTempValue().floatValue();
|
||||||
|
RGB rgbval = getColorByValue(amount);
|
||||||
|
DrawableString string = new DrawableString(formatValues(temps
|
||||||
|
.get(i).getTempValue()), rgbval);
|
||||||
|
string.setCoordinates(px[0], px[1], px[2]);
|
||||||
|
string.verticallAlignment = VerticalAlignment.MIDDLE;
|
||||||
|
string.horizontalAlignment = HorizontalAlignment.CENTER;
|
||||||
|
data = new RenderableTempData(tempFromTenths, string);
|
||||||
|
}
|
||||||
|
newTemps.add(data);
|
||||||
|
}
|
||||||
|
synchronized (data) {
|
||||||
|
data.put(time, newTemps);
|
||||||
|
dataTimes.add(time);
|
||||||
|
}
|
||||||
|
issueRefresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private String formatValues(Double tempValue) {
|
||||||
|
return String.format("%6.0f", tempValue).substring(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,77 @@
|
||||||
|
/**
|
||||||
|
* This software was developed and / or modified by Raytheon Company,
|
||||||
|
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||||
|
*
|
||||||
|
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||||
|
* This software product contains export-restricted data whose
|
||||||
|
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||||
|
* to non-U.S. persons whether in the United States or abroad requires
|
||||||
|
* an export license or other authorization.
|
||||||
|
*
|
||||||
|
* Contractor Name: Raytheon Company
|
||||||
|
* Contractor Address: 6825 Pine Street, Suite 340
|
||||||
|
* Mail Stop B8
|
||||||
|
* Omaha, NE 68106
|
||||||
|
* 402.291.0100
|
||||||
|
*
|
||||||
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||||
|
* further licensing information.
|
||||||
|
**/
|
||||||
|
package com.raytheon.viz.pointdata.rsc;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlAttribute;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
|
import com.raytheon.uf.viz.core.rsc.AbstractRequestableResourceData;
|
||||||
|
import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
|
||||||
|
import com.raytheon.uf.viz.core.rsc.LoadProperties;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* TODO Add Description
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
*
|
||||||
|
* SOFTWARE HISTORY
|
||||||
|
*
|
||||||
|
* Date Ticket# Engineer Description
|
||||||
|
* ------------ ---------- ----------- --------------------------
|
||||||
|
* Aug 05, 2016 mjames Copied from MetarPrecipResourceData
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @author bsteffen
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
@XmlAccessorType(XmlAccessType.NONE)
|
||||||
|
public class MetarTempResourceData extends PlotResourceData {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected AbstractVizResource<?, ?> constructResource(
|
||||||
|
LoadProperties loadProperties, PluginDataObject[] objects) {
|
||||||
|
return new MetarTempResource(this, loadProperties);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isUpdatingOnMetadataOnly() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isRetrieveData() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
final int prime = 31;
|
||||||
|
int result = super.hashCode();
|
||||||
|
result = prime * result;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,344 @@
|
||||||
|
/**
|
||||||
|
* This software was developed and / or modified by Raytheon Company,
|
||||||
|
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||||
|
*
|
||||||
|
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||||
|
* This software product contains export-restricted data whose
|
||||||
|
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||||
|
* to non-U.S. persons whether in the United States or abroad requires
|
||||||
|
* an export license or other authorization.
|
||||||
|
*
|
||||||
|
* Contractor Name: Raytheon Company
|
||||||
|
* Contractor Address: 6825 Pine Street, Suite 340
|
||||||
|
* Mail Stop B8
|
||||||
|
* Omaha, NE 68106
|
||||||
|
* 402.291.0100
|
||||||
|
*
|
||||||
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||||
|
* further licensing information.
|
||||||
|
**/
|
||||||
|
package com.raytheon.viz.pointdata.util;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.geotools.geometry.jts.ReferencedEnvelope;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.inventory.exception.DataCubeException;
|
||||||
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||||
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType;
|
||||||
|
import com.raytheon.uf.common.geospatial.MapUtil;
|
||||||
|
import com.raytheon.uf.common.geospatial.util.EnvelopeIntersection;
|
||||||
|
import com.raytheon.uf.common.pointdata.PointDataContainer;
|
||||||
|
import com.raytheon.uf.common.pointdata.PointDataView;
|
||||||
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
|
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
|
import com.raytheon.uf.viz.datacube.DataCubeContainer;
|
||||||
|
import org.locationtech.jts.geom.Coordinate;
|
||||||
|
import org.locationtech.jts.geom.Envelope;
|
||||||
|
import org.locationtech.jts.geom.Geometry;
|
||||||
|
import org.locationtech.jts.geom.GeometryCollection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Container for requesting and caching metar temp data. This container can be
|
||||||
|
* reused to request data for multiple times. getBaseTempData is used to quickly
|
||||||
|
* retrieve data for all metar stations which have the data directly available.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
*
|
||||||
|
* SOFTWARE HISTORY
|
||||||
|
*
|
||||||
|
* Date Ticket# Engineer Description
|
||||||
|
* ------------ ---------- ----------- --------------------------
|
||||||
|
* Aug 05, 2016 mjames Copied from MetarPrecipDataContainer
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @author bsteffen
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public class MetarTempDataContainer {
|
||||||
|
|
||||||
|
private static final transient IUFStatusHandler statusHandler = UFStatus
|
||||||
|
.getHandler(MetarTempDataContainer.class);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Envelope which contains the whole world in LatLon projection. Used for
|
||||||
|
* intersections/conversion since this is the valid area for metar records.
|
||||||
|
*/
|
||||||
|
private static final ReferencedEnvelope WORLD_LAT_LON_ENVELOPE = new ReferencedEnvelope(
|
||||||
|
-180, 180, -90, 90, MapUtil.LATLON_PROJECTION);
|
||||||
|
|
||||||
|
public static class TempData {
|
||||||
|
|
||||||
|
private final long timeObs;
|
||||||
|
|
||||||
|
private final String stationName;
|
||||||
|
|
||||||
|
private final Double tempValue;
|
||||||
|
|
||||||
|
private final Coordinate latLon;
|
||||||
|
|
||||||
|
public TempData(long timeObs, String stationName, Double tempValue,
|
||||||
|
Double longitude, Double latitude) {
|
||||||
|
super();
|
||||||
|
this.timeObs = timeObs;
|
||||||
|
this.stationName = stationName;
|
||||||
|
this.tempValue = getFahrenheitTemp(tempValue);
|
||||||
|
this.latLon = new Coordinate(longitude, latitude);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Double getTempValue() {
|
||||||
|
return tempValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Coordinate getLatLon() {
|
||||||
|
return latLon;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStationName() {
|
||||||
|
return stationName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getTimeObs() {
|
||||||
|
return timeObs;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final String LAT_KEY = "latitude";
|
||||||
|
|
||||||
|
private static final String LON_KEY = "longitude";
|
||||||
|
|
||||||
|
private static final String NAME_KEY = "stationName";
|
||||||
|
|
||||||
|
private static final String TIME_KEY = "timeObs";
|
||||||
|
|
||||||
|
private static final String TEMP_KEY = "temperature";
|
||||||
|
|
||||||
|
private static final long TEN_MIN = 10 * 60 * 1000l;
|
||||||
|
|
||||||
|
private final Map<String, RequestConstraint> rcMap;
|
||||||
|
|
||||||
|
private final org.opengis.geometry.Envelope descriptorEnvelope;
|
||||||
|
|
||||||
|
private List<Envelope> latLonEnvelopes;
|
||||||
|
|
||||||
|
private final Map<DataTime, Set<String>> baseStations = new HashMap<DataTime, Set<String>>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Consturct a container with geospatially filtering to only request data in
|
||||||
|
* the area of descriptorEnvelope
|
||||||
|
*
|
||||||
|
* @param rcMap
|
||||||
|
* @param descriptorEnvelope
|
||||||
|
*/
|
||||||
|
public MetarTempDataContainer(HashMap<String, RequestConstraint> rcMap,
|
||||||
|
org.opengis.geometry.Envelope descriptorEnvelope) {
|
||||||
|
this.rcMap = rcMap;
|
||||||
|
this.descriptorEnvelope = descriptorEnvelope;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This will construct a container with no geospatial constraints, use it
|
||||||
|
* only for updates where the rcMap already has stationIds that are
|
||||||
|
* geospatially filtered.
|
||||||
|
*
|
||||||
|
* @param rcMap
|
||||||
|
*/
|
||||||
|
public MetarTempDataContainer(Map<String, RequestConstraint> rcMap) {
|
||||||
|
this.rcMap = rcMap;
|
||||||
|
this.descriptorEnvelope = null;
|
||||||
|
this.latLonEnvelopes = Arrays.<Envelope> asList(WORLD_LAT_LON_ENVELOPE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the base temp data from all metar stations
|
||||||
|
*
|
||||||
|
* @param time
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<TempData> getBaseTempData(DataTime time) {
|
||||||
|
Map<String, TempData> tempMap = new HashMap<String, TempData>();
|
||||||
|
long validTime = time.getMatchValid();
|
||||||
|
|
||||||
|
PointDataContainer pdc = requestPointData(rcMap, validTime, TEMP_KEY);
|
||||||
|
if (pdc != null) {
|
||||||
|
tempMap = createTempData(pdc, validTime - TEN_MIN,
|
||||||
|
validTime + TEN_MIN, TEMP_KEY);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (tempMap == null) {
|
||||||
|
tempMap = new HashMap<String, TempData>();
|
||||||
|
}
|
||||||
|
baseStations.put(time, tempMap.keySet());
|
||||||
|
ArrayList<TempData> result = new ArrayList<TempData>(
|
||||||
|
tempMap.values());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* build TempData objects for every station in a PointDataContainer
|
||||||
|
*
|
||||||
|
* @param pdc
|
||||||
|
* @param startTime
|
||||||
|
* @param latestTime
|
||||||
|
* @param tempKey
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private Map<String, TempData> createTempData(PointDataContainer pdc,
|
||||||
|
long startTime, long latestTime, String tempKey) {
|
||||||
|
Map<String, TempData> tempMap = new HashMap<String, TempData>();
|
||||||
|
for (int i = 0; i < pdc.getCurrentSz(); i++) {
|
||||||
|
PointDataView pdv = pdc.readRandom(i);
|
||||||
|
Number latitude = pdv.getNumber(LAT_KEY);
|
||||||
|
Number longitude = pdv.getNumber(LON_KEY);
|
||||||
|
String stationName = pdv.getString(NAME_KEY);
|
||||||
|
long timeObs = pdv.getLong(TIME_KEY);
|
||||||
|
Number tempValue = pdv.getNumber(tempKey);
|
||||||
|
if (timeObs > latestTime || timeObs <= startTime) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
TempData data = tempMap.get(stationName);
|
||||||
|
if (data == null) {
|
||||||
|
data = new TempData(timeObs, stationName,
|
||||||
|
tempValue.doubleValue(), longitude.doubleValue(),
|
||||||
|
latitude.doubleValue());
|
||||||
|
if (tempValue.doubleValue() > -100.){
|
||||||
|
tempMap.put(stationName, data);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (timeObs > data.getTimeObs()) {
|
||||||
|
data = new TempData(timeObs, stationName,
|
||||||
|
tempValue.doubleValue(), longitude.doubleValue(),
|
||||||
|
latitude.doubleValue());
|
||||||
|
tempMap.put(stationName, data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return tempMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This function perfroms the request to edex for point data.
|
||||||
|
*
|
||||||
|
* @param rcMap
|
||||||
|
* @param time
|
||||||
|
* @param tempKeys
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private PointDataContainer requestPointData(
|
||||||
|
Map<String, RequestConstraint> rcMap, long time,
|
||||||
|
String... tempKeys) {
|
||||||
|
List<String> parameters = new ArrayList<String>(
|
||||||
|
Arrays.asList(tempKeys));
|
||||||
|
parameters.add(LAT_KEY);
|
||||||
|
parameters.add(LON_KEY);
|
||||||
|
parameters.add(NAME_KEY);
|
||||||
|
parameters.add(TIME_KEY);
|
||||||
|
rcMap = new HashMap<String, RequestConstraint>(rcMap);
|
||||||
|
Calendar validTime = Calendar.getInstance();
|
||||||
|
validTime.setTimeInMillis(time);
|
||||||
|
validTime.add(Calendar.MINUTE, 0);
|
||||||
|
DataTime end = new DataTime(validTime);
|
||||||
|
validTime = (Calendar) end.getValidTime().clone();
|
||||||
|
validTime.add(Calendar.HOUR, -1);
|
||||||
|
validTime.add(Calendar.MINUTE, 1);
|
||||||
|
DataTime start = new DataTime(validTime);
|
||||||
|
RequestConstraint timeRC = new RequestConstraint(null,
|
||||||
|
ConstraintType.BETWEEN);
|
||||||
|
timeRC.setBetweenValueList(new String[] { start.toString(),
|
||||||
|
end.toString() });
|
||||||
|
rcMap.put("dataTime", timeRC);
|
||||||
|
PointDataContainer pdc = null;
|
||||||
|
// Over the dateline there might be an envelope on either side.
|
||||||
|
for (Envelope latLonEnvelope : getLatLonEnvelopes()) {
|
||||||
|
PointDataContainer tmppdc = null;
|
||||||
|
RequestConstraint lonRC = new RequestConstraint(null,
|
||||||
|
ConstraintType.BETWEEN);
|
||||||
|
Double minLon = latLonEnvelope.getMinX();
|
||||||
|
Double maxLon = latLonEnvelope.getMaxX();
|
||||||
|
lonRC.setBetweenValueList(new String[] { minLon.toString(),
|
||||||
|
maxLon.toString() });
|
||||||
|
rcMap.put("location.longitude", lonRC);
|
||||||
|
RequestConstraint latRC = new RequestConstraint(null,
|
||||||
|
ConstraintType.BETWEEN);
|
||||||
|
Double minLat = latLonEnvelope.getMinY();
|
||||||
|
Double maxLat = latLonEnvelope.getMaxY();
|
||||||
|
latRC.setBetweenValueList(new String[] { minLat.toString(),
|
||||||
|
maxLat.toString() });
|
||||||
|
rcMap.put("location.latitude", latRC);
|
||||||
|
try {
|
||||||
|
tmppdc = DataCubeContainer.getPointData("obs",
|
||||||
|
parameters.toArray(new String[0]), rcMap);
|
||||||
|
} catch (DataCubeException e) {
|
||||||
|
statusHandler
|
||||||
|
.handle(Priority.ERROR,
|
||||||
|
"Error getting temp data, some obs will not display.",
|
||||||
|
e);
|
||||||
|
}
|
||||||
|
if (tmppdc != null) {
|
||||||
|
tmppdc.setCurrentSz(tmppdc.getAllocatedSz());
|
||||||
|
if (pdc != null) {
|
||||||
|
pdc.combine(tmppdc);
|
||||||
|
pdc.setCurrentSz(pdc.getAllocatedSz());
|
||||||
|
} else {
|
||||||
|
pdc = tmppdc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return pdc;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get envelopes describing the latlon area that should be used to constrain
|
||||||
|
* all queries
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private List<Envelope> getLatLonEnvelopes() {
|
||||||
|
if (latLonEnvelopes == null) {
|
||||||
|
this.latLonEnvelopes = new ArrayList<Envelope>(2);
|
||||||
|
try {
|
||||||
|
Geometry intersection = EnvelopeIntersection
|
||||||
|
.createEnvelopeIntersection(descriptorEnvelope,
|
||||||
|
WORLD_LAT_LON_ENVELOPE, 0.1, 180, 180);
|
||||||
|
if (intersection instanceof GeometryCollection) {
|
||||||
|
GeometryCollection gc = (GeometryCollection) intersection;
|
||||||
|
for (int n = 0; n < gc.getNumGeometries(); n += 1) {
|
||||||
|
latLonEnvelopes.add(gc.getGeometryN(n)
|
||||||
|
.getEnvelopeInternal());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
latLonEnvelopes.add(intersection.getEnvelopeInternal());
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
statusHandler.handle(Priority.VERBOSE, e.getLocalizedMessage(),
|
||||||
|
e);
|
||||||
|
this.latLonEnvelopes.add(WORLD_LAT_LON_ENVELOPE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return latLonEnvelopes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Double getFahrenheitTemp(Double val){
|
||||||
|
if (val > -100.) {
|
||||||
|
return (val * 1.8) + 32.;
|
||||||
|
} else {
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue