Issue #2190 Cleaned up sounding and cloud height dependencies
Change-Id: If07406f7e618fca0ea001b56a81b8552d9d44546 Former-commit-id:0b21274439
[formerlydccc265ab0
] [formerlyd4c7a0c302
] [formerly0b21274439
[formerlydccc265ab0
] [formerlyd4c7a0c302
] [formerly56fef93541
[formerlyd4c7a0c302
[formerly 767ecfd7f2930de641d532d08120d5023b6e38e4]]]] Former-commit-id:56fef93541
Former-commit-id:aee63f150f
[formerly8ea57bfbac
] [formerly 780ccd7e833e37069d808d836ad303c6cf184e97 [formerly8ad1acdbc5
]] Former-commit-id: deb62ce2eff58fb093fa318250144087333c3c68 [formerly43344e0340
] Former-commit-id:7f1784e352
This commit is contained in:
parent
fe957cbbf6
commit
aabbb25c6d
52 changed files with 318 additions and 1831 deletions
|
@ -7,37 +7,20 @@ Bundle-Activator: com.raytheon.uf.viz.acarssounding.Activator
|
|||
Bundle-Vendor: RAYTHEON
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Eclipse-RegisterBuddy: com.raytheon.viz.core, com.raytheon.uf.viz.core
|
||||
Import-Package: com.raytheon.edex.meteoLib,
|
||||
com.raytheon.uf.common.dataplugin,
|
||||
com.raytheon.uf.common.dataplugin.acarssounding,
|
||||
com.raytheon.uf.common.dataplugin.level,
|
||||
com.raytheon.uf.common.dataquery.requests,
|
||||
com.raytheon.uf.common.datastorage,
|
||||
com.raytheon.uf.common.datastorage.records,
|
||||
com.raytheon.uf.common.derivparam.tree,
|
||||
com.raytheon.uf.common.localization,
|
||||
com.raytheon.uf.common.pointdata,
|
||||
com.raytheon.uf.common.pointdata.spatial,
|
||||
com.raytheon.uf.common.serialization,
|
||||
com.raytheon.uf.common.status,
|
||||
com.raytheon.uf.common.time,
|
||||
com.raytheon.uf.viz.core.alerts,
|
||||
com.raytheon.uf.viz.core.catalog,
|
||||
com.raytheon.uf.viz.core.comm,
|
||||
com.raytheon.uf.viz.core.datastructure,
|
||||
com.raytheon.uf.viz.core.exception,
|
||||
com.raytheon.uf.viz.core.level,
|
||||
com.raytheon.uf.viz.derivparam,
|
||||
com.raytheon.uf.viz.derivparam.data,
|
||||
com.raytheon.uf.viz.derivparam.inv,
|
||||
com.raytheon.uf.viz.derivparam.library,
|
||||
com.raytheon.uf.viz.derivparam.tree,
|
||||
com.raytheon.viz.alerts,
|
||||
com.raytheon.viz.pointdata.util,
|
||||
javax.measure.unit,
|
||||
org.eclipse.core.runtime,
|
||||
org.eclipse.core.runtime.jobs,
|
||||
org.osgi.framework
|
||||
Require-Bundle: com.raytheon.uf.common.sounding;bundle-version="1.0.0"
|
||||
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization, com.raytheon.uf.viz.sounding
|
||||
Export-Package: com.raytheon.uf.viz.acarssounding
|
||||
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.8.0",
|
||||
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataplugin.acarssounding;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.pointdata;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.datastorage;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataquery;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.status;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.derivparam;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.sounding;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.viz.core;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.viz.derivparam;bundle-version="1.12.1174",
|
||||
com.raytheon.viz.pointdata;bundle-version="1.12.1174",
|
||||
com.raytheon.edex.meteolib;bundle-version="1.12.1174"
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
point="com.raytheon.uf.viz.sounding.verticalSoundingAdapter">
|
||||
<verticalSoundingAdapter
|
||||
adapter="com.raytheon.uf.viz.acarssounding.AcarsSoundingAdapter"
|
||||
class="com.raytheon.uf.edex.plugin.acarssounding.common.ACARSSoundingRecord"
|
||||
class="com.raytheon.uf.common.dataplugin.acarssounding.ACARSSoundingRecord"
|
||||
name="ACARSSoundingAdapter">
|
||||
</verticalSoundingAdapter>
|
||||
</extension>
|
||||
|
|
|
@ -5,26 +5,30 @@ Bundle-SymbolicName: com.raytheon.uf.viz.cloudheight;singleton:=true
|
|||
Bundle-Version: 1.12.1174.qualifier
|
||||
Bundle-Activator: com.raytheon.uf.viz.cloudheight.Activator
|
||||
Bundle-Vendor: RAYTHEON
|
||||
Eclipse-RegisterBuddy: com.raytheon.viz.core, com.raytheon.uf.viz.core
|
||||
Eclipse-BuddyPolicy: ext, global
|
||||
Require-Bundle: org.eclipse.ui,
|
||||
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
|
||||
Require-Bundle: org.eclipse.ui;bundle-version="3.8.2",
|
||||
org.eclipse.core.runtime,
|
||||
com.raytheon.uf.common.pointdata,
|
||||
com.raytheon.uf.viz.d2d.core;bundle-version="1.11.17",
|
||||
com.raytheon.viz.ui;bundle-version="1.11.17",
|
||||
com.raytheon.viz.skewt;bundle-version="1.11.17",
|
||||
com.raytheon.viz.core;bundle-version="1.11.17",
|
||||
com.raytheon.uf.common.dataplugin.bufrua;bundle-version="1.11.22",
|
||||
com.raytheon.uf.common.sounding;bundle-version="1.0.0",
|
||||
javax.measure;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataplugin.satellite;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.status;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.colormap;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataquery;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.datastorage;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.sounding;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.pointdata;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataplugin.grid;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.parameter;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.colormap;bundle-version="1.12.1174"
|
||||
com.raytheon.uf.common.dataplugin.satellite;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.dataplugin.bufrua;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.viz.core;bundle-version="1.12.1174",
|
||||
com.raytheon.viz.ui;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.viz.d2d.core;bundle-version="1.12.1174",
|
||||
com.raytheon.viz.skewt;bundle-version="1.12.1174",
|
||||
javax.measure;bundle-version="1.0.0"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Export-Package: com.raytheon.uf.viz.cloudheight,
|
||||
com.raytheon.uf.viz.cloudheight.data,
|
||||
com.raytheon.uf.viz.cloudheight.rsc,
|
||||
com.raytheon.uf.viz.cloudheight.ui
|
||||
Import-Package: com.raytheon.viz.core.map
|
||||
|
|
|
@ -214,10 +214,18 @@ public class ModelCloudHeightSourceImplementation extends
|
|||
e);
|
||||
}
|
||||
for (PluginDataObject gr : pdos) {
|
||||
IDataRecord[] drs = (IDataRecord[]) gr
|
||||
.getMessageData();
|
||||
if (drs != null && drs.length > 0) {
|
||||
gr.setMessageData(((FloatDataRecord) drs[0])
|
||||
Object messageData = gr.getMessageData();
|
||||
IDataRecord record = null;
|
||||
if (messageData instanceof IDataRecord[]) {
|
||||
IDataRecord[] records = (IDataRecord[]) messageData;
|
||||
if (records.length > 0) {
|
||||
record = records[0];
|
||||
}
|
||||
} else if (messageData instanceof IDataRecord) {
|
||||
record = (IDataRecord) messageData;
|
||||
}
|
||||
if (record != null) {
|
||||
gr.setMessageData(((FloatDataRecord) record)
|
||||
.getFloatData());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -86,7 +86,6 @@ Export-Package: com.raytheon.uf.viz.core,
|
|||
com.raytheon.uf.viz.core.style.level,
|
||||
com.raytheon.uf.viz.core.tile,
|
||||
com.raytheon.uf.viz.core.time,
|
||||
com.raytheon.viz.core.slice,
|
||||
com.raytheon.viz.core.slice.request,
|
||||
com.raytheon.viz.core.units
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
|
|
|
@ -1,44 +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.uf.viz.core.datastructure;
|
||||
|
||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||
|
||||
/**
|
||||
* Abstract factory for creating data cubes
|
||||
*
|
||||
* <pre>
|
||||
* SOFTWARE HISTORY
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Nov 28, 2007 njensen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author njensen
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public abstract class AbstractDataCubeFactory {
|
||||
|
||||
public abstract DataCube construct(PluginDataObject[] pdos,
|
||||
DataCube.Mode mode) throws VizDataCubeException;
|
||||
|
||||
}
|
|
@ -1,667 +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.uf.viz.core.datastructure;
|
||||
|
||||
import java.awt.Point;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.measure.unit.Unit;
|
||||
|
||||
import org.geotools.coverage.grid.GeneralGridEnvelope;
|
||||
import org.geotools.coverage.grid.GridGeometry2D;
|
||||
import org.geotools.geometry.DirectPosition2D;
|
||||
import org.geotools.geometry.GeneralDirectPosition;
|
||||
import org.geotools.geometry.GeneralEnvelope;
|
||||
import org.geotools.geometry.jts.JTS;
|
||||
import org.opengis.geometry.DirectPosition;
|
||||
import org.opengis.geometry.MismatchedDimensionException;
|
||||
import org.opengis.referencing.FactoryException;
|
||||
import org.opengis.referencing.operation.MathTransform;
|
||||
import org.opengis.referencing.operation.TransformException;
|
||||
|
||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||
import com.raytheon.uf.common.geospatial.ISpatialObject;
|
||||
import com.raytheon.uf.common.geospatial.MapUtil;
|
||||
import com.raytheon.uf.common.geospatial.PointUtil;
|
||||
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.common.util.GridUtil;
|
||||
import com.raytheon.uf.viz.core.Activator;
|
||||
import com.raytheon.uf.viz.core.exception.VizException;
|
||||
import com.raytheon.uf.viz.core.interp.IInterpolation;
|
||||
import com.raytheon.uf.viz.core.interp.InterpolationRequest;
|
||||
import com.raytheon.uf.viz.core.interp.InterpolationResult;
|
||||
import com.raytheon.uf.viz.core.interp.PythonInterpolation;
|
||||
import com.raytheon.uf.viz.core.status.StatusConstants;
|
||||
import com.raytheon.uf.viz.core.style.level.SingleLevel;
|
||||
import com.raytheon.viz.core.slice.AbstractSlice;
|
||||
import com.raytheon.viz.core.slice.FloatSlice;
|
||||
import com.raytheon.viz.core.slice.ISliceable;
|
||||
import com.raytheon.viz.core.slice.request.SliceRequest;
|
||||
import com.raytheon.viz.core.slice.request.VerticalPlaneRequest;
|
||||
import com.raytheon.viz.core.slice.request.VerticalPointRequest;
|
||||
import com.raytheon.viz.core.slice.request.VerticalPointRequest.TimeDirection;
|
||||
import com.vividsolutions.jts.geom.Coordinate;
|
||||
import com.vividsolutions.jts.geom.Geometry;
|
||||
import com.vividsolutions.jts.geom.GeometryFactory;
|
||||
import com.vividsolutions.jts.geom.LineString;
|
||||
import com.vividsolutions.jts.geom.LinearRing;
|
||||
import com.vividsolutions.jts.geom.Polygon;
|
||||
|
||||
/**
|
||||
* 4 dimensional data cube that holds data in x, y, z, and time dimensions. All
|
||||
* data in the cube should be of the same parameter and grid geometry.
|
||||
*
|
||||
* <pre>
|
||||
* SOFTWARE HISTORY
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Nov 28, 2007 njensen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author njensen
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class DataCube implements ISliceable {
|
||||
private static final transient IUFStatusHandler statusHandler = UFStatus.getHandler(DataCube.class);
|
||||
|
||||
public enum Mode {
|
||||
EAGER, ON_DEMAND
|
||||
};
|
||||
|
||||
protected Mode mode;
|
||||
|
||||
protected String type;
|
||||
|
||||
protected String parameter;
|
||||
|
||||
protected Unit<?> units;
|
||||
|
||||
protected ISpatialObject spatialArea;
|
||||
|
||||
protected HashMap<DataCubeKey, Object> data = new HashMap<DataCubeKey, Object>();
|
||||
|
||||
// /** elevations */
|
||||
// private double lowerElevation;
|
||||
//
|
||||
// private double upperElevation;
|
||||
|
||||
protected MathTransform crsFromLatLon = null;
|
||||
|
||||
protected Polygon cubeGeometry;
|
||||
|
||||
public DataCube(String aType, Mode aMode) {
|
||||
type = aType;
|
||||
mode = aMode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AbstractSlice[] slice(SliceRequest request) throws VizException {
|
||||
AbstractSlice[] sliceArray = null;
|
||||
if (request instanceof VerticalPlaneRequest) {
|
||||
sliceArray = verticalPlaneSlice((VerticalPlaneRequest) request);
|
||||
} else if (request instanceof VerticalPointRequest) {
|
||||
sliceArray = verticalPointSlice((VerticalPointRequest) request);
|
||||
} else {
|
||||
throw new VizException(
|
||||
"Data cube does not yet support slice requests of type "
|
||||
+ request.getClass().getName());
|
||||
}
|
||||
|
||||
return sliceArray;
|
||||
}
|
||||
|
||||
protected AbstractSlice[] verticalPlaneSlice(VerticalPlaneRequest vReq)
|
||||
throws VizException {
|
||||
Point startPosition = null;
|
||||
Point endPosition = null;
|
||||
|
||||
GeometryFactory gf = new GeometryFactory();
|
||||
|
||||
LineString sliceReq = gf.createLineString(vReq.getCoordinates());
|
||||
try {
|
||||
sliceReq = (LineString) JTS.transform(sliceReq, crsFromLatLon);
|
||||
} catch (Exception e) {
|
||||
statusHandler.handle(Priority.PROBLEM,
|
||||
"Error converting slice coordinates", e);
|
||||
}
|
||||
|
||||
double totalDistance = sliceReq.getLength();
|
||||
|
||||
Geometry intersection = sliceReq.intersection(cubeGeometry);
|
||||
if (intersection == null || intersection.getCoordinates().length == 0) {
|
||||
System.out.println("No intersection");
|
||||
return null;
|
||||
}
|
||||
|
||||
List<Point> dataPoints = new ArrayList<Point>();
|
||||
List<Point> uniquePoints = new ArrayList<Point>();
|
||||
Coordinate[] coords = vReq.getCoordinates();
|
||||
for (int i = 0; i < coords.length - 1; ++i) {
|
||||
Coordinate start = coords[i];
|
||||
Coordinate end = coords[i + 1];
|
||||
|
||||
try {
|
||||
startPosition = PointUtil.determineIndex(start, spatialArea
|
||||
.getCrs(), MapUtil.getGridGeometry(spatialArea));
|
||||
endPosition = PointUtil.determineIndex(end, spatialArea
|
||||
.getCrs(), MapUtil.getGridGeometry(spatialArea));
|
||||
} catch (Exception e) {
|
||||
throw new VizException("Error determining index in grid.", e);
|
||||
}
|
||||
|
||||
// determine points in 2 dimensional grid space of the line
|
||||
ArrayList<Point> points = GridUtil.bresenham(startPosition,
|
||||
endPosition);
|
||||
|
||||
// TODO maybe fill in their values with interpolation
|
||||
// if the points are outside the grid, drop them
|
||||
List<Point> pointsToRemove = new ArrayList<Point>();
|
||||
for (Point c : points) {
|
||||
if (c.x < 0 || c.y < 0 || c.x >= spatialArea.getNx()
|
||||
|| c.y >= spatialArea.getNy()) {
|
||||
pointsToRemove.add(c);
|
||||
}
|
||||
}
|
||||
|
||||
points.removeAll(pointsToRemove);
|
||||
|
||||
for (Point p : points) {
|
||||
if (uniquePoints.contains(p) == false) {
|
||||
uniquePoints.add(p);
|
||||
}
|
||||
}
|
||||
|
||||
dataPoints.addAll(uniquePoints);
|
||||
}
|
||||
|
||||
int nPoints = dataPoints.size();
|
||||
|
||||
Coordinate[] sliceCoords = new Coordinate[dataPoints.size()];
|
||||
MathTransform gridToCrs = MapUtil.getGridGeometry(spatialArea)
|
||||
.getGridToCRS();
|
||||
MathTransform crsToLL;
|
||||
try {
|
||||
crsToLL = MapUtil.getTransformToLatLon(spatialArea.getCrs());
|
||||
} catch (FactoryException e) {
|
||||
throw new VizException(
|
||||
"Error Determining Coordinates of Grid Point.", e);
|
||||
}
|
||||
for (int i = 0; i < dataPoints.size(); i++) {
|
||||
Point p = dataPoints.get(i);
|
||||
DirectPosition2D result = new DirectPosition2D();
|
||||
try {
|
||||
DirectPosition2D crsDP = new DirectPosition2D();
|
||||
gridToCrs.transform(new DirectPosition2D(p.x, p.y), crsDP);
|
||||
crsToLL.transform(crsDP, result);
|
||||
} catch (Exception e) {
|
||||
throw new VizException(
|
||||
"Error Determining Coordinates of Grid Point.", e);
|
||||
}
|
||||
sliceCoords[i] = new Coordinate(result.x, result.y);
|
||||
}
|
||||
|
||||
SingleLevel[] reqLevels = vReq.getLevels();
|
||||
Arrays.sort(reqLevels);
|
||||
|
||||
double lowestLevel = Math.min(reqLevels[0].getValue(),
|
||||
reqLevels[reqLevels.length - 1].getValue());
|
||||
double highestLevel = Math.max(reqLevels[0].getValue(),
|
||||
reqLevels[reqLevels.length - 1].getValue());
|
||||
// TODO fix max distance when slice req endpoints are outside datacube
|
||||
GeneralEnvelope env = new GeneralEnvelope(
|
||||
new double[] { 0, lowestLevel }, new double[] { totalDistance,
|
||||
highestLevel });
|
||||
GeneralGridEnvelope range = new GeneralGridEnvelope(new int[] { 0, 0 },
|
||||
new int[] { nPoints, reqLevels.length }, false);
|
||||
|
||||
// create a slice for each time
|
||||
ArrayList<AbstractSlice> sliceList = new ArrayList<AbstractSlice>();
|
||||
for (DataTime time : vReq.getTimes()) {
|
||||
GridGeometry2D sliceGeom = new GridGeometry2D(range, env);
|
||||
FloatSlice slice = new FloatSlice();
|
||||
slice = new FloatSlice();
|
||||
slice.setGridGeometry(sliceGeom);
|
||||
|
||||
int dataLength = nPoints * reqLevels.length;
|
||||
PluginDataObject[] organizedData = new PluginDataObject[reqLevels.length];
|
||||
int n = 0;
|
||||
for (int i = 0; i < reqLevels.length; i++) {
|
||||
organizedData[n] = (PluginDataObject) data.get(new DataCubeKey(
|
||||
time, reqLevels[i]));
|
||||
n++;
|
||||
}
|
||||
|
||||
// retrieve the organized data values
|
||||
float[] result = new float[dataLength];
|
||||
if (mode == Mode.EAGER) {
|
||||
// determine indices in 1 dimensional grid space of the line
|
||||
int[] indices = new int[nPoints];
|
||||
for (int i = 0; i < nPoints; i++) {
|
||||
Point point = dataPoints.get(i);
|
||||
indices[i] = point.y * spatialArea.getNx() + point.x;
|
||||
}
|
||||
|
||||
float[] sliceLevelData = new float[nPoints];
|
||||
for (int i = 0; i < organizedData.length; i++) {
|
||||
float[] levelData = ((float[]) organizedData[i]
|
||||
.getMessageData());
|
||||
for (int k = 0; k < nPoints; k++) {
|
||||
sliceLevelData[k] = levelData[indices[k]];
|
||||
}
|
||||
|
||||
System.arraycopy(sliceLevelData, 0, result, i * nPoints,
|
||||
nPoints);
|
||||
}
|
||||
} else if (mode == Mode.ON_DEMAND) {
|
||||
float[] tmp = CubeUtil
|
||||
.retrieveData(organizedData, uniquePoints);
|
||||
if (dataPoints.size() != uniquePoints.size()) {
|
||||
result = new float[dataPoints.size() * organizedData.length];
|
||||
for (int i = 0; i < dataPoints.size(); ++i) {
|
||||
int idx = uniquePoints.indexOf(dataPoints.get(i));
|
||||
for (int j = 0; j < organizedData.length; ++j) {
|
||||
result[i + j * dataPoints.size()] = tmp[idx + j
|
||||
* uniquePoints.size()];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
result = tmp;
|
||||
}
|
||||
}
|
||||
|
||||
InterpolationRequest request = vReq.getRequest();
|
||||
float[] xValues = new float[sliceGeom.getGridRange2D().width];
|
||||
for (int i = 0; i < xValues.length; ++i) {
|
||||
xValues[i] = i;
|
||||
}
|
||||
request.setXData(xValues);
|
||||
request.setMinX(0);
|
||||
request.setMaxX(xValues[xValues.length - 1]);
|
||||
request.setZData(result);
|
||||
scaleData(request);
|
||||
|
||||
float interpFactor = 1.0f;
|
||||
IInterpolation interp = new PythonInterpolation(vReq.getScale());
|
||||
InterpolationResult iResults = interp.interpolate(request);
|
||||
result = iResults.getValues();
|
||||
|
||||
sliceGeom = iResults.getGeometry();
|
||||
slice.setGridGeometry(sliceGeom);
|
||||
slice.setInterpolationFactor(interpFactor);
|
||||
slice.setSliceData(result);
|
||||
slice.setDataTime(new DataTime[] { time });
|
||||
slice.setLevels(vReq.getLevels());
|
||||
slice.setCoordinates(sliceCoords);
|
||||
sliceList.add(slice);
|
||||
}
|
||||
|
||||
return sliceList.toArray(new AbstractSlice[sliceList.size()]);
|
||||
}
|
||||
|
||||
protected AbstractSlice[] verticalPointSlice(VerticalPointRequest vReq)
|
||||
throws VizException {
|
||||
if (!this.contains(vReq.getCoordinate())) {
|
||||
return new AbstractSlice[0];
|
||||
}
|
||||
|
||||
Point position = null;
|
||||
try {
|
||||
position = PointUtil.determineIndex(vReq.getCoordinate(),
|
||||
spatialArea.getCrs(), MapUtil.getGridGeometry(spatialArea));
|
||||
} catch (Exception e) {
|
||||
throw new VizException("Error determining index in grid.", e);
|
||||
}
|
||||
|
||||
DataTime[] times = vReq.getTimes();
|
||||
Arrays.sort(times);
|
||||
int nPoints = times.length;
|
||||
|
||||
double earliestTime = times[0].getValidTime().getTimeInMillis();
|
||||
|
||||
SingleLevel[] reqLevels = vReq.getLevels();
|
||||
Arrays.sort(reqLevels);
|
||||
|
||||
double lowestLevel = Math.min(reqLevels[0].getValue(),
|
||||
reqLevels[reqLevels.length - 1].getValue());
|
||||
double highestLevel = Math.max(reqLevels[0].getValue(),
|
||||
reqLevels[reqLevels.length - 1].getValue());
|
||||
GeneralEnvelope env = new GeneralEnvelope(
|
||||
new double[] { 0, lowestLevel }, new double[] { earliestTime,
|
||||
highestLevel });
|
||||
GeneralGridEnvelope range = new GeneralGridEnvelope(new int[] { 0, 0 },
|
||||
new int[] { nPoints, reqLevels.length }, false);
|
||||
GridGeometry2D sliceGeom = new GridGeometry2D(range, env);
|
||||
|
||||
ArrayList<AbstractSlice> sliceList = new ArrayList<AbstractSlice>();
|
||||
FloatSlice slice = new FloatSlice();
|
||||
slice = new FloatSlice();
|
||||
slice.setGridGeometry(sliceGeom);
|
||||
int dataLength = nPoints * reqLevels.length;
|
||||
|
||||
PluginDataObject[] organizedData = new PluginDataObject[dataLength];
|
||||
|
||||
int n = 0;
|
||||
for (int i = 0; i < reqLevels.length; i++) {
|
||||
if (vReq.getTimeDirection() == TimeDirection.LEFT_TO_RIGHT) {
|
||||
for (int k = 0; k < times.length; k++) {
|
||||
organizedData[n] = (PluginDataObject) data
|
||||
.get(new DataCubeKey(times[k], reqLevels[i]));
|
||||
n++;
|
||||
}
|
||||
} else if (vReq.getTimeDirection() == TimeDirection.RIGHT_TO_LEFT) {
|
||||
for (int k = times.length - 1; k > -1; k--) {
|
||||
organizedData[n] = (PluginDataObject) data
|
||||
.get(new DataCubeKey(times[k], reqLevels[i]));
|
||||
n++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
float[] result = new float[dataLength];
|
||||
if (mode == Mode.EAGER) {
|
||||
// determine indices in 1 dimensional grid space of the line
|
||||
int index = position.y * spatialArea.getNx() + position.x;
|
||||
|
||||
for (int i = 0; i < dataLength; i++) {
|
||||
result[i] = ((float[]) organizedData[i].getMessageData())[index];
|
||||
}
|
||||
} else if (mode == Mode.ON_DEMAND) {
|
||||
result = CubeUtil.retrieveData(organizedData, position.x,
|
||||
position.y);
|
||||
}
|
||||
|
||||
InterpolationRequest request = vReq.getRequest();
|
||||
if (request != null) {
|
||||
float[] xValues = new float[sliceGeom.getGridRange2D().width];
|
||||
for (int i = 0; i < xValues.length; ++i) {
|
||||
xValues[i] = i;
|
||||
}
|
||||
request.setXData(xValues);
|
||||
request.setMinX(0);
|
||||
request.setMaxX(xValues[xValues.length - 1]);
|
||||
request.setZData(result);
|
||||
scaleData(request);
|
||||
|
||||
IInterpolation interp = new PythonInterpolation(vReq.getScale());
|
||||
InterpolationResult iResults = interp.interpolate(request);
|
||||
result = iResults.getValues();
|
||||
|
||||
sliceGeom = iResults.getGeometry();
|
||||
}
|
||||
|
||||
slice.setGridGeometry(sliceGeom);
|
||||
slice.setSliceData(result);
|
||||
slice.setDataTime(times);
|
||||
slice.setLevels(vReq.getLevels());
|
||||
sliceList.add(slice);
|
||||
|
||||
return sliceList.toArray(new AbstractSlice[sliceList.size()]);
|
||||
}
|
||||
|
||||
public void addData(DataTime aTime, SingleLevel aLevel, Object aData) {
|
||||
DataCubeKey key = new DataCubeKey(aTime, aLevel);
|
||||
data.put(key, aData);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the parameter
|
||||
*/
|
||||
public String getParameter() {
|
||||
return parameter;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param parameter
|
||||
* the parameter to set
|
||||
*/
|
||||
public void setParameter(String parameter) {
|
||||
this.parameter = parameter;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the spatialArea
|
||||
*/
|
||||
public ISpatialObject getSpatialArea() {
|
||||
return spatialArea;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param spatialArea
|
||||
* the spatialArea to set
|
||||
*/
|
||||
public void setSpatialArea(ISpatialObject spatialArea) {
|
||||
this.spatialArea = spatialArea;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the data levels
|
||||
*
|
||||
* @param sort
|
||||
* returned levels are in ascending order
|
||||
* @return
|
||||
*/
|
||||
public SingleLevel[] getAvailableLevels(boolean sort) {
|
||||
Set<SingleLevel> set = new HashSet<SingleLevel>();
|
||||
Set<DataCubeKey> cubeKeys = data.keySet();
|
||||
for (DataCubeKey key : cubeKeys) {
|
||||
set.add(key.getLevel());
|
||||
}
|
||||
SingleLevel[] levels = set.toArray(new SingleLevel[set.size()]);
|
||||
|
||||
if (sort) {
|
||||
Arrays.sort(levels);
|
||||
}
|
||||
return levels;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the available times
|
||||
*
|
||||
* @param sort
|
||||
* returned data times are in ascending order
|
||||
* @return
|
||||
*/
|
||||
public DataTime[] getAvailableTimes(boolean sort) {
|
||||
Set<DataTime> set = new HashSet<DataTime>();
|
||||
Set<DataCubeKey> cubeKeys = data.keySet();
|
||||
for (DataCubeKey key : cubeKeys) {
|
||||
set.add(key.getTime());
|
||||
}
|
||||
|
||||
DataTime[] times = set.toArray(new DataTime[set.size()]);
|
||||
if (sort) {
|
||||
Arrays.sort(times);
|
||||
}
|
||||
return times;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the units
|
||||
*/
|
||||
public Unit<?> getUnits() {
|
||||
return units;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param units
|
||||
* the units to set
|
||||
*/
|
||||
public void setUnits(Unit<?> units) {
|
||||
this.units = units;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the raw data for all levels
|
||||
*/
|
||||
public Object getData(DataTime time) {
|
||||
SingleLevel[] levels = getAvailableLevels(true);
|
||||
DataTime[] times = getAvailableTimes(false);
|
||||
Arrays.sort(times);
|
||||
int index = 0;
|
||||
for (DataTime d : times) {
|
||||
if (d.equals(time)) {
|
||||
break;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
|
||||
float[] cubeData = (float[]) ((PluginDataObject) data
|
||||
.get(new DataCubeKey(times[index], levels[0])))
|
||||
.getMessageData();
|
||||
|
||||
float[][] theData = new float[levels.length][cubeData.length];
|
||||
|
||||
for (int i = 0; i < levels.length; ++i) {
|
||||
cubeData = (float[]) ((PluginDataObject) this.data
|
||||
.get(new DataCubeKey(times[index], levels[i])))
|
||||
.getMessageData();
|
||||
|
||||
System.arraycopy(cubeData, 0, theData[i], 0, cubeData.length);
|
||||
}
|
||||
|
||||
return theData;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if coordinate is inside the data cube
|
||||
*
|
||||
* @param c
|
||||
* @return
|
||||
*/
|
||||
public boolean contains(Coordinate c) {
|
||||
DirectPosition ll = new GeneralDirectPosition(MapUtil.LATLON_PROJECTION);
|
||||
ll.setOrdinate(0, c.x);
|
||||
ll.setOrdinate(1, c.y);
|
||||
DirectPosition crs = new GeneralDirectPosition(spatialArea.getCrs());
|
||||
try {
|
||||
crsFromLatLon.transform(ll, crs);
|
||||
} catch (MismatchedDimensionException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (TransformException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
Coordinate newC = new Coordinate(crs.getOrdinate(0), crs.getOrdinate(1));
|
||||
|
||||
GeometryFactory gf = new GeometryFactory();
|
||||
com.vividsolutions.jts.geom.Point p = gf.createPoint(newC);
|
||||
|
||||
return this.cubeGeometry.contains(p);
|
||||
}
|
||||
|
||||
public void initGeometry() {
|
||||
|
||||
try {
|
||||
crsFromLatLon = MapUtil
|
||||
.getTransformFromLatLon(spatialArea.getCrs());
|
||||
} catch (FactoryException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
DirectPosition lowerCorner = MapUtil.getGridGeometry(spatialArea)
|
||||
.getEnvelope().getLowerCorner();
|
||||
DirectPosition upperCorner = MapUtil.getGridGeometry(spatialArea)
|
||||
.getEnvelope().getUpperCorner();
|
||||
|
||||
GeometryFactory gf = new GeometryFactory();
|
||||
|
||||
Coordinate p1 = new Coordinate(lowerCorner.getOrdinate(0), lowerCorner
|
||||
.getOrdinate(1));
|
||||
Coordinate p2 = new Coordinate(lowerCorner.getOrdinate(0), upperCorner
|
||||
.getOrdinate(1));
|
||||
Coordinate p3 = new Coordinate(upperCorner.getOrdinate(0), upperCorner
|
||||
.getOrdinate(1));
|
||||
Coordinate p4 = new Coordinate(upperCorner.getOrdinate(0), lowerCorner
|
||||
.getOrdinate(1));
|
||||
|
||||
LinearRing lr = gf.createLinearRing(new Coordinate[] { p1, p2, p3, p4,
|
||||
p1 });
|
||||
|
||||
cubeGeometry = gf.createPolygon(lr, null);
|
||||
|
||||
}
|
||||
|
||||
private void scaleData(InterpolationRequest request)
|
||||
throws VizDataCubeException {
|
||||
int maxPoints = 1000;
|
||||
float[] xData = request.getXData();
|
||||
float[] yData = request.getYData();
|
||||
float[] zValues = request.getZData();
|
||||
int xlen = xData.length;
|
||||
int ylen = yData.length;
|
||||
int totalSize = xlen * ylen;
|
||||
float inc = totalSize / maxPoints;
|
||||
Set<Integer> keep = new HashSet<Integer>();
|
||||
|
||||
if (inc > 1) {
|
||||
keep.add(0);
|
||||
for (int i = (int) inc; i < totalSize && keep.size() < maxPoints; i += inc) {
|
||||
keep.add(i);
|
||||
}
|
||||
totalSize = maxPoints;
|
||||
}
|
||||
int skipped = 0;
|
||||
float[] tmpZ = new float[totalSize];
|
||||
float[] tmpX = new float[totalSize];
|
||||
float[] tmpY = new float[totalSize];
|
||||
int actualSize = 0;
|
||||
for (int i = 0; i < yData.length; ++i) {
|
||||
for (int j = 0; j < xData.length; ++j) {
|
||||
int index = i * xData.length + j;
|
||||
if ((inc <= 1 || keep.contains(index))
|
||||
&& (zValues[index] > CubeUtil.MISSING)) {
|
||||
tmpX[index - skipped] = xData[j];
|
||||
tmpY[index - skipped] = yData[i];
|
||||
tmpZ[index - skipped] = zValues[index];
|
||||
++actualSize;
|
||||
} else {
|
||||
skipped++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (actualSize == 0) {
|
||||
throw new VizDataCubeException(
|
||||
"No Valid data found for interpolation");
|
||||
}
|
||||
zValues = new float[actualSize];
|
||||
xData = new float[actualSize];
|
||||
yData = new float[actualSize];
|
||||
System.arraycopy(tmpZ, 0, zValues, 0, actualSize);
|
||||
System.arraycopy(tmpX, 0, xData, 0, actualSize);
|
||||
System.arraycopy(tmpY, 0, yData, 0, actualSize);
|
||||
|
||||
request.setXData(xData);
|
||||
request.setYData(yData);
|
||||
request.setZData(zValues);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,47 +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.uf.viz.core.rsc.capabilities;
|
||||
|
||||
import com.raytheon.uf.viz.core.exception.VizException;
|
||||
import com.raytheon.viz.core.slice.AbstractSlice;
|
||||
import com.raytheon.viz.core.slice.request.SliceRequest;
|
||||
|
||||
/**
|
||||
* Interface for sliceable resources
|
||||
*
|
||||
* <pre>
|
||||
* SOFTWARE HISTORY
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Nov 29, 2007 njensen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author njensen
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public interface ISliceableResource {
|
||||
|
||||
public void slice(SliceRequest request) throws VizException;
|
||||
|
||||
public AbstractSlice getSlice();
|
||||
|
||||
}
|
|
@ -1,138 +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.core.slice;
|
||||
|
||||
import org.opengis.coverage.grid.GridGeometry;
|
||||
|
||||
import com.raytheon.uf.common.time.DataTime;
|
||||
import com.raytheon.uf.viz.core.interp.InterpolationResult;
|
||||
import com.raytheon.uf.viz.core.style.level.SingleLevel;
|
||||
import com.vividsolutions.jts.geom.Coordinate;
|
||||
|
||||
/**
|
||||
* A slice of data
|
||||
*
|
||||
* <pre>
|
||||
* SOFTWARE HISTORY
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Nov 28, 2007 njensen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author njensen
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public abstract class AbstractSlice {
|
||||
|
||||
protected GridGeometry gridGeometry;
|
||||
|
||||
protected DataTime[] dataTimes;
|
||||
|
||||
protected float interpolationFactor = 1.0f;
|
||||
|
||||
protected SingleLevel[] levels;
|
||||
|
||||
protected InterpolationResult interpResult;
|
||||
|
||||
protected Coordinate[] coordinates;
|
||||
|
||||
public abstract Object getSliceData();
|
||||
|
||||
public abstract void setSliceData(Object data);
|
||||
|
||||
public InterpolationResult getInterpResult() {
|
||||
return interpResult;
|
||||
}
|
||||
|
||||
public void setInterpResult(InterpolationResult interpResult) {
|
||||
this.interpResult = interpResult;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the gridGeometry
|
||||
*/
|
||||
public GridGeometry getGridGeometry() {
|
||||
return gridGeometry;
|
||||
}
|
||||
|
||||
public void setLevels(SingleLevel[] levels) {
|
||||
this.levels = levels;
|
||||
}
|
||||
|
||||
public SingleLevel[] getLevels() {
|
||||
return this.levels;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param gridGeometry
|
||||
* the gridGeometry to set
|
||||
*/
|
||||
public void setGridGeometry(GridGeometry gridGeometry) {
|
||||
this.gridGeometry = gridGeometry;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the dataTime
|
||||
*/
|
||||
public DataTime[] getDataTime() {
|
||||
return dataTimes;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param dataTime
|
||||
* the dataTime to set
|
||||
*/
|
||||
public void setDataTime(DataTime[] dataTimes) {
|
||||
this.dataTimes = dataTimes;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the interpolationFactor
|
||||
*/
|
||||
public float getInterpolationFactor() {
|
||||
return interpolationFactor;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param interpolationFactor
|
||||
* the interpolationFactor to set
|
||||
*/
|
||||
public void setInterpolationFactor(float interpolationFactor) {
|
||||
this.interpolationFactor = interpolationFactor;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the coordinates
|
||||
*/
|
||||
public Coordinate[] getCoordinates() {
|
||||
return coordinates;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param coordinates
|
||||
* the coordinates to set
|
||||
*/
|
||||
public void setCoordinates(Coordinate[] coordinates) {
|
||||
this.coordinates = coordinates;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,56 +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.core.slice;
|
||||
|
||||
/**
|
||||
* A slice of data where the data is floats
|
||||
*
|
||||
* <pre>
|
||||
* SOFTWARE HISTORY
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Nov 28, 2007 njensen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author njensen
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class FloatSlice extends AbstractSlice {
|
||||
|
||||
protected float[] sliceData;
|
||||
|
||||
/**
|
||||
* @return the sliceData
|
||||
*/
|
||||
public float[] getSliceData() {
|
||||
return sliceData;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param sliceData
|
||||
* the sliceData to set
|
||||
*/
|
||||
public void setSliceData(Object sliceData) {
|
||||
this.sliceData = (float[]) sliceData;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,52 +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.core.slice;
|
||||
|
||||
import com.raytheon.uf.viz.core.exception.VizException;
|
||||
import com.raytheon.viz.core.slice.request.SliceRequest;
|
||||
|
||||
/**
|
||||
* Interface for sliceable data
|
||||
*
|
||||
* <pre>
|
||||
* SOFTWARE HISTORY
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Nov 28, 2007 njensen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author njensen
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public interface ISliceable {
|
||||
|
||||
/**
|
||||
* Slices data, returning an AbstractSlice for each time requested
|
||||
*
|
||||
* @param aRequest
|
||||
* the slice request
|
||||
* @return a slice for each time
|
||||
* @throws VizException
|
||||
*/
|
||||
public AbstractSlice[] slice(SliceRequest aRequest) throws VizException;
|
||||
|
||||
}
|
|
@ -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.core.slice.request;
|
||||
|
||||
import com.raytheon.uf.common.time.DataTime;
|
||||
import com.raytheon.uf.viz.core.interp.InterpolationRequest;
|
||||
|
||||
/**
|
||||
* A request to slice data
|
||||
*
|
||||
* <pre>
|
||||
* SOFTWARE HISTORY
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Nov 28, 2007 njensen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author njensen
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public abstract class SliceRequest {
|
||||
|
||||
protected DataTime[] times;
|
||||
|
||||
protected InterpolationRequest request;
|
||||
|
||||
/**
|
||||
* @return the times
|
||||
*/
|
||||
public DataTime[] getTimes() {
|
||||
return times;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param times
|
||||
* the times to set
|
||||
*/
|
||||
public void setTimes(DataTime[] times) {
|
||||
this.times = times;
|
||||
}
|
||||
|
||||
public InterpolationRequest getRequest() {
|
||||
return request;
|
||||
}
|
||||
|
||||
public void setRequest(InterpolationRequest request) {
|
||||
this.request = request;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,60 +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.core.slice.request;
|
||||
|
||||
import com.vividsolutions.jts.geom.Coordinate;
|
||||
|
||||
/**
|
||||
* Slice request for a vertical plane (i.e. cross section). The results returned
|
||||
* from this slice contain grids where y represents the height in the atmosphere
|
||||
* and x represents point on a line on the earth.
|
||||
*
|
||||
* <pre>
|
||||
* SOFTWARE HISTORY
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Nov 28, 2007 njensen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author njensen
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class VerticalPlaneRequest extends VerticalRequest {
|
||||
|
||||
protected Coordinate[] coordinates;
|
||||
|
||||
/**
|
||||
* @return the startCoordinate
|
||||
*/
|
||||
public Coordinate[] getCoordinates() {
|
||||
return coordinates;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param startCoordinate
|
||||
* the startCoordinate to set
|
||||
*/
|
||||
public void setCoordinates(Coordinate[] coordinates) {
|
||||
this.coordinates = coordinates;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,81 +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.core.slice.request;
|
||||
|
||||
import com.vividsolutions.jts.geom.Coordinate;
|
||||
|
||||
/**
|
||||
* Slice request for data at a single point at multiple heights and times.
|
||||
* Slices returned from this contain grids where y represents the height in the
|
||||
* atmosphere and x represents successive data times.
|
||||
*
|
||||
* <pre>
|
||||
* SOFTWARE HISTORY
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Dec 11, 2007 njensen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author njensen
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class VerticalPointRequest extends VerticalRequest {
|
||||
|
||||
public enum TimeDirection {
|
||||
RIGHT_TO_LEFT, LEFT_TO_RIGHT
|
||||
};
|
||||
|
||||
protected Coordinate coordinate;
|
||||
|
||||
protected TimeDirection timeDirection = TimeDirection.LEFT_TO_RIGHT;
|
||||
|
||||
/**
|
||||
* @return the coordinate
|
||||
*/
|
||||
public Coordinate getCoordinate() {
|
||||
return coordinate;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param coordinate
|
||||
* the coordinate to set
|
||||
*/
|
||||
public void setCoordinate(Coordinate coordinate) {
|
||||
this.coordinate = coordinate;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the timeDirection
|
||||
*/
|
||||
public TimeDirection getTimeDirection() {
|
||||
return timeDirection;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param timeDirection
|
||||
* the timeDirection to set
|
||||
*/
|
||||
public void setTimeDirection(TimeDirection timeDirection) {
|
||||
this.timeDirection = timeDirection;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,76 +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.core.slice.request;
|
||||
|
||||
import com.raytheon.uf.viz.core.style.level.SingleLevel;
|
||||
import com.raytheon.viz.core.slice.request.HeightScale.ScaleType;
|
||||
|
||||
/**
|
||||
* Slice request for vertical representation of data
|
||||
*
|
||||
* <pre>
|
||||
* SOFTWARE HISTORY
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Dec 11, 2007 njensen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author njensen
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public abstract class VerticalRequest extends SliceRequest {
|
||||
|
||||
protected SingleLevel[] levels;
|
||||
|
||||
protected ScaleType scale;
|
||||
|
||||
/**
|
||||
* @return the levels
|
||||
*/
|
||||
public SingleLevel[] getLevels() {
|
||||
return levels;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param levels
|
||||
* the levels to set
|
||||
*/
|
||||
public void setLevels(SingleLevel[] levels) {
|
||||
this.levels = levels;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the scale
|
||||
*/
|
||||
public ScaleType getScale() {
|
||||
return scale;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param scale
|
||||
* the scale to set
|
||||
*/
|
||||
public void setScale(ScaleType scale) {
|
||||
this.scale = scale;
|
||||
}
|
||||
|
||||
}
|
|
@ -16,10 +16,10 @@
|
|||
<license url="http://www.example.com/license">
|
||||
[Enter License Description here.]
|
||||
</license>
|
||||
|
||||
|
||||
<requires>
|
||||
<import feature="com.raytheon.uf.viz.common.core.feature" version="1.0.0.qualifier" />
|
||||
<import feature="com.raytheon.uf.viz.core.feature" version="1.0.0.qualifier" />
|
||||
<import feature="com.raytheon.uf.viz.base.feature" version="1.0.0.qualifier"/>
|
||||
<import feature="com.raytheon.uf.common.base.feature" version="1.0.0.qualifier"/>
|
||||
</requires>
|
||||
|
||||
<plugin
|
||||
|
|
|
@ -6,31 +6,26 @@ Bundle-Version: 1.12.1174.qualifier
|
|||
Bundle-Activator: com.raytheon.uf.viz.sounding.Activator
|
||||
Bundle-Vendor: RAYTHEON
|
||||
Require-Bundle: org.eclipse.core.runtime,
|
||||
javax.measure;bundle-version="1.0.0",
|
||||
com.raytheon.edex.common;bundle-version="1.11.17",
|
||||
com.raytheon.uf.common.sounding;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.sounding;bundle-version="1.12.1174";visibility:=reexport,
|
||||
com.raytheon.uf.common.status;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.pointdata;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.datastorage;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataquery;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.dataplugin.grid;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.dataplugin.goessounding;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.dataplugin.poessounding;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.dataplugin.profiler;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.topo;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.parameter;bundle-version="1.0.0",
|
||||
com.raytheon.uf.viz.acarssounding;bundle-version="1.12.1174"
|
||||
com.raytheon.viz.pointdata;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.viz.core;bundle-version="1.12.1174",
|
||||
com.raytheon.edex.meteolib;bundle-version="1.12.1174",
|
||||
com.raytheon.edex.plugin.modelsounding;bundle-version="1.12.1174",
|
||||
javax.measure;bundle-version="1.0.0"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Eclipse-BuddyPolicy: registered
|
||||
Export-Package: com.raytheon.uf.viz.sounding,
|
||||
com.raytheon.uf.viz.sounding.adapters
|
||||
Import-Package: com.raytheon.edex.meteoLib,
|
||||
com.raytheon.edex.plugin.modelsounding.common,
|
||||
com.raytheon.uf.common.dataplugin,
|
||||
com.raytheon.uf.common.dataplugin.goessounding,
|
||||
com.raytheon.uf.common.dataplugin.poessounding,
|
||||
com.raytheon.uf.common.dataplugin.profiler,
|
||||
com.raytheon.uf.common.geospatial,
|
||||
com.raytheon.uf.common.pointdata,
|
||||
com.raytheon.uf.common.pointdata.spatial,
|
||||
com.raytheon.uf.common.status,
|
||||
com.raytheon.uf.common.time,
|
||||
com.raytheon.uf.viz.core.datastructure,
|
||||
com.raytheon.uf.viz.core.exception,
|
||||
com.raytheon.uf.viz.core.status,
|
||||
com.raytheon.viz.core.map,
|
||||
com.raytheon.viz.pointdata
|
||||
Import-Package: com.raytheon.viz.core.map
|
||||
|
|
|
@ -53,10 +53,5 @@
|
|||
class="com.raytheon.uf.common.dataplugin.radar.RadarRecord"
|
||||
name="VwpSoundingAdapter">
|
||||
</verticalSoundingAdapter>
|
||||
<verticalSoundingAdapter
|
||||
adapter="com.raytheon.uf.viz.acarssounding.AcarsSoundingAdapter"
|
||||
class="com.raytheon.uf.common.dataplugin.acarssounding.ACARSSoundingRecord"
|
||||
name="AcarsSoundingAdapter">
|
||||
</verticalSoundingAdapter>
|
||||
</extension>
|
||||
</plugin>
|
||||
|
|
|
@ -34,7 +34,6 @@ import com.raytheon.uf.viz.xy.map.rsc.IGraphableResource;
|
|||
import com.raytheon.uf.viz.xy.timeheight.graph.TimeHeightGraph;
|
||||
import com.raytheon.uf.viz.xy.timeheight.rsc.AbstractTimeHeightResource;
|
||||
import com.raytheon.viz.core.slice.request.HeightScale;
|
||||
import com.raytheon.viz.core.slice.request.VerticalPointRequest.TimeDirection;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
|
@ -57,6 +56,10 @@ public class TimeHeightDescriptor extends XyGraphDescriptor {
|
|||
|
||||
public static final int REAL_FRAME_COUNT_TO_USE_WHEN_FRAME_COUNT_IS_ONE = 999;
|
||||
|
||||
public static enum TimeDirection {
|
||||
RIGHT_TO_LEFT, LEFT_TO_RIGHT;
|
||||
}
|
||||
|
||||
@XmlAttribute
|
||||
public TimeDirection timeDirection;
|
||||
|
||||
|
|
|
@ -39,10 +39,10 @@ import com.raytheon.uf.viz.d2d.ui.AbstractHeightDisplay;
|
|||
import com.raytheon.uf.viz.xy.map.rsc.GraphResource;
|
||||
import com.raytheon.uf.viz.xy.map.rsc.GraphResourceData;
|
||||
import com.raytheon.uf.viz.xy.map.rsc.GraphResourceData.OverlayMode;
|
||||
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightDescriptor.TimeDirection;
|
||||
import com.raytheon.viz.core.imagery.ImageCombiner;
|
||||
import com.raytheon.viz.core.slice.request.HeightScale;
|
||||
import com.raytheon.viz.core.slice.request.HeightScales;
|
||||
import com.raytheon.viz.core.slice.request.VerticalPointRequest;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
|
@ -63,6 +63,7 @@ import com.raytheon.viz.core.slice.request.VerticalPointRequest;
|
|||
@XmlAccessorType(XmlAccessType.NONE)
|
||||
@XmlRootElement
|
||||
public class TimeHeightRenderableDisplay extends AbstractHeightDisplay {
|
||||
|
||||
private static final transient IUFStatusHandler statusHandler = UFStatus
|
||||
.getHandler(TimeHeightRenderableDisplay.class);
|
||||
|
||||
|
@ -106,8 +107,8 @@ public class TimeHeightRenderableDisplay extends AbstractHeightDisplay {
|
|||
getDescriptor().setHeightScale(scale);
|
||||
}
|
||||
|
||||
public void setTimeDirection(VerticalPointRequest.TimeDirection direction) {
|
||||
((TimeHeightDescriptor) getDescriptor()).setTimeDirection(direction);
|
||||
public void setTimeDirection(TimeDirection direction) {
|
||||
getDescriptor().setTimeDirection(direction);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -37,10 +37,10 @@ import com.raytheon.uf.viz.xy.graph.axis.LogarithmicAxisPlacer;
|
|||
import com.raytheon.uf.viz.xy.graph.labeling.IGraphLabel;
|
||||
import com.raytheon.uf.viz.xy.map.rsc.IGraphableResource;
|
||||
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightDescriptor;
|
||||
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightDescriptor.TimeDirection;
|
||||
import com.raytheon.uf.viz.xy.timeheight.rsc.AbstractTimeHeightResource;
|
||||
import com.raytheon.viz.core.slice.request.HeightScale;
|
||||
import com.raytheon.viz.core.slice.request.HeightScale.ScaleType;
|
||||
import com.raytheon.viz.core.slice.request.VerticalPointRequest.TimeDirection;
|
||||
import com.vividsolutions.jts.geom.Coordinate;
|
||||
|
||||
/**
|
||||
|
|
|
@ -60,6 +60,7 @@ import com.raytheon.uf.viz.xy.map.rsc.IGraphableResource;
|
|||
import com.raytheon.uf.viz.xy.map.rsc.IInsetMapResource;
|
||||
import com.raytheon.uf.viz.xy.map.rsc.PointRenderable;
|
||||
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightDescriptor;
|
||||
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightDescriptor.TimeDirection;
|
||||
import com.raytheon.uf.viz.xy.varheight.adapter.AbstractVarHeightAdapter;
|
||||
import com.raytheon.viz.core.graphing.util.GraphPrefsFactory;
|
||||
import com.raytheon.viz.core.graphing.xy.XYData;
|
||||
|
@ -67,7 +68,6 @@ import com.raytheon.viz.core.map.GeoUtil;
|
|||
import com.raytheon.viz.core.rsc.ICombinedResourceData;
|
||||
import com.raytheon.viz.core.rsc.ICombinedResourceData.CombineOperation;
|
||||
import com.raytheon.viz.core.slice.request.HeightScale;
|
||||
import com.raytheon.viz.core.slice.request.VerticalPointRequest.TimeDirection;
|
||||
import com.vividsolutions.jts.geom.Geometry;
|
||||
|
||||
/**
|
||||
|
|
|
@ -51,11 +51,11 @@ import com.raytheon.uf.viz.core.style.VizStyleException;
|
|||
import com.raytheon.uf.viz.xy.InterpUtils;
|
||||
import com.raytheon.uf.viz.xy.graph.IGraph;
|
||||
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightDescriptor;
|
||||
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightDescriptor.TimeDirection;
|
||||
import com.raytheon.uf.viz.xy.varheight.adapter.AbstractVarHeightAdapter;
|
||||
import com.raytheon.viz.core.contours.util.VectorGraphicsRenderable;
|
||||
import com.raytheon.viz.core.graphing.xy.XYData;
|
||||
import com.raytheon.viz.core.graphing.xy.XYWindImageData;
|
||||
import com.raytheon.viz.core.slice.request.VerticalPointRequest.TimeDirection;
|
||||
import com.raytheon.viz.core.style.arrow.ArrowPreferences;
|
||||
import com.vividsolutions.jts.geom.Coordinate;
|
||||
|
||||
|
|
|
@ -5,119 +5,48 @@ Bundle-SymbolicName: com.raytheon.viz.radar;singleton:=true
|
|||
Bundle-Version: 1.12.1174.qualifier
|
||||
Bundle-Activator: com.raytheon.viz.radar.Activator
|
||||
Bundle-Vendor: Raytheon
|
||||
Eclipse-RegisterBuddy: com.raytheon.viz.core, com.raytheon.uf.viz.core, com.raytheon.uf.viz.ui.menus
|
||||
Require-Bundle: org.apache.batik;bundle-version="1.6.0",
|
||||
org.eclipse.ui,
|
||||
org.eclipse.core.runtime,
|
||||
com.raytheon.viz.core,
|
||||
com.raytheon.uf.viz.core,
|
||||
org.geotools,
|
||||
com.raytheon.viz.ui,
|
||||
javax.measure,
|
||||
com.raytheon.viz.pointdata;bundle-version="1.10.13",
|
||||
com.raytheon.uf.viz.d2d.ui;bundle-version="1.0.0",
|
||||
com.raytheon.viz.core.graphing;bundle-version="1.11.1",
|
||||
com.raytheon.viz.awipstools;bundle-version="1.11.11",
|
||||
com.raytheon.uf.viz.xy,
|
||||
com.raytheon.uf.common.serialization.comm;bundle-version="1.11.22",
|
||||
com.raytheon.uf.viz.productbrowser;bundle-version="1.11.31",
|
||||
com.raytheon.uf.viz.d2d.core;bundle-version="1.12.1130",
|
||||
com.raytheon.uf.common.dataplugin.radar;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.menus;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.viz.ui.menus;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.viz.points;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.units;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.colormap;bundle-version="1.12.1174"
|
||||
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization, com.raytheon.uf.viz.core
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Import-Package: com.raytheon.edex.meteoLib,
|
||||
com.raytheon.uf.common.dataplugin.level,
|
||||
com.raytheon.uf.common.derivparam.tree,
|
||||
com.raytheon.uf.common.message.response,
|
||||
com.raytheon.uf.common.pointdata,
|
||||
com.raytheon.uf.common.topo,
|
||||
com.raytheon.uf.viz.derivparam,
|
||||
com.raytheon.uf.viz.derivparam.data,
|
||||
com.raytheon.uf.viz.derivparam.inv,
|
||||
com.raytheon.uf.viz.derivparam.library,
|
||||
com.raytheon.uf.viz.derivparam.tree,
|
||||
com.raytheon.viz.core.contours.util
|
||||
Export-Package: com.raytheon.viz.radar;
|
||||
uses:="com.raytheon.viz.core.rsc,
|
||||
com.raytheon.uf.viz.core.rsc,
|
||||
com.raytheon.uf.viz.core.data,
|
||||
com.raytheon.uf.viz.core.data.resp,
|
||||
com.raytheon.edex.util.radar,
|
||||
com.raytheon.uf.viz.core,
|
||||
com.raytheon.uf.viz.core.drawables,
|
||||
com.raytheon.uf.viz.core.map,
|
||||
com.raytheon.uf.common.dataplugin.radar.level3,
|
||||
com.raytheon.viz.awipstools.common,
|
||||
org.geotools.coverage.grid,
|
||||
org.eclipse.ui.plugin,
|
||||
com.raytheon.uf.common.dataplugin,
|
||||
com.raytheon.uf.common.geospatial,
|
||||
org.eclipse.jface.preference,
|
||||
com.raytheon.viz.core.rsc.hdf5,
|
||||
org.eclipse.swt.graphics,
|
||||
com.vividsolutions.jts.geom,
|
||||
org.osgi.framework,
|
||||
org.opengis.referencing.crs",
|
||||
Export-Package: com.raytheon.viz.radar,
|
||||
com.raytheon.viz.radar.interrogators,
|
||||
com.raytheon.viz.radar.rsc;
|
||||
uses:="com.raytheon.viz.awipstools.capabilityInterfaces,
|
||||
com.raytheon.viz.core.rsc,
|
||||
com.raytheon.uf.viz.core.map,
|
||||
com.raytheon.uf.viz.core.rsc.capabilities,
|
||||
com.raytheon.uf.viz.core.rsc,
|
||||
com.raytheon.viz.radar,
|
||||
com.raytheon.uf.viz.productbrowser,
|
||||
com.raytheon.uf.common.dataplugin,
|
||||
com.raytheon.uf.common.geospatial,
|
||||
com.raytheon.uf.viz.core,
|
||||
com.vividsolutions.jts.geom,
|
||||
com.raytheon.uf.viz.core.drawables,
|
||||
org.opengis.referencing.crs,
|
||||
com.raytheon.uf.common.time",
|
||||
com.raytheon.viz.radar.rsc,
|
||||
com.raytheon.viz.radar.rsc.graphic,
|
||||
com.raytheon.viz.radar.rsc.image,
|
||||
com.raytheon.viz.radar.rsc.mosaic,
|
||||
com.raytheon.viz.radar.ui;
|
||||
uses:="com.raytheon.viz.radar,
|
||||
com.raytheon.viz.ui.dialogs,
|
||||
org.eclipse.core.commands,
|
||||
org.eclipse.swt.widgets,
|
||||
com.raytheon.uf.viz.core.procedures",
|
||||
com.raytheon.viz.radar.ui.xy;
|
||||
uses:="com.raytheon.uf.viz.core.rsc,
|
||||
com.raytheon.viz.core.graphing.axis,
|
||||
com.raytheon.viz.ui.editor,
|
||||
com.raytheon.viz.radar.rsc,
|
||||
com.raytheon.uf.viz.core,
|
||||
com.raytheon.uf.viz.xy,
|
||||
com.raytheon.uf.viz.core.drawables,
|
||||
com.raytheon.uf.common.time,
|
||||
com.raytheon.uf.viz.core.map,
|
||||
com.raytheon.viz.core.graphing.rsc,
|
||||
com.raytheon.uf.viz.xy.map.rsc,
|
||||
com.raytheon.viz.core.slice.request,
|
||||
com.raytheon.viz.core.graphing,
|
||||
com.raytheon.uf.common.dataplugin,
|
||||
org.eclipse.swt.layout,
|
||||
com.raytheon.uf.viz.d2d.ui,
|
||||
com.raytheon.viz.core.style.graph,
|
||||
org.eclipse.swt.graphics,
|
||||
com.vividsolutions.jts.geom,
|
||||
org.eclipse.swt.widgets,
|
||||
com.raytheon.viz.ui.input,
|
||||
com.raytheon.viz.core.graphing.xy",
|
||||
com.raytheon.viz.radar.util;
|
||||
uses:="com.raytheon.viz.pointdata.util,
|
||||
com.raytheon.uf.viz.core.rsc,
|
||||
com.raytheon.uf.viz.core.alerts,
|
||||
javax.measure.converter,
|
||||
com.raytheon.viz.pointdata,
|
||||
com.raytheon.uf.viz.core.catalog,
|
||||
javax.measure.unit,
|
||||
com.raytheon.uf.viz.core.drawables,
|
||||
com.raytheon.uf.common.pointdata"
|
||||
com.raytheon.viz.radar.ui,
|
||||
com.raytheon.viz.radar.ui.xy,
|
||||
com.raytheon.viz.radar.util
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.8.0",
|
||||
org.eclipse.ui;bundle-version="3.8.2",
|
||||
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.units;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.colormap;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.util;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataplugin.radar;bundle-version="1.0.0";visibility:=reexport,
|
||||
com.raytheon.uf.common.datastorage;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.pointdata;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.derivparam;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.topo;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.viz.core;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.viz.d2d.core;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.viz.d2d.ui;bundle-version="1.12.1174",
|
||||
com.raytheon.viz.ui;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.viz.xy;bundle-version="1.12.1174",
|
||||
com.raytheon.viz.pointdata;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.viz.productbrowser;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.viz.derivparam;bundle-version="1.12.1174",
|
||||
com.raytheon.viz.core.graphing;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.viz.points;bundle-version="1.0.0",
|
||||
com.raytheon.uf.viz.ui.menus;bundle-version="1.12.1174",
|
||||
com.raytheon.viz.awipstools;bundle-version="1.12.1174",
|
||||
com.raytheon.edex.meteolib;bundle-version="1.12.1174",
|
||||
org.apache.batik;bundle-version="1.6.0"
|
||||
Import-Package: com.raytheon.viz.core.contours.util,
|
||||
com.raytheon.viz.core.drawables,
|
||||
com.raytheon.viz.core.rsc,
|
||||
com.raytheon.viz.core.rsc.jts,
|
||||
com.raytheon.viz.core.style.image
|
||||
|
|
|
@ -18,10 +18,9 @@
|
|||
</license>
|
||||
|
||||
<requires>
|
||||
<import feature="com.raytheon.uf.viz.cots.feature" version="1.0.0.qualifier"/>
|
||||
<import feature="com.raytheon.uf.viz.base.feature" version="1.0.0.qualifier"/>
|
||||
<import feature="com.raytheon.uf.viz.core.feature" version="1.0.0.qualifier"/>
|
||||
<import feature="com.raytheon.uf.viz.common.core.feature" version="1.0.0.qualifier"/>
|
||||
<import feature="com.raytheon.uf.viz.d2d.core.feature" version="1.0.0.qualifier"/>
|
||||
<import feature="com.raytheon.uf.common.base.feature" version="1.0.0.qualifier"/>
|
||||
</requires>
|
||||
|
||||
<plugin
|
||||
|
|
|
@ -5,18 +5,22 @@ Bundle-SymbolicName: com.raytheon.viz.skewt;singleton:=true
|
|||
Bundle-Version: 1.12.1174.qualifier
|
||||
Bundle-Activator: com.raytheon.viz.skewt.Activator
|
||||
Bundle-Vendor: Raytheon
|
||||
Eclipse-RegisterBuddy: com.raytheon.viz.core, org.geotools, com.raytheon.uf.common.serialization
|
||||
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
|
||||
Require-Bundle: org.eclipse.ui,
|
||||
org.eclipse.core.runtime,
|
||||
com.raytheon.viz.core,
|
||||
com.raytheon.viz.ui,
|
||||
org.geotools,
|
||||
com.raytheon.viz.core.graphing,
|
||||
javax.measure,
|
||||
com.raytheon.edex.meteolib,
|
||||
org.apache.commons.lang;bundle-version="2.3.0",
|
||||
com.raytheon.uf.viz.xy;bundle-version="1.11.31",
|
||||
com.raytheon.uf.common.sounding;bundle-version="1.0.0"
|
||||
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.status;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.localization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.viz.core;bundle-version="1.12.1174",
|
||||
com.raytheon.viz.ui;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.viz.sounding;bundle-version="1.12.1174",
|
||||
com.raytheon.viz.core.graphing;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.viz.d2d.core;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.viz.xy;bundle-version="1.12.1174",
|
||||
com.raytheon.edex.meteolib;bundle-version="1.12.1174",
|
||||
javax.measure;bundle-version="1.0.0"
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Export-Package: com.raytheon.viz.skewt,
|
||||
com.raytheon.viz.skewt.mockdata,
|
||||
|
@ -24,9 +28,5 @@ Export-Package: com.raytheon.viz.skewt,
|
|||
com.raytheon.viz.skewt.rsc,
|
||||
com.raytheon.viz.skewt.rscdata,
|
||||
com.raytheon.viz.skewt.ui
|
||||
Import-Package: com.raytheon.uf.viz.d2d.core,
|
||||
com.raytheon.uf.viz.d2d.core.legend,
|
||||
com.raytheon.uf.viz.d2d.core.time,
|
||||
com.raytheon.uf.viz.sounding,
|
||||
com.raytheon.uf.viz.sounding.adapters
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Import-Package: com.raytheon.viz.core
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
<resource
|
||||
class="com.raytheon.viz.skewt.rsc.SkewTResource"
|
||||
name="SkewT Data"
|
||||
recordClass="com.raytheon.uf.common.dataplugin.bufrua.UAObs"
|
||||
renderingOrderId="PLOT"
|
||||
resourceType="SOUNDING"/>
|
||||
<resource
|
||||
|
|
|
@ -76,6 +76,7 @@ import com.raytheon.uf.viz.d2d.nsharp.rsc.D2DNSharpResourceData;
|
|||
import com.raytheon.uf.viz.xy.crosssection.display.CrossSectionDescriptor;
|
||||
import com.raytheon.uf.viz.xy.crosssection.display.CrossSectionRenderableDisplay;
|
||||
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightDescriptor;
|
||||
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightDescriptor.TimeDirection;
|
||||
import com.raytheon.uf.viz.xy.timeheight.display.TimeHeightRenderableDisplay;
|
||||
import com.raytheon.uf.viz.xy.timeseries.display.TimeSeriesRenderableDisplay;
|
||||
import com.raytheon.uf.viz.xy.varheight.display.VarHeightDescriptor;
|
||||
|
@ -86,11 +87,10 @@ import com.raytheon.viz.awipstools.ToolsDataManager;
|
|||
import com.raytheon.viz.core.rsc.ICombinedResourceData;
|
||||
import com.raytheon.viz.core.rsc.ICombinedResourceData.CombineOperation;
|
||||
import com.raytheon.viz.core.slice.request.HeightScales;
|
||||
import com.raytheon.viz.core.slice.request.VerticalPointRequest.TimeDirection;
|
||||
import com.raytheon.viz.skewt.SkewtDisplay;
|
||||
import com.raytheon.viz.skewt.rscdata.SkewTResourceData;
|
||||
import com.raytheon.viz.ui.EditorUtil;
|
||||
import com.raytheon.viz.ui.BundleProductLoader;
|
||||
import com.raytheon.viz.ui.EditorUtil;
|
||||
import com.raytheon.viz.ui.UiUtil;
|
||||
import com.raytheon.viz.ui.dialogs.ICloseCallback;
|
||||
import com.raytheon.viz.ui.editor.AbstractEditor;
|
||||
|
@ -925,7 +925,7 @@ public class ProductTableComp extends Composite {
|
|||
csDesc.setRenderableDisplay(csDisplay);
|
||||
|
||||
selectNewTableItem();
|
||||
|
||||
|
||||
IDataCatalogEntry catalogEntry = getSelectedData().get(0)
|
||||
.getCatalogEntry();
|
||||
VBMenuBarItemsMgr.SpaceTimeMenu currentSpaceTime = dialogSettings
|
||||
|
@ -1118,7 +1118,7 @@ public class ProductTableComp extends Composite {
|
|||
return (prodIndexes.length == 2
|
||||
&& getProductData(prodIndexes[0]).getCatalogEntry()
|
||||
.getDialogSettings().getViewSelection() != ViewMenu.SOUNDING && getProductData(
|
||||
prodIndexes[0]).getDisplayTypeSet().equals(
|
||||
prodIndexes[0]).getDisplayTypeSet().equals(
|
||||
getProductData(prodIndexes[1]).getDisplayTypeSet()));
|
||||
}
|
||||
|
||||
|
|
|
@ -3,25 +3,29 @@ Bundle-ManifestVersion: 2
|
|||
Bundle-Name: Modelsounding Plug-in
|
||||
Bundle-SymbolicName: com.raytheon.edex.plugin.modelsounding
|
||||
Bundle-Version: 1.12.1174.qualifier
|
||||
Eclipse-RegisterBuddy: com.raytheon.edex.common, com.raytheon.uf.common.serialization
|
||||
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
|
||||
Bundle-Vendor: RAYTHEON
|
||||
Require-Bundle: com.raytheon.edex.common,
|
||||
com.raytheon.uf.edex.decodertools;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.localization,
|
||||
org.geotools,
|
||||
org.apache.commons.logging,
|
||||
javax.persistence,
|
||||
com.raytheon.uf.common.site;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.status;bundle-version="1.12.1174",
|
||||
org.apache.commons.lang;bundle-version="2.3.0"
|
||||
Export-Package: com.raytheon.edex.plugin.modelsounding,
|
||||
com.raytheon.edex.plugin.modelsounding.common,
|
||||
com.raytheon.edex.plugin.modelsounding.dao,
|
||||
com.raytheon.edex.plugin.modelsounding.decoder
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Import-Package: com.raytheon.uf.common.geospatial.spi,
|
||||
com.raytheon.uf.common.pointdata,
|
||||
com.raytheon.uf.common.pointdata.spatial,
|
||||
com.raytheon.uf.common.pointdata.vadriver,
|
||||
com.raytheon.uf.edex.pointdata
|
||||
Require-Bundle: com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.status;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.localization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.datastorage;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.site;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.edex.core;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.edex.database;bundle-version="1.0.0",
|
||||
com.raytheon.uf.edex.pointdata;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.edex.decodertools;bundle-version="1.12.1174",
|
||||
javax.persistence;bundle-version="1.0.0",
|
||||
org.hibernate;bundle-version="1.0.0",
|
||||
org.springframework;bundle-version="3.1.4"
|
||||
Import-Package: com.raytheon.edex.esb,
|
||||
com.raytheon.edex.exception,
|
||||
com.raytheon.edex.plugin,
|
||||
org.apache.commons.logging
|
||||
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
<project basedir="." default="deploy" name="com.raytheon.edex.plugin.modelsounding">
|
||||
<available file="../build.edex" property="build.dir.location" value="../build.edex"/>
|
||||
<available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex"/>
|
||||
|
||||
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
|
||||
|
||||
</project>
|
|
@ -3,20 +3,28 @@ Bundle-ManifestVersion: 2
|
|||
Bundle-Name: Satellite Plug-in
|
||||
Bundle-SymbolicName: com.raytheon.edex.plugin.satellite
|
||||
Bundle-Version: 1.12.1174.qualifier
|
||||
Eclipse-RegisterBuddy: com.raytheon.edex.common, com.raytheon.uf.common.serialization
|
||||
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
|
||||
Bundle-Vendor: RAYTHEON
|
||||
Require-Bundle: com.raytheon.edex.common,
|
||||
com.raytheon.uf.edex.decodertools;bundle-version="1.0.0",
|
||||
org.apache.commons.logging,
|
||||
javax.measure,
|
||||
javax.persistence,
|
||||
com.raytheon.uf.common.dataplugin.satellite;bundle-version="1.0.0",
|
||||
com.raytheon.uf.edex.menus;bundle-version="1.0.0"
|
||||
Export-Package: com.raytheon.edex.plugin.satellite,
|
||||
com.raytheon.edex.plugin.satellite.dao,
|
||||
com.raytheon.edex.util.satellite
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Import-Package: com.raytheon.uf.common.localization,
|
||||
com.raytheon.uf.common.awipstools,
|
||||
com.raytheon.uf.common.status,
|
||||
com.raytheon.uf.edex.awipstools
|
||||
Require-Bundle: com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataplugin.satellite;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.serialization.comm;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataquery;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.datastorage;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.localization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.status;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.util;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.awipstools;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.edex.core;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.edex.database;bundle-version="1.0.0",
|
||||
com.raytheon.uf.edex.menus;bundle-version="1.0.0",
|
||||
org.springframework;bundle-version="3.1.4",
|
||||
javax.persistence;bundle-version="1.0.0",
|
||||
org.hibernate;bundle-version="1.0.0"
|
||||
Import-Package: com.raytheon.edex.exception,
|
||||
org.apache.commons.logging
|
||||
|
|
|
@ -28,12 +28,10 @@ import java.nio.ByteBuffer;
|
|||
import java.util.Calendar;
|
||||
import java.util.TimeZone;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.zip.DataFormatException;
|
||||
import java.util.zip.Inflater;
|
||||
|
||||
import com.raytheon.edex.exception.DecoderException;
|
||||
import com.raytheon.edex.plugin.AbstractDecoder;
|
||||
import com.raytheon.edex.plugin.satellite.dao.SatelliteDao;
|
||||
import com.raytheon.edex.util.satellite.SatSpatialFactory;
|
||||
import com.raytheon.edex.util.satellite.SatellitePosition;
|
||||
|
@ -44,13 +42,14 @@ import com.raytheon.uf.common.dataplugin.satellite.SatelliteMessageData;
|
|||
import com.raytheon.uf.common.dataplugin.satellite.SatelliteRecord;
|
||||
import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
||||
import com.raytheon.uf.common.status.IPerformanceStatusHandler;
|
||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||
import com.raytheon.uf.common.status.PerformanceStatus;
|
||||
import com.raytheon.uf.common.status.UFStatus;
|
||||
import com.raytheon.uf.common.time.DataTime;
|
||||
import com.raytheon.uf.common.util.ArraysUtil;
|
||||
import com.raytheon.uf.common.time.util.ITimer;
|
||||
import com.raytheon.uf.common.time.util.TimeUtil;
|
||||
import com.raytheon.uf.edex.decodertools.time.TimeTools;
|
||||
import com.raytheon.uf.edex.wmo.message.WMOHeader;
|
||||
import com.raytheon.uf.common.util.ArraysUtil;
|
||||
import com.raytheon.uf.common.util.header.WMOHeaderFinder;
|
||||
|
||||
/**
|
||||
* Decoder implementation for satellite plugin.
|
||||
|
@ -79,7 +78,7 @@ import com.raytheon.uf.edex.wmo.message.WMOHeader;
|
|||
* 01/03/2013 15294 D. Friedman Start with File instead of byte[] to
|
||||
* reduce memory usage.
|
||||
* Feb 15, 2013 1638 mschenke Moved array based utilities from Util into ArraysUtil
|
||||
*
|
||||
*
|
||||
* Mar 19, 2013 1785 bgonzale Added performance status handler and added status
|
||||
* to decode.
|
||||
*
|
||||
|
@ -88,7 +87,9 @@ import com.raytheon.uf.edex.wmo.message.WMOHeader;
|
|||
* @author bphillip
|
||||
* @version 1
|
||||
*/
|
||||
public class SatelliteDecoder extends AbstractDecoder {
|
||||
public class SatelliteDecoder {
|
||||
|
||||
private IUFStatusHandler statusHandler = UFStatus.getHandler(getClass());
|
||||
|
||||
private String traceId = "";
|
||||
|
||||
|
@ -125,11 +126,12 @@ public class SatelliteDecoder extends AbstractDecoder {
|
|||
try {
|
||||
removeWmoHeader(byteBuffer);
|
||||
} catch (DecoderException e) {
|
||||
logger.error(e);
|
||||
statusHandler.error("Error removing WMO header", e);
|
||||
byteBuffer = null;
|
||||
}
|
||||
if (byteBuffer != null) {
|
||||
int offsetOfDataInFile = byteBuffer.position() + GINI_HEADER_SIZE;
|
||||
int offsetOfDataInFile = byteBuffer.position()
|
||||
+ GINI_HEADER_SIZE;
|
||||
Calendar calendar = Calendar.getInstance(TimeZone
|
||||
.getTimeZone("GMT"));
|
||||
int intValue = 0;
|
||||
|
@ -140,20 +142,23 @@ public class SatelliteDecoder extends AbstractDecoder {
|
|||
record = new SatelliteRecord();
|
||||
|
||||
if (isCompressed(byteBuffer)) {
|
||||
/* If the data is compressed, we assume it came from the SBN
|
||||
/*
|
||||
* If the data is compressed, we assume it came from the SBN
|
||||
* and will have a reasonable size such that we can have two
|
||||
* copies of the data in memory at the same time. Ideally,
|
||||
* copies of the data in memory at the same time. Ideally,
|
||||
* SBN decompression should be performed upstream from EDEX
|
||||
* and this code would be removed.
|
||||
*/
|
||||
byte[] data = new byte[(int) file.length() - byteBuffer.position()];
|
||||
byte[] data = new byte[(int) file.length()
|
||||
- byteBuffer.position()];
|
||||
f.seek(byteBuffer.position());
|
||||
f.readFully(data);
|
||||
byte[][] retVal = decompressSatellite(data);
|
||||
byteBuffer = ByteBuffer.wrap(retVal[0]);
|
||||
tempBytes = retVal[1];
|
||||
} else {
|
||||
/* The code bellow performs absolute gets on the buffer, so
|
||||
/*
|
||||
* The code bellow performs absolute gets on the buffer, so
|
||||
* it needs to be compacted.
|
||||
*/
|
||||
byteBuffer.compact();
|
||||
|
@ -268,9 +273,10 @@ public class SatelliteDecoder extends AbstractDecoder {
|
|||
SatellitePosition position = dao
|
||||
.getSatellitePosition(record.getCreatingEntity());
|
||||
if (position == null) {
|
||||
logger.info("Unable to determine geostationary location of ["
|
||||
+ record.getCreatingEntity()
|
||||
+ "]. Zeroing out fields.");
|
||||
statusHandler
|
||||
.info("Unable to determine geostationary location of ["
|
||||
+ record.getCreatingEntity()
|
||||
+ "]. Zeroing out fields.");
|
||||
} else {
|
||||
record.setSatSubPointLat(position.getLatitude());
|
||||
record.setSatSubPointLon(position.getLongitude());
|
||||
|
@ -279,7 +285,8 @@ public class SatelliteDecoder extends AbstractDecoder {
|
|||
}
|
||||
|
||||
if (navCalIndicator != 0) {
|
||||
logger.info("Nav/Cal info provided. Currently unused.");
|
||||
statusHandler
|
||||
.info("Nav/Cal info provided. Currently unused.");
|
||||
}
|
||||
|
||||
// get number of points along x-axis
|
||||
|
@ -287,8 +294,9 @@ public class SatelliteDecoder extends AbstractDecoder {
|
|||
// get number of points along y-axis
|
||||
int ny = byteBuffer.getShort(18);
|
||||
|
||||
/* If input was SBN-compressed, we already have the data
|
||||
* loaded. If not, load it now.
|
||||
/*
|
||||
* If input was SBN-compressed, we already have the data loaded.
|
||||
* If not, load it now.
|
||||
*/
|
||||
if (tempBytes == null) {
|
||||
tempBytes = new byte[nx * ny];
|
||||
|
@ -431,10 +439,6 @@ public class SatelliteDecoder extends AbstractDecoder {
|
|||
if (record != null) {
|
||||
record.setTraceId(traceId);
|
||||
record.setCoverage(mapCoverage);
|
||||
record.setPersistenceTime(TimeTools.getSystemCalendar()
|
||||
.getTime());
|
||||
record.setPluginName("satellite");
|
||||
record.constructDataURI();
|
||||
// Create the data record.
|
||||
IDataRecord dataRec = messageData.getStorageRecord(record,
|
||||
SatelliteRecord.SAT_DATASET_NAME);
|
||||
|
@ -466,10 +470,11 @@ public class SatelliteDecoder extends AbstractDecoder {
|
|||
* @throws DecoderException
|
||||
* If WMO header is not found, or is incorrect.
|
||||
* @param messageData
|
||||
* Contains the start of the satellite data file. On return,
|
||||
* the position is set the beginning of the GINI header.
|
||||
* Contains the start of the satellite data file. On return, the
|
||||
* position is set the beginning of the GINI header.
|
||||
*/
|
||||
private void removeWmoHeader(ByteBuffer messageData) throws DecoderException {
|
||||
private void removeWmoHeader(ByteBuffer messageData)
|
||||
throws DecoderException {
|
||||
|
||||
// Copy to a char [], carefully, as creating a string from
|
||||
// a byte [] with binary data can create erroneous data
|
||||
|
@ -478,8 +483,7 @@ public class SatelliteDecoder extends AbstractDecoder {
|
|||
message[i] = (char) (messageData.get() & 0xFF);
|
||||
}
|
||||
String msgStr = new String(message);
|
||||
Matcher matcher = null;
|
||||
matcher = Pattern.compile(WMOHeader.WMO_HEADER).matcher(msgStr);
|
||||
Matcher matcher = WMOHeaderFinder.WMO_PATTERN.matcher(msgStr);
|
||||
if (matcher.find()) {
|
||||
int headerStart = matcher.start();
|
||||
if (SAT_HDR_TT.equals(msgStr
|
||||
|
@ -500,7 +504,7 @@ public class SatelliteDecoder extends AbstractDecoder {
|
|||
* Checks to see if the current satellite product is compressed.
|
||||
*
|
||||
* Assumes messageData is a byte[]-backed ByteBuffer.
|
||||
*
|
||||
*
|
||||
* @return A boolean indicating if the file is compressed or not
|
||||
*/
|
||||
private boolean isCompressed(ByteBuffer messageData) {
|
||||
|
@ -508,8 +512,8 @@ public class SatelliteDecoder extends AbstractDecoder {
|
|||
byte[] placeholder = new byte[10];
|
||||
Inflater decompressor = new Inflater();
|
||||
try {
|
||||
decompressor.setInput(messageData.array(),
|
||||
messageData.position(), messageData.remaining());
|
||||
decompressor.setInput(messageData.array(), messageData.position(),
|
||||
messageData.remaining());
|
||||
decompressor.inflate(placeholder);
|
||||
} catch (DataFormatException e) {
|
||||
compressed = false;
|
||||
|
|
|
@ -33,9 +33,9 @@ import com.raytheon.uf.common.geospatial.SpatialQueryFactory;
|
|||
import com.raytheon.uf.common.menus.xml.CommonIncludeMenuContribution;
|
||||
import com.raytheon.uf.common.menus.xml.MenuTemplateFile;
|
||||
import com.raytheon.uf.common.menus.xml.VariableSubstitution;
|
||||
import com.raytheon.uf.common.serialization.comm.RequestRouter;
|
||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||
import com.raytheon.uf.common.status.UFStatus;
|
||||
import com.raytheon.uf.edex.awipstools.GetWfoCenterHandler;
|
||||
import com.raytheon.uf.edex.menus.AbstractMenuUtil;
|
||||
import com.vividsolutions.jts.geom.Coordinate;
|
||||
|
||||
|
@ -90,12 +90,13 @@ public class SatelliteMenuUtil extends AbstractMenuUtil {
|
|||
Coordinate coord = null;
|
||||
ISpatialQuery sp = null;
|
||||
try {
|
||||
coord = new GetWfoCenterHandler().handleRequest(centerPointRequest);
|
||||
coord = (Coordinate) RequestRouter.route(centerPointRequest);
|
||||
sp = SpatialQueryFactory.create();
|
||||
} catch (Exception e1) {
|
||||
statusHandler.error("Unable to send request for lat/lon values");
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
lat = coord.y;
|
||||
lon = coord.x;
|
||||
|
|
|
@ -3,17 +3,14 @@ Bundle-ManifestVersion: 2
|
|||
Bundle-Name: Acars Plug-in
|
||||
Bundle-SymbolicName: com.raytheon.uf.common.dataplugin.acars
|
||||
Bundle-Version: 1.12.1174.qualifier
|
||||
Eclipse-RegisterBuddy: com.raytheon.edex.common, com.raytheon.uf.common.serialization
|
||||
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
|
||||
Bundle-Vendor: RAYTHEON
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Require-Bundle: org.apache.commons.logging,
|
||||
Require-Bundle: com.raytheon.uf.common.dataplugin,
|
||||
com.raytheon.uf.common.pointdata,
|
||||
org.geotools,
|
||||
javax.persistence,
|
||||
javax.measure,
|
||||
com.raytheon.uf.common.serialization,
|
||||
com.raytheon.uf.common.dataplugin,
|
||||
org.hibernate;bundle-version="1.0.0"
|
||||
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
|
||||
javax.persistence,
|
||||
org.hibernate;bundle-version="1.0.0",
|
||||
javax.measure;bundle-version="1.0.0"
|
||||
Export-Package: com.raytheon.uf.common.dataplugin.acars
|
||||
Import-Package: com.raytheon.uf.common.geospatial,
|
||||
com.raytheon.uf.common.time
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
<project basedir="." default="deploy" name="com.raytheon.uf.common.dataplugin.acars">
|
||||
<available file="../build.edex" property="build.dir.location" value="../build.edex" />
|
||||
<available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex" />
|
||||
|
||||
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
|
||||
|
||||
</project>
|
|
@ -6,18 +6,16 @@ Bundle-Version: 1.12.1174.qualifier
|
|||
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
|
||||
Bundle-Vendor: RAYTHEON
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Require-Bundle: org.apache.commons.logging,
|
||||
Require-Bundle: com.raytheon.uf.common.serialization,
|
||||
com.raytheon.uf.common.pointdata,
|
||||
com.raytheon.uf.common.localization;bundle-version="1.12.1151",
|
||||
com.raytheon.uf.edex.decodertools,
|
||||
org.geotools,
|
||||
com.raytheon.uf.common.dataplugin,
|
||||
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataplugin.acars;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.edex.decodertools;bundle-version="1.12.1174",
|
||||
javax.persistence,
|
||||
javax.measure,
|
||||
com.raytheon.uf.common.dataplugin,
|
||||
com.raytheon.uf.common.serialization,
|
||||
org.hibernate;bundle-version="1.0.0"
|
||||
Export-Package: com.raytheon.uf.common.dataplugin.acarssounding,
|
||||
com.raytheon.uf.common.dataplugin.acarssounding.tools
|
||||
Import-Package: com.raytheon.uf.common.dataplugin.acars,
|
||||
com.raytheon.uf.common.geospatial,
|
||||
com.raytheon.uf.common.time
|
||||
Import-Package: org.apache.commons.logging
|
||||
|
|
|
@ -3,20 +3,18 @@ Bundle-ManifestVersion: 2
|
|||
Bundle-Name: Bufrua Plug-in
|
||||
Bundle-SymbolicName: com.raytheon.uf.common.dataplugin.bufrua
|
||||
Bundle-Version: 1.12.1174.qualifier
|
||||
Eclipse-RegisterBuddy: com.raytheon.edex.common, com.raytheon.uf.common.serialization
|
||||
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
|
||||
Bundle-Vendor: RAYTHEON
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Export-Package: com.raytheon.uf.common.dataplugin.bufrua,
|
||||
com.raytheon.uf.common.dataplugin.bufrua.dao
|
||||
Require-Bundle: com.raytheon.edex.common,
|
||||
org.geotools,
|
||||
org.apache.commons.logging,
|
||||
Require-Bundle: com.raytheon.uf.common.sounding;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.pointdata;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.edex.decodertools;bundle-version="1.12.1174",
|
||||
javax.persistence,
|
||||
javax.measure,
|
||||
com.raytheon.uf.common.sounding;bundle-version="1.0.0"
|
||||
Import-Package: com.raytheon.uf.common.dataplugin.bufrua,
|
||||
com.raytheon.uf.common.pointdata,
|
||||
com.raytheon.uf.common.pointdata.spatial,
|
||||
com.raytheon.uf.edex.decodertools.time,
|
||||
com.raytheon.uf.edex.decodertools.core,
|
||||
com.raytheon.uf.edex.pointdata
|
||||
org.hibernate;bundle-version="1.0.0",
|
||||
javax.measure
|
||||
Import-Package: org.apache.commons.logging
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
<project basedir="." default="deploy" name="com.raytheon.uf.common.dataplugin.bufrua">
|
||||
<available file="../build.edex" property="build.dir.location" value="../build.edex"/>
|
||||
<available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex"/>
|
||||
|
||||
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
|
||||
|
||||
</project>
|
|
@ -6,20 +6,10 @@ Bundle-Version: 1.0.0.qualifier
|
|||
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
|
||||
Bundle-Vendor: RAYTHEON
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Import-Package: com.raytheon.uf.common.dataplugin,
|
||||
com.raytheon.uf.common.dataplugin.annotations,
|
||||
com.raytheon.uf.common.dataplugin.persist,
|
||||
com.raytheon.uf.common.geospatial,
|
||||
com.raytheon.uf.common.pointdata,
|
||||
com.raytheon.uf.common.pointdata.spatial,
|
||||
com.raytheon.uf.common.serialization,
|
||||
com.raytheon.uf.common.serialization.adapters,
|
||||
com.raytheon.uf.common.serialization.annotations,
|
||||
com.raytheon.uf.common.time,
|
||||
com.vividsolutions.jts.geom,
|
||||
javax.measure.quantity,
|
||||
javax.measure.unit,
|
||||
javax.persistence
|
||||
Export-Package: com.raytheon.uf.common.dataplugin.goessounding
|
||||
Require-Bundle: com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
|
||||
Require-Bundle: com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.pointdata;bundle-version="1.12.1174",
|
||||
javax.persistence;bundle-version="1.0.0",
|
||||
org.hibernate;bundle-version="1.0.0"
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
<project basedir="." default="deploy" name="com.raytheon.uf.common.dataplugin.goessounding">
|
||||
<available file="../build.edex" property="build.dir.location" value="../build.edex"/>
|
||||
<available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex"/>
|
||||
|
||||
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
|
||||
|
||||
</project>
|
|
@ -6,21 +6,6 @@ Bundle-Version: 1.0.0.qualifier
|
|||
Bundle-Vendor: RAYTHEON
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
|
||||
Eclipse-BuddyPolicy: registered, ext, global
|
||||
Import-Package: com.raytheon.uf.common.dataplugin,
|
||||
com.raytheon.uf.common.dataplugin.annotations,
|
||||
com.raytheon.uf.common.dataplugin.persist,
|
||||
com.raytheon.uf.common.geospatial,
|
||||
com.raytheon.uf.common.localization,
|
||||
com.raytheon.uf.common.serialization,
|
||||
com.raytheon.uf.common.serialization.annotations,
|
||||
com.raytheon.uf.common.serialization.comm,
|
||||
com.raytheon.uf.common.status,
|
||||
com.raytheon.uf.common.time,
|
||||
com.vividsolutions.jts.geom,
|
||||
javax.persistence,
|
||||
org.hibernate.annotations,
|
||||
org.opengis.metadata.spatial
|
||||
Export-Package: com.raytheon.uf.common.dataplugin.grid,
|
||||
com.raytheon.uf.common.dataplugin.grid.dataquery,
|
||||
com.raytheon.uf.common.dataplugin.grid.dataset,
|
||||
|
@ -29,15 +14,20 @@ Export-Package: com.raytheon.uf.common.dataplugin.grid,
|
|||
com.raytheon.uf.common.dataplugin.grid.request,
|
||||
com.raytheon.uf.common.dataplugin.grid.units,
|
||||
com.raytheon.uf.common.dataplugin.grid.util
|
||||
Require-Bundle: javax.measure,
|
||||
Require-Bundle: com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.gridcoverage;bundle-version="1.0.0";visibility:=reexport,
|
||||
com.raytheon.uf.common.parameter;bundle-version="1.0.0";visibility:=reexport,
|
||||
com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174";visibility:=reexport,
|
||||
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.geospatial,
|
||||
org.geotools,
|
||||
com.raytheon.uf.common.localization,
|
||||
com.raytheon.uf.common.datastorage,
|
||||
com.raytheon.uf.common.gridcoverage;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.parameter;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.comm;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataquery;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.util;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataaccess;bundle-version="1.0.0"
|
||||
com.raytheon.uf.common.dataaccess;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.serialization.comm;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.status;bundle-version="1.12.1174",
|
||||
javax.measure,
|
||||
javax.persistence;bundle-version="1.0.0",
|
||||
org.hibernate;bundle-version="1.0.0"
|
||||
|
|
|
@ -6,19 +6,10 @@ Bundle-Version: 1.0.0.qualifier
|
|||
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
|
||||
Bundle-Vendor: RAYTHEON
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Import-Package: com.raytheon.uf.common.dataplugin,
|
||||
com.raytheon.uf.common.dataplugin.annotations,
|
||||
com.raytheon.uf.common.dataplugin.persist,
|
||||
com.raytheon.uf.common.geospatial,
|
||||
com.raytheon.uf.common.pointdata,
|
||||
com.raytheon.uf.common.pointdata.spatial,
|
||||
com.raytheon.uf.common.serialization,
|
||||
com.raytheon.uf.common.serialization.annotations,
|
||||
com.raytheon.uf.common.time,
|
||||
com.vividsolutions.jts.geom,
|
||||
javax.measure.quantity,
|
||||
javax.measure.unit,
|
||||
javax.persistence
|
||||
Export-Package: com.raytheon.uf.common.dataplugin.poessounding
|
||||
Require-Bundle: com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
|
||||
Require-Bundle: com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.pointdata;bundle-version="1.12.1174",
|
||||
javax.persistence;bundle-version="1.0.0",
|
||||
org.hibernate;bundle-version="1.0.0"
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
<project basedir="." default="deploy" name="com.raytheon.uf.common.dataplugin.poessounding">
|
||||
<available file="../build.edex" property="build.dir.location" value="../build.edex"/>
|
||||
<available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex"/>
|
||||
|
||||
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
|
||||
|
||||
</project>
|
|
@ -4,18 +4,21 @@ Bundle-Name: Profiler Plug-in
|
|||
Bundle-SymbolicName: com.raytheon.uf.common.dataplugin.profiler
|
||||
Bundle-Version: 1.12.1174.qualifier
|
||||
Bundle-Vendor: RAYTHEON
|
||||
Eclipse-RegisterBuddy: com.raytheon.edex.common, com.raytheon.uf.common.serialization
|
||||
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Export-Package: com.raytheon.uf.common.dataplugin.profiler,
|
||||
com.raytheon.uf.common.dataplugin.profiler.dao
|
||||
Require-Bundle: com.raytheon.edex.common,
|
||||
com.raytheon.uf.common.pointdata;bundle-version="1.11.8",
|
||||
com.raytheon.uf.edex.pointdata;bundle-version="1.11.8",
|
||||
org.geotools,
|
||||
org.apache.commons.logging,
|
||||
javax.persistence,
|
||||
javax.measure,
|
||||
com.raytheon.uf.common.localization;bundle-version="1.11.16"
|
||||
Import-Package: com.raytheon.uf.common.status,
|
||||
com.raytheon.uf.edex.decodertools.core,
|
||||
com.raytheon.uf.edex.decodertools.time
|
||||
Require-Bundle: com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.datastorage;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.status;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.edex.core;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.edex.database;bundle-version="1.0.0",
|
||||
com.raytheon.uf.edex.pointdata;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.edex.decodertools;bundle-version="1.12.1174",
|
||||
org.springframework;bundle-version="3.1.4",
|
||||
javax.persistence;bundle-version="1.0.0",
|
||||
org.hibernate;bundle-version="1.0.0",
|
||||
javax.measure;bundle-version="1.0.0"
|
||||
Import-Package: org.apache.commons.logging
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
<project basedir="." default="deploy" name="com.raytheon.uf.common.dataplugin.profiler">
|
||||
<available file="../build.edex" property="build.dir.location" value="../build.edex"/>
|
||||
<available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex"/>
|
||||
|
||||
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
|
||||
|
||||
</project>
|
|
@ -3,62 +3,27 @@ Bundle-ManifestVersion: 2
|
|||
Bundle-Name: Radar
|
||||
Bundle-SymbolicName: com.raytheon.uf.common.dataplugin.radar
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Eclipse-RegisterBuddy: com.raytheon.edex.common, com.raytheon.uf.common.serialization, com.raytheon.viz.core, org.geotools
|
||||
Bundle-Activator: com.raytheon.uf.common.dataplugin.radar.Activator
|
||||
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization, org.geotools
|
||||
Bundle-Vendor: RAYTHEON
|
||||
Require-Bundle: org.eclipse.core.runtime,
|
||||
Require-Bundle: com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.datastorage,
|
||||
org.geotools;bundle-version="2.6.4",
|
||||
javax.measure,
|
||||
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
|
||||
com.raytheon.edex.common,
|
||||
com.raytheon.uf.common.serialization.comm;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.site;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.localization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.status;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.datastorage;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataquery;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.dataaccess;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.units;bundle-version="1.0.0"
|
||||
com.raytheon.uf.common.units;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.util;bundle-version="1.12.1174",
|
||||
javax.persistence;bundle-version="1.0.0",
|
||||
org.hibernate;bundle-version="1.0.0"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Export-Package: com.raytheon.uf.common.dataplugin.radar;
|
||||
uses:="com.raytheon.uf.common.dataplugin.persist,
|
||||
com.raytheon.uf.common.dataplugin.radar.level3,
|
||||
com.raytheon.uf.common.dataplugin,
|
||||
com.raytheon.uf.common.geospatial,
|
||||
javax.measure.unit,
|
||||
org.osgi.framework,
|
||||
com.vividsolutions.jts.geom,
|
||||
com.raytheon.uf.common.dataplugin.radar.util,
|
||||
org.opengis.referencing.crs,
|
||||
com.raytheon.uf.common.serialization,
|
||||
com.raytheon.uf.common.time",
|
||||
com.raytheon.uf.common.dataplugin.radar.level3;uses:="com.raytheon.uf.common.dataplugin.radar.level3.generic,com.raytheon.uf.common.serialization",
|
||||
com.raytheon.uf.common.dataplugin.radar.level3.generic;uses:="com.raytheon.uf.common.serialization",
|
||||
Export-Package: com.raytheon.uf.common.dataplugin.radar,
|
||||
com.raytheon.uf.common.dataplugin.radar.level3,
|
||||
com.raytheon.uf.common.dataplugin.radar.level3.generic,
|
||||
com.raytheon.uf.common.dataplugin.radar.projection,
|
||||
com.raytheon.uf.common.dataplugin.radar.request;uses:="com.raytheon.uf.common.serialization.comm",
|
||||
com.raytheon.uf.common.dataplugin.radar.request,
|
||||
com.raytheon.uf.common.dataplugin.radar.units,
|
||||
com.raytheon.uf.common.dataplugin.radar.util;
|
||||
uses:="com.raytheon.uf.common.dataplugin.radar,
|
||||
com.raytheon.uf.common.datastorage,
|
||||
org.geotools.coverage.grid,
|
||||
com.raytheon.uf.common.dataplugin.radar.level3,
|
||||
javax.measure.converter,
|
||||
com.raytheon.uf.common.dataplugin.radar.level3.generic,
|
||||
com.vividsolutions.jts.geom,
|
||||
com.raytheon.uf.edex.wmo.message,
|
||||
org.opengis.referencing.crs"
|
||||
Import-Package: com.raytheon.edex.exception,
|
||||
com.raytheon.edex.util,
|
||||
com.raytheon.uf.common.dataplugin.level,
|
||||
com.raytheon.uf.common.dataplugin.text,
|
||||
com.raytheon.uf.common.dataplugin.text.db,
|
||||
com.raytheon.uf.common.derivparam.tree,
|
||||
com.raytheon.uf.common.geospatial,
|
||||
com.raytheon.uf.common.localization,
|
||||
com.raytheon.uf.common.menus.xml,
|
||||
com.raytheon.uf.common.status,
|
||||
com.raytheon.uf.common.time,
|
||||
com.raytheon.uf.edex.wmo.message,
|
||||
javax.measure.converter,
|
||||
javax.persistence,
|
||||
org.apache.commons.logging,
|
||||
org.opengis.referencing.crs
|
||||
com.raytheon.uf.common.dataplugin.radar.util
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<project basedir="." default="deploy" name="com.raytheon.uf.common.dataplugin.radar">
|
||||
<available file="../build.edex" property="build.dir.location" value="../build.edex" />
|
||||
<available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex" />
|
||||
|
||||
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
|
||||
</project>
|
|
@ -1,30 +0,0 @@
|
|||
package com.raytheon.uf.common.dataplugin.radar;
|
||||
|
||||
import org.osgi.framework.BundleActivator;
|
||||
import org.osgi.framework.BundleContext;
|
||||
|
||||
public class Activator implements BundleActivator {
|
||||
|
||||
private static BundleContext context;
|
||||
|
||||
static BundleContext getContext() {
|
||||
return context;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
|
||||
*/
|
||||
public void start(BundleContext bundleContext) throws Exception {
|
||||
Activator.context = bundleContext;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
|
||||
*/
|
||||
public void stop(BundleContext bundleContext) throws Exception {
|
||||
Activator.context = null;
|
||||
}
|
||||
|
||||
}
|
|
@ -209,6 +209,25 @@ public class SatelliteRecord extends PersistablePluginDataObject implements
|
|||
@DynamicSerializeElement
|
||||
private SatMapCoverage coverage;
|
||||
|
||||
/**
|
||||
* No-arg constructor.
|
||||
*/
|
||||
public SatelliteRecord() {
|
||||
setPluginName(PLUGIN_ID);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a satellite record from a dataURI
|
||||
*
|
||||
* @param uri
|
||||
* The dataURI
|
||||
* @param tableDef
|
||||
* The table definition associated with this class
|
||||
*/
|
||||
public SatelliteRecord(String uri) {
|
||||
super(uri);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SatMapCoverage getSpatialObject() {
|
||||
return coverage;
|
||||
|
@ -254,25 +273,6 @@ public class SatelliteRecord extends PersistablePluginDataObject implements
|
|||
this.upperRightLon = upperRightLon;
|
||||
}
|
||||
|
||||
/**
|
||||
* No-arg constructor.
|
||||
*/
|
||||
public SatelliteRecord() {
|
||||
setPluginName(PLUGIN_ID);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a satellite record from a dataURI
|
||||
*
|
||||
* @param uri
|
||||
* The dataURI
|
||||
* @param tableDef
|
||||
* The table definition associated with this class
|
||||
*/
|
||||
public SatelliteRecord(String uri) {
|
||||
super(uri);
|
||||
}
|
||||
|
||||
public Integer getNumRecords() {
|
||||
return numRecords;
|
||||
}
|
||||
|
|
|
@ -6,15 +6,13 @@ Bundle-Version: 1.12.1174.qualifier
|
|||
Bundle-Vendor: RAYTHEON
|
||||
Eclipse-RegisterBuddy: com.raytheon.uf.common.serialization
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Require-Bundle: javax.measure;bundle-version="1.0.0",
|
||||
org.geotools;bundle-version="2.5.8",
|
||||
com.raytheon.uf.common.time;bundle-version="1.11.31",
|
||||
com.raytheon.uf.common.pointdata;bundle-version="1.11.31",
|
||||
com.raytheon.uf.common.dataplugin;bundle-version="1.11.31"
|
||||
Require-Bundle: com.raytheon.uf.common.pointdata;bundle-version="1.11.31",
|
||||
com.raytheon.uf.common.dataplugin;bundle-version="1.11.31",
|
||||
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.status;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.localization;bundle-version="1.12.1174",
|
||||
javax.measure;bundle-version="1.0.0"
|
||||
Export-Package: com.raytheon.uf.common.sounding,
|
||||
com.raytheon.uf.common.sounding.adapter,
|
||||
com.raytheon.uf.common.sounding.util
|
||||
Import-Package: com.raytheon.uf.common.localization,
|
||||
com.raytheon.uf.common.serialization,
|
||||
com.raytheon.uf.common.status,
|
||||
org.apache.commons.logging
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
<project basedir="." default="deploy" name="com.raytheon.uf.common.topo">
|
||||
<available file="../build.edex" property="build.dir.location" value="../build.edex"/>
|
||||
<available file="../../../../../build.edex" property="build.dir.location" value="../../../../../build.edex"/>
|
||||
|
||||
<import file="${build.dir.location}/basebuilds/component_deploy_base.xml" />
|
||||
|
||||
</project>
|
|
@ -47,7 +47,7 @@ import java.util.regex.Pattern;
|
|||
|
||||
public class WMOHeaderFinder {
|
||||
|
||||
private static Pattern WMOPATTERN = Pattern
|
||||
public static Pattern WMO_PATTERN = Pattern
|
||||
.compile("([A-Z]{3}[A-Z0-9](\\d{0,2}|[A-Z]{0,2}) [A-Z0-9 ]{4} "
|
||||
+ "\\d{6}[^\\r\\n]*)[\\r\\n]+");
|
||||
|
||||
|
@ -89,7 +89,7 @@ public class WMOHeaderFinder {
|
|||
byte[] header = new byte[100];
|
||||
in.read(header);
|
||||
String sHeader = new String(header, "ISO-8859-1");
|
||||
Matcher wmoSearch = WMOPATTERN.matcher(sHeader);
|
||||
Matcher wmoSearch = WMO_PATTERN.matcher(sHeader);
|
||||
String messageHeader = null;
|
||||
if (wmoSearch.find()) {
|
||||
messageHeader = wmoSearch.group();
|
||||
|
|
Loading…
Add table
Reference in a new issue