|
| 1 | +# CSV File Aggregation Metadata |
| 2 | + |
| 3 | +## Properties |
| 4 | + |
| 5 | +- **`title`** *(string)*: A string containing a descriptive title for the aggregation. Default: `null`. |
| 6 | +- **`subjects`** *(array)*: A list of keyword strings expressing the topic of the aggregation. Default: `[]`. |
| 7 | + - **Items** *(string)* |
| 8 | +- **`language`** *(string)*: The 3-character string for the language in which the metadata and content are expressed. Default: `"eng"`. |
| 9 | +- **`additional_metadata`** *(array)*: A dictionary of additional metadata elements expressed as key-value pairs. |
| 10 | + - **Items** *(object)*: A key-value pair. Default: `[]`. |
| 11 | + - **`key`** *(string)* |
| 12 | + - **`value`** *(string)* |
| 13 | +- **`spatial_coverage`**: An object containing the geospatial coverage for the aggregation expressed as either a bounding box or point. Default: `null`. |
| 14 | + - **Any of** |
| 15 | + - : Refer to *[#/definitions/PointCoverage](#definitions/PointCoverage)*. |
| 16 | + - : Refer to *[#/definitions/BoxCoverage](#definitions/BoxCoverage)*. |
| 17 | + - *null* |
| 18 | +- **`period_coverage`**: An object containing the temporal coverage for a aggregation expressed as a date range. Default: `null`. |
| 19 | + - **Any of** |
| 20 | + - : Refer to *[#/definitions/PeriodCoverage](#definitions/PeriodCoverage)*. |
| 21 | + - *null* |
| 22 | +- **`tableSchema`**: An object containing metadata for the CSV file content type. |
| 23 | + - **All of** |
| 24 | + - : Refer to *[#/definitions/CSVTableSchema](#definitions/CSVTableSchema)*. |
| 25 | +- **`type`**: A string expressing the aggregation type from the list of HydroShare aggregation types. Default: `"CSV"`. |
| 26 | + - **All of** |
| 27 | + - : Refer to *[#/definitions/AggregationType](#definitions/AggregationType)*. |
| 28 | +- **`url`** *(string, format: uri, required)*: An object containing the URL of the aggregation. |
| 29 | +- **`rights`**: An object containing information about the rights held in and over the aggregation and the license under which a aggregation is shared. Default: `null`. |
| 30 | + - **Any of** |
| 31 | + - : Refer to *[#/definitions/Rights](#definitions/Rights)*. |
| 32 | + - *null* |
| 33 | +## Definitions |
| 34 | + |
| 35 | +- <a id="definitions/AggregationType"></a>**`AggregationType`** *(string)*: Must be one of: `["Generic", "FileSet", "GeoRaster", "NetCDF", "GeoFeature", "RefTimeseries", "TimeSeries", "ModelProgram", "ModelInstance", "CSV"]`. |
| 36 | +- <a id="definitions/BoxCoverage"></a>**`BoxCoverage`** *(object)*: A class used to represent geographic coverage metadata for a resource or aggregation expressed as a |
| 37 | +latitude-longitude bounding box. |
| 38 | + - **`type`** *(string)*: A string containing the type of geographic coverage. Must be one of: `["box"]`. Must be: `"box"`. Default: `"box"`. |
| 39 | + - **`name`** *(string)*: A string containing a name for the place associated with the geographic coverage. Default: `null`. |
| 40 | + - **`northlimit`** *(number, required)*: A floating point value containing the constant coordinate for the northernmost face or edge of the bounding box. Exclusive minimum: `-90.0`. Exclusive maximum: `90.0`. |
| 41 | + - **`eastlimit`** *(number, required)*: A floating point value containing the constant coordinate for the easternmost face or edge of the bounding box. Exclusive minimum: `-180.0`. Exclusive maximum: `180.0`. |
| 42 | + - **`southlimit`** *(number, required)*: A floating point value containing the constant coordinate for the southernmost face or edge of the bounding box. Exclusive minimum: `-90.0`. Exclusive maximum: `90.0`. |
| 43 | + - **`westlimit`** *(number, required)*: A floating point value containing the constant coordinate for the westernmost face or edge of the bounding box. Exclusive minimum: `-180.0`. Exclusive maximum: `180.0`. |
| 44 | + - **`units`** *(string, required)*: A string containing the units applying to the unlabelled numeric values of northlimit, eastlimit, southlimit, and westlimit. |
| 45 | + - **`projection`** *(string)*: A string containing the name of the projection used with any parameters required, such as ellipsoid parameters, datum, standard parallels and meridians, zone, etc. Default: `null`. |
| 46 | +- <a id="definitions/CSVColumnSchema"></a>**`CSVColumnSchema`** *(object)*: A class used to represent the metadata associated with a CSV column. |
| 47 | + - **`column_number`** *(integer, required)*: The column number of a column in the CSV file. Exclusive minimum: `0`. |
| 48 | + - **`title`**: The title of of a column in the CSV file. Default: `null`. |
| 49 | + - **Any of** |
| 50 | + - *string* |
| 51 | + - *null* |
| 52 | + - **`description`**: The description of a column in the CSV file. Default: `null`. |
| 53 | + - **Any of** |
| 54 | + - *string* |
| 55 | + - *null* |
| 56 | + - **`datatype`** *(string, required)*: The datatype of a column in the CSV file. Must be one of: `["string", "number", "datetime", "boolean"]`. |
| 57 | +- <a id="definitions/CSVColumnsSchema"></a>**`CSVColumnsSchema`** *(object)*: A class used to represent the metadata associated with all columns of a CSV file. |
| 58 | + - **`columns`** *(array, required)*: A list of objects containing metadata for each of the columns in the CSV file. |
| 59 | + - **Items**: Refer to *[#/definitions/CSVColumnSchema](#definitions/CSVColumnSchema)*. |
| 60 | +- <a id="definitions/CSVTableSchema"></a>**`CSVTableSchema`** *(object)*: A class used to represent the metadata associated with a CSV file. |
| 61 | + - **`rows`** *(integer, required)*: The number of data rows in the CSV file. Exclusive minimum: `0`. |
| 62 | + - **`delimiter`** *(string, required)*: The delimiter used in the CSV file. Must be one of: `[",", ";", "\t"]`. |
| 63 | + - **`table`**: An object containing metadata for all columns in the CSV file. |
| 64 | + - **All of** |
| 65 | + - : Refer to *[#/definitions/CSVColumnsSchema](#definitions/CSVColumnsSchema)*. |
| 66 | +- <a id="definitions/PeriodCoverage"></a>**`PeriodCoverage`** *(object)*: A class used to represent temporal coverage metadata for a resource or aggregation. |
| 67 | + - **`name`** *(string)*: A string containing a name for the time interval. Default: `null`. |
| 68 | + - **`start`** *(string, format: date-time, required)*: A datetime object containing the instant corresponding to the commencement of the time interval. |
| 69 | + - **`end`** *(string, format: date-time, required)*: A datetime object containing the instant corresponding to the termination of the time interval. |
| 70 | +- <a id="definitions/PointCoverage"></a>**`PointCoverage`** *(object)*: A class used to represent geographic coverage metadata for a resource or aggregation expressed as a |
| 71 | +point location. |
| 72 | + - **`type`** *(string)*: A string containing the type of geographic coverage. Must be one of: `["point"]`. Must be: `"point"`. Default: `"point"`. |
| 73 | + - **`name`** *(string)*: A string containing a name for the place associated with the geographic coverage. Default: `null`. |
| 74 | + - **`east`** *(number, required)*: The coordinate of the point location measured in the east direction. Exclusive minimum: `-180.0`. Exclusive maximum: `180.0`. |
| 75 | + - **`north`** *(number, required)*: The coordinate of the point location measured in the north direction. Exclusive minimum: `-90.0`. Exclusive maximum: `90.0`. |
| 76 | + - **`units`** *(string, required)*: The units applying to the unlabelled numeric values of north and east. |
| 77 | + - **`projection`** *(string, required)*: The name of the projection used with any parameters required, such as ellipsoid parameters, datum, standard parallels and meridians, zone, etc. |
| 78 | +- <a id="definitions/Rights"></a>**`Rights`** *(object)*: A class used to represent the rights statement metadata associated with a resource. |
| 79 | + - **`statement`** *(string, required)*: A string containing the text of the license or rights statement. |
| 80 | + - **`url`** *(string, format: uri, required)*: An object containing the URL pointing to a description of the license or rights statement. |
0 commit comments