public abstract class NOAA1bReader.ScanLine
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static int |
AVHRR_CH1
The AVHRR channel 1 variable.
|
static int |
AVHRR_CH2
The AVHRR channel 2 variable.
|
static int |
AVHRR_CH3
The AVHRR channel 3 variable.
|
static int |
AVHRR_CH3A
The AVHRR channel 3a variable.
|
static int |
AVHRR_CH4
The AVHRR channel 4 variable.
|
static int |
AVHRR_CH5
The AVHRR channel 5 variable.
|
static int |
CH3_SELECT
The ch3 select attribute: 0 = 3b, 1 = 3a, 2 = transition (Integer).
|
static int |
CLOUD
The CLAVR cloud mask variable.
|
protected int |
count
The sample start and count values.
|
protected java.nio.ByteBuffer |
data
The scan line data.
|
static int |
LATITUDE
The latitude angle variable.
|
static int |
LONGITUDE
The longitude angle variable.
|
static int |
NAVIGATION_VALUES
The total number of navigation data values.
|
static int |
QUALITY_INDICATOR
The quality indicator attribute (Long).
|
static int |
RELATIVE_AZIMUTH
The relative azimuth angle variable.
|
static int |
SATELLITE_ZENITH
The satellite zenith angle variable.
|
static int |
SCAN_LINE_DAY
The scan line day of year, [1..366] (Integer).
|
static int |
SCAN_LINE_MILLISECOND
The scan line UTC time in milliseconds (Long).
|
static int |
SCAN_LINE_NUMBER
The scan line number attribute (Integer).
|
static int |
SCAN_LINE_YEAR
The scan line year (Integer).
|
static int |
SCAN_TIME
The scan time variable.
|
static int |
SOLAR_ZENITH
The solar zenith angle variable.
|
protected int |
start
The sample start and count values.
|
Constructor and Description |
---|
ScanLine(int line,
int start,
int count)
Creates a new dataset scan line using the specified index.
|
Modifier and Type | Method and Description |
---|---|
abstract float[] |
calibrateChannel(int[] countData,
int channel)
Calibrates channel count data to scientific units.
|
abstract java.lang.Object |
getAttribute(int index)
Gets a scan line attribute.
|
protected abstract float[] |
getCalibration(int channel)
Gets the set of line-specific calibration coefficients for the
specified channel.
|
float[] |
getChannel(int channel)
Gets the calibrated sensor data for the specified channel.
|
abstract byte[] |
getCloud()
Gets the CLAVR cloud mask data.
|
int |
getIndex()
Gets the scan line index, starting at 0.
|
float[] |
getNavigation(int variable)
Gets the interpolated navigation data for the specified angle
variable.
|
int[] |
getRawChannel(int channel)
Gets the uncalibrated sensor count data for the specified
channel.
|
java.nio.ByteBuffer |
getRawData()
Gets the raw scan line data.
|
abstract float[] |
getRawNavigation(int variable)
Gets the raw uninterpolated navigation data for the specified
angle variable.
|
abstract long[] |
getScanTime()
Gets the scan line time data.
|
float[] |
interpolateNavigation(float[] navData,
int variable)
Interpolates navigation data using the specified raw navigation
data and sample range specified when this scan line was
created.
|
abstract boolean |
isNavigationUsable()
Gets the navigation data usability flag.
|
abstract boolean |
isSensorDataUsable()
Gets the sensor data usability flag.
|
public static final int NAVIGATION_VALUES
public static final int AVHRR_CH1
public static final int AVHRR_CH2
public static final int AVHRR_CH3
public static final int AVHRR_CH3A
public static final int AVHRR_CH4
public static final int AVHRR_CH5
public static final int SOLAR_ZENITH
public static final int SATELLITE_ZENITH
public static final int RELATIVE_AZIMUTH
public static final int CLOUD
public static final int LATITUDE
public static final int LONGITUDE
public static final int SCAN_TIME
public static final int SCAN_LINE_NUMBER
public static final int QUALITY_INDICATOR
public static final int SCAN_LINE_YEAR
public static final int SCAN_LINE_DAY
public static final int SCAN_LINE_MILLISECOND
public static final int CH3_SELECT
protected java.nio.ByteBuffer data
protected int start
protected int count
public ScanLine(int line, int start, int count) throws java.io.IOException
Note that this code is now using the java.nio package and individually allocated buffers for each scan line rather than OS memory mapped buffers. As such the start and count parameters are ignored when the scan line is read, and replaced with 0 and 2048 or 409 respectively. This should be remedied in a future release by removing the start and count parameters entirely.
line
- the scan line index in the range [0..lines-1].start
- the starting sensor data sample.count
- the total number of sensor data samples. If the
count is 0, no sensor data is read.java.io.IOException
- if an error occurred reading the file
data, or if a missing scan line was requested. Generally,
users should not invoke this method, but use NOAA1bReader.getScanLine(int, int, int)
instead.NOAA1bReader.getScanLine(int, int, int)
,
NOAA1bReader.getLines()
public int getIndex()
public java.nio.ByteBuffer getRawData()
public abstract boolean isSensorDataUsable()
public abstract boolean isNavigationUsable()
public abstract byte[] getCloud()
public abstract long[] getScanTime()
public abstract java.lang.Object getAttribute(int index)
index
- the attribute index.public int[] getRawChannel(int channel)
channel
- the channel to retrieve, [1..5].public abstract float[] calibrateChannel(int[] countData, int channel)
countData
- the count data as an integer array.channel
- the channel to calibrate, [1..5].getRawChannel(int)
protected abstract float[] getCalibration(int channel)
channel
- the channel for calibration coefficients, [1..5].public float[] getChannel(int channel)
channel
- the channel to retrieve, [1..5].getRawChannel(int)
,
calibrateChannel(int[], int)
public abstract float[] getRawNavigation(int variable)
variable
- the navigation variable.public float[] interpolateNavigation(float[] navData, int variable)
navData
- the navigation data.variable
- the navigation variable to interpolate. Special
actions may be taken depending on the variable.NOAA1bReader.interpolateNavigation(float[],int,int,int,int)
,
getRawNavigation(int)
public float[] getNavigation(int variable)
variable
- the navigation variable.