Merge "Omaha #3214 added pulse and cloud flash rendering to cave" into omaha_14.4.1
Former-commit-id: 741f2710372a713c53e70602395bf7c54fd17cdf
This commit is contained in:
commit
caf278ca5c
18 changed files with 974 additions and 216 deletions
|
@ -1,7 +1,11 @@
|
|||
#Thu Mar 26 10:52:01 CDT 2009
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.source=1.6
|
||||
org.eclipse.jdt.core.compiler.source=1.7
|
||||
|
|
|
@ -2,18 +2,12 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: Lightning Plug-in
|
||||
Bundle-SymbolicName: com.raytheon.viz.lightning;singleton:=true
|
||||
Bundle-Version: 1.12.1174.qualifier
|
||||
Bundle-Activator: com.raytheon.viz.lightning.Activator
|
||||
Bundle-Version: 1.14.0
|
||||
Bundle-Vendor: Raytheon
|
||||
Eclipse-RegisterBuddy: com.raytheon.viz.core, com.raytheon.uf.viz.core
|
||||
Require-Bundle: com.raytheon.uf.common.dataplugin.binlightning;bundle-version="1.0.0",
|
||||
org.eclipse.ui,
|
||||
org.eclipse.core.runtime,
|
||||
com.raytheon.viz.core,
|
||||
org.geotools,
|
||||
com.raytheon.viz.ui,
|
||||
org.apache.commons.lang
|
||||
com.raytheon.viz.ui
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Export-Package: com.raytheon.viz.lightning
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||
Import-Package: com.raytheon.uf.viz.productbrowser
|
||||
|
|
|
@ -0,0 +1,191 @@
|
|||
<?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">
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
<capabilities>
|
||||
<capability xsi:type="colorableCapability"
|
||||
colorAsString="#ffffff" />
|
||||
</capabilities>
|
||||
<resourceType>PLAN_VIEW</resourceType>
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false" isBlinking="false"
|
||||
isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingCloudFlashes="true">
|
||||
<binOffset posOffset="0" negOffset="60" virtualOffset="0" />
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
<capabilities>
|
||||
<capability xsi:type="colorableCapability"
|
||||
colorAsString="#ffff9c" />
|
||||
</capabilities>
|
||||
<resourceType>PLAN_VIEW</resourceType>
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false" isBlinking="false"
|
||||
isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingCloudFlashes="true">
|
||||
<binOffset posOffset="0" negOffset="60" virtualOffset="-60" />
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
<capabilities>
|
||||
<capability xsi:type="colorableCapability"
|
||||
colorAsString="#ffff00" />
|
||||
</capabilities>
|
||||
<resourceType>PLAN_VIEW</resourceType>
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false" isBlinking="false"
|
||||
isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingCloudFlashes="true">
|
||||
<binOffset posOffset="0" negOffset="60" virtualOffset="-120" />
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
<capabilities>
|
||||
<capability xsi:type="colorableCapability"
|
||||
colorAsString="#ffa600" />
|
||||
</capabilities>
|
||||
<resourceType>PLAN_VIEW</resourceType>
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false" isBlinking="false"
|
||||
isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingCloudFlashes="true">
|
||||
<binOffset posOffset="0" negOffset="60" virtualOffset="-180" />
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
<capabilities>
|
||||
<capability xsi:type="colorableCapability"
|
||||
colorAsString="#ff7900" />
|
||||
</capabilities>
|
||||
<resourceType>PLAN_VIEW</resourceType>
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false" isBlinking="false"
|
||||
isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingCloudFlashes="true">
|
||||
<binOffset posOffset="0" negOffset="60" virtualOffset="-240" />
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
<capabilities>
|
||||
<capability xsi:type="colorableCapability"
|
||||
colorAsString="#ff0000" />
|
||||
</capabilities>
|
||||
<resourceType>PLAN_VIEW</resourceType>
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false" isBlinking="false"
|
||||
isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingCloudFlashes="true">
|
||||
<binOffset posOffset="0" negOffset="60" virtualOffset="-300" />
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
</descriptor>
|
||||
</displays>
|
||||
</displayList>
|
||||
</bundle>
|
|
@ -42,6 +42,48 @@
|
|||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false"
|
||||
isBlinking="false" isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingCloudFlashes="true">
|
||||
<binOffset posOffset="0" negOffset="900" virtualOffset="0"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false"
|
||||
isBlinking="false" isMapLayer="false" isHoverOn="false"
|
||||
isVisible="false" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingPulses="true">
|
||||
<binOffset posOffset="0" negOffset="900" virtualOffset="0"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
</descriptor>
|
||||
</displays>
|
||||
</displayList>
|
||||
|
|
|
@ -64,6 +64,48 @@
|
|||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true"/>
|
||||
<properties isSystemResource="false" isBlinking="false"
|
||||
isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingCloudFlashes="true">
|
||||
<binOffset posOffset="0" negOffset="900" virtualOffset="0" />
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false"
|
||||
isBlinking="false" isMapLayer="false" isHoverOn="false"
|
||||
isVisible="false" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingPulses="true">
|
||||
<binOffset posOffset="0" negOffset="900" virtualOffset="0"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
</descriptor>
|
||||
</displays>
|
||||
</displayList>
|
||||
|
|
|
@ -42,6 +42,48 @@
|
|||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false"
|
||||
isBlinking="false" isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingCloudFlashes="true">
|
||||
<binOffset posOffset="0" negOffset="300" virtualOffset="0"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false"
|
||||
isBlinking="false" isMapLayer="false" isHoverOn="false"
|
||||
isVisible="false" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingPulses="true">
|
||||
<binOffset posOffset="0" negOffset="300" virtualOffset="0"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
</descriptor>
|
||||
</displays>
|
||||
</displayList>
|
||||
|
|
|
@ -22,26 +22,68 @@
|
|||
<displayList>
|
||||
<displays xsi:type="d2DMapRenderableDisplay" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<descriptor xsi:type="mapDescriptor">
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false"
|
||||
isBlinking="false" isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="true" handlingNegativeStrikes="true">
|
||||
<binOffset posOffset="0" negOffset="3600" virtualOffset="0"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false"
|
||||
isBlinking="false" isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="true" handlingNegativeStrikes="true">
|
||||
<binOffset posOffset="0" negOffset="3600" virtualOffset="0"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false"
|
||||
isBlinking="false" isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingCloudFlashes="true">
|
||||
<binOffset posOffset="0" negOffset="3600" virtualOffset="0"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false"
|
||||
isBlinking="false" isMapLayer="false" isHoverOn="false"
|
||||
isVisible="false" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingPulses="true">
|
||||
<binOffset posOffset="0" negOffset="3600" virtualOffset="0"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
</descriptor>
|
||||
</displays>
|
||||
</displayList>
|
||||
|
|
|
@ -0,0 +1,191 @@
|
|||
<?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">
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
<capabilities>
|
||||
<capability xsi:type="colorableCapability"
|
||||
colorAsString="#ffffff" />
|
||||
</capabilities>
|
||||
<resourceType>PLAN_VIEW</resourceType>
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false" isBlinking="false"
|
||||
isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingPulses="true">
|
||||
<binOffset posOffset="0" negOffset="60" virtualOffset="0" />
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
<capabilities>
|
||||
<capability xsi:type="colorableCapability"
|
||||
colorAsString="#ffff9c" />
|
||||
</capabilities>
|
||||
<resourceType>PLAN_VIEW</resourceType>
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false" isBlinking="false"
|
||||
isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingPulses="true">
|
||||
<binOffset posOffset="0" negOffset="60" virtualOffset="-60" />
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
<capabilities>
|
||||
<capability xsi:type="colorableCapability"
|
||||
colorAsString="#ffff00" />
|
||||
</capabilities>
|
||||
<resourceType>PLAN_VIEW</resourceType>
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false" isBlinking="false"
|
||||
isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingPulses="true">
|
||||
<binOffset posOffset="0" negOffset="60" virtualOffset="-120" />
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
<capabilities>
|
||||
<capability xsi:type="colorableCapability"
|
||||
colorAsString="#ffa600" />
|
||||
</capabilities>
|
||||
<resourceType>PLAN_VIEW</resourceType>
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false" isBlinking="false"
|
||||
isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingPulses="true">
|
||||
<binOffset posOffset="0" negOffset="60" virtualOffset="-180" />
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
<capabilities>
|
||||
<capability xsi:type="colorableCapability"
|
||||
colorAsString="#ff7900" />
|
||||
</capabilities>
|
||||
<resourceType>PLAN_VIEW</resourceType>
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false" isBlinking="false"
|
||||
isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingPulses="true">
|
||||
<binOffset posOffset="0" negOffset="60" virtualOffset="-240" />
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
<capabilities>
|
||||
<capability xsi:type="colorableCapability"
|
||||
colorAsString="#ff0000" />
|
||||
</capabilities>
|
||||
<resourceType>PLAN_VIEW</resourceType>
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false" isBlinking="false"
|
||||
isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="lightningResourceData"
|
||||
isUpdatingOnMetadataOnly="false" isRequeryNecessaryOnTimeMatch="true"
|
||||
handlingPositiveStrikes="false" handlingNegativeStrikes="false"
|
||||
handlingPulses="true">
|
||||
<binOffset posOffset="0" negOffset="60" virtualOffset="-300" />
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="binlightning"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="source">
|
||||
<constraint constraintValue="${source}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
</descriptor>
|
||||
</displays>
|
||||
</displayList>
|
||||
</bundle>
|
|
@ -20,18 +20,24 @@
|
|||
-->
|
||||
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<contribute xsi:type="bundleItem" file="bundles/LightningPlot60Min.xml"
|
||||
menuText="1hr CG flash plot" id="1HrLightningFlashPlot">
|
||||
menuText="1hr plot" id="1HrLightningFlashPlot">
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LightningPlot15Min.xml"
|
||||
menuText="15min CG flash plot" id="15MinLightningFlashPlot">
|
||||
menuText="15min plot" id="15MinLightningFlashPlot">
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LightningPlot15MinPN.xml"
|
||||
menuText="15min Pos/Neg CG flash plot" id="15MinPNLightningFlashPlot">
|
||||
menuText="15min Pos/Neg plot" id="15MinPNLightningFlashPlot">
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LightningPlot5Min.xml"
|
||||
menuText="5min CG flash plot" id="5MinLightningFlashPlot">
|
||||
menuText="5min plot" id="5MinLightningFlashPlot">
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LightningSeq.xml"
|
||||
menuText="1min Lgtng Seq CG flash" id="1MinLightningFlashSeq">
|
||||
menuText="1min Lgtng Seq Plot" id="1MinLightningFlashSeq">
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LightningCloudSeq.xml"
|
||||
menuText="1min Cloud Flash Seq Plot" id="1MinLightningCloudFlashSeq">
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LightningPulseSeq.xml"
|
||||
menuText="1min Pulse Seq Plot" id="1MinLightningPulseSeq">
|
||||
</contribute>
|
||||
</menuTemplate>
|
|
@ -20,18 +20,18 @@
|
|||
-->
|
||||
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<contribute xsi:type="bundleItem" file="bundles/LightningPlot60Min.xml"
|
||||
menuText="1hr CG stroke plot" id="1HrLightningStrokePlot">
|
||||
menuText="1hr plot" id="1HrLightningStrokePlot">
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LightningPlot15Min.xml"
|
||||
menuText="15min CG stroke plot" id="15MinLightningStrokePlot">
|
||||
menuText="15min plot" id="15MinLightningStrokePlot">
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LightningPlot15MinPN.xml"
|
||||
menuText="15min Pos/Neg CG stroke plot" id="15MinPNLightningStrokePlot">
|
||||
menuText="15min Pos/Neg plot" id="15MinPNLightningStrokePlot">
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LightningPlot5Min.xml"
|
||||
menuText="5min CG stroke plot" id="5MinLightningStrokePlot">
|
||||
menuText="5min plot" id="5MinLightningStrokePlot">
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LightningSeq.xml"
|
||||
menuText="1min Lgtng Seq CG stroke" id="1MinLightningStrokeSeq">
|
||||
menuText="1min Lgtng Seq" id="1MinLightningStrokeSeq">
|
||||
</contribute>
|
||||
</menuTemplate>
|
|
@ -20,18 +20,21 @@
|
|||
-->
|
||||
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<contribute xsi:type="bundleItem" file="bundles/LightningPlot60Min.xml"
|
||||
menuText="1hr CG flash plot" id="1HrLightningFlashPlot">
|
||||
menuText="1hr plot" id="1HrLightningFlashPlot">
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LightningPlot15Min.xml"
|
||||
menuText="15min CG flash plot" id="15MinLightningFlashPlot">
|
||||
menuText="15min plot" id="15MinLightningFlashPlot">
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LightningPlot15MinPN.xml"
|
||||
menuText="15min Pos/Neg CG flash plot" id="15MinPNLightningFlashPlot">
|
||||
menuText="15min Pos/Neg plot" id="15MinPNLightningFlashPlot">
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LightningPlot5Min.xml"
|
||||
menuText="5min CG flash plot" id="5MinLightningFlashPlot">
|
||||
menuText="5min plot" id="5MinLightningFlashPlot">
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LightningSeq.xml"
|
||||
menuText="1min Lgtng Seq CG flash" id="1MinLightningFlashSeq">
|
||||
menuText="1min Lgtng Seq Plot" id="1MinLightningFlashSeq">
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LightningCloudSeq.xml"
|
||||
menuText="1min Cloud Flash Seq Plot" id="1MinLightningCloudFlashSeq">
|
||||
</contribute>
|
||||
</menuTemplate>
|
|
@ -25,7 +25,7 @@
|
|||
<resource
|
||||
class="com.raytheon.viz.lightning.LightningResource"
|
||||
name="Lightning"
|
||||
recordClass="com.raytheon.edex.plugin.binlightning.BinLightningRecord"
|
||||
recordClass="com.raytheon.uf.common.dataplugin.binlightning.BinLightningRecord"
|
||||
renderingOrderId="PLOT"
|
||||
resourceType="PLAN_VIEW">
|
||||
</resource>
|
||||
|
|
|
@ -1,69 +0,0 @@
|
|||
/**
|
||||
* 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.lightning;
|
||||
|
||||
import org.eclipse.ui.plugin.AbstractUIPlugin;
|
||||
import org.osgi.framework.BundleContext;
|
||||
|
||||
/**
|
||||
* The activator class controls the plug-in life cycle
|
||||
*/
|
||||
public class Activator extends AbstractUIPlugin {
|
||||
|
||||
// The plug-in ID
|
||||
public static final String PLUGIN_ID = "com.raytheon.viz.lightning";
|
||||
|
||||
// The shared instance
|
||||
private static Activator plugin;
|
||||
|
||||
/**
|
||||
* The constructor
|
||||
*/
|
||||
public Activator() {
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
|
||||
*/
|
||||
public void start(BundleContext context) throws Exception {
|
||||
super.start(context);
|
||||
plugin = this;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
|
||||
*/
|
||||
public void stop(BundleContext context) throws Exception {
|
||||
plugin = null;
|
||||
super.stop(context);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the shared instance
|
||||
*
|
||||
* @return the shared instance
|
||||
*/
|
||||
public static Activator getDefault() {
|
||||
return plugin;
|
||||
}
|
||||
|
||||
}
|
|
@ -23,6 +23,7 @@ import java.awt.Font;
|
|||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
@ -34,12 +35,15 @@ import org.opengis.referencing.crs.CoordinateReferenceSystem;
|
|||
|
||||
import com.raytheon.uf.common.dataplugin.HDF5Util;
|
||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
|
||||
import com.raytheon.uf.common.dataplugin.binlightning.BinLightningRecord;
|
||||
import com.raytheon.uf.common.dataplugin.binlightning.LightningConstants;
|
||||
import com.raytheon.uf.common.dataplugin.binlightning.impl.LtgStrikeType;
|
||||
import com.raytheon.uf.common.datastorage.DataStoreFactory;
|
||||
import com.raytheon.uf.common.datastorage.IDataStore;
|
||||
import com.raytheon.uf.common.datastorage.Request;
|
||||
import com.raytheon.uf.common.datastorage.StorageException;
|
||||
import com.raytheon.uf.common.datastorage.records.ByteDataRecord;
|
||||
import com.raytheon.uf.common.datastorage.records.FloatDataRecord;
|
||||
import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
||||
import com.raytheon.uf.common.datastorage.records.IntegerDataRecord;
|
||||
|
@ -96,6 +100,7 @@ import com.raytheon.uf.viz.core.rsc.capabilities.MagnificationCapability;
|
|||
* Feb 27, 2013 DCS 152 jgerth/elau Support for WWLLN and multiple sources
|
||||
* Jan 21, 2014 2667 bclement renamed record's lightSource field to source
|
||||
* Jun 05, 2014 3226 bclement reference datarecords by LightningConstants
|
||||
* Jun 19, 2014 3214 bclement added pulse and could flash support
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -118,6 +123,10 @@ public class LightningResource extends
|
|||
public List<double[]> posLatLonList = new ArrayList<double[]>();
|
||||
|
||||
public List<double[]> negLatLonList = new ArrayList<double[]>();
|
||||
|
||||
public List<double[]> cloudLatLonList = new ArrayList<double[]>();
|
||||
|
||||
public List<double[]> pulseLatLonList = new ArrayList<double[]>();
|
||||
}
|
||||
|
||||
private static class LightningFrameMetadata {
|
||||
|
@ -242,9 +251,13 @@ public class LightningResource extends
|
|||
|
||||
private IFont font;
|
||||
|
||||
private List<double[]> currPosList = null;
|
||||
private List<double[]> currPosList = Collections.emptyList();
|
||||
|
||||
private List<double[]> currNegList = null;
|
||||
private List<double[]> currNegList = Collections.emptyList();
|
||||
|
||||
private List<double[]> currCloudList = Collections.emptyList();
|
||||
|
||||
private List<double[]> currPulseList = Collections.emptyList();
|
||||
|
||||
public LightningResource(LightningResourceData resourceData,
|
||||
LoadProperties loadProperties, String ls, int pa) {
|
||||
|
@ -317,11 +330,20 @@ public class LightningResource extends
|
|||
} else {
|
||||
timeString = convertTimeIntervalToString(absTimeInterval);
|
||||
}
|
||||
|
||||
if (!this.resourceData.isHandlingNegativeStrikes()) {
|
||||
this.resourceName = timeString + "Positive";
|
||||
} else if (!this.resourceData.isHandlingPositiveStrikes()) {
|
||||
this.resourceName = timeString + "Negative";
|
||||
if (this.resourceData.isExclusiveForType()) {
|
||||
String modifier;
|
||||
if (this.resourceData.isHandlingCloudFlashes()) {
|
||||
modifier = "Cloud Flash";
|
||||
} else if (this.resourceData.isHandlingNegativeStrikes()) {
|
||||
modifier = "Negative";
|
||||
} else if (this.resourceData.isHandlingPositiveStrikes()) {
|
||||
modifier = "Positive";
|
||||
} else if (this.resourceData.isHandlingPulses()) {
|
||||
modifier = "Pulse";
|
||||
} else {
|
||||
modifier = "";
|
||||
}
|
||||
this.resourceName = timeString + modifier;
|
||||
} else {
|
||||
this.resourceName = timeString;
|
||||
}
|
||||
|
@ -376,6 +398,8 @@ public class LightningResource extends
|
|||
|
||||
int posCount = 0;
|
||||
int negCount = 0;
|
||||
int cloudCount = 0;
|
||||
int pulseCount = 0;
|
||||
|
||||
if (magnification == 0.0) magnification=(float) 0.01;
|
||||
|
||||
|
@ -393,49 +417,35 @@ public class LightningResource extends
|
|||
} else {
|
||||
if (needsUpdate) {
|
||||
needsUpdate = false;
|
||||
currNegList = new ArrayList<double[]>(
|
||||
bundle.posLatLonList.size());
|
||||
currPosList = new ArrayList<double[]>(
|
||||
bundle.negLatLonList.size());
|
||||
|
||||
if (resourceData.isHandlingPositiveStrikes()) {
|
||||
for (double[] pos : bundle.posLatLonList) {
|
||||
currPosList.add(descriptor.worldToPixel(pos));
|
||||
}
|
||||
}
|
||||
if (resourceData.isHandlingNegativeStrikes()) {
|
||||
for (double[] neg : bundle.negLatLonList) {
|
||||
currNegList.add(descriptor.worldToPixel(neg));
|
||||
}
|
||||
currNegList = convertToPixel(bundle.negLatLonList);
|
||||
}
|
||||
if (resourceData.isHandlingPositiveStrikes()) {
|
||||
currPosList = convertToPixel(bundle.posLatLonList);
|
||||
}
|
||||
if (resourceData.isHandlingCloudFlashes()) {
|
||||
currCloudList = convertToPixel(bundle.cloudLatLonList);
|
||||
}
|
||||
if (resourceData.isHandlingPulses()) {
|
||||
currPulseList = convertToPixel(bundle.pulseLatLonList);
|
||||
}
|
||||
}
|
||||
|
||||
if (resourceData.isHandlingPositiveStrikes()) {
|
||||
List<double[]> positive = new ArrayList<double[]>(
|
||||
currPosList.size());
|
||||
for (double[] pos : currPosList) {
|
||||
if (extent.contains(pos)) {
|
||||
positive.add(pos);
|
||||
}
|
||||
}
|
||||
posCount = positive.size();
|
||||
|
||||
target.drawPoints(positive, color, PointStyle.CROSS,
|
||||
magnification);
|
||||
posCount = drawFilteredPoints(target, magnification,
|
||||
color, PointStyle.CROSS, extent, currPosList);
|
||||
}
|
||||
|
||||
if (resourceData.isHandlingNegativeStrikes()) {
|
||||
List<double[]> negative = new ArrayList<double[]>(
|
||||
currPosList.size());
|
||||
for (double[] neg : currNegList) {
|
||||
if (extent.contains(neg)) {
|
||||
negative.add(neg);
|
||||
}
|
||||
}
|
||||
negCount = negative.size();
|
||||
|
||||
target.drawPoints(negative, color, PointStyle.DASH,
|
||||
magnification);
|
||||
negCount = drawFilteredPoints(target, magnification,
|
||||
color, PointStyle.DASH, extent, currNegList);
|
||||
}
|
||||
if (resourceData.isHandlingCloudFlashes()) {
|
||||
cloudCount = drawFilteredPoints(target, magnification,
|
||||
color, PointStyle.CIRCLE, extent, currCloudList);
|
||||
}
|
||||
if (resourceData.isHandlingPulses()) {
|
||||
pulseCount = drawFilteredPoints(target, magnification,
|
||||
color, PointStyle.PIPE, extent, currPulseList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -447,32 +457,88 @@ public class LightningResource extends
|
|||
.getHeight();
|
||||
|
||||
if (this.resourceData.isHandlingPositiveStrikes()) {
|
||||
DrawableString pos = new DrawableString(posCount + " + Strikes",
|
||||
color);
|
||||
pos.setCoordinates(225, height * (2 + 2*this.posAdj));
|
||||
// jjg above
|
||||
pos.font = font;
|
||||
pos.verticallAlignment = VerticalAlignment.TOP;
|
||||
pos.horizontalAlignment = HorizontalAlignment.RIGHT;
|
||||
strings.add(pos);
|
||||
strings.add(createLegendString(color, posCount, " + Strikes",
|
||||
height, 2));
|
||||
}
|
||||
|
||||
if (this.resourceData.isHandlingNegativeStrikes()) {
|
||||
DrawableString neg = new DrawableString(negCount + " - Strikes",
|
||||
color);
|
||||
neg.setCoordinates(225, height * (3 + 2*this.posAdj));
|
||||
// jjg above
|
||||
neg.font = font;
|
||||
neg.verticallAlignment = VerticalAlignment.TOP;
|
||||
neg.horizontalAlignment = HorizontalAlignment.RIGHT;
|
||||
strings.add(neg);
|
||||
strings.add(createLegendString(color, negCount, " - Strikes",
|
||||
height, 3));
|
||||
}
|
||||
if (this.resourceData.isHandlingCloudFlashes()) {
|
||||
strings.add(createLegendString(color, cloudCount, " Cloud Flashes",
|
||||
height, 4));
|
||||
}
|
||||
if (this.resourceData.isHandlingPulses()) {
|
||||
strings.add(createLegendString(color, pulseCount, " Pulses",
|
||||
height, 5));
|
||||
}
|
||||
|
||||
target.getExtension(ICanvasRenderingExtension.class).drawStrings(
|
||||
paintProps, strings.toArray(new DrawableString[0]));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Create lightning legend string in upper left corner of display
|
||||
*
|
||||
* @param color
|
||||
* @param count
|
||||
* @param msg
|
||||
* @param height
|
||||
* @param verticalOffset
|
||||
* vertical position of legend string (starting at 2)
|
||||
* @return
|
||||
*/
|
||||
private DrawableString createLegendString(RGB color, int count, String msg,
|
||||
double height, int verticalOffset) {
|
||||
DrawableString pos = new DrawableString(count + msg, color);
|
||||
pos.setCoordinates(225, height * (verticalOffset + 2 * this.posAdj));
|
||||
// jjg above
|
||||
pos.font = font;
|
||||
pos.verticallAlignment = VerticalAlignment.TOP;
|
||||
pos.horizontalAlignment = HorizontalAlignment.RIGHT;
|
||||
return pos;
|
||||
}
|
||||
|
||||
/**
|
||||
* Draw points on target using provided styling. Points are filtered by
|
||||
* extent.
|
||||
*
|
||||
* @param target
|
||||
* @param magnification
|
||||
* @param color
|
||||
* @param style
|
||||
* @param extent
|
||||
* @param pixelList
|
||||
* @return count of points that matched filter
|
||||
* @throws VizException
|
||||
*/
|
||||
private static int drawFilteredPoints(IGraphicsTarget target,
|
||||
float magnification, RGB color, PointStyle style, IExtent extent,
|
||||
List<double[]> pixelList) throws VizException {
|
||||
List<double[]> filtered = new ArrayList<double[]>(pixelList.size());
|
||||
for (double[] pxl : pixelList) {
|
||||
if (extent.contains(pxl)) {
|
||||
filtered.add(pxl);
|
||||
}
|
||||
}
|
||||
target.drawPoints(filtered, color, style, magnification);
|
||||
return filtered.size();
|
||||
}
|
||||
|
||||
/**
|
||||
* convert list of world coordinates to pixel coordinates
|
||||
*
|
||||
* @param lonLats
|
||||
* @return
|
||||
*/
|
||||
private List<double[]> convertToPixel(List<double[]> lonLats) {
|
||||
List<double[]> rval = new ArrayList<double[]>(lonLats.size());
|
||||
for (double[] lonLat : lonLats) {
|
||||
rval.add(descriptor.worldToPixel(lonLat));
|
||||
}
|
||||
return rval;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
|
@ -628,29 +694,27 @@ public class LightningResource extends
|
|||
|
||||
long tDS1 = System.currentTimeMillis();
|
||||
dsTime += (tDS1 - tDS0);
|
||||
Map<String, List<IDataRecord>> recordMap = new HashMap<String, List<IDataRecord>>();
|
||||
// Throw in a map for easy accessibility
|
||||
for (IDataRecord rec : records) {
|
||||
List<IDataRecord> recordList = recordMap.get(rec.getName());
|
||||
if (recordList == null) {
|
||||
recordList = new ArrayList<IDataRecord>();
|
||||
recordMap.put(rec.getName(), recordList);
|
||||
}
|
||||
recordList.add(rec);
|
||||
}
|
||||
Map<String, List<IDataRecord>> recordMap = createRecordMap(records);
|
||||
|
||||
List<IDataRecord> times = recordMap
|
||||
.get(LightningConstants.TIME_DATASET);
|
||||
|
||||
List<IDataRecord> intensities = recordMap
|
||||
.get(LightningConstants.INTENSITY_DATASET);
|
||||
List<IDataRecord> lats = recordMap
|
||||
.get(LightningConstants.LAT_DATASET);
|
||||
List<IDataRecord> lons = recordMap
|
||||
.get(LightningConstants.LON_DATASET);
|
||||
List<IDataRecord> types = recordMap
|
||||
.get(LightningConstants.STRIKE_TYPE_DATASET);
|
||||
List<IDataRecord> pulseIndexes = recordMap
|
||||
.get(LightningConstants.PULSE_INDEX_DATASET);
|
||||
|
||||
int k = 0;
|
||||
for (IDataRecord timeRec : times) {
|
||||
if (hasPulseData(pulseIndexes, k)) {
|
||||
populatePulseData(frame, bundle, timeRec.getGroup(), ds);
|
||||
}
|
||||
LongDataRecord time = (LongDataRecord) timeRec;
|
||||
// Now loop through the obs times and intensities and
|
||||
// start categorizing strikes
|
||||
|
@ -664,16 +728,26 @@ public class LightningResource extends
|
|||
.getFloatData();
|
||||
float[] longitudeData = ((FloatDataRecord) lons.get(k))
|
||||
.getFloatData();
|
||||
byte[] typeData = ((ByteDataRecord) types.get(k))
|
||||
.getByteData();
|
||||
|
||||
for (int i = 0; i < numRecords; i++) {
|
||||
|
||||
DataTime dt = new DataTime(new Date(timeData[i]));
|
||||
dt = frame.offset.getNormalizedTime(dt);
|
||||
List<double[]> list;
|
||||
if (intensityData[i] > 0) {
|
||||
list = bundle.posLatLonList;
|
||||
} else {
|
||||
list = bundle.negLatLonList;
|
||||
LtgStrikeType type = LtgStrikeType.getById(typeData[i]);
|
||||
switch(type){
|
||||
case CLOUD_TO_CLOUD:
|
||||
list = bundle.cloudLatLonList;
|
||||
break;
|
||||
default:
|
||||
if (intensityData[i] > 0) {
|
||||
list = bundle.posLatLonList;
|
||||
} else {
|
||||
list = bundle.negLatLonList;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
double[] latLon = new double[] { longitudeData[i],
|
||||
|
@ -689,7 +763,6 @@ public class LightningResource extends
|
|||
}
|
||||
k++;
|
||||
}
|
||||
|
||||
} catch (StorageException e) {
|
||||
statusHandler.handle(Priority.PROBLEM,
|
||||
"Storage error retrieving lightning data", e);
|
||||
|
@ -706,4 +779,99 @@ public class LightningResource extends
|
|||
+ (t1 - t0) + "ms (hdf5 time = " + dsTime + "ms)");
|
||||
}
|
||||
|
||||
/**
|
||||
* Unpack records into map keyed by record name
|
||||
*
|
||||
* @param records
|
||||
* @return
|
||||
*/
|
||||
private static Map<String, List<IDataRecord>> createRecordMap(
|
||||
IDataRecord[] records) {
|
||||
Map<String, List<IDataRecord>> recordMap = new HashMap<String, List<IDataRecord>>();
|
||||
for (IDataRecord rec : records) {
|
||||
List<IDataRecord> recordList = recordMap.get(rec.getName());
|
||||
if (recordList == null) {
|
||||
recordList = new ArrayList<IDataRecord>();
|
||||
recordMap.put(rec.getName(), recordList);
|
||||
}
|
||||
recordList.add(rec);
|
||||
}
|
||||
return recordMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* Search records and return first found with name
|
||||
*
|
||||
* @param records
|
||||
* @param name
|
||||
* @return null if none found
|
||||
*/
|
||||
private static IDataRecord findDataRecord(IDataRecord[] records, String name) {
|
||||
IDataRecord rval = null;
|
||||
for (IDataRecord record : records) {
|
||||
if (record.getName().equals(name)) {
|
||||
rval = record;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return rval;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param pulseIndexes
|
||||
* @param recordIndex
|
||||
* @return true if any data record in list has a valid pulse index
|
||||
*/
|
||||
private static boolean hasPulseData(List<IDataRecord> pulseIndexes,
|
||||
int recordIndex) {
|
||||
if (pulseIndexes != null) {
|
||||
IDataRecord record = pulseIndexes.get(recordIndex);
|
||||
int[] indexData = ((IntegerDataRecord) record).getIntData();
|
||||
for (int i = 0; i < indexData.length; ++i) {
|
||||
if (indexData[i] >= 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Read pulse data from datastore and populate in frame
|
||||
*
|
||||
* @param frame
|
||||
* @param bundle
|
||||
* @param group
|
||||
* @param ds
|
||||
*/
|
||||
private static void populatePulseData(LightningFrameMetadata frame,
|
||||
LightningFrame bundle, String group, IDataStore ds) {
|
||||
try {
|
||||
IDataRecord[] records = ds.retrieve(group + DataURI.SEPARATOR
|
||||
+ LightningConstants.PULSE_HDF5_GROUP_SUFFIX);
|
||||
FloatDataRecord latRecord = (FloatDataRecord) findDataRecord(
|
||||
records, LightningConstants.LAT_DATASET);
|
||||
FloatDataRecord lonRecord = (FloatDataRecord) findDataRecord(
|
||||
records, LightningConstants.LON_DATASET);
|
||||
if (latRecord == null || lonRecord == null) {
|
||||
throw new StorageException(
|
||||
"Missing pulse latitude and/or longitude data", null);
|
||||
}
|
||||
float[] lats = latRecord.getFloatData();
|
||||
float[] lons = lonRecord.getFloatData();
|
||||
if (lats.length != lons.length) {
|
||||
throw new StorageException(
|
||||
"Mismatched pulse latitude/longitude data", latRecord);
|
||||
}
|
||||
for (int i = 0; i < lats.length; ++i) {
|
||||
bundle.pulseLatLonList.add(new double[] { lons[i], lats[i] });
|
||||
}
|
||||
} catch (FileNotFoundException e) {
|
||||
statusHandler.error("Unable to open lightning file", e);
|
||||
} catch (StorageException e) {
|
||||
statusHandler.error("Unable to read pulse datasets for group "
|
||||
+ group, e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -47,6 +47,7 @@ import com.raytheon.uf.viz.core.rsc.LoadProperties;
|
|||
* ------------ ---------- ----------- --------------------------
|
||||
* Feb 18, 2009 chammack Initial creation
|
||||
* Feb 27, 2013 DCS 152 jgerth Support for WWLLN and multiple sources
|
||||
* Jun 19, 2014 3214 bclement added pulse and could flash support
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -64,6 +65,12 @@ public class LightningResourceData extends AbstractRequestableResourceData {
|
|||
@XmlAttribute
|
||||
private boolean handlingNegativeStrikes = true;
|
||||
|
||||
@XmlAttribute
|
||||
private boolean handlingCloudFlashes = false;
|
||||
|
||||
@XmlAttribute
|
||||
private boolean handlingPulses = false;
|
||||
|
||||
@XmlAttribute
|
||||
private String plotLightSource = "";
|
||||
|
||||
|
@ -146,8 +153,63 @@ public class LightningResourceData extends AbstractRequestableResourceData {
|
|||
}
|
||||
|
||||
/**
|
||||
* @return plotLightSource
|
||||
* the lightSource to get - JJG
|
||||
* @return the handlingCloudFlashes
|
||||
*/
|
||||
public boolean isHandlingCloudFlashes() {
|
||||
return handlingCloudFlashes;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param handlingCloudFlashes
|
||||
* the handlingCloudFlashes to set
|
||||
*/
|
||||
public void setHandlingCloudFlashes(boolean handlingCloudFlashes) {
|
||||
this.handlingCloudFlashes = handlingCloudFlashes;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the handlingPulses
|
||||
*/
|
||||
public boolean isHandlingPulses() {
|
||||
return handlingPulses;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see #isHandlingCloudFlashes()
|
||||
* @see #isHandlingNegativeStrikes()
|
||||
* @see #isHandlingPositiveStrikes()
|
||||
* @see #isHandlingPulses()
|
||||
* @return true if resource data handles exactly one type of data
|
||||
*/
|
||||
public boolean isExclusiveForType() {
|
||||
boolean[] bools = { isHandlingCloudFlashes(),
|
||||
isHandlingNegativeStrikes(), isHandlingPositiveStrikes(),
|
||||
isHandlingPulses() };
|
||||
boolean handlingZero = true;
|
||||
boolean handlingMoreThanOne = false;
|
||||
for (boolean handlingSomething : bools) {
|
||||
if (handlingSomething) {
|
||||
if (handlingZero) {
|
||||
handlingZero = false;
|
||||
} else {
|
||||
handlingMoreThanOne = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return !handlingZero && !handlingMoreThanOne;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param handlingPulses
|
||||
* the handlingPulses to set
|
||||
*/
|
||||
public void setHandlingPulses(boolean handlingPulses) {
|
||||
this.handlingPulses = handlingPulses;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return plotLightSource the lightSource to get - JJG
|
||||
*/
|
||||
public String getPlotLightSource() {
|
||||
return plotLightSource;
|
||||
|
@ -177,20 +239,55 @@ public class LightningResourceData extends AbstractRequestableResourceData {
|
|||
this.countPosition = countPosition;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see java.lang.Object#hashCode()
|
||||
*/
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = super.hashCode();
|
||||
result = prime * result + countPosition;
|
||||
result = prime * result + (handlingCloudFlashes ? 1231 : 1237);
|
||||
result = prime * result + (handlingNegativeStrikes ? 1231 : 1237);
|
||||
result = prime * result + (handlingPositiveStrikes ? 1231 : 1237);
|
||||
result = prime * result + (handlingPulses ? 1231 : 1237);
|
||||
result = prime * result
|
||||
+ ((plotLightSource == null) ? 0 : plotLightSource.hashCode());
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see java.lang.Object#equals(java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
// TODO Auto-generated method stub
|
||||
if (!super.equals(obj)) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (!super.equals(obj))
|
||||
return false;
|
||||
}
|
||||
|
||||
if (obj instanceof LightningResourceData == false) {
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
}
|
||||
|
||||
LightningResourceData other = (LightningResourceData) obj;
|
||||
return (this.handlingNegativeStrikes == other.handlingNegativeStrikes && this.handlingPositiveStrikes == other.handlingPositiveStrikes &&
|
||||
this.plotLightSource == other.plotLightSource && this.countPosition == other.countPosition);
|
||||
if (countPosition != other.countPosition)
|
||||
return false;
|
||||
if (handlingCloudFlashes != other.handlingCloudFlashes)
|
||||
return false;
|
||||
if (handlingNegativeStrikes != other.handlingNegativeStrikes)
|
||||
return false;
|
||||
if (handlingPositiveStrikes != other.handlingPositiveStrikes)
|
||||
return false;
|
||||
if (handlingPulses != other.handlingPulses)
|
||||
return false;
|
||||
if (plotLightSource == null) {
|
||||
if (other.plotLightSource != null)
|
||||
return false;
|
||||
} else if (!plotLightSource.equals(other.plotLightSource))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
#Tue Nov 03 09:01:49 CST 2009
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.source=1.6
|
||||
org.eclipse.jdt.core.compiler.source=1.7
|
||||
|
|
|
@ -2,22 +2,18 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: Binlightning Plug-in
|
||||
Bundle-SymbolicName: com.raytheon.uf.common.dataplugin.binlightning
|
||||
Bundle-Version: 1.12.1174.qualifier
|
||||
Bundle-Version: 1.14.0
|
||||
Bundle-Vendor: RAYTHEON
|
||||
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||
Export-Package: com.raytheon.uf.common.dataplugin.binlightning,
|
||||
com.raytheon.uf.common.dataplugin.binlightning.dataaccess,
|
||||
com.raytheon.uf.common.dataplugin.binlightning.impl
|
||||
Require-Bundle: com.raytheon.uf.common.serialization,
|
||||
org.geotools,
|
||||
javax.persistence,
|
||||
javax.measure,
|
||||
com.raytheon.uf.common.dataplugin,
|
||||
com.raytheon.uf.common.datastorage,
|
||||
com.raytheon.uf.common.dataaccess;bundle-version="1.0.0"
|
||||
com.raytheon.uf.common.dataaccess;bundle-version="1.0.0",
|
||||
javax.measure;bundle-version="1.0.0"
|
||||
Import-Package: com.raytheon.uf.common.dataquery.requests,
|
||||
com.raytheon.uf.common.dataquery.responses,
|
||||
com.raytheon.uf.common.status,
|
||||
com.raytheon.uf.edex.decodertools.core,
|
||||
com.raytheon.uf.edex.decodertools.time
|
||||
com.raytheon.uf.common.status
|
||||
|
|
|
@ -90,6 +90,7 @@ import com.raytheon.uf.common.time.util.TimeUtil;
|
|||
* Jun 05, 2014 3226 bclement moved data arrays into map for easier management
|
||||
* replaced addStrike() with List constructor, added pulses
|
||||
* Jun 10, 2014 3226 bclement collections instead of lists, made data source logic public
|
||||
* Jun 19, 2014 3214 bclement populated pulse index array with -1 when missing pulse data
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -114,6 +115,8 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
|
||||
public static final String PLUGIN_NAME = "binlightning";
|
||||
|
||||
public static final int MISSING_PULSE_INDEX_VALUE = -1;
|
||||
|
||||
// Data store data items
|
||||
@Transient
|
||||
private final Map<String, Object> strikeDataArrays = new TreeMap<String, Object>();
|
||||
|
@ -231,6 +234,8 @@ public class BinLightningRecord extends PersistablePluginDataObject implements
|
|||
if (pulseCounts[i] != pulses.size()) {
|
||||
pulseCounts[i] = (byte) pulses.size();
|
||||
}
|
||||
} else {
|
||||
pulseIndexes[i] = MISSING_PULSE_INDEX_VALUE;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue