RAVE
|
Defines the functions available when working with polar volumes. More...
#include "polarscan.h"
#include "projection.h"
#include "rave_object.h"
#include "raveobject_list.h"
Go to the source code of this file.
Typedefs | |
typedef struct _PolarVolume_t | PolarVolume_t |
Defines a Polar Volume. | |
Functions | |
int | PolarVolume_setTime (PolarVolume_t *pvol, const char *value) |
Sets the nominal time. | |
const char * | PolarVolume_getTime (PolarVolume_t *pvol) |
Returns the nominal time. | |
int | PolarVolume_setDate (PolarVolume_t *pvol, const char *value) |
Sets the nominal date. | |
const char * | PolarVolume_getDate (PolarVolume_t *pvol) |
Returns the nominal date. | |
int | PolarVolume_setSource (PolarVolume_t *pvol, const char *value) |
Sets the source. | |
const char * | PolarVolume_getSource (PolarVolume_t *pvol) |
Returns the source. | |
void | PolarVolume_setLongitude (PolarVolume_t *pvol, double lon) |
Sets the longitude for the volume. | |
double | PolarVolume_getLongitude (PolarVolume_t *pvol) |
Returns the longitude for the volume. | |
void | PolarVolume_setLatitude (PolarVolume_t *pvol, double lat) |
Sets the latitude for the volume. | |
double | PolarVolume_getLatitude (PolarVolume_t *pvol) |
Returns the latitude for the volume. | |
void | PolarVolume_setHeight (PolarVolume_t *pvol, double height) |
Sets the height for the volume. | |
double | PolarVolume_getHeight (PolarVolume_t *pvol) |
Returns the height for the volume. | |
void | PolarVolume_setBeamwidth (PolarVolume_t *pvol, double bw) |
Sets the beamwidth for the volume. | |
double | PolarVolume_getBeamwidth (PolarVolume_t *pvol) |
Returns the beam width for the volume. | |
void | PolarVolume_setBeamwH (PolarVolume_t *self, double beamwidth) |
Sets the horizontal beamwidth. | |
double | PolarVolume_getBeamwH (PolarVolume_t *self) |
Returns the horizontal beamwidth. | |
void | PolarVolume_setBeamwV (PolarVolume_t *self, double beamwidth) |
Sets the vertical beamwidth. | |
double | PolarVolume_getBeamwV (PolarVolume_t *self) |
Returns the vertical beamwidth. | |
double | PolarVolume_getDistance (PolarVolume_t *pvol, double lon, double lat) |
Returns the distance from the radar to the specified lon/lat coordinate pair. | |
double | PolarVolume_getMaxDistance (PolarVolume_t *pvol) |
Returns the maximum distance (at ground level) that this volume will cover. | |
PolarScan_t * | PolarVolume_getScanWithMaxDistance (PolarVolume_t *pvol) |
Returns the scan with the highest distance coverage (at ground level). | |
void | PolarVolume_setProjection (PolarVolume_t *pvol, Projection_t *projection) |
Sets the projection for this polar volume. | |
Projection_t * | PolarVolume_getProjection (PolarVolume_t *pvol) |
Returns a copy of the projection that is used for this polar volume. | |
int | PolarVolume_addScan (PolarVolume_t *pvol, PolarScan_t *scan) |
Adds a scan to the volume. | |
PolarScan_t * | PolarVolume_getScan (PolarVolume_t *pvol, int index) |
Returns the scan at given index. | |
int | PolarVolume_getNumberOfScans (PolarVolume_t *pvol) |
Returns the number of scans. | |
int | PolarVolume_removeScan (PolarVolume_t *pvol, int index) |
Removes the scan at specified index. | |
PolarScan_t * | PolarVolume_getScanClosestToElevation (PolarVolume_t *pvol, double e, int inside) |
Returns the scan with elevation closest to the specified elevation. | |
int | PolarVolume_indexOf (PolarVolume_t *pvol, PolarScan_t *scan) |
Returns the index in the list of scans of the specified scan. | |
void | PolarVolume_getLonLatNavigationInfo (PolarVolume_t *pvol, double lon, double lat, double height, PolarNavigationInfo *info) |
Returns the navigation information that is the result from finding the lon/lat-coordinate at the specified height for this volume. | |
PolarNavigationInfo * | PolarVolume_getVerticalLonLatNavigationInfo (PolarVolume_t *pvol, double lon, double lat, int *nrNavInfo) |
Returns an array of navigation info for all scans at the specified lon/lat. | |
RaveValueType | PolarVolume_getNearest (PolarVolume_t *pvol, double lon, double lat, double height, int insidee, double *v) |
Fetches the value nearest to the specified position. | |
RaveValueType | PolarVolume_getNearestParameterValue (PolarVolume_t *pvol, const char *quantity, double lon, double lat, double height, int insidee, double *v) |
Fetches the nearest parameter value for the specified position. | |
RaveValueType | PolarVolume_getConvertedVerticalMaxValue (PolarVolume_t *self, const char *quantity, double lon, double lat, double *v, PolarNavigationInfo *navinfo) |
Returns the vertical max value at the specified lon/lat coordinate. | |
RaveValueType | PolarVolume_getConvertedParameterValueAt (PolarVolume_t *pvol, const char *quantity, int ei, int ri, int ai, double *v) |
Returns the converted parameter value at the specified location. | |
int | PolarVolume_getNearestNavigationInfo (PolarVolume_t *pvol, double lon, double lat, double height, int insidee, PolarNavigationInfo *navinfo) |
Returns the navigation nearest to specified lon/lat/height. | |
int | PolarVolume_getSurroundingNavigationInfos (PolarVolume_t *pvol, double lon, double lat, double height, int insidee, int surroundingScans, int surroundingRangeBins, int surroundingRays, PolarNavigationInfo navinfos[]) |
Returns the navigation info structures representing positions closest surrounding the specfied lon/lat/height. | |
void | PolarVolume_addEiForNavInfos (PolarVolume_t *pvol, PolarScan_t *scan, PolarNavigationInfo navinfos[], int noofNavinfos, int startNavInfoIndex) |
Adds elevation angle index information to a list of navigation info structures, based on an input scan. | |
RaveValueType | PolarVolume_getNearestConvertedParameterValue (PolarVolume_t *pvol, const char *quantity, double lon, double lat, double height, int insidee, double *v, PolarNavigationInfo *navinfo) |
Fetches the nearest converted parameter value for the specified position. | |
int | PolarVolume_getQualityValueAt (PolarVolume_t *pvol, const char *quantity, int ei, int ri, int ai, const char *name, int convert, double *v) |
Returns the quality value for the quality field that has a name matching the how/task attribute for the specified scan. | |
int | PolarVolume_setDefaultParameter (PolarVolume_t *pvol, const char *quantity) |
Sets the default parameter that should be used when operating on this volume unless the parameter (quantity) explicitly has been specified in the function. | |
const char * | PolarVolume_getDefaultParameter (PolarVolume_t *pvol) |
Returns the currently specified default parameter name. | |
void | PolarVolume_sortByElevations (PolarVolume_t *pvol, int ascending) |
Arranges the scans in either ascending or descending elevation. | |
int | PolarVolume_isAscendingScans (PolarVolume_t *pvol) |
Verifies that the scans are sorted in ascending order. | |
int | PolarVolume_isTransformable (PolarVolume_t *pvol) |
Verifies that all preconditions are met in order to perform a transformation. | |
int | PolarVolume_addAttribute (PolarVolume_t *pvol, RaveAttribute_t *attribute) |
Adds a rave attribute to the volume. | |
int | PolarVolume_addAttributeVersion (PolarVolume_t *pvol, RaveAttribute_t *attribute, RaveIO_ODIM_Version version) |
Adds a rave attribute to the volume using version as well. | |
RaveAttribute_t * | PolarVolume_getAttribute (PolarVolume_t *pvol, const char *name) |
Returns the rave attribute that is named accordingly. | |
RaveAttribute_t * | PolarVolume_getAttributeVersion (PolarVolume_t *pvol, const char *name, RaveIO_ODIM_Version version) |
Returns the rave attribute that is named accordingly for specified version. | |
void | PolarVolume_removeAttribute (PolarVolume_t *pvol, const char *attrname) |
Removes a rave attribute from the volume. | |
RaveList_t * | PolarVolume_getAttributeNames (PolarVolume_t *pvol) |
Returns a list of attribute names. | |
RaveList_t * | PolarVolume_getAttributeNamesVersion (PolarVolume_t *pvol, RaveIO_ODIM_Version version) |
Returns a list of attribute names for specified version. | |
RaveObjectList_t * | PolarVolume_getAttributeValues (PolarVolume_t *pvol) |
Returns a list of attribute values that should be stored for this volume. | |
RaveObjectList_t * | PolarVolume_getAttributeValuesVersion (PolarVolume_t *pvol, RaveIO_ODIM_Version version) |
Returns a list of attribute values in specified version for attributes that has been set in this volume. | |
int | PolarVolume_hasAttribute (PolarVolume_t *pvol, const char *name) |
Returns if the volume has the specified attribute or not. | |
int | PolarVolume_isValid (PolarVolume_t *pvol) |
Validates the volume regarding storage. | |
PolarScan_t * | PolarVolume_findScanWithQualityFieldByHowTask (PolarVolume_t *pvol, const char *howtaskvalue, const char *quantity) |
Locates a scan with a quality field that has a how/task value == howtaskvalue. | |
PolarScan_t * | PolarVolume_findAnyScanWithQualityFieldByHowTask (PolarVolume_t *pvol, const char *howtaskvalue) |
Basically the same as PolarVolume_findScanWithQualityFieldByHowTask with the exception that all parameters are traversed until a how/task value field is found to be matching. | |
RaveField_t * | PolarVolume_getDistanceField (PolarVolume_t *self) |
Gets the distance field for self. | |
RaveField_t * | PolarVolume_getHeightField (PolarVolume_t *self) |
Gets the height field for self. | |
PolarObservation * | PolarVolume_getCorrectedValuesAtHeight (PolarVolume_t *self, double height, double gap, int *nobservations) |
Returns all observations at the specified height inside the specified gap. | |
void | PolarVolume_setUseAzimuthalNavInformation (PolarVolume_t *self, int v) |
Utility function for setting all scans in this volume to use or not use azimuthal navigation. | |
int | PolarVolume_useAzimuthalNavInformation (PolarVolume_t *self) |
Returns if the azimuthal nav information should be used or not. | |
int | PolarVolume_removeParametersExcept (PolarVolume_t *self, RaveList_t *parameters) |
Removes all parameters from all scans belongning to this volume except the ones specified in parameters (list of strings) | |
Variables | |
RaveCoreObjectType | PolarVolume_TYPE |
Type definition to use when creating a rave object. | |
Defines the functions available when working with polar volumes.
This object supports RAVE_OBJECT_CLONE.
typedef struct _PolarVolume_t PolarVolume_t |
Defines a Polar Volume.
int PolarVolume_addAttribute | ( | PolarVolume_t * | pvol, |
RaveAttribute_t * | attribute ) |
Adds a rave attribute to the volume.
what/date, what/time, what/source, where/lon, where/lat and where/height are handled specially and will be added to respective member instead of stored as attributes. what/date, what/time and what/source must be string. where/lon and where/lat must be double in degrees. where/height must be double in meters.
[in] | pvol | - self |
[in] | attribute | - the attribute |
int PolarVolume_addAttributeVersion | ( | PolarVolume_t * | pvol, |
RaveAttribute_t * | attribute, | ||
RaveIO_ODIM_Version | version ) |
Adds a rave attribute to the volume using version as well.
NOTE! This method is usually only used internally.
[in] | pvol | - self |
[in] | attribute | - the attribute |
[in] | version | - version of attribute requested |
void PolarVolume_addEiForNavInfos | ( | PolarVolume_t * | pvol, |
PolarScan_t * | scan, | ||
PolarNavigationInfo | navinfos[], | ||
int | noofNavinfos, | ||
int | startNavInfoIndex ) |
Adds elevation angle index information to a list of navigation info structures, based on an input scan.
[in] | pvol | - self (MAY NOT BE NULL) |
[in] | scan | - the target scan within the the pvol. this is the scan for which the set ei will be valid. |
[in,out] | navinfos | - array of navigation informations to update with ei information. |
[in] | noofNavinfos | - the length of the navinfos array |
[in] | startNavInfoIndex | - position in the navinfos array at which to start the update. positions located before this index will not be updated. |
int PolarVolume_addScan | ( | PolarVolume_t * | pvol, |
PolarScan_t * | scan ) |
Adds a scan to the volume.
The scan will automatically be assigned the volumes navigator and projection.
[in] | pvol | - the volume |
[in] | scan | - the scan ®return 0 on failure, otherwise success |
PolarScan_t * PolarVolume_findAnyScanWithQualityFieldByHowTask | ( | PolarVolume_t * | pvol, |
const char * | howtaskvalue ) |
Basically the same as PolarVolume_findScanWithQualityFieldByHowTask with the exception that all parameters are traversed until a how/task value field is found to be matching.
[in] | pvol | - self |
[in] | howtaskvalue | - the how/task value |
PolarScan_t * PolarVolume_findScanWithQualityFieldByHowTask | ( | PolarVolume_t * | pvol, |
const char * | howtaskvalue, | ||
const char * | quantity ) |
Locates a scan with a quality field that has a how/task value == howtaskvalue.
[in] | pvol | - self |
[in] | howtaskvalue | - the how/task value |
[in] | quantity | - the quantity |
RaveAttribute_t * PolarVolume_getAttribute | ( | PolarVolume_t * | pvol, |
const char * | name ) |
Returns the rave attribute that is named accordingly.
[in] | pvol | - self |
[in] | name | - the name of the attribute |
RaveList_t * PolarVolume_getAttributeNames | ( | PolarVolume_t * | pvol | ) |
Returns a list of attribute names.
Release with @ref RaveList_freeAndDestroy.
[in] | pvol | - self |
RaveList_t * PolarVolume_getAttributeNamesVersion | ( | PolarVolume_t * | pvol, |
RaveIO_ODIM_Version | version ) |
Returns a list of attribute names for specified version.
Release with @ref RaveList_freeAndDestroy. NOTE! This method is usually only used internally.
[in] | pvol | - self |
[in] | version | - version of attribute requested |
RaveObjectList_t * PolarVolume_getAttributeValues | ( | PolarVolume_t * | pvol | ) |
Returns a list of attribute values that should be stored for this volume.
[in] | pvol | - self |
RaveObjectList_t * PolarVolume_getAttributeValuesVersion | ( | PolarVolume_t * | pvol, |
RaveIO_ODIM_Version | version ) |
Returns a list of attribute values in specified version for attributes that has been set in this volume.
NOTE! This method is usually only used internally.
[in] | pvol | - self |
[in] | version | - version of attribute requested |
RaveAttribute_t * PolarVolume_getAttributeVersion | ( | PolarVolume_t * | pvol, |
const char * | name, | ||
RaveIO_ODIM_Version | version ) |
Returns the rave attribute that is named accordingly for specified version.
NOTE! This method is usually only used internally.
[in] | pvol | - self |
[in] | name | - the name of the attribute |
[in] | version | - version of attribute requested |
double PolarVolume_getBeamwH | ( | PolarVolume_t * | self | ) |
Returns the horizontal beamwidth.
Default is 1.0 * M_PI/360.0.
[in] | self | - self |
double PolarVolume_getBeamwidth | ( | PolarVolume_t * | pvol | ) |
Returns the beam width for the volume.
[in] | pvol | - self |
double PolarVolume_getBeamwV | ( | PolarVolume_t * | self | ) |
Returns the vertical beamwidth.
Default is 1.0 * M_PI/360.0.
[in] | self | - self |
RaveValueType PolarVolume_getConvertedParameterValueAt | ( | PolarVolume_t * | pvol, |
const char * | quantity, | ||
int | ei, | ||
int | ri, | ||
int | ai, | ||
double * | v ) |
Returns the converted parameter value at the specified location.
[in] | pvol | - self |
[in] | quantity | - the quantity |
[in] | ei | - elevation index |
[in] | ri | - bin index |
[in] | ai | - azimuthal index |
RaveValueType PolarVolume_getConvertedVerticalMaxValue | ( | PolarVolume_t * | self, |
const char * | quantity, | ||
double | lon, | ||
double | lat, | ||
double * | v, | ||
PolarNavigationInfo * | navinfo ) |
Returns the vertical max value at the specified lon/lat coordinate.
[in] | self | - self |
[in] | quantity | - the parameter (MAY NOT BE NULL) |
[in] | lon | - the longitude (in radians) |
[in] | lat | - the latitude (in radians) |
[out] | v | - the value (MAY NOT BE NULL) |
[out] | navinfo | - will be updated with navigation information |
PolarObservation * PolarVolume_getCorrectedValuesAtHeight | ( | PolarVolume_t * | self, |
double | height, | ||
double | gap, | ||
int * | nobservations ) |
Returns all observations at the specified height inside the specified gap.
I.e. height +/- gap/2.
[in] | self | - self |
[in] | height | - the height |
[in] | gap | - the gap, i.e. +/- gap/2 |
[out] | nobservations | - number of returned observations in the array |
const char * PolarVolume_getDate | ( | PolarVolume_t * | pvol | ) |
Returns the nominal date.
[in] | pvol | - self |
const char * PolarVolume_getDefaultParameter | ( | PolarVolume_t * | pvol | ) |
Returns the currently specified default parameter name.
[in] | scan | - self |
double PolarVolume_getDistance | ( | PolarVolume_t * | pvol, |
double | lon, | ||
double | lat ) |
Returns the distance from the radar to the specified lon/lat coordinate pair.
[in] | pvol | - self |
[in] | lon | - the longitude |
[in] | lat | - the latitude |
RaveField_t * PolarVolume_getDistanceField | ( | PolarVolume_t * | self | ) |
Gets the distance field for self.
Will always be a 2-dimensional array with n elevation angles * nbins. nbins will be the same number of bins as the scan with most bins has. Scans with less bins than the maximum number of bins will get a -99999.0 value at each location that not can be represented. ysize represents the number of elevations and distance is represented by xsize. The order of the elevation angles will be the same as the current volume so the scans probably should be sorted before calling this method.
[in] | self | - self |
double PolarVolume_getHeight | ( | PolarVolume_t * | pvol | ) |
Returns the height for the volume.
[in] | pvol | - the polar volume |
RaveField_t * PolarVolume_getHeightField | ( | PolarVolume_t * | self | ) |
Gets the height field for self.
Will always be a 2-dimensional array with n elevation angles * nbins. nbins will be the same number of bins as the scan with most bins has. Scans with less bins than the maximum number of bins will get a -99999.0 value at each location that not can be represented. ysize represents the number of elevations and distance is represented by xsize. The order of the elevation angles will be the same as the current volume so the scans probably should be sorted before calling this method.
[in] | self | - self |
double PolarVolume_getLatitude | ( | PolarVolume_t * | pvol | ) |
Returns the latitude for the volume.
[in] | pvol | - the polar volume |
double PolarVolume_getLongitude | ( | PolarVolume_t * | pvol | ) |
Returns the longitude for the volume.
[in] | pvol | - the polar volume |
void PolarVolume_getLonLatNavigationInfo | ( | PolarVolume_t * | pvol, |
double | lon, | ||
double | lat, | ||
double | height, | ||
PolarNavigationInfo * | info ) |
Returns the navigation information that is the result from finding the lon/lat-coordinate at the specified height for this volume.
[in] | scan | - self |
[in] | lon | - the longitude (in radians) |
[in] | lat | - the latitude (in radians) |
[in] | height | - the altitude (in meters) |
[in,out] | info | - the navigation information |
double PolarVolume_getMaxDistance | ( | PolarVolume_t * | pvol | ) |
Returns the maximum distance (at ground level) that this volume will cover.
[in] | pvol | - self |
RaveValueType PolarVolume_getNearest | ( | PolarVolume_t * | pvol, |
double | lon, | ||
double | lat, | ||
double | height, | ||
int | insidee, | ||
double * | v ) |
Fetches the value nearest to the specified position.
[in] | pvol | - the polar volume (MAY NOT BE NULL) |
[in] | lon | - the longitude (in radians) |
[in] | lat | - the latitude (in radians) |
[in] | height | - the height |
[in] | insidee | - if the estimated elevation must be within the min-max elevation or not to be valid |
[out] | v | - the value (MAY NOT BE NULL) |
RaveValueType PolarVolume_getNearestConvertedParameterValue | ( | PolarVolume_t * | pvol, |
const char * | quantity, | ||
double | lon, | ||
double | lat, | ||
double | height, | ||
int | insidee, | ||
double * | v, | ||
PolarNavigationInfo * | navinfo ) |
Fetches the nearest converted parameter value for the specified position.
[in] | pvol | - self (MAY NOT BE NULL) |
[in] | quantity | - the parameter (MAY NOT BE NULL) |
[in] | lon | - the longitude (in radians) |
[in] | lat | - the latitude (in radians) |
[in] | height | - the height |
[in] | insidee | - if the estimated elevation must be within the min-max elevation or not to be valid |
[out] | v | - the value (MAY NOT BE NULL) |
[in,out] | navinfo | - the navigation information (may be NULL). |
int PolarVolume_getNearestNavigationInfo | ( | PolarVolume_t * | pvol, |
double | lon, | ||
double | lat, | ||
double | height, | ||
int | insidee, | ||
PolarNavigationInfo * | navinfo ) |
Returns the navigation nearest to specified lon/lat/height.
[in] | pvol | - self (MAY NOT BE NULL) |
[in] | lon | - the longitude (in radians) |
[in] | lat | - the latitude (in radians) |
[in] | height | - the height |
[in] | insidee | - if the estimated elevation must be within the min-max elevation or not to be valid |
[in,out] | navinfo | - the navigation information (may be NULL). |
RaveValueType PolarVolume_getNearestParameterValue | ( | PolarVolume_t * | pvol, |
const char * | quantity, | ||
double | lon, | ||
double | lat, | ||
double | height, | ||
int | insidee, | ||
double * | v ) |
Fetches the nearest parameter value for the specified position.
[in] | pvol | - self (MAY NOT BE NULL) |
[in] | quantity | - the parameter (MAY NOT BE NULL) |
[in] | lon | - the longitude (in radians) |
[in] | lat | - the latitude (in radians) |
[in] | height | - the height |
[in] | insidee | - if the estimated elevation must be within the min-max elevation or not to be valid |
[out] | v | - the value (MAY NOT BE NULL) |
int PolarVolume_getNumberOfScans | ( | PolarVolume_t * | pvol | ) |
Returns the number of scans.
[in] | pvol | - the volume |
Projection_t * PolarVolume_getProjection | ( | PolarVolume_t * | pvol | ) |
Returns a copy of the projection that is used for this polar volume.
I.e. remember to release it.
[in] | pvol | - the polar volume |
int PolarVolume_getQualityValueAt | ( | PolarVolume_t * | pvol, |
const char * | quantity, | ||
int | ei, | ||
int | ri, | ||
int | ai, | ||
const char * | name, | ||
int | convert, | ||
double * | v ) |
Returns the quality value for the quality field that has a name matching the how/task attribute for the specified scan.
[in] | pvol | - self |
[in] | quantity | - the parameter quantity |
[in] | ri | - the range index (bin) |
[in] | ai | - the azimuth index (ray) |
[in] | name | - the value of the how/task attribute |
[in] | convert | - indicates if value should be converted with gain and offset or not. 0 for false, true otherwise |
[out] | v | - the found value |
PolarScan_t * PolarVolume_getScan | ( | PolarVolume_t * | pvol, |
int | index ) |
Returns the scan at given index.
[in] | pvol | - the volume |
[in] | index | - the index |
PolarScan_t * PolarVolume_getScanClosestToElevation | ( | PolarVolume_t * | pvol, |
double | e, | ||
int | inside ) |
Returns the scan with elevation closest to the specified elevation.
This function requires that the scans are ordered in ascending order, otherwise the behaviour will be undefined.
[in] | pvol | - the polar volume |
[in] | e | - the elevation (in radians) |
[in] | inside | - if the elevation must be within the min-max elevation or not. Any value != 0 means that elevation must be within range. |
PolarScan_t * PolarVolume_getScanWithMaxDistance | ( | PolarVolume_t * | pvol | ) |
Returns the scan with the highest distance coverage (at ground level).
[in] | pvol | - self |
const char * PolarVolume_getSource | ( | PolarVolume_t * | pvol | ) |
Returns the source.
[in] | pvol | - self |
int PolarVolume_getSurroundingNavigationInfos | ( | PolarVolume_t * | pvol, |
double | lon, | ||
double | lat, | ||
double | height, | ||
int | insidee, | ||
int | surroundingScans, | ||
int | surroundingRangeBins, | ||
int | surroundingRays, | ||
PolarNavigationInfo | navinfos[] ) |
Returns the navigation info structures representing positions closest surrounding the specfied lon/lat/height.
With the input parameters it is possible to state whether surrounding or just nearest position should be returned in each dimension. The navinfos-array must be allocated by calling function to accommodate the number of expected navigation infos to be returned.
[in] | pvol | - self (MAY NOT BE NULL) |
[in] | lon | - the longitude (in radians) |
[in] | lat | - the latitude (in radians) |
[in] | height | - the height |
[in] | insidee | - if the estimated elevation must be within the min-max elevation or not to be valid |
[in] | surroundingScans | - 1 if surrounding positions in the height dimension shall be collected. 0 if only nearest position shall be collected |
[in] | surroundingRangeBins | - 1 if surrounding positions in the range dimension shall be collected. 0 if only nearest position shall be collected |
[in] | surroundingRays | - 1 if surrounding positions in the azimuth dimension shall be collected. 0 if only nearest position shall be collected |
[out] | navinfos | - array of returned navigation informations. |
const char * PolarVolume_getTime | ( | PolarVolume_t * | pvol | ) |
Returns the nominal time.
[in] | pvol | - self |
PolarNavigationInfo * PolarVolume_getVerticalLonLatNavigationInfo | ( | PolarVolume_t * | pvol, |
double | lon, | ||
double | lat, | ||
int * | nrNavInfo ) |
Returns an array of navigation info for all scans at the specified lon/lat.
int PolarVolume_hasAttribute | ( | PolarVolume_t * | pvol, |
const char * | name ) |
Returns if the volume has the specified attribute or not.
[in] | pvol | - self |
[in] | name | - the name of the attribute |
int PolarVolume_indexOf | ( | PolarVolume_t * | pvol, |
PolarScan_t * | scan ) |
Returns the index in the list of scans of the specified scan.
[in] | pvol | - self |
[in] | scan | - the scan that is searched for |
int PolarVolume_isAscendingScans | ( | PolarVolume_t * | pvol | ) |
Verifies that the scans are sorted in ascending order.
[in] | pvol | - the volume |
int PolarVolume_isTransformable | ( | PolarVolume_t * | pvol | ) |
Verifies that all preconditions are met in order to perform a transformation.
[in] | pvol | - the polar volume |
int PolarVolume_isValid | ( | PolarVolume_t * | pvol | ) |
Validates the volume regarding storage.
[in] | pvol | - self |
void PolarVolume_removeAttribute | ( | PolarVolume_t * | pvol, |
const char * | attrname ) |
Removes a rave attribute from the volume.
[in] | pvol | - self |
[in] | attrname | - the name of the attribute to remove |
int PolarVolume_removeParametersExcept | ( | PolarVolume_t * | self, |
RaveList_t * | parameters ) |
Removes all parameters from all scans belongning to this volume except the ones specified in parameters (list of strings)
[in] | self | - self |
[in] | parameters | - a list of character arrays |
int PolarVolume_removeScan | ( | PolarVolume_t * | pvol, |
int | index ) |
Removes the scan at specified index.
[in] | pvol | - the volume |
[in] | index | - the index of the scan |
void PolarVolume_setBeamwH | ( | PolarVolume_t * | self, |
double | beamwidth ) |
Sets the horizontal beamwidth.
Default is 1.0 * M_PI/360.0
[in] | self | - self |
[in] | beamwidth | - the beam width in radians |
void PolarVolume_setBeamwidth | ( | PolarVolume_t * | pvol, |
double | bw ) |
Sets the beamwidth for the volume.
All scans will get the specified beamwidth. If you only want to make the beamwidth affect an individual scan, modify the scan directly.
[in] | pvol | - self |
[in] | bw | - beam width in radians |
void PolarVolume_setBeamwV | ( | PolarVolume_t * | self, |
double | beamwidth ) |
Sets the vertical beamwidth.
Default is 1.0 * M_PI/360.0
[in] | self | - self |
[in] | beamwidth | - the beam width in radians |
int PolarVolume_setDate | ( | PolarVolume_t * | pvol, |
const char * | value ) |
Sets the nominal date.
[in] | pvol | - self |
[in] | value | - the date in the format YYYYMMDD |
int PolarVolume_setDefaultParameter | ( | PolarVolume_t * | pvol, |
const char * | quantity ) |
Sets the default parameter that should be used when operating on this volume unless the parameter (quantity) explicitly has been specified in the function.
All scans that currently are held by this volume and eventual new ones will all get the same default parameter.
[in] | scan | - self |
[in] | quantity | - the parameter (MAY NOT BE NULL) |
void PolarVolume_setHeight | ( | PolarVolume_t * | pvol, |
double | height ) |
Sets the height for the volume.
[in] | pvol | - the polar volume |
[in] | height | - the height |
void PolarVolume_setLatitude | ( | PolarVolume_t * | pvol, |
double | lat ) |
Sets the latitude for the volume.
[in] | pvol | - the polar volume |
[in] | lat | - the latitude |
void PolarVolume_setLongitude | ( | PolarVolume_t * | pvol, |
double | lon ) |
Sets the longitude for the volume.
[in] | pvol | - the polar volume |
[in] | lon | - the longitude |
void PolarVolume_setProjection | ( | PolarVolume_t * | pvol, |
Projection_t * | projection ) |
Sets the projection for this polar volume.
All scans belonging to this volume will also get this projection assigned.
[in] | pvol | - the polar volume |
[in] | projection | - the projection |
int PolarVolume_setSource | ( | PolarVolume_t * | pvol, |
const char * | value ) |
Sets the source.
[in] | pvol | - self |
[in] | value | - the source |
int PolarVolume_setTime | ( | PolarVolume_t * | pvol, |
const char * | value ) |
Sets the nominal time.
[in] | pvol | - self |
[in] | value | - the time in the format HHmmss |
void PolarVolume_setUseAzimuthalNavInformation | ( | PolarVolume_t * | self, |
int | v ) |
Utility function for setting all scans in this volume to use or not use azimuthal navigation.
Note, this will only affect currently added scans and will not affect scans added after call to this function.
[in] | self | - self |
[in] | v | - 0 if azimuthal nav information shouldn't be used, otherwise 1 |
void PolarVolume_sortByElevations | ( | PolarVolume_t * | pvol, |
int | ascending ) |
Arranges the scans in either ascending or descending elevation.
[in] | pvol | - the volume |
[in] | ascending | - if 1, ascending sort will be done, otherwise descending |
int PolarVolume_useAzimuthalNavInformation | ( | PolarVolume_t * | self | ) |
Returns if the azimuthal nav information should be used or not.
Since this information actually resides in the scans the returned value will be depending on currently contained scans. If all scans have got azimuthal nav information set to 0, then 0 will be returned. Otherwise 1. This means that if at least one scan is using azimuthal nav info, we want to know this when querying the volume.
[in] | self | - self |
|
extern |
Type definition to use when creating a rave object.