Skip to contents

This class represent CF axes that use categorical character labels as coordinate values. Note that this is different from a CFLabel, which is associated with an axis but not an axis itself.

This is an extension to the CF Metadata Conventions. As per CF, axes are required to have numerical values, which is relaxed here.

Super classes

ncdfCF::CFObject -> ncdfCF::CFData -> ncdfCF::CFAxis -> CFAxisCharacter

Active bindings

friendlyClassName

(read-only) A nice description of the class.

dimnames

(read-only) The coordinates of the axis as a character vector.

Methods

Inherited methods


Method new()

Create a new instance of this class.

Creating a new character axis is more easily done with the makeCharacterAxis() function.

Usage

CFAxisCharacter$new(
  var,
  group,
  values,
  start = 1L,
  count = NA,
  attributes = data.frame()
)

Arguments

var

The name of the axis when creating a new axis. When reading an axis from file, the NCVariable object that describes this instance.

group

The CFGroup that this instance will live in.

values

Optional. The values of the axis in a vector. These must be character values. Ignored when argument var is a NCVariable object.

start

Optional. Integer index where to start reading axis data from file. The index may be NA to start reading data from the start.

count

Optional. Number of elements to read from file. This may be NA to read to the end of the data.

attributes

Optional. A data.frame with the attributes of the axis. When an empty data.frame (default) and argument var is an NCVariable instance, attributes of the axis will be taken from the netCDF resource.


Method brief()

Some details of the axis.

Usage

CFAxisCharacter$brief()

Returns

A 1-row data.frame with some details of the axis.


Method copy()

Create a copy of this axis. The copy is completely separate from this axis, meaning that the new axis and all of its components are made from new instances. If this axis is backed by a netCDF resource, the copy will retain the reference to the resource.

Usage

CFAxisCharacter$copy(name = "", group)

Arguments

name

The name for the new axis. If an empty string is passed, will use the name of this axis.

group

The CFGroup where the copy of this axis will live.

Returns

The newly created axis.


Method copy_with_values()

Create a copy of this axis but using the supplied values. The attributes are copied to the new axis. Boundary values and auxiliary coordinates are not copied.

After this operation the attributes of the newly created axes may not be accurate, except for the "actual_range" attribute. The calling code should set, modify or delete attributes as appropriate.

Usage

CFAxisCharacter$copy_with_values(name = "", group, values)

Arguments

name

The name for the new axis. If an empty string is passed, will use the name of this axis.

group

The CFGroup where the copy of this axis will live.

values

The values to the used with the copy of this axis.

Returns

The newly created axis.


Method slice()

Given a range of domain coordinate values, returns the indices into the axis that fall within the supplied range.

Usage

CFAxisCharacter$slice(rng)

Arguments

rng

A character vector whose extreme (alphabetic) values indicate the indices of coordinates to return.

Returns

An integer vector of length 2 with the lower and higher indices into the axis that fall within the range of coordinates in argument rng. Returns NULL if no values of the axis fall within the range of coordinates.


Method subset()

Return an axis spanning a smaller coordinate range. This method returns an axis which spans the range of indices given by the rng argument.

Usage

CFAxisCharacter$subset(name = "", group, rng = NULL)

Arguments

name

The name for the new axis. If an empty string is passed (default), will use the name of this axis.

group

The CFGroup where the copy of this axis will live.

rng

The range of indices whose values from this axis to include in the returned axis. If the value of the argument is NULL, return a copy of the axis.

Returns

A new CFAxisCharacter instance covering the indicated range of indices. If the value of the argument rng is NULL, return a copy of this axis as the new axis.


Method identical()

Tests if the axis passed to this method is identical to self.

Usage

CFAxisCharacter$identical(axis)

Arguments

axis

The CFAxisCharacter instance to test.

Returns

TRUE if the two axes are identical, FALSE if not.


Method append()

Append a vector of values at the end of the current values of the axis.

Usage

CFAxisCharacter$append(from, group)

Arguments

from

An instance of CFAxisCharacter whose values to append to the values of self.

group

The CFGroup where the copy of this axis will live.

Returns

A new CFAxisCharacter instance with values from self and the from axis appended.


Method indexOf()

Find indices in the axis domain. Given a vector of character strings x, find their indices in the coordinates of the axis.

Usage

CFAxisCharacter$indexOf(x, method = "constant", rightmost.closed = TRUE)

Arguments

x

Vector of character strings to find axis indices for.

method

Ignored.

rightmost.closed

Ignored.

Returns

Numeric vector of the same length as x. Values of x that are not equal to a coordinate of the axis are returned as NA.