|
97 | 97 | }, |
98 | 98 | "MetadataDateType": { |
99 | 99 | "type": "object", |
| 100 | + "additionalProperties": false, |
100 | 101 | "properties": { |
101 | 102 | "Create": { |
102 | 103 | "description": "This element represents the creation date of the metadata.", |
|
197 | 198 | "type": "string", |
198 | 199 | "minLength": 1, |
199 | 200 | "maxLength": 1024 |
200 | | - } |
| 201 | + } |
201 | 202 | } |
202 | 203 | } |
203 | 204 | }, |
|
249 | 250 |
|
250 | 251 | "DimensionScale": { |
251 | 252 | "description": "The characterizes the grid's X, Y, Time, and Other Dimensions.", |
| 253 | + "additionalProperties": false, |
252 | 254 | "type": "object", |
253 | 255 | "properties": { |
254 | 256 | "0_360_DegreeProjection": { |
|
274 | 276 | }, |
275 | 277 | "required": [ |
276 | 278 | "X", |
277 | | - "Y", |
278 | | - "Time", |
279 | | - "Other" |
| 279 | + "Y" |
280 | 280 | ], |
281 | 281 | "allOf": [ |
282 | 282 | {"$ref": "#/definitions/DimensionScaleUnitXEnumsCondition"}, |
283 | 283 | {"$ref": "#/definitions/DimensionScaleUnitYEnumsCondition"}, |
284 | 284 | {"$ref": "#/definitions/DimensionScaleUnitTimeEnumsCondition"}, |
285 | 285 | {"$ref": "#/definitions/DimensionScaleXUnitPatternDMS"}, |
286 | 286 | {"$ref": "#/definitions/DimensionScaleYUnitPatternDMS"}, |
287 | | - {"$ref": "#/definitions/DimensionScaleMeterMinMaxConditionX"}, |
288 | | - {"$ref": "#/definitions/DimensionScaleMeterMinMaxConditionY"}, |
289 | | - {"$ref": "#/definitions/DimensionScaleKilometerMinMaxConditionX"}, |
290 | | - {"$ref": "#/definitions/DimensionScaleKilometerMinMaxConditionY"}, |
291 | 287 | {"$ref": "#/definitions/DimensionScaleDegreeMinMaxTrueConditionX"}, |
292 | 288 | {"$ref": "#/definitions/DimensionScaleDegreeMinMaxTrueConditionY"}, |
293 | 289 | {"$ref": "#/definitions/DimensionScaleHourMinMaxPatternConditionTime"}, |
|
312 | 308 |
|
313 | 309 | "OrganizationType": { |
314 | 310 | "type": "object", |
315 | | - "additionalItems": false, |
| 311 | + "additionalProperties": false, |
316 | 312 | "properties": { |
317 | 313 | "ShortName": { |
318 | 314 | "description": "The unique name of the organization.", |
|
453 | 449 | "DimensionScaleType": { |
454 | 450 | "description": "The elements used for DimensionScale group.", |
455 | 451 | "type": "object", |
| 452 | + "additionalProperties": false, |
456 | 453 | "properties": { |
457 | 454 | "Minimum": { |
458 | 455 | "description": "The lowest value of the element." |
|
536 | 533 | }, |
537 | 534 | "AdditionalAttributeType": { |
538 | 535 | "type": "object", |
539 | | - "additionalItems": false, |
| 536 | + "additionalProperties": false, |
540 | 537 | "properties": { |
541 | 538 | "Name": { |
542 | 539 | "description": "The name (1 word description) of the additional attribute.", |
|
672 | 669 | "else": false |
673 | 670 | }, |
674 | 671 |
|
675 | | - "DimensionScaleMeterMinMaxConditionX": { |
676 | | - "$comment": "Checks if the DimensionScale's Unit element value is Meter then sets the minimum value for Minimum and Maximum sub-elements for X.", |
677 | | - "if": {"properties": {"X": {"properties": {"Unit": {"const": "Meter"}}}}}, |
678 | | - "then": {"properties": {"X": {"properties": {"Minimum": {"minimum": 1}, |
679 | | - "Maximum": {"minimum": 1}}}}} |
680 | | - }, |
681 | | - |
682 | | - "DimensionScaleMeterMinMaxConditionY": { |
683 | | - "$comment": "Checks if the DimensionScale's Unit element value is Meter then sets the minimum value for Minimum and Maximum sub-elements for Y.", |
684 | | - "if": {"properties": {"Y": {"properties": {"Unit": {"const": "Meter"}}}}}, |
685 | | - "then": {"properties": {"Y": {"properties": {"Minimum": {"minimum": 1}, |
686 | | - "Maximum": {"minimum": 1}}}}} |
687 | | - }, |
688 | | - |
689 | | - "DimensionScaleKilometerMinMaxConditionX": { |
690 | | - "$comment": "Checks if the DimensionScale's Unit element value is Kilometer then sets the minimum value for Minimum and Maximum sub-elements for X.", |
691 | | - "if": {"properties": {"X": {"properties": {"Unit": {"const": "Kilometer"}}}}}, |
692 | | - "then": {"properties": {"X": {"properties": {"Minimum": {"minimum": 1}, |
693 | | - "Maximum": {"minimum": 1}}}}} |
694 | | - }, |
695 | | - |
696 | | - "DimensionScaleKilometerMinMaxConditionY": { |
697 | | - "$comment": "Checks if the DimensionScale's Unit element value is Kilometer then sets the minimum value for Minimum and Maximum sub-elements for Y.", |
698 | | - "if": {"properties": {"Y": {"properties": {"Unit": {"const": "Kilometer"}}}}}, |
699 | | - "then": {"properties": {"Y": {"properties": {"Minimum": {"minimum": 1}, |
700 | | - "Maximum": {"minimum": 1}}}}} |
701 | | - }, |
702 | 672 |
|
703 | 673 | "DimensionScaleDegreeMinMaxTrueConditionX": { |
704 | 674 | "$comment": "Checks if the DimensionScale's Unit element value is Degree then sets the minimum and maximum values for Minimum and Maximum sub-elements for X.", |
|
720 | 690 | "DimensionScaleHourMinMaxPatternConditionTime": { |
721 | 691 | "$comment": "Checks if the DimensionScale's Unit element value is Hour then set the pattern requirement", |
722 | 692 | "if": {"properties": {"Time": {"properties": {"Unit": {"const": "Hour"}}}}}, |
723 | | - "then": {"properties": {"Time": {"properties": {"Minimum": {"pattern": "^[0-9][0-9](\\.[0-9]{3})?$"}, |
724 | | - "Maximum": {"pattern": "^[0-9][0-9](\\.[0-9]{3})?$"}}}}} |
| 693 | + "then": {"properties": {"Time": {"properties": {"Minimum": {"pattern": "^[0-9][0-9](\\.[0-9]{5})?$"}, |
| 694 | + "Maximum": {"pattern": "^[0-9][0-9](\\.[0-9]{5})?$"}}}}} |
725 | 695 | }, |
726 | 696 |
|
727 | 697 | "DimensionScaleMinutesMinMaxPatternConditionTime": { |
728 | 698 | "$comment": "Checks if the DimensionScale's Unit element value is Minutes then set the pattern requirement", |
729 | 699 | "if": {"properties": {"Time": {"properties": {"Unit": {"const": "Minutes"}}}}}, |
730 | | - "then": {"properties": {"Time": {"properties": {"Minimum": {"pattern": "^[0-9][0-9](\\.[0-9]{3})?$"}, |
731 | | - "Maximum": {"pattern": "^[0-9][0-9](\\.[0-9]{3})?$"}}}}} |
| 700 | + "then": {"properties": {"Time": {"properties": {"Minimum": {"pattern": "^[0-9][0-9](\\.[0-9]{5})?$"}, |
| 701 | + "Maximum": {"pattern": "^[0-9][0-9](\\.[0-9]{5})?$"}}}}} |
732 | 702 | }, |
733 | 703 |
|
734 | 704 |
|
735 | 705 | "DimensionScaleSecondsMinMaxPatternConditionTime": { |
736 | 706 | "$comment": "Checks if the DimensionScale's Unit element value is Seconds then set the pattern requirement", |
737 | 707 | "if": {"properties": {"Time": {"properties": {"Unit": {"const": "Seconds"}}}}}, |
738 | | - "then": {"properties": {"Time": {"properties": {"Minimum": {"pattern": "^[0-9][0-9](\\.[0-9]{3})?$"}, |
739 | | - "Maximum": {"pattern": "^[0-9][0-9](\\.[0-9]{3})?$"}}}}} |
| 708 | + "then": {"properties": {"Time": {"properties": {"Minimum": {"pattern": "^[0-9][0-9](\\.[0-9]{5})?$"}, |
| 709 | + "Maximum": {"pattern": "^[0-9][0-9](\\.[0-9]{5})?$"}}}}} |
740 | 710 | }, |
741 | 711 |
|
742 | 712 | "DimensionScaleDateMinMaxPatternConditionTime": { |
|
763 | 733 | "DimensionScaleXUnitPatternDMS": { |
764 | 734 | "$comment": "Checks the DimensionScale's Unit element values pattern for Degrees-Minutes-Seconds. The value's format ##-##-##.### and Milliseconds are optional.", |
765 | 735 | "if": {"properties": {"X": {"properties": {"Unit": {"enum": ["Degrees-Minutes-Seconds"]}}}}}, |
766 | | - "then": {"properties": {"X": {"properties": {"Minimum": {"pattern": "^[0-9]{2}-[0-9]{2}-[0-9]{2}(\\.[0-9]{3})?$"}, |
767 | | - "Maximum": {"pattern": "^[0-9]{2}-[0-9]{2}-[0-9]{2}(\\.[0-9]{3})?$"}}}}} |
| 736 | + "then": {"properties": {"X": {"properties": {"Minimum": {"pattern": "^[0-9]{2}-[0-9]{2}-[0-9]{2}\\.?\\d*?$"}, |
| 737 | + "Maximum": {"pattern": "^[0-9]{2}-[0-9]{2}-[0-9]{2}\\.?\\d*?$"}}}}} |
768 | 738 | }, |
769 | 739 |
|
770 | 740 | "DimensionScaleYUnitPatternDMS": { |
771 | 741 | "$comment": "Checks the DimensionScale's Unit element values pattern for Degrees-Minutes-Seconds. The value's format ##-##-##.### and Milliseconds are optional.", |
772 | 742 | "if": {"properties": {"Y": {"properties": {"Unit": {"enum": ["Degrees-Minutes-Seconds"]}}}}}, |
773 | | - "then": {"properties": {"Y": {"properties": {"Minimum": {"pattern": "^[0-9]{2}-[0-9]{2}-[0-9]{2}(\\.[0-9]{3})?$"}, |
774 | | - "Maximum": {"pattern": "^[0-9]{2}-[0-9]{2}-[0-9]{2}(\\.[0-9]{3})?$"}}}}} |
| 743 | + "then": {"properties": {"Y": {"properties": {"Minimum": {"pattern": "^[0-9]{2}-[0-9]{2}-[0-9]{2}\\.?\\d*?$"}, |
| 744 | + "Maximum": {"pattern": "^[0-9]{2}-[0-9]{2}-[0-9]{2}\\.?\\d*?$"}}}}} |
775 | 745 | }, |
776 | 746 |
|
777 | 747 | "SpatialResolutionUnitPatternDMS": { |
778 | 748 | "$comment": "Checks the SpatialResolution Unit element values pattern for Degrees-Minutes-Seconds. The value's format ##-##-##.### and Milliseconds are optional.", |
779 | 749 | "if": {"properties": {"Unit": {"const": "Degrees-Minutes-Seconds"}}}, |
780 | | - "then": {"properties": {"LongitudeResolution": {"pattern": "^[0-9]{2}-[0-9]{2}-[0-9]{2}(\\.[0-9]{3})?$"}, |
781 | | - "LatitudeResolution": {"pattern": "^[0-9]{2}-[0-9]{2}-[0-9]{2}(\\.[0-9]{3})?$"}}} |
| 750 | + "then": {"properties": {"LongitudeResolution": {"pattern": "^[0-9]{2}-[0-9]{2}-[0-9]{2}\\.?\\d*?$"}, |
| 751 | + "LatitudeResolution": {"pattern": "^[0-9]{2}-[0-9]{2}-[0-9]{2}\\.?\\d*?$"}}} |
782 | 752 | }, |
783 | 753 |
|
784 | 754 | "SpatialResolutionUnitPatternMinute": { |
785 | 755 | "$comment": "Checks the SpatialResolution Unit element values pattern for Minutes. The value's format ##-##.### and Milliseconds are optional.", |
786 | 756 | "if": {"properties": {"Unit": {"const": "Minutes"}}}, |
787 | | - "then": {"properties": {"LongitudeResolution": {"pattern": "^[0-9]{2}-[0-9]{2}(\\.[0-9]{3})?$"}, |
788 | | - "LatitudeResolution": {"pattern": "^[0-9]{2}-[0-9]{2}(\\.[0-9]{3})?$"}}} |
| 757 | + "then": {"properties": {"LongitudeResolution": {"pattern": "^[0-9]{2}-[0-9]{2}\\.?\\d*?$"}, |
| 758 | + "LatitudeResolution": {"pattern": "^[0-9]{2}-[0-9]{2}\\.?\\d*?$"}}} |
789 | 759 | }, |
790 | 760 |
|
791 | 761 | "SpatialResolutionUnitPatternSecond": { |
792 | 762 | "$comment": "Checks the SpatialResolution Unit element values pattern for Seconds. The value's format ##.### and Milliseconds are optional.", |
793 | 763 | "if": {"properties": {"Unit": {"const": "Seconds"}}}, |
794 | | - "then": {"properties": {"LongitudeResolution": {"pattern": "^[0-9]{2}(\\.[0-9]{3})?$"}, |
795 | | - "LatitudeResolution": {"pattern": "^[0-9]{2}(\\.[0-9]{3})?$"}}} |
| 764 | + "then": {"properties": {"LongitudeResolution": {"pattern": "^[0-9]{2}\\.?\\d*?$"}, |
| 765 | + "LatitudeResolution": {"pattern": "^[0-9]{2}\\.?\\d*?$"}}} |
796 | 766 | }, |
797 | 767 |
|
798 | 768 | "SpatialResolutionUnitPatternDeg": { |
799 | 769 | "$comment": "Checks the SpatialResolution Unit element values pattern for Degrees.", |
800 | 770 | "if": {"properties": {"Unit": {"const": "Degree"}}}, |
801 | | - "then": {"properties": {"LongitudeResolution": {"pattern": "^(360|3[0-5][0-9]|[12][0-9]{1,2}|[1-9][0-9]|[0-9])$"}, |
802 | | - "LatitudeResolution": {"pattern": "^(180|1[0-7][0-9]|[1-9][0-9]|[0-9])$"}}} |
| 771 | + "then": {"properties": {"LongitudeResolution": {"pattern": "^(360|3[0-5][0-9]|[12][0-9]{1,2}|[1-9][0-9]|[0-9])\\.?\\d*?$"}, |
| 772 | + "LatitudeResolution": {"pattern": "^(180|1[0-7][0-9]|[1-9][0-9]|[0-9])\\.?\\d*?$"}}} |
803 | 773 | }, |
804 | 774 |
|
805 | 775 | "SpatialResolutionUnitPatternKM": { |
806 | 776 | "$comment": "Checks the SpatialResolution Unit element values pattern for Kilometer.", |
807 | 777 | "if": {"properties": {"Unit": {"const": "Kilometer"}}}, |
808 | | - "then": {"properties": {"LongitudeResolution": {"pattern": "^[0-9]{1,}(\\.[0-9]{3})?$"}, |
809 | | - "LatitudeResolution": {"pattern": "^[0-9]{1,}(\\.[0-9]{3})?$"}}} |
| 778 | + "then": {"properties": {"LongitudeResolution": {"pattern": "^[0-9]{1,}\\.?\\d*?$"}, |
| 779 | + "LatitudeResolution": {"pattern": "^[0-9]{1,}\\.?\\d*?$"}}} |
810 | 780 | }, |
811 | 781 |
|
812 | 782 | "SpatialResolutionUnitPatternMeter": { |
813 | 783 | "$comment": "Checks the SpatialResolution Unit element values pattern for Meter.", |
814 | 784 | "if": {"properties": {"Unit": {"const": "Meter"}}}, |
815 | | - "then": {"properties": {"LongitudeResolution": {"pattern": "^[0-9]{1,}$"}, |
816 | | - "LatitudeResolution": {"pattern": "^[0-9]{1,}$"}}} |
| 785 | + "then": {"properties": {"LongitudeResolution": {"pattern": "^[0-9]{1,}\\.?\\d*?$"}, |
| 786 | + "LatitudeResolution": {"pattern": "^[0-9]{1,}\\.?\\d*?$"}}} |
817 | 787 | }, |
818 | 788 |
|
819 | 789 | "ScaleDegreesMinutesSecondsCondition": { |
|
0 commit comments