Module org.apache.sis.storage.netcdf
Package org.apache.sis.storage.netcdf

# Class AttributeNames.Dimension

Object
Dimension

All Implemented Interfaces:
  `Serializable`

Enclosing class:
  `AttributeNames`

public static class AttributeNames.Dimension extends Object implements Serializable
Holds the attribute names describing a simple latitude, longitude, and vertical bounding box. In the following table, the header lists the constants defined in the `AttributeNames` class and the other cells give the values assigned in this class fields for those constants.

Names of netCDF attributes describing an extent
Field in this class | `LATITUDE` | `LONGITUDE` | `VERTICAL` | `TIME`
--- | --- | --- | --- | ---
`MINIMUM` | `"geospatial_lat_min"` | `"geospatial_lon_min"` | `"geospatial_vertical_min"` | `"time_coverage_start"`
`MAXIMUM` | `"geospatial_lat_max"` | `"geospatial_lon_max"` | `"geospatial_vertical_max"` | `"time_coverage_end"`
`SPAN` |  |  |  | `"time_coverage_duration"`
`RESOLUTION` | `"geospatial_lat_resolution"` | `"geospatial_lon_resolution"` | `"geospatial_vertical_resolution"` | `"time_coverage_resolution"`
`UNITS` | `"geospatial_lat_units"` | `"geospatial_lon_units"` | `"geospatial_vertical_units"` | `"time_coverage_units"`
`POSITIVE` |  |  | `"geospatial_vertical_positive"` |
`DEFAULT_NAME_TYPE` | `DimensionNameType.ROW` | `DimensionNameType.COLUMN` | `DimensionNameType.VERTICAL` | `DimensionNameType.TIME`

## Departure from conventions

The member names in this class are upper-cases because they should be considered as constants. For example, `AttributeNames​.LATITUDE​.MINIMUM` maps exactly to the `"geospatial_lat_min"` string and nothing else. A lower-case `minimum` member name could be misleading since it would suggest that the field contains the actual latitude value rather than the key by which the value is identified in a netCDF file.

Since:
  0.3
See Also:
  - `AttributeNames​.Responsible`
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `final DimensionNameType`
  `DEFAULT_NAME_TYPE`
  The default ISO 19115 dimension name type, or `null` if none.
  `final String`
  `MAXIMUM`
  The attribute name for the maximal value of the bounding box (Recommended).
  `final String`
  `MINIMUM`
  The attribute name for the minimal value of the bounding box (Recommended).
  `final String`
  `POSITIVE`
  The attribute name for indicating which direction is positive (Suggested).
  `final String`
  `RESOLUTION`
  The attribute name for a further refinement of the geospatial bounding box (Suggested).
  `final String`
  `SPAN`
  The attribute name for the difference between the minimal and maximal values.
  `final String`
  `UNITS`
  The attribute name for the bounding box units of measurement.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Dimension(DimensionNameType type, String min, String max, String span, String resolution, String units, String positive)`
  Creates a new set of attribute names.

- ## Method Summary

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### MINIMUM

    public final String MINIMUM
    The attribute name for the minimal value of the bounding box (Recommended). Possible values are `"geospatial_lat_min"`, `"geospatial_lon_min"`, `"geospatial_vertical_min"` and `"time_coverage_start"`.

  - ### MAXIMUM

    public final String MAXIMUM
    The attribute name for the maximal value of the bounding box (Recommended). Possible values are `"geospatial_lat_max"`, `"geospatial_lon_max"`, `"geospatial_vertical_max"` and `"time_coverage_end"`.

  - ### SPAN

    public final String SPAN
    The attribute name for the difference between the minimal and maximal values. Possible value is `"time_coverage_duration"`.

  - ### RESOLUTION

    public final String RESOLUTION
    The attribute name for a further refinement of the geospatial bounding box (Suggested). Possible values are `"geospatial_lat_resolution"`, `"geospatial_lon_resolution"`, `"geospatial_vertical_resolution"` and `"time_coverage_resolution"`.

  - ### UNITS

    public final String UNITS
    The attribute name for the bounding box units of measurement. Possible values are `"geospatial_lat_units"`, `"geospatial_lon_units"`, `"geospatial_vertical_units"` and `"time_coverage_units"`.

  - ### POSITIVE

    public final String POSITIVE
    The attribute name for indicating which direction is positive (Suggested). Possible value is `"geospatial_vertical_positive"`.

  - ### DEFAULT_NAME_TYPE

    public final DimensionNameType DEFAULT_NAME_TYPE
    The default ISO 19115 dimension name type, or `null` if none. By default, `DimensionNameType​.COLUMN` is associated to longitudes and `DimensionNameType​.ROW` to latitudes since geographic maps in netCDF files are typically shown horizontally.

    The default associations may not be always correct since the columns and rows can be anything. Strictly speaking, the dimension name types shall be associated to the grid axes rather than the coordinate system axes. However, the default association is correct in the common case (for netCDF files) where there is no axis swapping in the grid to CRS conversion.

- ## Constructor Details

  - ### Dimension

    public Dimension(DimensionNameType type, String min, String max, String span, String resolution, String units, String positive)
    Creates a new set of attribute names.
    Parameters:
      `type` - the default ISO 19115 dimension name type, or `null` if none.
      `min` - the attribute name for the minimal value of the bounding box.
      `max` - the attribute name for the maximal value of the bounding box.
      `span` - the attribute name for the difference between the minimal and maximal values.
      `resolution` - the attribute name for a further refinement of the geospatial bounding box.
      `units` - the attribute name for the bounding box units of measurement.
      `positive` - the attribute name for indicating which direction is positive.