48 PolarScanSelectionMethod_ROUND = 0,
49 PolarScanSelectionMethod_FLOOR,
50 PolarScanSelectionMethod_CEIL
800 int surroundingRangeBins,
826 int surroundingRangeBins,
Utilities for performing polar navigation.
void PolarScan_setElangle(PolarScan_t *scan, double elangle)
Sets the elevation angle for the scan.
Definition polarscan.c:615
RaveAttribute_t * PolarScan_getAttribute(PolarScan_t *scan, const char *name)
Returns the rave attribute that is named accordingly.
Definition polarscan.c:1742
RaveValueType PolarScan_getNearest(PolarScan_t *scan, double lon, double lat, int convert, double *v)
Returns the nearest value to the specified longitude, latitude.
Definition polarscan.c:1473
long PolarScan_getNrays(PolarScan_t *scan)
Returns the number of rays/scan.
Definition polarscan.c:647
int PolarScan_shiftAttribute(PolarScan_t *scan, const char *name, int nx)
Performs a circular shift of an array attribute.
Definition polarscan.c:1788
double PolarScan_getRange(PolarScan_t *scan, int ri, int rangeMidpoint)
Returns the range for the specified range index.
Definition polarscan.c:1008
double PolarScan_getRstart(PolarScan_t *scan)
Returns the ray start for the scan.
Definition polarscan.c:659
RaveValueType PolarScan_getNearestConvertedParameterValue(PolarScan_t *scan, const char *quantity, double lon, double lat, double *v, PolarNavigationInfo *navinfo)
Returns the nearest converted parameter value to the specified longitude, latitude.
Definition polarscan.c:1576
int PolarScan_isValid(PolarScan_t *scan, Rave_ObjectType otype)
Validates the scan can be seen to be valid regarding storage.
Definition polarscan.c:1793
RaveValueType PolarScan_getConvertedParameterValueAtAzimuthAndRange(PolarScan_t *scan, const char *quantity, double a, double r, double *v)
Returns the converted value at the specified azimuth and range.
Definition polarscan.c:1404
int PolarScan_hasParameter(PolarScan_t *scan, const char *quantity)
Returns if the scan contains the specified parameter or not.
Definition polarscan.c:823
long PolarScan_getNbins(PolarScan_t *scan)
Returns the number of bins.
Definition polarscan.c:628
RaveField_t * PolarScan_findAnyQualityFieldByHowTask(PolarScan_t *scan, const char *value)
Basically the same as PolarScan_findQualityFieldByHowTask with the exception that all quantities are ...
Definition polarscan.c:946
RaveValueType PolarScan_getValueAtAzimuthAndRange(PolarScan_t *scan, double a, double r, int convert, double *v)
Gets the value at the provided azimuth and range.
Definition polarscan.c:1357
void PolarScan_setHeight(PolarScan_t *scan, double height)
Sets the height.
Definition polarscan.c:583
RaveValueType PolarScan_getParameterValueAtAzimuthAndRange(PolarScan_t *scan, const char *quantity, double a, double r, double *v)
Returns the parameter value at the specified azimuth and range.
Definition polarscan.c:1382
PolarScanParam_t * PolarScan_getParameter(PolarScan_t *scan, const char *quantity)
Returns the parameter that is specified by the quantity.
Definition polarscan.c:811
int PolarScan_shiftDataAndAttributes(PolarScan_t *self, int nrays)
Performs a circular shift of the datsets that are associated with the scan and also all attributes th...
Definition polarscan.c:1989
int PolarScan_setDefaultParameter(PolarScan_t *scan, const char *quantity)
Sets the default parameter for this scan.
Definition polarscan.c:724
double PolarScan_getDistance(PolarScan_t *scan, double lon, double lat)
Returns the distance from the radar to the specified lon/lat coordinate pair.
Definition polarscan.c:595
int PolarScan_removeParametersExcept(PolarScan_t *scan, RaveList_t *parameters)
Removes all parameters from a scan except the ones specified in parameters (list of strings)
Definition polarscan.c:2079
int PolarScan_setValue(PolarScan_t *scan, int bin, int ray, double v)
Sets the value at the specified position.
Definition polarscan.c:1229
RaveField_t * PolarScan_getHeightField(PolarScan_t *self)
Gets the height field for self.
Definition polarscan.c:1934
int PolarScan_getNorthmostIndex(PolarScan_t *self)
Returns the nothmost index by checking the occurance of startazA/stopazA and the index of the angle c...
Definition polarscan.c:1048
RaveList_t * PolarScan_getParameterNames(PolarScan_t *scan)
Returns this scans parameter names.
Definition polarscan.c:829
void PolarScan_getLonLatNavigationInfo(PolarScan_t *scan, double lon, double lat, PolarNavigationInfo *info)
Returns the navigation information that is the result from finding the lon/lat-coordinate for this sc...
Definition polarscan.c:1426
PolarScan_t * PolarScan_createFromScanAndField(PolarScan_t *self, RaveField_t *field)
Creates a new scan with settings from the scan and data is defined by the field.
Definition polarscan.c:1841
int PolarScan_setEndDate(PolarScan_t *scan, const char *value)
Sets the end date.
Definition polarscan.c:515
int PolarScan_useAzimuthalNavInformation(PolarScan_t *self)
Returns if the azimuthal nav information should be used or not.
Definition polarscan.c:1042
const char * PolarScan_getEndTime(PolarScan_t *scan)
Returns the end time.
Definition polarscan.c:477
RaveObjectList_t * PolarScan_getAttributeValues(PolarScan_t *scan)
Returns a list of attribute values belonging to this scan.
Definition polarscan.c:1777
int PolarScan_addAttribute(PolarScan_t *scan, RaveAttribute_t *attribute)
Adds a rave attribute to the scan.
Definition polarscan.c:1674
double PolarScan_getElangle(PolarScan_t *scan)
Returns the elevation angle for the scan.
Definition polarscan.c:622
int PolarScan_getRangeIndex(PolarScan_t *scan, double r, PolarScanSelectionMethod_t selectionMethod, int rangeMidpoint)
Returns the range index for the specified range (in meters).
Definition polarscan.c:973
long PolarScan_getA1gate(PolarScan_t *scan)
Returns the a1gate.
Definition polarscan.c:680
const char * PolarScan_getEndDate(PolarScan_t *scan)
Returns the end date.
Definition polarscan.c:521
double PolarScan_getHeight(PolarScan_t *scan)
Returns the height.
Definition polarscan.c:589
double PolarScan_getBeamwH(PolarScan_t *scan)
Returns the horizontal beamwidth.
Definition polarscan.c:705
RaveField_t * PolarScan_getQualityField(PolarScan_t *scan, int index)
Returns the quality field at the specified location.
Definition polarscan.c:875
int PolarScan_setTime(PolarScan_t *scan, const char *value)
Sets the nominal time.
Definition polarscan.c:443
int PolarScan_getRotationRequiredToNorthmost(PolarScan_t *self)
Returns the rotation needed to to get the first ray in the scan to be the north most ray.
Definition polarscan.c:1096
int PolarScan_setParameterValue(PolarScan_t *scan, const char *quantity, int bin, int ray, double v)
Sets the parameter value at the specified position.
Definition polarscan.c:1238
void PolarScan_setLongitude(PolarScan_t *scan, double lon)
Sets the longitude.
Definition polarscan.c:557
RaveField_t * PolarScan_getDistanceField(PolarScan_t *self)
Gets the distance field for self.
Definition polarscan.c:1929
RaveObjectList_t * PolarScan_getAttributeValuesVersion(PolarScan_t *scan, RaveIO_ODIM_Version version)
Returns a list of attribute values belonging to this scan for the specified version.
Definition polarscan.c:1782
int PolarScan_setStartTime(PolarScan_t *scan, const char *value)
Sets the start time.
Definition polarscan.c:455
int PolarScan_getNearestNavigationInfo(PolarScan_t *scan, double lon, double lat, PolarNavigationInfo *navinfo)
Returns the navigation information for the specified lon/lat.
Definition polarscan.c:1563
int PolarScan_addParameter(PolarScan_t *scan, PolarScanParam_t *parameter)
Adds a parameter to the polar scan.
Definition polarscan.c:749
int PolarScan_addQualityField(PolarScan_t *scan, RaveField_t *field)
Adds a quality field to this scan.
Definition polarscan.c:835
RaveValueType PolarScan_getValue(PolarScan_t *scan, int bin, int ray, double *v)
Returns the value at the specified index.
Definition polarscan.c:1252
void PolarScan_setA1gate(PolarScan_t *scan, long a1gate)
Sets the a1gate.
Definition polarscan.c:674
void PolarScan_setUseAzimuthalNavInformation(PolarScan_t *self, int v)
Sets if the azimuthal nav information (astart / startazA / stopazA) should be used when calculating a...
Definition polarscan.c:1032
int PolarScan_addOrReplaceQualityField(PolarScan_t *scan, RaveField_t *field)
Adds or replaces a quality field.
Definition polarscan.c:841
void PolarScanInternal_setPolarVolumeBeamwV(PolarScan_t *scan, double bw)
Framework internal function for setting the beamwidth in a scan, used to indicate that the beamwidth ...
Definition polarscan.c:2121
void PolarScan_setRscale(PolarScan_t *scan, double rscale)
Sets the range scale for the scan.
Definition polarscan.c:634
RaveField_t * PolarScan_findQualityFieldByHowTask(PolarScan_t *scan, const char *value, const char *quantity)
Atempts to locate a quality field with how/task = value.
Definition polarscan.c:922
int PolarScan_setEndTime(PolarScan_t *scan, const char *value)
Sets the end time.
Definition polarscan.c:471
int PolarScan_addAttributeVersion(PolarScan_t *scan, RaveAttribute_t *attribute, RaveIO_ODIM_Version version)
Adds a rave attribute to the scan and specifies the odim version as well.
Definition polarscan.c:1679
double PolarScan_getLatitude(PolarScan_t *scan)
Returns the latitude.
Definition polarscan.c:577
RaveValueType PolarScan_getNearestParameterValue(PolarScan_t *scan, const char *quantity, double lon, double lat, double *v)
Returns the nearest parameter value to the specified longitude, latitude.
Definition polarscan.c:1489
const char * PolarScan_getDefaultParameter(PolarScan_t *scan)
Returns the currently specified default parameter name.
Definition polarscan.c:743
int PolarScan_addSurroundingNavigationInfosForTarget(PolarScan_t *scan, PolarNavigationInfo *targetNavInfo, int surroundingRangeBins, int surroundingRays, int noofNavinfos, PolarNavigationInfo navinfos[])
Appends navigation info structs to array, based on a target navigation info struct and input paramete...
Definition polarscan.c:1503
int PolarScan_setDate(PolarScan_t *scan, const char *value)
Sets the nominal date.
Definition polarscan.c:487
RaveList_t * PolarScan_getAttributeNamesVersion(PolarScan_t *scan, RaveIO_ODIM_Version version)
Returns a list of attribute names for specified version.
Definition polarscan.c:1770
void PolarScan_setProjection(PolarScan_t *scan, Projection_t *projection)
Sets the projection to be used for this scan.
Definition polarscan.c:430
void PolarScan_setRstart(PolarScan_t *scan, double rstart)
Sets the ray start for the scan.
Definition polarscan.c:653
int PolarScan_getNumberOfQualityFields(PolarScan_t *scan)
Returns the number of quality fields.
Definition polarscan.c:881
double PolarScan_getLongitude(PolarScan_t *scan)
Returns the longitude.
Definition polarscan.c:564
RaveValueType PolarScan_getConvertedValue(PolarScan_t *scan, int bin, int ray, double *v)
Returns the linear converted value at the specified index.
Definition polarscan.c:1283
PolarScanParam_t * PolarScan_removeParameter(PolarScan_t *scan, const char *quantity)
Removes (and returns) the parameter that is specified by the quantity.
Definition polarscan.c:798
PolarScanSelectionMethod_t
Enum defining how a an integer value should be selected from a float type-value.
Definition polarscan.h:47
void PolarScan_setBeamwV(PolarScan_t *scan, double beamwidth)
Sets the vertical beamwidth.
Definition polarscan.c:711
RaveAttribute_t * PolarScan_getAttributeVersion(PolarScan_t *scan, const char *name, RaveIO_ODIM_Version version)
Returns the rave attribute that is named accordingly for specified version.
Definition polarscan.c:1748
int PolarScan_getSurroundingNavigationInfos(PolarScan_t *scan, double lon, double lat, int surroundingRangeBins, int surroundingRays, PolarNavigationInfo navinfos[])
Returns an array of surrounding navigation info structs for the specified lon/lat.
Definition polarscan.c:1546
const char * PolarScan_getStartDate(PolarScan_t *scan)
Returns the start date.
Definition polarscan.c:505
void PolarScan_removeAttribute(PolarScan_t *scan, const char *attrname)
Removes a rave attribute from the scan.
Definition polarscan.c:1716
int PolarScanInternal_isPolarVolumeBeamwV(PolarScan_t *scan)
Returns if the beamwidth comes from a volume or not.
Definition polarscan.c:2134
void PolarScan_setLatitude(PolarScan_t *scan, double lat)
Sets the latitude.
Definition polarscan.c:570
const char * PolarScan_getTime(PolarScan_t *scan)
Returns the nominal time.
Definition polarscan.c:449
int PolarScan_setStartDate(PolarScan_t *scan, const char *value)
Sets the start date.
Definition polarscan.c:499
RaveValueType PolarScan_getConvertedParameterValue(PolarScan_t *scan, const char *quantity, int bin, int ray, double *v)
Returns the linear converted parameter value at the specified index.
Definition polarscan.c:1301
const char * PolarScan_getSource(PolarScan_t *scan)
Returns the source.
Definition polarscan.c:551
int PolarScan_setSource(PolarScan_t *scan, const char *value)
Sets the source.
Definition polarscan.c:531
RaveValueType PolarScan_getParameterValue(PolarScan_t *scan, const char *quantity, int bin, int ray, double *v)
Returns the parameter value at the specified index.
Definition polarscan.c:1269
void PolarScan_removeQualityField(PolarScan_t *scan, int index)
Removes the quality field at the specified location.
Definition polarscan.c:887
int PolarScan_getIndexFromAzimuthAndRange(PolarScan_t *scan, double a, double r, PolarScanSelectionMethod_t azimuthSelectionMethod, PolarScanSelectionMethod_t rangeSelectionMethod, int rangeMidpoint, int *ray, int *bin)
Returns the bin and ray index from a specified azimuth and range.
Definition polarscan.c:1316
void PolarScanInternal_setPolarVolumeBeamwH(PolarScan_t *scan, double bw)
Framework internal function for setting the beamwidth in a scan, used to indicate that the beamwidth ...
Definition polarscan.c:2114
int PolarScan_hasAttribute(PolarScan_t *scan, const char *name)
Returns if the specified attribute exists.
Definition polarscan.c:1758
int PolarScan_getLonLatFromIndex(PolarScan_t *scan, int bin, int ray, double *lon, double *lat)
Calculates the lon / lat from the index with the adjusted elevation angle.
Definition polarscan.c:1609
int PolarScan_shiftData(PolarScan_t *self, int nrays)
Performs a circular shift of the datasets that are associated with this scan.
Definition polarscan.c:1939
void PolarScan_setNavigator(PolarScan_t *scan, PolarNavigator_t *navigator)
Sets a navigator for the polar scan, this is preferrable to use when this scan is included in a volum...
Definition polarscan.c:415
RaveField_t * PolarScan_getQualityFieldByHowTask(PolarScan_t *scan, const char *value)
Returns a quality field based on the value of how/task that should be a string.
Definition polarscan.c:901
int PolarScan_getNearestIndex(PolarScan_t *scan, double lon, double lat, int *bin, int *ray)
Returns the nearest index to the specified long/lat pair.
Definition polarscan.c:1594
const char * PolarScan_getDate(PolarScan_t *scan)
Returns the nominal date.
Definition polarscan.c:493
PolarNavigator_t * PolarScan_getNavigator(PolarScan_t *scan)
Returns the navigator that is used for this scan.
Definition polarscan.c:424
double PolarScan_getAzimuth(PolarScan_t *scan, int ai)
Returns the azimuth for the specified azimuth index.
Definition polarscan.c:1197
int PolarScan_isTransformable(PolarScan_t *scan)
Verifies that all preconditions are met in order to perform a transformation.
Definition polarscan.c:1662
int PolarScan_getAzimuthAndRangeFromIndex(PolarScan_t *scan, int bin, int ray, double *a, double *r)
Calculates the azimuth and range from bin and ray index.
Definition polarscan.c:1343
const char * PolarScan_getStartTime(PolarScan_t *scan)
Returns the start time.
Definition polarscan.c:461
Projection_t * PolarScan_getProjection(PolarScan_t *scan)
Returns the current projection for this scan.
Definition polarscan.c:437
double PolarScan_getBeamwV(PolarScan_t *scan)
Returns the vertical beamwidth.
Definition polarscan.c:718
RaveObjectList_t * PolarScan_getQualityFields(PolarScan_t *scan)
Returns all quality fields belonging to this scan.
Definition polarscan.c:895
double PolarScan_getBeamwidth(PolarScan_t *scan)
Returns the horizontal beamwidth (same as PolarScan_getBeamwH).
Definition polarscan.c:692
int PolarScan_removeAllParameters(PolarScan_t *scan)
Removes all parameters that are in the scan as well as dereferencing the default parameter.
Definition polarscan.c:804
double PolarScan_getRscale(PolarScan_t *scan)
Returns the range bin scale for the scan.
Definition polarscan.c:641
RaveList_t * PolarScan_getAttributeNames(PolarScan_t *scan)
Returns a list of attribute names.
Definition polarscan.c:1764
double PolarScan_getMaxDistance(PolarScan_t *scan)
Returns the maximum distance (at ground level) that this scan will cover.
Definition polarscan.c:601
RaveCoreObjectType PolarScan_TYPE
Type definition to use when creating a rave object.
Definition polarscan.c:2142
RaveDataType PolarScan_getDataType(PolarScan_t *scan)
Returns the data type.
Definition polarscan.c:665
int PolarScanInternal_isPolarVolumeBeamwH(PolarScan_t *scan)
Returns if the beamwidth comes from a volume or not.
Definition polarscan.c:2128
void PolarScan_setBeamwH(PolarScan_t *scan, double beamwidth)
Sets the horizontal beamwidth.
Definition polarscan.c:698
int PolarScan_getQualityValueAt(PolarScan_t *scan, const char *quantity, 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 in th...
Definition polarscan.c:1625
int PolarScan_getAzimuthIndex(PolarScan_t *scan, double a, PolarScanSelectionMethod_t selectionMethod)
Returns the azimuth index for the specified azimuth.
Definition polarscan.c:1121
void PolarScan_setBeamwidth(PolarScan_t *scan, double beamwidth)
Sets the horizontal beamwidth (same as PolarScan_setBeamwH).
Definition polarscan.c:686
int PolarScan_fillNavigationIndexFromAzimuthAndRange(PolarScan_t *scan, PolarScanSelectionMethod_t azimuthSelectionMethod, PolarScanSelectionMethod_t rangeSelectionMethod, int rangeMidpoint, PolarNavigationInfo *info)
Calculates range and elevation index from the azimuth and range in the info object.
Definition polarscan.c:1451
RaveObjectList_t * PolarScan_getParameters(PolarScan_t *scan)
Returns all parameters belonging to this scan.
Definition polarscan.c:817
Defines the functions available when working with one parameter in a polar scan.
Generic field that only provides a 2-dim data field and a number of dynamic attributes.
Used for defining a legend that can be added to a parameter.
Implementation of a simple list.
Generic implementation of an object that is used within rave.
Type definitions for RAVE.
RaveIO_ODIM_Version
The /Conventions version in a ODIM HDF5 file.
Definition rave_types.h:43
RaveDataType
Different data types that are supported during transformation.
Definition rave_types.h:130
Rave_ObjectType
Object types that defines the /what/object in the ODIM format.
Definition rave_types.h:82
RaveValueType
Different value types.
Definition rave_types.h:72
Implementation of a rave object list that ensures that the objects contained within the list are rele...
Provides user with navigation information.
Definition rave_types.h:160
Represents one polar navigator.
Definition polarnav.c:44
Represents one param in a scan.
Definition polarscanparam.c:41
Represents one scan in a volume.
Definition polarscan.c:47
PolarNavigator_t * navigator
a navigator for calculating polar navigation
Definition polarscan.c:73
double elangle
elevation of scan
Definition polarscan.c:56
long nrays
number of rays
Definition polarscan.c:53
double rscale
scale
Definition polarscan.c:57
double rstart
start of ray
Definition polarscan.c:58
long a1gate
something
Definition polarscan.c:59
Projection_t * projection
projection for this scan
Definition polarscan.c:76
Represents one projection.
Definition projection.c:55
Represents one scan in a volume.
Definition rave_attribute.c:46
Represents the cartesian volume.
Definition rave_field.c:36
Represents a list.
Definition rave_list.c:36
Represents a list.
Definition raveobject_list.c:35
The rave object type definition.
Definition rave_object.h:52