Next Previous Up Contents
Up: Algebraic Expression Syntax
Previous: Instance Methods

### 7.9 Examples

Here are some general examples. They could be used to define synthetic columns or (where numeric) to define values for one of the axes in a plot.

Average
```    (first + second) * 0.5
```
Square root
```    sqrt(variance)
```
Angle conversion
```    radiansToDegrees(DEC_radians)
```
Conversion from string to number
```    parseInt(\$12)
parseDouble(ident)
```
Conversion from number to string
```    toString(index)
```
Conversion between numeric types
```     toShort(obs_type)
toDouble(range)
```
or
```    (short) obs_type
(double) range
```
Conversion from sexagesimal to degrees
```    hmsToDegrees(RA1950)
dmsToDegrees(decDeg,decMin,decSec)
```
Conversion from degrees to sexagesimal
```    degreesToDms(\$3)
degreesToHms(RA,2)
```
Outlier clipping
```    min(1000, max(value, 0))
```
Converting a magic value to null
```    jmag == 9999 ? NULL : jmag
```
Converting a null value to a magic one
```    NULL_jmag ? 9999 : jmag
```
Taking the third scalar element from an array-valued column
```    psfCounts
```
Converting spectral type to numeric value (e.g. "L3.5" -> 23.5, "M7" -> 17)
```   "MLT".indexOf(spType.charAt(0)) * 10 + parseDouble(substring(spType,1)) + 10
```
Note this uses a couple of Java String instance methods (Section 7.8) which are not explicitly documented in this section.
Here are some examples of boolean expressions that could be used to define row subsets (or to create boolean synthetic columns):
Within a numeric range
```    RA > 100 && RA < 120 && Dec > 75 && Dec < 85
```
Within a circle
```    \$2*\$2 + \$3*\$3 < 1
skyDistanceDegrees(ra0,dec0,hmsToDegrees(RA),dmsToDegrees(DEC))<15./3600.
```
First 100 rows
```    index <= 100
```
Every tenth row
```    index % 10 == 0
```
String equality/matching
```    equals(SECTOR, "ZZ9 Plural Z Alpha")
equalsIgnoreCase(SECTOR, "zz9 plural z alpha")
startsWith(SECTOR, "ZZ")
contains(ph_qual, "U")
```
String regular expression matching
```    matches(SECTOR, "[XYZ] Alpha")
```
Subset intersection
```    _1 && _2
```
Subset union
```    _1 || _2
```
Other subset combinations
```    (in_cluster && has_photometry) || ! _6
```
Test for non-blank value
```    ! NULL_ellipticity
```

Next Previous Up Contents