From 6cdc2f78d5827f90d7e9a096d5b38baeb227f0cc Mon Sep 17 00:00:00 2001 From: Johnathan Date: Tue, 17 Dec 2024 13:38:03 -0700 Subject: [PATCH] Release Version 2.10.0 (#341) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix DQ_CompletenessOmission Typo (#284) * Fix Typo DQ_CompletenessOmmission to DQ_CompletenessOmission * Increment Patch Version * 2.8.3 * Add DQ_NonQuantitativeAttributeAccuracy * Release Version 2.9.0 (#289) * Upgrade mdCodes mdCodes -> 2.9.0 * Increment Ruby Version v2.8.4 * Increment package.json Version v2.8.4 Update package-lock.json * Increment Patch Version v2.8.4 * Update package-lock.json * Replace bower.json * Re-remove bower.json * Increment Minor Version * Upgrade mdCodes (#292) * Update adiwg-json_schemas.gemspec and package.json versions to 2.9.1 * Update schema.json version to 2.9.1 * Update dataQualityReport.json schema Remove DQ_ from report type names. * Update dataQualityReport.json schema with translation descriptions for quality report types. * Update dataQualityReport.json schema with corrected translation for quality report types. * Upgrade adiwg-mdcodes to v2.9.2 * Add Gemfile.lock Remove Gemfile.lock from .gitignore and add it. Update mdCodes version to be exact. * Update dataQualityReport.json Fixed typo of FGDC --------- Co-authored-by: Hilmar Maier * Fix Data Quality Enums (#325) * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update adiwg-mdjson_schemas to version 2.9.2-beta.5 * Update evaluationMethod.json schema with corrected enum values for evaluation method types * chore: Update adiwg-mdcodes to version 2.9.3.pre.beta.3 * chore: Update adiwg-mdjson_schemas to version 2.9.2-beta.20 * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update adiwg-mdjson_schemas and related files to version 2.9.2-beta.21 * Prepare for Release v2.9.2 (#328) * chore: Update adiwg-mdjson_schemas and related files to version 2.9.2 * chore: Update adiwg-mdcodes to version 2.9.3 * Prepare release version 2.9.5 (#335) * Fix DQ_CompletenessOmission Typo (#284) (#287) * Fix Typo DQ_CompletenessOmmission to DQ_CompletenessOmission * Increment Patch Version * 2.8.3 * Add DQ_NonQuantitativeAttributeAccuracy * Squashed commit of the following: commit f02a08ce68c3e8990aea1117b5b72b4c1ae9e6f3 Author: Johnathan Date: Tue Feb 13 15:17:33 2024 -0700 Release Version 2.9.0 (#289) * Upgrade mdCodes mdCodes -> 2.9.0 * Increment Ruby Version v2.8.4 * Increment package.json Version v2.8.4 Update package-lock.json * Increment Patch Version v2.8.4 * Update package-lock.json * Replace bower.json * Re-remove bower.json * Increment Minor Version commit 5b598a091b1cf312a041c3fef5efeffa96873003 Author: Johnathan Date: Mon Feb 12 11:32:34 2024 -0700 Fix DQ_CompletenessOmission Typo (#284) * Fix Typo DQ_CompletenessOmmission to DQ_CompletenessOmission * Increment Patch Version * 2.8.3 * Add DQ_NonQuantitativeAttributeAccuracy * chore: Update adiwg-mdjson_schemas and related files to version 2.9.2 * chore: Update adiwg-mdcodes to version 2.9.3 * chore: Update adiwg-mdcodes to version 2.9.4-beta.0 and adiwg-mdjson_schemas to version 2.9.3-beta.0 * chore: Update adiwg-mdcodes to version 2.9.4-beta.0 and adiwg-mdjson_schemas to version 2.9.3-beta.0 * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update adiwg-mdcodes to version 2.9.4-beta.1 and adiwg-mdjson_schemas to version 2.9.3-beta.1 * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update versions mdCodes updated to 2.9.4-beta.4 mdJson-schemas updated to 2.9.3-beta.2 * Fix Data Quality Report Types * chore: Increment beta version * chore: Update adiwg-mdcodes and adiwg-mdjson_schemas versions to 2.9.4.pre.beta.5 and 2.9.3.pre.beta.5 respectively * chore: Update adiwg-mdcodes and adiwg-mdjson_schemas versions to 2.10.0 --------- Co-authored-by: hmaier-fws * Add GitHub Actions workflow for automated release creation (#338) * Add GitHub Actions workflow for automated deployment to GitHub Pages * Rename action * Add Node.js setup step to release workflow * Feature: Acquisitions (v2.10.0) (#322) * Add Acquisition and supporting files Add acquisitions to metadata. * Add acq-plan.json example file (#303) * Add instrumentationEventList.json schema and example file (#299) * Add instrumentationEventList.json schema and example file * Add instrumentationEvent.json schema and example file (#298) * Add instrumentationEvent.json schema and example file * add reference to revision class. add enum to eventype * fix eventType in example * Add revision.json schema definition with example (#300) * Add revision.json schema definition with example * Add array type for dateInfo in revision.json * Add reference to date * Add acq-instrument.json schema and example file (#296) * Add acq-instrument.json schema and example file * Update history to instrumentationEventList.json * Add requestedDate.json schema and example (#301) * Add requestedDate.json schema and example * Update description in requestedDate.json schema * Refactor requestedDate schema to use common date definition * Add acq-event.json schema and example file (#302) * Add acq-event.json schema and example file * Add description to class * Update "time" field in acq-event schema to use common date definition * Update README.md (#304) * Add acq-environment.json file and update schema (#306) * Add acq-pass.json schema and example file (#305) * Add acq-pass.json schema and example file * Add required * Change reference to string * Add acq-platform.json schema and example file (#294) * Add acq-platform.json schema and example file * Update id in platform schema * Update platform history schema reference * add hostId to schema * Remove hostId My mistake, I was looking at the wrong class. --------- Co-authored-by: Johnathan Aspinwall * Add acq-operation.json schema and example file (#297) * Add acq-objective.json schema and example file (#295) * Add acq-objective.json schema and example file * Update objectiveType to have enum values * add objectiveType example * change strings to references of classes * feat: Update package.json version to 2.9.2-beta.0 * Acq requirement (#308) * Add acq-requirement class with example * Add descriptions * rename to acq-RequestedDate * Fix acq-requirement example * Add required fields to acq-requirement * Fix examples to include array for clarity. (#309) * Fix examples to include array for clarity. * Fix acq-operation example * fix instrumentationEvent example * fix examples to show correct ouput. update references to other acq items. * Id descriptions update (#320) * rename id's and and refs to remove `acq-` prefix * remove acq- prefix from filenames * Update description to better reflect id's purpose * Update plan.json * Update plan.json * Update requirement.json * Update objective.json * Update platform.json * Update instrument.json * Update pass.json * Update instrumentationEvent.json * Update instrumentationEventList.json * Update operation.json * Update revision.json * Update revision.json * Update event.json * Update instrumentationEvent.json * Update instrumentationEventList.json * fix URI path * chore: Update adiwg-mdjson_schemas to version 2.9.2.beta.2 * chore: Update adiwg-mdcodes to version 2.9.3.pre.beta.3 and mdJson-schemas to 2.9.2-beta.3 * chore: Update adiwg-mdcodes and mdJson-schemas versions * Update objective.json schema to use object type instead of array * chore: Update adiwg-mdjson_schemas to version 2.9.2.beta.4 * Fix identifier typo in platform. Change event to eventType in intrumentationEvent. Add description to instrumentationEventList. * chore: Update adiwg-mdjson_schemas to version 2.9.4-beta.0 * chore: Update adiwg-mdjson_schemas and related files to version 2.9.2 * chore: Update adiwg-mdjson_schemas to version 2.9.3-beta.0 And update mdCodes to official release of 2.9.3 * chore: Update adiwg-mdcodes to version 2.9.3 * chore: Update adiwg-mdcodes to version 2.9.4-beta.0 and adiwg-mdjson_schemas to version 2.9.3-beta.0 * chore: Update adiwg-mdcodes to version 2.9.4-beta.0 and adiwg-mdjson_schemas to version 2.9.3-beta.0 * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update adiwg-mdcodes to version 2.9.4-beta.1 and adiwg-mdjson_schemas to version 2.9.3-beta.1 * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update versions mdCodes updated to 2.9.4-beta.4 mdJson-schemas updated to 2.9.3-beta.2 * Fix Data Quality Report Types * chore: Increment beta version * chore: Update version to 2.10.0-beta.0 * fix citations within instrumentationEvent and instrumentationEventLis… (#331) * fix citations within instrumentationEvent and instrumentationEventList. remove required parentOperation in operation class. * chore: Update version to 2.10.0-beta.1 --------- Co-authored-by: Johnathan Aspinwall * Sync acquisitions branch (#332) * chore: Update adiwg-mdjson_schemas and related files to version 2.10.0-beta.0 * chore: Update build script to include bundling step * chore: Update adiwg-mdjson_schemas and related files to version 2.10.0-beta.5 * Release Version 2.9.5 (#337) * Fix DQ_CompletenessOmission Typo (#284) * Fix Typo DQ_CompletenessOmmission to DQ_CompletenessOmission * Increment Patch Version * 2.8.3 * Add DQ_NonQuantitativeAttributeAccuracy * Release Version 2.9.0 (#289) * Upgrade mdCodes mdCodes -> 2.9.0 * Increment Ruby Version v2.8.4 * Increment package.json Version v2.8.4 Update package-lock.json * Increment Patch Version v2.8.4 * Update package-lock.json * Replace bower.json * Re-remove bower.json * Increment Minor Version * Upgrade mdCodes (#292) * Update adiwg-json_schemas.gemspec and package.json versions to 2.9.1 * Update schema.json version to 2.9.1 * Update dataQualityReport.json schema Remove DQ_ from report type names. * Update dataQualityReport.json schema with translation descriptions for quality report types. * Update dataQualityReport.json schema with corrected translation for quality report types. * Upgrade adiwg-mdcodes to v2.9.2 * Add Gemfile.lock Remove Gemfile.lock from .gitignore and add it. Update mdCodes version to be exact. * Update dataQualityReport.json Fixed typo of FGDC --------- Co-authored-by: Hilmar Maier * Fix Data Quality Enums (#325) * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update adiwg-mdjson_schemas to version 2.9.2-beta.5 * Update evaluationMethod.json schema with corrected enum values for evaluation method types * chore: Update adiwg-mdcodes to version 2.9.3.pre.beta.3 * chore: Update adiwg-mdjson_schemas to version 2.9.2-beta.20 * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update adiwg-mdjson_schemas and related files to version 2.9.2-beta.21 * Prepare for Release v2.9.2 (#328) * chore: Update adiwg-mdjson_schemas and related files to version 2.9.2 * chore: Update adiwg-mdcodes to version 2.9.3 * Prepare release version 2.9.5 (#335) * Fix DQ_CompletenessOmission Typo (#284) (#287) * Fix Typo DQ_CompletenessOmmission to DQ_CompletenessOmission * Increment Patch Version * 2.8.3 * Add DQ_NonQuantitativeAttributeAccuracy * Squashed commit of the following: commit f02a08ce68c3e8990aea1117b5b72b4c1ae9e6f3 Author: Johnathan Date: Tue Feb 13 15:17:33 2024 -0700 Release Version 2.9.0 (#289) * Upgrade mdCodes mdCodes -> 2.9.0 * Increment Ruby Version v2.8.4 * Increment package.json Version v2.8.4 Update package-lock.json * Increment Patch Version v2.8.4 * Update package-lock.json * Replace bower.json * Re-remove bower.json * Increment Minor Version commit 5b598a091b1cf312a041c3fef5efeffa96873003 Author: Johnathan Date: Mon Feb 12 11:32:34 2024 -0700 Fix DQ_CompletenessOmission Typo (#284) * Fix Typo DQ_CompletenessOmmission to DQ_CompletenessOmission * Increment Patch Version * 2.8.3 * Add DQ_NonQuantitativeAttributeAccuracy * chore: Update adiwg-mdjson_schemas and related files to version 2.9.2 * chore: Update adiwg-mdcodes to version 2.9.3 * chore: Update adiwg-mdcodes to version 2.9.4-beta.0 and adiwg-mdjson_schemas to version 2.9.3-beta.0 * chore: Update adiwg-mdcodes to version 2.9.4-beta.0 and adiwg-mdjson_schemas to version 2.9.3-beta.0 * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update adiwg-mdcodes to version 2.9.4-beta.1 and adiwg-mdjson_schemas to version 2.9.3-beta.1 * Update dataQualityReport.json schema with corrected translation for quality report types * chore: Update versions mdCodes updated to 2.9.4-beta.4 mdJson-schemas updated to 2.9.3-beta.2 * Fix Data Quality Report Types * chore: Increment beta version * chore: Update adiwg-mdcodes and adiwg-mdjson_schemas versions to 2.9.4.pre.beta.5 and 2.9.3.pre.beta.5 respectively * chore: Update adiwg-mdcodes and adiwg-mdjson_schemas versions to 2.10.0 --------- Co-authored-by: hmaier-fws * Add GitHub Actions workflow for automated release creation (#338) * Add GitHub Actions workflow for automated deployment to GitHub Pages * Rename action * Add Node.js setup step to release workflow --------- Co-authored-by: Hilmar Maier --------- Co-authored-by: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> Co-authored-by: Jonathan Oliveros Co-authored-by: Hilmar Maier * Remove translation section from dataQualityReport schema (#343) --------- Co-authored-by: Hilmar Maier Co-authored-by: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> Co-authored-by: Jonathan Oliveros --- Gemfile.lock | 2 +- README.md | 4 +- examples/environment.json | 10 +++ examples/event.json | 13 ++++ examples/instrument.json | 12 +++ examples/instrumentationEvent.json | 9 +++ examples/instrumentationEventList.json | 9 +++ examples/objective.json | 13 ++++ examples/operation.json | 16 ++++ examples/pass.json | 8 ++ examples/plan.json | 10 +++ examples/platform.json | 11 +++ examples/requestedDate.json | 4 + examples/requirement.json | 14 ++++ examples/revision.json | 5 ++ lib/adiwg/mdjson_schemas/version.rb | 2 +- package-lock.json | 4 +- package.json | 2 +- schema/acquisition.json | 70 +++++++++++++++++ schema/environment.json | 34 +++++++++ schema/event.json | 56 ++++++++++++++ schema/instrument.json | 46 ++++++++++++ schema/instrumentationEvent.json | 52 +++++++++++++ schema/instrumentationEventList.json | 37 +++++++++ schema/metadata.json | 19 ++++- schema/objective.json | 69 +++++++++++++++++ schema/operation.json | 100 +++++++++++++++++++++++++ schema/pass.json | 30 ++++++++ schema/plan.json | 65 ++++++++++++++++ schema/platform.json | 48 ++++++++++++ schema/requestedDate.json | 20 +++++ schema/requirement.json | 57 ++++++++++++++ schema/revision.json | 27 +++++++ schema/schema.json | 2 +- 34 files changed, 869 insertions(+), 11 deletions(-) create mode 100644 examples/environment.json create mode 100644 examples/event.json create mode 100644 examples/instrument.json create mode 100644 examples/instrumentationEvent.json create mode 100644 examples/instrumentationEventList.json create mode 100644 examples/objective.json create mode 100644 examples/operation.json create mode 100644 examples/pass.json create mode 100644 examples/plan.json create mode 100644 examples/platform.json create mode 100644 examples/requestedDate.json create mode 100644 examples/requirement.json create mode 100644 examples/revision.json create mode 100644 schema/acquisition.json create mode 100644 schema/environment.json create mode 100644 schema/event.json create mode 100644 schema/instrument.json create mode 100644 schema/instrumentationEvent.json create mode 100644 schema/instrumentationEventList.json create mode 100644 schema/objective.json create mode 100644 schema/operation.json create mode 100644 schema/pass.json create mode 100644 schema/plan.json create mode 100644 schema/platform.json create mode 100644 schema/requestedDate.json create mode 100644 schema/requirement.json create mode 100644 schema/revision.json diff --git a/Gemfile.lock b/Gemfile.lock index 2e2297d..4caf2f8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - adiwg-mdjson_schemas (2.9.5) + adiwg-mdjson_schemas (2.10.0) GEM remote: https://rubygems.org/ diff --git a/README.md b/README.md index 3129df8..790426e 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Use with [ruby-json-schema/json-schema](https://github.com/ruby-json-schema/json Add this line to your application's Gemfile: - gem 'adiwg-json_schemas' + gem 'adiwg-mdjson_schemas' And then execute: @@ -23,7 +23,7 @@ And then execute: Or install it yourself as: - $ gem install adiwg-json_schemas + $ gem install adiwg-mdjson_schemas ## npm diff --git a/examples/environment.json b/examples/environment.json new file mode 100644 index 0000000..61db76b --- /dev/null +++ b/examples/environment.json @@ -0,0 +1,10 @@ +[ + { + "averageAirTemperature": 9.9, + "maxRelativeHumidity": 9.9, + "maxAltitude": 9.9, + "meteorologicalConditions": "meteorological conditions", + "solarAzimuth": 9.9, + "solarElevation": 9.9 + } +] \ No newline at end of file diff --git a/examples/event.json b/examples/event.json new file mode 100644 index 0000000..457b07a --- /dev/null +++ b/examples/event.json @@ -0,0 +1,13 @@ +[ + { + "eventId": "event ID", + "identifier": { }, + "trigger": "manual", + "context": "pass", + "sequence": "start", + "time": "2019-06-10T16:07:00", + "expectedObjective": ["objectiveId"], + "relatedPass": "passId", + "relatedSensor": ["instrumentId"] + } +] \ No newline at end of file diff --git a/examples/instrument.json b/examples/instrument.json new file mode 100644 index 0000000..099a6bd --- /dev/null +++ b/examples/instrument.json @@ -0,0 +1,12 @@ +[ + { + "instrumentId": "instrument ID", + "citation": [], + "identifier": {}, + "instrumentType": "instrument type", + "description": "instrument description", + "mountedOn": "platformId", + "history": [ ], + "hostId": "host instrument ID" + } +] diff --git a/examples/instrumentationEvent.json b/examples/instrumentationEvent.json new file mode 100644 index 0000000..d810623 --- /dev/null +++ b/examples/instrumentationEvent.json @@ -0,0 +1,9 @@ +[ + { + "citation": [ ], + "description": "description here", + "extent": [ ], + "eventType": "dataLoss", + "revisionHistory": [ ] + } +] \ No newline at end of file diff --git a/examples/instrumentationEventList.json b/examples/instrumentationEventList.json new file mode 100644 index 0000000..de40192 --- /dev/null +++ b/examples/instrumentationEventList.json @@ -0,0 +1,9 @@ +[ + { + "citation": [ ], + "description": "description here", + "locale": { }, + "constraints": [ ], + "instrumentationEvent": [ ] + } +] \ No newline at end of file diff --git a/examples/objective.json b/examples/objective.json new file mode 100644 index 0000000..a7604cb --- /dev/null +++ b/examples/objective.json @@ -0,0 +1,13 @@ +[ + { + "objectiveId": "objective ID", + "identifier": [ ], + "priority": "objective priority", + "objectiveType": ["instantaneousCollection"], + "function": [], + "extent": [ ], + "objectiveOccurrence": [ ], + "pass": [ ], + "sensingInstrument": [ ] + } +] \ No newline at end of file diff --git a/examples/operation.json b/examples/operation.json new file mode 100644 index 0000000..85a0761 --- /dev/null +++ b/examples/operation.json @@ -0,0 +1,16 @@ +[ + { + "operationId": "operation ID", + "description": "operation description", + "citation": { }, + "identifier": { }, + "status": "pending", + "operationType": "real", + "objective": [ ], + "parentOperation": { }, + "childOperation": [ ], + "plan": { }, + "platform": [ ], + "significantEvent": [ ] + } +] diff --git a/examples/pass.json b/examples/pass.json new file mode 100644 index 0000000..7bf5e40 --- /dev/null +++ b/examples/pass.json @@ -0,0 +1,8 @@ +[ + { + "passId": "pass ID", + "identifier": { }, + "extent": { }, + "relatedEvent": [ ] + } +] \ No newline at end of file diff --git a/examples/plan.json b/examples/plan.json new file mode 100644 index 0000000..b00883c --- /dev/null +++ b/examples/plan.json @@ -0,0 +1,10 @@ +[ + { + "planId": "plan ID", + "planType": "linear", + "status": "accepted", + "citation": { }, + "planOperation": [ ], + "satisfiedRequirement": [ ] + } +] \ No newline at end of file diff --git a/examples/platform.json b/examples/platform.json new file mode 100644 index 0000000..c0cb58c --- /dev/null +++ b/examples/platform.json @@ -0,0 +1,11 @@ +[ + { + "platformId": "platform ID", + "citation": { }, + "identifier": { }, + "description": "platform description", + "sponsor": [ ], + "instrument": [ ], + "history": [ ] + } +] diff --git a/examples/requestedDate.json b/examples/requestedDate.json new file mode 100644 index 0000000..2d1ce9b --- /dev/null +++ b/examples/requestedDate.json @@ -0,0 +1,4 @@ +{ + "requestedDateOfCollection": "2019-06-10T16:01:00", + "latestAcceptableDate": "2019-06-13:T16:02:00" +} \ No newline at end of file diff --git a/examples/requirement.json b/examples/requirement.json new file mode 100644 index 0000000..c442297 --- /dev/null +++ b/examples/requirement.json @@ -0,0 +1,14 @@ +[ + { + "requirementId": "requirement ID", + "citation": { }, + "identifier": { }, + "requestor": [ ], + "recipient": [ ], + "priority": "critical", + "requestedDate": { }, + "expiryDate": "2019-06-10T15:50:00", + "satisfiedPlan": [ ] + } +] + diff --git a/examples/revision.json b/examples/revision.json new file mode 100644 index 0000000..65fcb76 --- /dev/null +++ b/examples/revision.json @@ -0,0 +1,5 @@ +{ + "description": "description", + "responsibleParty": [ ], + "dateInfo": [ ] +} \ No newline at end of file diff --git a/lib/adiwg/mdjson_schemas/version.rb b/lib/adiwg/mdjson_schemas/version.rb index 595d0e8..5466420 100644 --- a/lib/adiwg/mdjson_schemas/version.rb +++ b/lib/adiwg/mdjson_schemas/version.rb @@ -1,6 +1,6 @@ module ADIWG module MdjsonSchemas # Current schema version number - VERSION = "2.9.5" + VERSION = "2.10.0" end end diff --git a/package-lock.json b/package-lock.json index 31e3f84..4fe1df6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mdjson-schemas", - "version": "2.9.5", + "version": "2.10.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mdjson-schemas", - "version": "2.9.5", + "version": "2.10.0", "license": "GPL-3.0", "devDependencies": { "ajv": "^6.5.0", diff --git a/package.json b/package.json index 40b7df4..296403e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mdjson-schemas", - "version": "2.9.5", + "version": "2.10.0", "description": "JSON schemas, examples, and templates for ADIwg metadata standards", "main": "index.js", "directories": { diff --git a/schema/acquisition.json b/schema/acquisition.json new file mode 100644 index 0000000..d2d9353 --- /dev/null +++ b/schema/acquisition.json @@ -0,0 +1,70 @@ +{ + "id": "acquisition.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Designations for the measuring instruments, the platform carrying them, and the mission to which the data contributes.", + "type": "object", + "example": "../examples/acquisition.json", + "translation": { + "ISO 19115-2": [ + "MD_Metadata > acquisitionInformation > MI_AcquisitionInformation" + ], + "FGDC CSDGM": ["idinfo > accconst"] + }, + "additionalProperties": false, + "properties": { + "scope": { + "$ref": "./scope.json#" + }, + "plan": { + "type": "array", + "items": { + "$ref": "./plan.json#" + } + }, + "requirement": { + "type": "array", + "items": { + "$ref": "./requirement.json#" + } + }, + "objective": { + "type": "array", + "items": { + "$ref": "./objective.json#" + } + }, + "platform": { + "type": "array", + "items": { + "$ref": "./platform.json#" + } + }, + "instrument": { + "type": "array", + "items": { + "$ref": "./instrument.json#" + } + }, + "operation": { + "type": "array", + "items": { + "$ref": "./operation.json#" + } + }, + "event": { + "type": "array", + "items": { + "$ref": "./event.json#" + } + }, + "pass": { + "type": "array", + "items": { + "$ref": "./pass.json#" + } + }, + "environment": { + "$ref": "./environment.json#" + } + } +} diff --git a/schema/environment.json b/schema/environment.json new file mode 100644 index 0000000..4bfa89e --- /dev/null +++ b/schema/environment.json @@ -0,0 +1,34 @@ +{ + "id": "environment.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "information about the environmental conditions during the acquisition", + "type": "object", + "example": "../examples/environment.json", + "additionalProperties": false, + "properties": { + "averageAirTemperature": { + "type": "number", + "description": "average air temperature along the flight pass during the photo flight" + }, + "maxRelativeHumidity": { + "type": "number", + "description": "maximum relative humidity along the flight pass during the photo flight" + }, + "maxAltitude": { + "type": "number", + "description": "maximum altitude during the photo flight" + }, + "meteorologicalConditions": { + "type": "string", + "description": "meteorological conditions in the photo flight area, in particular clouds, snow and wind" + }, + "solarAzimuth": { + "type": "number", + "description": "clockwise angle in degrees from north to the centre of the sun’s disc. Note: This angle is calculated from the nadir point of the sensor, not at the centre point of the image" + }, + "solarElevation": { + "type": "number", + "description": "angle between the horizon and the centre of the Sun’s disk" + } + } +} diff --git a/schema/event.json b/schema/event.json new file mode 100644 index 0000000..b5f72f1 --- /dev/null +++ b/schema/event.json @@ -0,0 +1,56 @@ +{ + "id": "event.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "designations for the planning information related to meeting the data acquisition requirements", + "type": "object", + "example": "../examples/event.json", + "additionalProperties": false, + "required": ["eventId", "identifier", "trigger", "context", "sequence", "time"], + "properties": { + "eventId": { + "type": "string", + "description": "a unique mdJSON system identifier for the event" + }, + "identifier": { + "$ref": "./identifier.json#", + "description": "event name or number" + }, + "trigger": { + "type": "string", + "description": "initiator of the event", + "enum": ["automatic", "manual", "preProgrammed"] + }, + "context": { + "type": "string", + "description": "meaning of the event", + "enum": ["acquisition", "pass", "wayPoint"] + }, + "sequence": { + "type": "string", + "description": "relative time ordering of the event", + "enum": ["start", "end", "instantaneous"] + }, + "time": { + "$ref": "./common.json#/definitions/date", + "description": "time the event occurred" + }, + "expectedObjective": { + "type": "array", + "items": { + "$ref": "./objective.json#" + }, + "description": "objective or objectives satisfied by an event" + }, + "relatedPass": { + "$ref": "./pass.json#", + "description": "pass during which an event occurs" + }, + "relatedSensor": { + "type": "array", + "items": { + "$ref": "./instrument.json#" + }, + "description": "instrument or instruments for which the event is meaningful" + } + } +} diff --git a/schema/instrument.json b/schema/instrument.json new file mode 100644 index 0000000..b007302 --- /dev/null +++ b/schema/instrument.json @@ -0,0 +1,46 @@ +{ + "id": "instrument.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "", + "type": "object", + "example": "../examples/instrument.json", + "additionalProperties": false, + "required": ["instrumentId","identifier","instrumentType"], + "properties": { + "instrumentId": { + "type": "string", + "description": "a unique mdJSON system identifier for the instrument" + }, + "citation": { + "$ref": "./citation.json#", + "description": "complete citation of the instrument" + }, + "identifier": { + "$ref": "./identifier.json#", + "description": "unique identification of the instrument" + }, + "instrumentType": { + "type": "string", + "description": "name of the type of instrument. Examples: framing, linescan, push-broom, panframe" + }, + "description": { + "type": "string", + "description": "textual description of the instrument" + }, + "mountedOn": { + "$ref": "./platform.json#", + "description": "platform on which the instrument is mounted" + }, + "history": { + "type": "array", + "items": { + "$ref": "./instrumentationEventList.json#" + }, + "description": "list of events associated with the instrument" + }, + "hostId": { + "$ref": "./identifier.json#", + "description": "identifier of the hosting instrument for a sensor" + } + } +} diff --git a/schema/instrumentationEvent.json b/schema/instrumentationEvent.json new file mode 100644 index 0000000..c9a3ef3 --- /dev/null +++ b/schema/instrumentationEvent.json @@ -0,0 +1,52 @@ +{ + "id": "instrumentationEvent.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "an event related to a platform, instrument, sensor", + "type": "object", + "example": "../examples/instrumentationEvent.json", + "additionalProperties": false, + "required": ["description","eventType"], + "properties": { + "citation": { + "type": "array", + "items": { + "$ref": "./citation.json#" + }, + "description": "citation to the instrumentationEvent" + }, + "description": { + "type": "string", + "description": "description of the instrumentationEvent" + }, + "extent": { + "$ref": "./extent.json#", + "description": "extent of the instrumentationEvent" + }, + "eventType": { + "type": "string", + "description": "type of the instrumentationEvent", + "enum": [ + "announcement", + "calibration", + "calibrationCoefficientUpdate", + "dataLoss", + "fatal", + "manoeuvre", + "missingData", + "notice", + "prelaunch", + "severe", + "switchOff", + "switchOn", + "clean" + ] + }, + "revisionHistory": { + "type": "array", + "items": { + "$ref": "./revision.json#" + }, + "description": "history of revisions to the instrumentationEvent" + } + } + } diff --git a/schema/instrumentationEventList.json b/schema/instrumentationEventList.json new file mode 100644 index 0000000..181d278 --- /dev/null +++ b/schema/instrumentationEventList.json @@ -0,0 +1,37 @@ +{ + "id": "instrumentationEventList.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "list of events related to platform, instrument, sensor", + "type": "object", + "example": "../examples/instrumentationEventList.json", + "additionalProperties": false, + "required": ["description"], + "properties": { + "citation": { + "$ref": "./citation.json#", + "description": "citation to the instrumentationEventList" + }, + "description": { + "type": "string", + "description": "description of the language and character-set used for the instrumentationEventList" + }, + "locale": { + "$ref": "./locale.json#", + "description": "description of the language and character-set used for the instrumentationEventList" + }, + "constraints": { + "type": "array", + "items": { + "$ref": "./constraint.json#" + }, + "description": "use and access constraints" + }, + "instrumentationEvent": { + "type": "array", + "items": { + "$ref": "./instrumentationEvent.json#" + }, + "description": "event(s) in the list of events" + } + } +} diff --git a/schema/metadata.json b/schema/metadata.json index 35c9fb1..42e446f 100644 --- a/schema/metadata.json +++ b/schema/metadata.json @@ -16,7 +16,9 @@ }, "resourceInfo": { "translation": { - "ISO 19115-2": ["MD_Metadata > identificationInfo > MD_DataIdentification"], + "ISO 19115-2": [ + "MD_Metadata > identificationInfo > MD_DataIdentification" + ], "FGDC CSDGM": ["idinfo"] }, "$ref": "resourceInfo.json#" @@ -52,7 +54,9 @@ "type": "array", "description": "Other resources which are directly related to the subject resource such as parent, child, or sibling datasets or projects.", "translation": { - "ISO 19115-2": ["MD_DataIdentification > aggregationInfo > MD_AggregateInformation"], + "ISO 19115-2": [ + "MD_DataIdentification > aggregationInfo > MD_AggregateInformation" + ], "FGDC CSDGM": ["idinfo > crossref"] }, "items": { @@ -63,7 +67,9 @@ "type": "array", "description": "Other documents related to, but not defining, the resource such as factsheets, data catalog pages, award documents, proposals, and informational websites.", "translation": { - "ISO 19115-2": ["MD_DataIdentification > aggregationInfo > MD_AggregateInformation > aggregateDataSetName > CI_Citation"], + "ISO 19115-2": [ + "MD_DataIdentification > aggregationInfo > MD_AggregateInformation > aggregateDataSetName > CI_Citation" + ], "FGDC CSDGM": ["idinfo > crossref "] }, "items": { @@ -76,6 +82,13 @@ "items": { "$ref": "./funding.json#" } + }, + "acquisition": { + "type": "array", + "description": "Information about the acquisition of the resource.", + "items": { + "$ref": "./acquisition.json#" + } } } } diff --git a/schema/objective.json b/schema/objective.json new file mode 100644 index 0000000..bce84a1 --- /dev/null +++ b/schema/objective.json @@ -0,0 +1,69 @@ +{ + "id": "objective.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "describes the characteristics, spatial and temporal extent of the intended object to be observed", + "type": "object", + "example": "../examples/objective.json", + "additionalProperties": false, + "required": ["objectiveId", "identifier"], + "properties": { + "objectiveId": { + "type": "string", + "description": "a unique mdJSON system identifier for the objective" + }, + "identifier": { + "type": "array", + "description": "code used to identify the objective", + "items": { + "$ref": "./identifier.json#" + } + }, + "priority": { + "type": "string", + "description": "priority applied to the target" + }, + "objectiveType": { + "type": "array", + "items": { + "type": "string", + "enum": ["instantaneousCollection", "persistentView", "survey"] + }, + "description": "collection techniques for the objective" + }, + "function": { + "type": "array", + "items": { + "type": "string" + }, + "description": "role or purpose performed by or activity performed at the objective" + }, + "extent": { + "type": "array", + "items": { + "$ref": "./extent.json#" + }, + "description": "extent information including the bounding box, bounding polygon, vertical and temporal extent of the objective" + }, + "objectiveOccurrence": { + "type": "array", + "items": { + "$ref": "./event.json#" + }, + "description": "event or events associated with objective completion" + }, + "pass": { + "type": "array", + "items": { + "$ref": "./pass.json#" + }, + "description": "pass of the platform over the objective" + }, + "sensingInstrument": { + "type": "array", + "items": { + "$ref": "./instrument.json#" + }, + "description": "instrument which senses the objective data" + } + } +} diff --git a/schema/operation.json b/schema/operation.json new file mode 100644 index 0000000..681e7f8 --- /dev/null +++ b/schema/operation.json @@ -0,0 +1,100 @@ +{ + "id": "operation.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "", + "type": "object", + "example": "../examples/operation.json", + "additionalProperties": false, + "required": [ + "operationId", + "identifier", + "status" + ], + "properties": { + "operationId": { + "type": "string", + "description": "a unique mdJSON system identifier for the operation" + }, + "description": { + "type": "string", + "description": "description of the mission on which the platform observations are made and the objectives of that mission" + }, + "citation": { + "$ref": "./citation.json#", + "description": "identification of the mission" + }, + "identifier": { + "$ref": "./identifier.json#", + "description": "unique identification of the operation" + }, + "status": { + "type": "string", + "description": "status of the data acquisition", + "enum": [ + "accepted", + "completed", + "deprecated", + "final", + "historicalArchive", + "notAccepted", + "obsolete", + "onGoing", + "pending", + "planned", + "proposed", + "required", + "retired", + "superseded", + "tentative", + "underDevelopment", + "valid", + "withdrawn" + ] + }, + "operationType": { + "type": "string", + "description": "collection technique for the operation", + "enum": [ + "real", + "simulated", + "synthetic" + ] + }, + "objective": { + "type": "array", + "items": { + "$ref": "./objective.json#" + }, + "description": "object(s) or area(s) of interest to be sensed" + }, + "parentOperation": { + "$ref": "./operation.json#", + "description": "heritage of the operation" + }, + "childOperation": { + "type": "array", + "items": { + "$ref": "./operation.json#" + }, + "description": "sub-missions that make up part of a larger mission" + }, + "plan": { + "ref": "./plan.json#", + "description": "plan satisfied by the operation" + }, + "platform": { + "type": "array", + "items": { + "$ref": "./platform.json#" + }, + "description": "platform (or platforms) used in the operation" + }, + "significantEvent": { + "type": "array", + "items": { + "$ref": "./event.json#" + }, + "description": "record of an event occurring during an operation" + } + } +} diff --git a/schema/pass.json b/schema/pass.json new file mode 100644 index 0000000..f4d297f --- /dev/null +++ b/schema/pass.json @@ -0,0 +1,30 @@ +{ + "id": "pass.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "identification of collection coverage", + "type": "object", + "example": "../examples/pass.json", + "additionalProperties": false, + "required": ["passId","identifier"], + "properties": { + "passId": { + "type": "string", + "description": "unique identifier for the pass" + }, + "identifier": { + "$ref": "./identifier.json#", + "description": "a unique mdJSON system identifier for the pass" + }, + "extent": { + "$ref": "./extent.json#", + "description": "area covered by the pass" + }, + "relatedEvent": { + "type": "array", + "items": { + "$ref": "./event.json#" + }, + "description": "occurrence of one or more events for a pass" + } + } +} diff --git a/schema/plan.json b/schema/plan.json new file mode 100644 index 0000000..e166c31 --- /dev/null +++ b/schema/plan.json @@ -0,0 +1,65 @@ +{ + "id": "plan.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Designations for the planning information related to meeting the data acquisition requirements.", + "type": "object", + "example": "../examples/plan.json", + "additionalProperties": false, + "required": ["planId", "status", "citation"], + "properties": { + "planId": { + "type": "string", + "description": "a unique mdJSON system identifier for the plan" + }, + "planType": { + "type": "string", + "description": "Manner of sampling geometry that the planner expects for collection of objective data", + "enum": ["point", "linear", "areal", "strip"] + }, + "status": { + "type": "string", + "description": "Current status of the plan (pending, completed, etc.)", + "enum": [ + "accepted", + "cancelled", + "completed", + "deprecated", + "final", + "funded", + "historicalArchive", + "notAccepted", + "obsolete", + "onGoing", + "pending", + "planned", + "proposed", + "required", + "retired", + "superseded", + "suspended", + "tentative", + "underDevelopment", + "valid", + "withdrawn" + ] + }, + "citation": { + "description": "Identification of authority requesting target collection", + "$ref": "./citation.json#" + }, + "planOperation": { + "type": "array", + "description": "Identification of the activity or activities that satisfy a plan", + "items": { + "$ref": "./operation.json#" + } + }, + "satisfiedRequirement": { + "type": "array", + "description": "Requirement satisfied by the plan", + "items": { + "$ref": "./requirement.json#" + } + } + } +} diff --git a/schema/platform.json b/schema/platform.json new file mode 100644 index 0000000..001948f --- /dev/null +++ b/schema/platform.json @@ -0,0 +1,48 @@ +{ + "id": "platform.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "designation of the platform used to acquire the dataset", + "type": "object", + "example": "../examples/platform.json", + "additionalProperties": false, + "required": ["platformId", "identifier", "description", "instrument"], + "properties": { + "platformId": { + "type": "string", + "description": "a unique mdJSON system identifier for the platform" + }, + "citation": { + "$ref": "./citation.json#", + "description": "source where information about the platform is described" + }, + "identifier": { + "$ref": "./identifier.json#", + "description": "unique identification of the platform" + }, + "description": { + "type": "string", + "description": "narrative description of the platform supporting the instrument" + }, + "sponsor": { + "type": "array", + "items": { + "$ref": "./responsibility.json#" + }, + "description": "organization responsible for building, launch, or operation of the platform" + }, + "instrument": { + "type": "array", + "items": { + "$ref": "./instrument.json#" + }, + "description": "instrument(s) mounted on a platform" + }, + "history": { + "type": "array", + "items": { + "$ref": "./instrumentationEventList.json#" + }, + "description": "list of events affecting a platform" + } + } +} diff --git a/schema/requestedDate.json b/schema/requestedDate.json new file mode 100644 index 0000000..f386fd9 --- /dev/null +++ b/schema/requestedDate.json @@ -0,0 +1,20 @@ +{ + "id": "requestedDate.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "range of date validity", + "type": "object", + "example": "../examples/requestedDate.json", + "additionalProperties": false, + "required": ["requestedDateOfCollection","latestAcceptableDate"], + "properties": { + "requestedDateOfCollection": { + "$ref": "./common.json#/definitions/date", + "description": "preferred date and time of collection" + }, + "latestAcceptableDate": { + "$ref": "./common.json#/definitions/date", + "description": "latest date and time collection must be completed" + } + } +} + \ No newline at end of file diff --git a/schema/requirement.json b/schema/requirement.json new file mode 100644 index 0000000..321d3d8 --- /dev/null +++ b/schema/requirement.json @@ -0,0 +1,57 @@ +{ + "id": "requirement.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "requirement to be satisfied by the planned data acquisition", + "type": "object", + "required": ["requirementId","identifier","requestor","recipient","priority","requestedDate","expiryDate"], + "example": "../examples/requirement.json", + "additionalProperties": false, + "properties": { + "requirementId": { + "type": "string", + "description": "a unique mdJSON system identifier for the requirement" + }, + "citation": { + "$ref": "./citation.json#", + "description": "identification of reference or guidance material for the requirement" + }, + "identifier": { + "$ref": "./identifier.json#", + "description": "unique name, or code, for the requirement" + }, + "requestor": { + "type": "array", + "items": { + "$ref": "./responsibility.json#" + }, + "description": "origin of requirement" + }, + "recipient": { + "type": "array", + "items": { + "$ref": "./responsibility.json#" + }, + "description": "person(s), or body(ies), to receive results of requirement" + }, + "priority": { + "type": "string", + "enum": ["critical","highImportance","mediumImportance","lowImportance"], + "description": "relative ordered importance, or urgency, of the requirement" + }, + "requestedDate": { + "$ref": "./requestedDate.json#", + "description": "required or preferred acquisition date and time" + }, + "expiryDate": { + "$ref": "./common.json#/definitions/date", + "description": "date and time after which collection is no longer valid" + }, + "satisfiedPlan": { + "type": "array", + "items": { + "$ref": "./plan.json#" + }, + "description": "plan that identifies solution to satisfy the requirement" + } + } +} diff --git a/schema/revision.json b/schema/revision.json new file mode 100644 index 0000000..2fb9521 --- /dev/null +++ b/schema/revision.json @@ -0,0 +1,27 @@ +{ + "id": "revision.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "history of the revision of an event", + "type": "object", + "example": "../examples/revision.json", + "additionalProperties": false, + "required": ["description", "responsibleParty", "dateInfo"], + "properties": { + "description": { + "type": "string", + "description": "description of the revision." + }, + "responsibleParty": { + "$ref": "./responsibility.json#", + "description": "individual or organization responsible for the revision" + }, + "dateInfo": { + "type": "array", + "items": { + "$ref": "./common.json#/definitions/date" + }, + "description": "information about dates related to the revision" + } + } + } + diff --git a/schema/schema.json b/schema/schema.json index 61b96a5..5f81a0f 100644 --- a/schema/schema.json +++ b/schema/schema.json @@ -1,7 +1,7 @@ { "id": "schema.json#", "$schema": "http://json-schema.org/draft-04/schema#", - "version": "2.9.5", + "version": "2.10.0", "description": "schema for ADIwg mdJSON metadata", "example": "../examples/mdJson.json", "type": "object",