Issue #3095 Update JGridData for creation of numeric java package.
Former-commit-id: a3081bf46908788e78c707bf51e08f6c98d997bc
This commit is contained in:
parent
c8ba70a146
commit
6bdaba048c
2 changed files with 21 additions and 14 deletions
|
@ -28,6 +28,7 @@
|
|||
# Date Ticket# Engineer Description
|
||||
# ------------ ---------- ----------- --------------------------
|
||||
# 12/12/12 njensen Initial Creation.
|
||||
# 05/01/14 3095 bsteffen Don't default fcstTime to 0 in init.
|
||||
#
|
||||
#
|
||||
#
|
||||
|
@ -38,7 +39,7 @@ from com.raytheon.uf.common.time import DataTime as JavaDataTime
|
|||
|
||||
class DataTime(JUtil.JavaWrapperClass):
|
||||
|
||||
def __init__(self, dtime, fcstTime=0):
|
||||
def __init__(self, dtime, fcstTime=None):
|
||||
if isinstance(dtime, AbsTime.AbsTime):
|
||||
self.__dt = JavaDataTime(dtime.toJavaObj())
|
||||
elif isinstance(dtime, str):
|
||||
|
@ -47,7 +48,7 @@ class DataTime(JUtil.JavaWrapperClass):
|
|||
# assuming Java object
|
||||
self.__dt = dtime
|
||||
# TODO add support for other possible types of dtime?
|
||||
|
||||
if fcstTime is not None:
|
||||
self.__dt.setFcstTime(fcstTime)
|
||||
|
||||
def __eq__(self, other):
|
||||
|
|
|
@ -28,14 +28,19 @@
|
|||
# Date Ticket# Engineer Description
|
||||
# ------------ ---------- ----------- --------------------------
|
||||
# 12/10/12 njensen Initial Creation.
|
||||
# 05/01/14 3095 bsteffen Move numeric data access to new plugin.
|
||||
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
from ufpy.dataaccess import IGridData
|
||||
import JData
|
||||
from jep import jarray
|
||||
|
||||
from com.raytheon.uf.common.geospatial.interpolation.data import FloatArrayWrapper, UnitConvertingDataDestination
|
||||
from com.raytheon.uf.common.numeric.buffer import FloatBufferWrapper
|
||||
from com.raytheon.uf.common.geospatial.data import UnitConvertingDataFilter
|
||||
from com.raytheon.uf.common.numeric.dest import FilteredDataDestination
|
||||
from com.raytheon.uf.common.python import PythonNumpyFloatArray
|
||||
from com.raytheon.uf.common.geospatial import LatLonReprojection
|
||||
from javax.measure.unit import UnitFormat
|
||||
|
@ -64,21 +69,22 @@ class JGridData(IGridData, JData.JData):
|
|||
return str(self.jobj.getUnit())
|
||||
|
||||
def getRawData(self, unit=None):
|
||||
dest = FloatArrayWrapper(self.jobj.getGridGeometry())
|
||||
nx = self.jobj.getGridGeometry().getGridRange().getSpan(0)
|
||||
ny = self.jobj.getGridGeometry().getGridRange().getSpan(1)
|
||||
dest = FloatBufferWrapper(nx, ny)
|
||||
pnfa = None
|
||||
if unit:
|
||||
unitObj = UnitFormat.getUCUMInstance().parseObject(unit)
|
||||
converter = self.jobj.getUnit().getConverterTo(unitObj)
|
||||
unitDest = UnitConvertingDataDestination(converter, dest)
|
||||
filledDest = self.jobj.populateData(unitDest)
|
||||
nx = self.jobj.getGridGeometry().getGridRange().getSpan(0)
|
||||
ny = self.jobj.getGridGeometry().getGridRange().getSpan(1)
|
||||
pnfa = PythonNumpyFloatArray(filledDest.getWrappedDestination().getArray(), nx, ny)
|
||||
filter = UnitConvertingDataFilter(converter)
|
||||
filter = UnitConvertingDataFilter(converter)
|
||||
filters = jarray(1, UnitConvertingDataFilter)
|
||||
filters[0] = filter
|
||||
unitDest = FilteredDataDestination.addFilters(dest, filters)
|
||||
self.jobj.populateData(unitDest)
|
||||
else:
|
||||
filledDest = self.jobj.populateData(dest)
|
||||
nx = self.jobj.getGridGeometry().getGridRange().getSpan(0);
|
||||
ny = self.jobj.getGridGeometry().getGridRange().getSpan(1);
|
||||
pnfa = PythonNumpyFloatArray(dest.getArray(), nx, ny)
|
||||
self.jobj.populateData(dest)
|
||||
pnfa = PythonNumpyFloatArray(dest.getBuffer().array(), nx, ny)
|
||||
return pnfa.__numpy__[0]
|
||||
|
||||
def getLatLonCoords(self):
|
||||
|
|
Loading…
Add table
Reference in a new issue