Table of Contents | ||
---|---|---|
|
Warning: This specification is deprecated and is only further used for already existing data products and workflows.
The commonly known GeoCSV format extends the CSV format with a geometry column (usually with WKT notation). The O2A GeoCSV specification extends the GeoCSV format with special requirements enabling it to be used in the automated O2A dataflow. Originally it was built upon (but should not be confused with) the NRT Data Format but has undergone major changes since then. Also it's heavily influenced by PANGAEA formats (Geocodes, .tab format).
When storing data in O2A GeoCSV format, data and metadata go different ways. Data (including their spatio-temporal location) go into a data file and metadata go into a metadata file. Data files and metadata files are linked together by file names. Multiple data files can be linked to the same metadata file.
The concept of parameter URNs (version 1.x) has been dropped.
Data files are GeoCSV files using the WKT notation for the description of the geometry. However, there are additional requirements.
...
column type/group | column order | column header | value is mandatory | description | example values |
---|---|---|---|---|---|
spatio-temporal location | 1 | date_time_start | yes | Date and time of measurement in ISO 8601 format notation, using UTC time zone, without fractions of seconds. Or start of time range. | valid:
|
2 | date_time_end | no | End of time range of measurement in ISO 8601 format notation, using UTC time zone, without fractions of seconds. | see above | |
3 | elevation [m] | no | Elevation in meter. A negative value means below sea level, while positive value means above sea level. See Pangaea Geocode definition. Note: This is not the height/depth of the measurement (unless it's taken on earth's surface) but the topographical elevation at the lat/lon position. | ||
4 | z_value [m] | no | Vertical position of the measurement, in meter (third spatial dimension). | ||
5 | z_type | yes, ifz_value is given | Pangaea Geocode to describe the type of z_value [m] . | valid: "DEPTH, water" | |
metadata reference | 6 | event_name | yes | Name of event. Reference key for metadata. event_name must match one event name in metadata file (if metadata file is used). | PS1010-1 |
data | <parameter> [<unit>] | no | Arbitrary amount of columns (at least one) with (measurement) data. Each column name has to start with the parameter/phenomenon name followed by a unit in square brackets. Reference key for metadata. | ||
spatio-temporal location | last | geometry | yes | Geometry in WKT notation without third spatial dimension. The reference system needs to be EPSG:4326 and the unit is decimal degrees. Longitude comes first, latitude second. The geometry type can be chosen freely. However, a simple POINT is usually the best choice. |
|
...
Code Block | ||
---|---|---|
| ||
date_time_start z_value [m] z_value_type event_name Pressure, at given altitude [hPa] Temperature, air [°C] geometry 1982-12-29T11:02:00 10 Altitude PS01/00001 1035.0 8.3 POINT(-4.3 49.6) 1982-12-29T11:45:00 956 Altitude PS01/00001 921.4 0.9 POINT(-4.3 49.6) 1982-12-29T13:21:00 1035 Altitude PS01/00001 912.4 0.2 POINT(-4.3 49.6) |
...
Download of proper example data file: example-1.sdi.tab
Code Block |
---|
date_time_start date_time_end elevation [m] z-value [m] z-type event_name <parameter> [<unit>] <parameter> [<unit>] geometry |
Download of template data file: template.sdi.tab
Metadata files are JSON files. There's a fixed structure with the possibility to add custom metadata.
...
meta keys | description | example values |
---|---|---|
pi_name | name of principle investigator | "König-Langlo, Gert" |
pi_email | mail of principle investigator | "gert.koenig-langlo[at]awi.de" |
pi_url | homepage of principle investigator | "http://www.awi.de/en/about-us/organisation/staff/gert-koenig-langlo.html" |
pi_orcid | ORCID of principle investigator | "https://orcid.org/0000-0002-6100-4107" |
comment | "Height of tropopause 11650 m" | |
citation | "König-Langlo, Gert (1983): Radiosonde PS01/00001 during POLARSTERN cruise ANT-I/1 on 1982-12-29 11:24h. Alfred Wegener Institute, Helmholtz Centre for Polar and Marine Research, Bremerhaven, PANGAEA, https://doi.org/10.1594/PANGAEA.382336, In: König-Langlo, G (1983): Upper air soundings during POLARSTERN cruise ANT-I/1. Alfred Wegener Institute, Helmholtz Centre for Polar and Marine Research, Bremerhaven, PANGAEA, https://doi.org/10.1594/PANGAEA.853633" | |
project | references entry in projects list | |
license | "Creative Commons Attribution 3.0 Unported (CC-BY-3.0)" | |
metadata_url | link to metadata | "https://doi.pangaea.de/10.1594/PANGAEA.382336?format=metadata_jsonld" |
data_url | link to data | "https://doi.pangaea.de/10.1594/PANGAEA.382336?format=textfile" |
sop_url | link to SOP information |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
// Minimal example of a metadata file (.sdi.meta.json), only containing version and one event with an expedition name { "version": "2.0", "events": [ { "name": "foo", "expedition": "bar" } ] } // Less minimal representation of the same metadata. Both versions are valid. { "version": "2.0", "events": [ { "name": "foo", "expedition": "bar" } ], "expeditions: [ { "name": "bar", "alias": "" } ], } |
Inspired by: https://doi.pangaea.de/10.1594/PANGAEA.382336
Code Block | ||
---|---|---|
| ||
{ "version": "2.0", "events": [{ "name": "PS01/00001", "expedition": "ANT-I/1", "platform": "Polarstern", "device": "Radiosonde (RADIO)", "meta": { "location": "English Channel" } } ], "parameters": [ { "name": "Pressure, at given altitude", "alias": "PPP", "unit": "hPa", "meta": { "pi_name": "König-Langlo, Gert", "pi_email": "gert.koenig-langlo[at]awi.de", "pi_orcid": "https://orcid.org/0000-0002-6100-4107", "pi_url": "http://www.awi.de/en/about-us/organisation/staff/gert-koenig-langlo.html", } }, { "name": "Temperature, air", "alias": "TTT", "unit": "°C", "meta": { "pi_name": "König-Langlo, Gert", "pi_email": "gert.koenig-langlo[at]awi.de", "pi_orcid": "https://orcid.org/0000-0002-6100-4107", "pi_url": "http://www.awi.de/en/about-us/organisation/staff/gert-koenig-langlo.html", } } ], "expeditions": [{ "name": "ANT-I/1", "alias": "PS01", "uri": "https://doi.org/10.2312/BzP_0014_1983" } ], "platforms": [{ "name": "Polarstern", "uri": "https://doi.org/10.17815/jlsrf-3-163", } ], "projects": [{ "name": "Meteorological Long-Term Observations @ AWI", "alias": "AWI_Meteo", "uri": "http://www.awi.de/en/science/long-term-observations.html", } ], "meta": { "citation": "König-Langlo, Gert (1983): Radiosonde PS01/00001 during POLARSTERN cruise ANT-I/1 on 1982-12-29 11:24h. Alfred Wegener Institute, Helmholtz Centre for Polar and Marine Research, Bremerhaven, PANGAEA, https://doi.org/10.1594/PANGAEA.382336, In: König-Langlo, G (1983): Upper air soundings during POLARSTERN cruise ANT-I/1. Alfred Wegener Institute, Helmholtz Centre for Polar and Marine Research, Bremerhaven, PANGAEA, https://doi.org/10.1594/PANGAEA.853633", "license": "Creative Commons Attribution 3.0 Unported (CC-BY-3.0)", "comment": "Height of tropopause 11650 m", "metadata_url": "https://doi.pangaea.de/10.1594/PANGAEA.382336?format=metadata_jsonld", "data_url": "https://doi.pangaea.de/10.1594/PANGAEA.382336?format=textfile", "sop_url": "", } } |
Download: template.sdi.meta.json
Metadata files follow this naming pattern: <basename>.sdi.meta.json
.
...
All data files with the same <basename>
are associated with the corresponding metadata file. The @<handle>
can be used to have multiple data files with the same <basename>
. Files can only have up to one handle, and '@' cannot be used anywhere else in filenames.
Code Block | ||||
---|---|---|---|---|
| ||||
./path/to/data |-- foo.sdi.meta.json |-- foo@1999.sdi.tab `-- foo@2000.sdi.tab ./path/to/data |-- foo.sdi.meta.json |-- foo.sdi.tab |-- bar.sdi.meta.json `-- bar.sdi.tab ./path/to/data |-- foo.sdi.meta.json |-- foo@part1.sdi.tab |-- foo@part2.sdi.tab |-- bar.sdi.meta.json `-- bar.sdi.tab |
It is a GeoCSV using the WKT notation for the description of the geometry. However, there are additional requirements regarding columns, their names, their order and some other details.
...
valid: 2019-02-28T15:50:00
invalid: 2019-02-28T15:50:00.000
invalid: 2019-02-28 15:50:00.000
...
Elevation in meter. A negative value means below sea level, while positive means above sea level.
Note: Depth, and maybe altitude as well, must be converted!
...
Data from sensor.awi.de:
valid: vessel:polarstern:tsk1:salinity [psu]
valid: vessel:polarstern:tsk1:principal_investigator []
invalid: vessel:polarstern:tsk1:principal_investigator[]
invalid: vessel:polarstern:tsk1:principal_investigator
invalid: vessel:polarstern:tsk1:principal investigator []
Data from www.pangaea.de:valid: pangaea:12345:sal [psu]
...
Geometry in WKT notation. <type>
can be one of the following:
point → geometry [point]
multipoint
→ geometry [multipoint]
linestring
→ geometry [linestring]
multilinestring
→ geometry [
multilinestring
]polygon → ...
multipolygon
geometrycollection
Column and values are mandatory. <type>
defaults to point
. Rows with missing values will be ignored.
...
POINT (7.33333 -20.12345)
MULTILINESTRING ((8.58 53.55, 8.58 53.56, 8.57 53.55), (8.0 53.0, 9.0 54.0, 8.0 54.0))
datetime
) need to end with square brackets, containing a unit (or a geometry type)<column_name>
and [<unit>]
).sdi.tab
.
(point)datetime longitude [deg] latitude [deg] elevation [m] vessel:polarstern:tsk1:salinity [psu] geometry [point]
2019-02-28T15:50:00 -14.17956 34.03449 -1 34.1234 POINT(-14.17956 34.03449)
2019-02-28T15:50:01 -14.17956 34.03449 -2 34.1345 POINT(-14.17956 34.03449)
2019-02-28T15:50:02 -14.17956 34.03449 -3 34.1456 POINT(-14.17956 34.03449)
...
...