pyogrio 0.12.0__cp314-cp314t-macosx_12_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. pyogrio/.dylibs/libgdal.37.3.11.4.dylib +0 -0
  2. pyogrio/__init__.py +57 -0
  3. pyogrio/_compat.py +54 -0
  4. pyogrio/_env.py +59 -0
  5. pyogrio/_err.cpython-314t-darwin.so +0 -0
  6. pyogrio/_geometry.cpython-314t-darwin.so +0 -0
  7. pyogrio/_io.cpython-314t-darwin.so +0 -0
  8. pyogrio/_ogr.cpython-314t-darwin.so +0 -0
  9. pyogrio/_version.py +21 -0
  10. pyogrio/_vsi.cpython-314t-darwin.so +0 -0
  11. pyogrio/core.py +387 -0
  12. pyogrio/errors.py +25 -0
  13. pyogrio/gdal_data/GDAL-targets-release.cmake +19 -0
  14. pyogrio/gdal_data/GDAL-targets.cmake +106 -0
  15. pyogrio/gdal_data/GDALConfig.cmake +24 -0
  16. pyogrio/gdal_data/GDALConfigVersion.cmake +65 -0
  17. pyogrio/gdal_data/GDALLogoBW.svg +138 -0
  18. pyogrio/gdal_data/GDALLogoColor.svg +126 -0
  19. pyogrio/gdal_data/GDALLogoGS.svg +126 -0
  20. pyogrio/gdal_data/LICENSE.TXT +467 -0
  21. pyogrio/gdal_data/MM_m_idofic.csv +321 -0
  22. pyogrio/gdal_data/copyright +467 -0
  23. pyogrio/gdal_data/cubewerx_extra.wkt +48 -0
  24. pyogrio/gdal_data/default.rsc +0 -0
  25. pyogrio/gdal_data/ecw_cs.wkt +1453 -0
  26. pyogrio/gdal_data/eedaconf.json +23 -0
  27. pyogrio/gdal_data/epsg.wkt +1 -0
  28. pyogrio/gdal_data/esri_StatePlane_extra.wkt +631 -0
  29. pyogrio/gdal_data/gdal_algorithm.schema.json +220 -0
  30. pyogrio/gdal_data/gdalg.schema.json +36 -0
  31. pyogrio/gdal_data/gdalicon.png +0 -0
  32. pyogrio/gdal_data/gdalinfo_output.schema.json +390 -0
  33. pyogrio/gdal_data/gdalmdiminfo_output.schema.json +326 -0
  34. pyogrio/gdal_data/gdaltileindex.xsd +253 -0
  35. pyogrio/gdal_data/gdalvrt.xsd +927 -0
  36. pyogrio/gdal_data/gfs.xsd +246 -0
  37. pyogrio/gdal_data/gml_registry.xml +117 -0
  38. pyogrio/gdal_data/gml_registry.xsd +66 -0
  39. pyogrio/gdal_data/grib2_center.csv +251 -0
  40. pyogrio/gdal_data/grib2_process.csv +102 -0
  41. pyogrio/gdal_data/grib2_subcenter.csv +63 -0
  42. pyogrio/gdal_data/grib2_table_4_2_0_0.csv +261 -0
  43. pyogrio/gdal_data/grib2_table_4_2_0_1.csv +261 -0
  44. pyogrio/gdal_data/grib2_table_4_2_0_13.csv +261 -0
  45. pyogrio/gdal_data/grib2_table_4_2_0_14.csv +261 -0
  46. pyogrio/gdal_data/grib2_table_4_2_0_15.csv +261 -0
  47. pyogrio/gdal_data/grib2_table_4_2_0_16.csv +261 -0
  48. pyogrio/gdal_data/grib2_table_4_2_0_17.csv +11 -0
  49. pyogrio/gdal_data/grib2_table_4_2_0_18.csv +261 -0
  50. pyogrio/gdal_data/grib2_table_4_2_0_19.csv +261 -0
  51. pyogrio/gdal_data/grib2_table_4_2_0_190.csv +261 -0
  52. pyogrio/gdal_data/grib2_table_4_2_0_191.csv +261 -0
  53. pyogrio/gdal_data/grib2_table_4_2_0_2.csv +261 -0
  54. pyogrio/gdal_data/grib2_table_4_2_0_20.csv +261 -0
  55. pyogrio/gdal_data/grib2_table_4_2_0_21.csv +261 -0
  56. pyogrio/gdal_data/grib2_table_4_2_0_3.csv +261 -0
  57. pyogrio/gdal_data/grib2_table_4_2_0_4.csv +261 -0
  58. pyogrio/gdal_data/grib2_table_4_2_0_5.csv +261 -0
  59. pyogrio/gdal_data/grib2_table_4_2_0_6.csv +261 -0
  60. pyogrio/gdal_data/grib2_table_4_2_0_7.csv +261 -0
  61. pyogrio/gdal_data/grib2_table_4_2_10_0.csv +261 -0
  62. pyogrio/gdal_data/grib2_table_4_2_10_1.csv +261 -0
  63. pyogrio/gdal_data/grib2_table_4_2_10_191.csv +261 -0
  64. pyogrio/gdal_data/grib2_table_4_2_10_2.csv +261 -0
  65. pyogrio/gdal_data/grib2_table_4_2_10_3.csv +261 -0
  66. pyogrio/gdal_data/grib2_table_4_2_10_4.csv +261 -0
  67. pyogrio/gdal_data/grib2_table_4_2_1_0.csv +261 -0
  68. pyogrio/gdal_data/grib2_table_4_2_1_1.csv +261 -0
  69. pyogrio/gdal_data/grib2_table_4_2_1_2.csv +261 -0
  70. pyogrio/gdal_data/grib2_table_4_2_20_0.csv +261 -0
  71. pyogrio/gdal_data/grib2_table_4_2_20_1.csv +261 -0
  72. pyogrio/gdal_data/grib2_table_4_2_20_2.csv +261 -0
  73. pyogrio/gdal_data/grib2_table_4_2_2_0.csv +261 -0
  74. pyogrio/gdal_data/grib2_table_4_2_2_3.csv +261 -0
  75. pyogrio/gdal_data/grib2_table_4_2_2_4.csv +261 -0
  76. pyogrio/gdal_data/grib2_table_4_2_2_5.csv +261 -0
  77. pyogrio/gdal_data/grib2_table_4_2_2_6.csv +261 -0
  78. pyogrio/gdal_data/grib2_table_4_2_3_0.csv +261 -0
  79. pyogrio/gdal_data/grib2_table_4_2_3_1.csv +261 -0
  80. pyogrio/gdal_data/grib2_table_4_2_3_2.csv +28 -0
  81. pyogrio/gdal_data/grib2_table_4_2_3_3.csv +8 -0
  82. pyogrio/gdal_data/grib2_table_4_2_3_4.csv +14 -0
  83. pyogrio/gdal_data/grib2_table_4_2_3_5.csv +11 -0
  84. pyogrio/gdal_data/grib2_table_4_2_3_6.csv +11 -0
  85. pyogrio/gdal_data/grib2_table_4_2_4_0.csv +261 -0
  86. pyogrio/gdal_data/grib2_table_4_2_4_1.csv +261 -0
  87. pyogrio/gdal_data/grib2_table_4_2_4_10.csv +261 -0
  88. pyogrio/gdal_data/grib2_table_4_2_4_2.csv +261 -0
  89. pyogrio/gdal_data/grib2_table_4_2_4_3.csv +261 -0
  90. pyogrio/gdal_data/grib2_table_4_2_4_4.csv +261 -0
  91. pyogrio/gdal_data/grib2_table_4_2_4_5.csv +261 -0
  92. pyogrio/gdal_data/grib2_table_4_2_4_6.csv +261 -0
  93. pyogrio/gdal_data/grib2_table_4_2_4_7.csv +261 -0
  94. pyogrio/gdal_data/grib2_table_4_2_4_8.csv +261 -0
  95. pyogrio/gdal_data/grib2_table_4_2_4_9.csv +261 -0
  96. pyogrio/gdal_data/grib2_table_4_2_local_Canada.csv +5 -0
  97. pyogrio/gdal_data/grib2_table_4_2_local_HPC.csv +2 -0
  98. pyogrio/gdal_data/grib2_table_4_2_local_MRMS.csv +175 -0
  99. pyogrio/gdal_data/grib2_table_4_2_local_NCEP.csv +401 -0
  100. pyogrio/gdal_data/grib2_table_4_2_local_NDFD.csv +38 -0
  101. pyogrio/gdal_data/grib2_table_4_2_local_index.csv +7 -0
  102. pyogrio/gdal_data/grib2_table_4_5.csv +261 -0
  103. pyogrio/gdal_data/grib2_table_versions.csv +3 -0
  104. pyogrio/gdal_data/gt_datum.csv +229 -0
  105. pyogrio/gdal_data/gt_ellips.csv +24 -0
  106. pyogrio/gdal_data/header.dxf +1124 -0
  107. pyogrio/gdal_data/inspire_cp_BasicPropertyUnit.gfs +57 -0
  108. pyogrio/gdal_data/inspire_cp_CadastralBoundary.gfs +60 -0
  109. pyogrio/gdal_data/inspire_cp_CadastralParcel.gfs +81 -0
  110. pyogrio/gdal_data/inspire_cp_CadastralZoning.gfs +161 -0
  111. pyogrio/gdal_data/jpfgdgml_AdmArea.gfs +59 -0
  112. pyogrio/gdal_data/jpfgdgml_AdmBdry.gfs +49 -0
  113. pyogrio/gdal_data/jpfgdgml_AdmPt.gfs +59 -0
  114. pyogrio/gdal_data/jpfgdgml_BldA.gfs +54 -0
  115. pyogrio/gdal_data/jpfgdgml_BldL.gfs +54 -0
  116. pyogrio/gdal_data/jpfgdgml_Cntr.gfs +54 -0
  117. pyogrio/gdal_data/jpfgdgml_CommBdry.gfs +49 -0
  118. pyogrio/gdal_data/jpfgdgml_CommPt.gfs +59 -0
  119. pyogrio/gdal_data/jpfgdgml_Cstline.gfs +54 -0
  120. pyogrio/gdal_data/jpfgdgml_ElevPt.gfs +54 -0
  121. pyogrio/gdal_data/jpfgdgml_GCP.gfs +94 -0
  122. pyogrio/gdal_data/jpfgdgml_LeveeEdge.gfs +49 -0
  123. pyogrio/gdal_data/jpfgdgml_RailCL.gfs +54 -0
  124. pyogrio/gdal_data/jpfgdgml_RdASL.gfs +44 -0
  125. pyogrio/gdal_data/jpfgdgml_RdArea.gfs +54 -0
  126. pyogrio/gdal_data/jpfgdgml_RdCompt.gfs +59 -0
  127. pyogrio/gdal_data/jpfgdgml_RdEdg.gfs +59 -0
  128. pyogrio/gdal_data/jpfgdgml_RdMgtBdry.gfs +49 -0
  129. pyogrio/gdal_data/jpfgdgml_RdSgmtA.gfs +59 -0
  130. pyogrio/gdal_data/jpfgdgml_RvrMgtBdry.gfs +49 -0
  131. pyogrio/gdal_data/jpfgdgml_SBAPt.gfs +49 -0
  132. pyogrio/gdal_data/jpfgdgml_SBArea.gfs +54 -0
  133. pyogrio/gdal_data/jpfgdgml_SBBdry.gfs +44 -0
  134. pyogrio/gdal_data/jpfgdgml_WA.gfs +54 -0
  135. pyogrio/gdal_data/jpfgdgml_WL.gfs +54 -0
  136. pyogrio/gdal_data/jpfgdgml_WStrA.gfs +54 -0
  137. pyogrio/gdal_data/jpfgdgml_WStrL.gfs +54 -0
  138. pyogrio/gdal_data/leaflet_template.html +102 -0
  139. pyogrio/gdal_data/nitf_spec.xml +3288 -0
  140. pyogrio/gdal_data/nitf_spec.xsd +171 -0
  141. pyogrio/gdal_data/ogr_fields_override.schema.json +125 -0
  142. pyogrio/gdal_data/ogrinfo_output.schema.json +528 -0
  143. pyogrio/gdal_data/ogrvrt.xsd +528 -0
  144. pyogrio/gdal_data/osmconf.ini +134 -0
  145. pyogrio/gdal_data/ozi_datum.csv +131 -0
  146. pyogrio/gdal_data/ozi_ellips.csv +35 -0
  147. pyogrio/gdal_data/pci_datum.txt +530 -0
  148. pyogrio/gdal_data/pci_ellips.txt +129 -0
  149. pyogrio/gdal_data/pdfcomposition.xsd +703 -0
  150. pyogrio/gdal_data/pds4_template.xml +65 -0
  151. pyogrio/gdal_data/plscenesconf.json +1985 -0
  152. pyogrio/gdal_data/ruian_vf_ob_v1.gfs +1455 -0
  153. pyogrio/gdal_data/ruian_vf_st_uvoh_v1.gfs +86 -0
  154. pyogrio/gdal_data/ruian_vf_st_v1.gfs +1489 -0
  155. pyogrio/gdal_data/ruian_vf_v1.gfs +2126 -0
  156. pyogrio/gdal_data/s57agencies.csv +249 -0
  157. pyogrio/gdal_data/s57attributes.csv +484 -0
  158. pyogrio/gdal_data/s57expectedinput.csv +1008 -0
  159. pyogrio/gdal_data/s57objectclasses.csv +287 -0
  160. pyogrio/gdal_data/seed_2d.dgn +0 -0
  161. pyogrio/gdal_data/seed_3d.dgn +0 -0
  162. pyogrio/gdal_data/stateplane.csv +259 -0
  163. pyogrio/gdal_data/template_tiles.mapml +28 -0
  164. pyogrio/gdal_data/tms_LINZAntarticaMapTileGrid.json +190 -0
  165. pyogrio/gdal_data/tms_MapML_APSTILE.json +268 -0
  166. pyogrio/gdal_data/tms_MapML_CBMTILE.json +346 -0
  167. pyogrio/gdal_data/tms_NZTM2000.json +243 -0
  168. pyogrio/gdal_data/trailer.dxf +434 -0
  169. pyogrio/gdal_data/usage +4 -0
  170. pyogrio/gdal_data/vcpkg-cmake-wrapper.cmake +23 -0
  171. pyogrio/gdal_data/vcpkg.spdx.json +291 -0
  172. pyogrio/gdal_data/vcpkg_abi_info.txt +45 -0
  173. pyogrio/gdal_data/vdv452.xml +349 -0
  174. pyogrio/gdal_data/vdv452.xsd +45 -0
  175. pyogrio/gdal_data/vicar.json +164 -0
  176. pyogrio/geopandas.py +978 -0
  177. pyogrio/proj_data/CH +22 -0
  178. pyogrio/proj_data/GL27 +23 -0
  179. pyogrio/proj_data/ITRF2000 +24 -0
  180. pyogrio/proj_data/ITRF2008 +94 -0
  181. pyogrio/proj_data/ITRF2014 +55 -0
  182. pyogrio/proj_data/ITRF2020 +91 -0
  183. pyogrio/proj_data/copyright +34 -0
  184. pyogrio/proj_data/deformation_model.schema.json +582 -0
  185. pyogrio/proj_data/nad.lst +142 -0
  186. pyogrio/proj_data/nad27 +810 -0
  187. pyogrio/proj_data/nad83 +745 -0
  188. pyogrio/proj_data/other.extra +53 -0
  189. pyogrio/proj_data/proj-config-version.cmake +44 -0
  190. pyogrio/proj_data/proj-config.cmake +79 -0
  191. pyogrio/proj_data/proj-targets-release.cmake +19 -0
  192. pyogrio/proj_data/proj-targets.cmake +107 -0
  193. pyogrio/proj_data/proj.db +0 -0
  194. pyogrio/proj_data/proj.ini +59 -0
  195. pyogrio/proj_data/proj4-targets-release.cmake +19 -0
  196. pyogrio/proj_data/proj4-targets.cmake +107 -0
  197. pyogrio/proj_data/projjson.schema.json +1174 -0
  198. pyogrio/proj_data/triangulation.schema.json +214 -0
  199. pyogrio/proj_data/usage +9 -0
  200. pyogrio/proj_data/vcpkg.spdx.json +203 -0
  201. pyogrio/proj_data/vcpkg_abi_info.txt +28 -0
  202. pyogrio/proj_data/world +214 -0
  203. pyogrio/raw.py +897 -0
  204. pyogrio/tests/__init__.py +0 -0
  205. pyogrio/tests/conftest.py +588 -0
  206. pyogrio/tests/fixtures/README.md +108 -0
  207. pyogrio/tests/fixtures/curve.gpkg +0 -0
  208. pyogrio/tests/fixtures/curvepolygon.gpkg +0 -0
  209. pyogrio/tests/fixtures/line_zm.gpkg +0 -0
  210. pyogrio/tests/fixtures/list_field_values_file.parquet +0 -0
  211. pyogrio/tests/fixtures/list_nested_struct_file.parquet +0 -0
  212. pyogrio/tests/fixtures/multisurface.gpkg +0 -0
  213. pyogrio/tests/fixtures/naturalearth_lowres/naturalearth_lowres.cpg +1 -0
  214. pyogrio/tests/fixtures/naturalearth_lowres/naturalearth_lowres.dbf +0 -0
  215. pyogrio/tests/fixtures/naturalearth_lowres/naturalearth_lowres.prj +1 -0
  216. pyogrio/tests/fixtures/naturalearth_lowres/naturalearth_lowres.shp +0 -0
  217. pyogrio/tests/fixtures/naturalearth_lowres/naturalearth_lowres.shx +0 -0
  218. pyogrio/tests/fixtures/sample.osm.pbf +0 -0
  219. pyogrio/tests/fixtures/test_gpkg_nulls.gpkg +0 -0
  220. pyogrio/tests/test_arrow.py +1160 -0
  221. pyogrio/tests/test_core.py +702 -0
  222. pyogrio/tests/test_geopandas_io.py +3218 -0
  223. pyogrio/tests/test_path.py +374 -0
  224. pyogrio/tests/test_raw_io.py +1473 -0
  225. pyogrio/tests/test_util.py +56 -0
  226. pyogrio/util.py +258 -0
  227. pyogrio-0.12.0.dist-info/METADATA +125 -0
  228. pyogrio-0.12.0.dist-info/RECORD +231 -0
  229. pyogrio-0.12.0.dist-info/WHEEL +6 -0
  230. pyogrio-0.12.0.dist-info/licenses/LICENSE +21 -0
  231. pyogrio-0.12.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1174 @@
1
+ {
2
+ "$id": "https://proj.org/schemas/v0.7/projjson.schema.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "description": "Schema for PROJJSON (v0.7)",
5
+ "$comment": "This document is copyright Even Rouault and PROJ contributors, 2019-2023, and subject to the MIT license. This file exists both in data/ and in schemas/vXXX/. Keep both in sync. And if changing the value of $id, change PROJJSON_DEFAULT_VERSION accordingly in io.cpp",
6
+
7
+ "oneOf": [
8
+ { "$ref": "#/definitions/crs" },
9
+ { "$ref": "#/definitions/datum" },
10
+ { "$ref": "#/definitions/datum_ensemble" },
11
+ { "$ref": "#/definitions/ellipsoid" },
12
+ { "$ref": "#/definitions/prime_meridian" },
13
+ { "$ref": "#/definitions/single_operation" },
14
+ { "$ref": "#/definitions/concatenated_operation" },
15
+ { "$ref": "#/definitions/coordinate_metadata" }
16
+ ],
17
+
18
+ "definitions": {
19
+
20
+ "abridged_transformation": {
21
+ "type": "object",
22
+ "properties": {
23
+ "$schema" : { "type": "string" },
24
+ "type": { "type": "string", "enum": ["AbridgedTransformation"] },
25
+ "name": { "type": "string" },
26
+ "source_crs": {
27
+ "$ref": "#/definitions/crs",
28
+ "$comment": "Only present when the source_crs of the bound_crs does not match the source_crs of the AbridgedTransformation. No equivalent in WKT"
29
+ },
30
+ "method": { "$ref": "#/definitions/method" },
31
+ "parameters": {
32
+ "type": "array",
33
+ "items": { "$ref": "#/definitions/parameter_value" }
34
+ },
35
+ "id": { "$ref": "#/definitions/id" },
36
+ "ids": { "$ref": "#/definitions/ids" }
37
+ },
38
+ "required" : [ "name", "method", "parameters" ],
39
+ "allOf": [
40
+ { "$ref": "#/definitions/id_ids_mutually_exclusive" }
41
+ ],
42
+ "additionalProperties": false
43
+ },
44
+
45
+ "axis": {
46
+ "type": "object",
47
+ "properties": {
48
+ "$schema" : { "type": "string" },
49
+ "type": { "type": "string", "enum": ["Axis"] },
50
+ "name": { "type": "string" },
51
+ "abbreviation": { "type": "string" },
52
+ "direction": { "type": "string",
53
+ "enum": [ "north",
54
+ "northNorthEast",
55
+ "northEast",
56
+ "eastNorthEast",
57
+ "east",
58
+ "eastSouthEast",
59
+ "southEast",
60
+ "southSouthEast",
61
+ "south",
62
+ "southSouthWest",
63
+ "southWest",
64
+ "westSouthWest",
65
+ "west",
66
+ "westNorthWest",
67
+ "northWest",
68
+ "northNorthWest",
69
+ "up",
70
+ "down",
71
+ "geocentricX",
72
+ "geocentricY",
73
+ "geocentricZ",
74
+ "columnPositive",
75
+ "columnNegative",
76
+ "rowPositive",
77
+ "rowNegative",
78
+ "displayRight",
79
+ "displayLeft",
80
+ "displayUp",
81
+ "displayDown",
82
+ "forward",
83
+ "aft",
84
+ "port",
85
+ "starboard",
86
+ "clockwise",
87
+ "counterClockwise",
88
+ "towards",
89
+ "awayFrom",
90
+ "future",
91
+ "past",
92
+ "unspecified" ] },
93
+ "meridian": { "$ref": "#/definitions/meridian" },
94
+ "unit": { "$ref": "#/definitions/unit" },
95
+ "minimum_value": { "type": "number" },
96
+ "maximum_value": { "type": "number" },
97
+ "range_meaning": { "type": "string", "enum": [ "exact", "wraparound"] },
98
+ "id": { "$ref": "#/definitions/id" },
99
+ "ids": { "$ref": "#/definitions/ids" }
100
+ },
101
+ "required" : [ "name", "abbreviation", "direction" ],
102
+ "allOf": [
103
+ { "$ref": "#/definitions/id_ids_mutually_exclusive" }
104
+ ],
105
+ "additionalProperties": false
106
+ },
107
+
108
+ "bbox": {
109
+ "type": "object",
110
+ "properties": {
111
+ "east_longitude": { "type": "number" },
112
+ "west_longitude": { "type": "number" },
113
+ "south_latitude": { "type": "number" },
114
+ "north_latitude": { "type": "number" }
115
+ },
116
+ "required" : [ "east_longitude", "west_longitude",
117
+ "south_latitude", "north_latitude" ],
118
+ "additionalProperties": false
119
+ },
120
+
121
+ "bound_crs": {
122
+ "type": "object",
123
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
124
+ "properties": {
125
+ "$schema" : { "type": "string" },
126
+ "type": { "type": "string", "enum": ["BoundCRS"] },
127
+ "name": { "type": "string" },
128
+ "source_crs": { "$ref": "#/definitions/crs" },
129
+ "target_crs": { "$ref": "#/definitions/crs" },
130
+ "transformation": { "$ref": "#/definitions/abridged_transformation" },
131
+ "scope": {},
132
+ "area": {},
133
+ "bbox": {},
134
+ "vertical_extent": {},
135
+ "temporal_extent": {},
136
+ "usages": {},
137
+ "remarks": {},
138
+ "id": {}, "ids": {}
139
+ },
140
+ "required" : [ "source_crs", "target_crs", "transformation" ],
141
+ "additionalProperties": false
142
+ },
143
+
144
+ "compound_crs": {
145
+ "type": "object",
146
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
147
+ "properties": {
148
+ "type": { "type": "string", "enum": ["CompoundCRS"] },
149
+ "name": { "type": "string" },
150
+ "components": {
151
+ "type": "array",
152
+ "items": { "$ref": "#/definitions/crs" }
153
+ },
154
+ "$schema" : {},
155
+ "scope": {},
156
+ "area": {},
157
+ "bbox": {},
158
+ "vertical_extent": {},
159
+ "temporal_extent": {},
160
+ "usages": {},
161
+ "remarks": {},
162
+ "id": {}, "ids": {}
163
+ },
164
+ "required" : [ "name", "components" ],
165
+ "additionalProperties": false
166
+ },
167
+
168
+ "concatenated_operation": {
169
+ "type": "object",
170
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
171
+ "properties": {
172
+ "type": { "type": "string", "enum": ["ConcatenatedOperation"] },
173
+ "name": { "type": "string" },
174
+ "source_crs": { "$ref": "#/definitions/crs" },
175
+ "target_crs": { "$ref": "#/definitions/crs" },
176
+ "steps": {
177
+ "type": "array",
178
+ "items": { "$ref": "#/definitions/single_operation" }
179
+ },
180
+ "accuracy": { "type": "string" },
181
+ "$schema" : {},
182
+ "scope": {},
183
+ "area": {},
184
+ "bbox": {},
185
+ "vertical_extent": {},
186
+ "temporal_extent": {},
187
+ "usages": {},
188
+ "remarks": {},
189
+ "id": {}, "ids": {}
190
+ },
191
+ "required" : [ "name", "source_crs", "target_crs", "steps" ],
192
+ "additionalProperties": false
193
+ },
194
+
195
+ "conversion": {
196
+ "type": "object",
197
+ "properties": {
198
+ "$schema" : { "type": "string" },
199
+ "type": { "type": "string", "enum": ["Conversion"] },
200
+ "name": { "type": "string" },
201
+ "method": { "$ref": "#/definitions/method" },
202
+ "parameters": {
203
+ "type": "array",
204
+ "items": { "$ref": "#/definitions/parameter_value" }
205
+ },
206
+ "id": { "$ref": "#/definitions/id" },
207
+ "ids": { "$ref": "#/definitions/ids" }
208
+ },
209
+ "required" : [ "name", "method" ],
210
+ "allOf": [
211
+ { "$ref": "#/definitions/id_ids_mutually_exclusive" }
212
+ ],
213
+ "additionalProperties": false
214
+ },
215
+
216
+ "coordinate_metadata": {
217
+ "type": "object",
218
+ "properties": {
219
+ "$schema" : { "type": "string" },
220
+ "type": { "type": "string", "enum": ["CoordinateMetadata"] },
221
+ "crs": { "$ref": "#/definitions/crs" },
222
+ "coordinateEpoch": { "type": "number" }
223
+ },
224
+ "required" : [ "crs" ],
225
+ "additionalProperties": false
226
+ },
227
+
228
+ "coordinate_system": {
229
+ "type": "object",
230
+ "properties": {
231
+ "$schema" : { "type": "string" },
232
+ "type": { "type": "string", "enum": ["CoordinateSystem"] },
233
+ "name": { "type": "string" },
234
+ "subtype": { "type": "string",
235
+ "enum": ["Cartesian",
236
+ "spherical",
237
+ "ellipsoidal",
238
+ "vertical",
239
+ "ordinal",
240
+ "parametric",
241
+ "affine",
242
+ "TemporalDateTime",
243
+ "TemporalCount",
244
+ "TemporalMeasure"] },
245
+ "axis": {
246
+ "type": "array",
247
+ "items": { "$ref": "#/definitions/axis" }
248
+ },
249
+ "id": { "$ref": "#/definitions/id" },
250
+ "ids": { "$ref": "#/definitions/ids" }
251
+ },
252
+ "required" : [ "subtype", "axis" ],
253
+ "allOf": [
254
+ { "$ref": "#/definitions/id_ids_mutually_exclusive" }
255
+ ],
256
+ "additionalProperties": false
257
+ },
258
+
259
+ "crs": {
260
+ "oneOf": [
261
+ { "$ref": "#/definitions/bound_crs" },
262
+ { "$ref": "#/definitions/compound_crs" },
263
+ { "$ref": "#/definitions/derived_engineering_crs" },
264
+ { "$ref": "#/definitions/derived_geodetic_crs" },
265
+ { "$ref": "#/definitions/derived_parametric_crs" },
266
+ { "$ref": "#/definitions/derived_projected_crs" },
267
+ { "$ref": "#/definitions/derived_temporal_crs" },
268
+ { "$ref": "#/definitions/derived_vertical_crs" },
269
+ { "$ref": "#/definitions/engineering_crs" },
270
+ { "$ref": "#/definitions/geodetic_crs" },
271
+ { "$ref": "#/definitions/parametric_crs" },
272
+ { "$ref": "#/definitions/projected_crs" },
273
+ { "$ref": "#/definitions/temporal_crs" },
274
+ { "$ref": "#/definitions/vertical_crs" }
275
+ ]
276
+ },
277
+
278
+ "datum": {
279
+ "oneOf": [
280
+ { "$ref": "#/definitions/geodetic_reference_frame" },
281
+ { "$ref": "#/definitions/vertical_reference_frame" },
282
+ { "$ref": "#/definitions/dynamic_geodetic_reference_frame" },
283
+ { "$ref": "#/definitions/dynamic_vertical_reference_frame" },
284
+ { "$ref": "#/definitions/temporal_datum" },
285
+ { "$ref": "#/definitions/parametric_datum" },
286
+ { "$ref": "#/definitions/engineering_datum" }
287
+ ]
288
+ },
289
+
290
+ "datum_ensemble": {
291
+ "type": "object",
292
+ "properties": {
293
+ "$schema" : { "type": "string" },
294
+ "type": { "type": "string", "enum": ["DatumEnsemble"] },
295
+ "name": { "type": "string" },
296
+ "members": {
297
+ "type": "array",
298
+ "items": {
299
+ "type": "object",
300
+ "properties": {
301
+ "name": { "type": "string" },
302
+ "id": { "$ref": "#/definitions/id" },
303
+ "ids": { "$ref": "#/definitions/ids" }
304
+ },
305
+ "required" : [ "name" ],
306
+ "allOf": [
307
+ { "$ref": "#/definitions/id_ids_mutually_exclusive" }
308
+ ],
309
+ "additionalProperties": false
310
+ }
311
+ },
312
+ "ellipsoid": { "$ref": "#/definitions/ellipsoid" },
313
+ "accuracy": { "type": "string" },
314
+ "id": { "$ref": "#/definitions/id" },
315
+ "ids": { "$ref": "#/definitions/ids" }
316
+ },
317
+ "required" : [ "name", "members", "accuracy" ],
318
+ "allOf": [
319
+ { "$ref": "#/definitions/id_ids_mutually_exclusive" }
320
+ ],
321
+ "additionalProperties": false
322
+ },
323
+
324
+ "deformation_model": {
325
+ "description": "Association to a PointMotionOperation",
326
+ "type": "object",
327
+ "properties": {
328
+ "name": { "type": "string" },
329
+ "id": { "$ref": "#/definitions/id" }
330
+ },
331
+ "required" : [ "name" ],
332
+ "additionalProperties": false
333
+ },
334
+
335
+ "derived_engineering_crs": {
336
+ "type": "object",
337
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
338
+ "properties": {
339
+ "type": { "type": "string",
340
+ "enum": ["DerivedEngineeringCRS"] },
341
+ "name": { "type": "string" },
342
+ "base_crs": { "$ref": "#/definitions/engineering_crs" },
343
+ "conversion": { "$ref": "#/definitions/conversion" },
344
+ "coordinate_system": { "$ref": "#/definitions/coordinate_system" },
345
+ "$schema" : {},
346
+ "scope": {},
347
+ "area": {},
348
+ "bbox": {},
349
+ "vertical_extent": {},
350
+ "temporal_extent": {},
351
+ "usages": {},
352
+ "remarks": {},
353
+ "id": {}, "ids": {}
354
+ },
355
+ "required" : [ "name", "base_crs", "conversion", "coordinate_system" ],
356
+ "additionalProperties": false
357
+ },
358
+
359
+ "derived_geodetic_crs": {
360
+ "type": "object",
361
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
362
+ "properties": {
363
+ "type": { "type": "string",
364
+ "enum": ["DerivedGeodeticCRS",
365
+ "DerivedGeographicCRS"] },
366
+ "name": { "type": "string" },
367
+ "base_crs": { "$ref": "#/definitions/geodetic_crs" },
368
+ "conversion": { "$ref": "#/definitions/conversion" },
369
+ "coordinate_system": { "$ref": "#/definitions/coordinate_system" },
370
+ "$schema" : {},
371
+ "scope": {},
372
+ "area": {},
373
+ "bbox": {},
374
+ "vertical_extent": {},
375
+ "temporal_extent": {},
376
+ "usages": {},
377
+ "remarks": {},
378
+ "id": {}, "ids": {}
379
+ },
380
+ "required" : [ "name", "base_crs", "conversion", "coordinate_system" ],
381
+ "additionalProperties": false
382
+ },
383
+
384
+ "derived_parametric_crs": {
385
+ "type": "object",
386
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
387
+ "properties": {
388
+ "type": { "type": "string",
389
+ "enum": ["DerivedParametricCRS"] },
390
+ "name": { "type": "string" },
391
+ "base_crs": { "$ref": "#/definitions/parametric_crs" },
392
+ "conversion": { "$ref": "#/definitions/conversion" },
393
+ "coordinate_system": { "$ref": "#/definitions/coordinate_system" },
394
+ "$schema" : {},
395
+ "scope": {},
396
+ "area": {},
397
+ "bbox": {},
398
+ "vertical_extent": {},
399
+ "temporal_extent": {},
400
+ "usages": {},
401
+ "remarks": {},
402
+ "id": {}, "ids": {}
403
+ },
404
+ "required" : [ "name", "base_crs", "conversion", "coordinate_system" ],
405
+ "additionalProperties": false
406
+ },
407
+
408
+ "derived_projected_crs": {
409
+ "type": "object",
410
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
411
+ "properties": {
412
+ "type": { "type": "string",
413
+ "enum": ["DerivedProjectedCRS"] },
414
+ "name": { "type": "string" },
415
+ "base_crs": { "$ref": "#/definitions/projected_crs" },
416
+ "conversion": { "$ref": "#/definitions/conversion" },
417
+ "coordinate_system": { "$ref": "#/definitions/coordinate_system" },
418
+ "$schema" : {},
419
+ "scope": {},
420
+ "area": {},
421
+ "bbox": {},
422
+ "vertical_extent": {},
423
+ "temporal_extent": {},
424
+ "usages": {},
425
+ "remarks": {},
426
+ "id": {}, "ids": {}
427
+ },
428
+ "required" : [ "name", "base_crs", "conversion", "coordinate_system" ],
429
+ "additionalProperties": false
430
+ },
431
+
432
+ "derived_temporal_crs": {
433
+ "type": "object",
434
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
435
+ "properties": {
436
+ "type": { "type": "string",
437
+ "enum": ["DerivedTemporalCRS"] },
438
+ "name": { "type": "string" },
439
+ "base_crs": { "$ref": "#/definitions/temporal_crs" },
440
+ "conversion": { "$ref": "#/definitions/conversion" },
441
+ "coordinate_system": { "$ref": "#/definitions/coordinate_system" },
442
+ "$schema" : {},
443
+ "scope": {},
444
+ "area": {},
445
+ "bbox": {},
446
+ "vertical_extent": {},
447
+ "temporal_extent": {},
448
+ "usages": {},
449
+ "remarks": {},
450
+ "id": {}, "ids": {}
451
+ },
452
+ "required" : [ "name", "base_crs", "conversion", "coordinate_system" ],
453
+ "additionalProperties": false
454
+ },
455
+
456
+ "derived_vertical_crs": {
457
+ "type": "object",
458
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
459
+ "properties": {
460
+ "type": { "type": "string",
461
+ "enum": ["DerivedVerticalCRS"] },
462
+ "name": { "type": "string" },
463
+ "base_crs": { "$ref": "#/definitions/vertical_crs" },
464
+ "conversion": { "$ref": "#/definitions/conversion" },
465
+ "coordinate_system": { "$ref": "#/definitions/coordinate_system" },
466
+ "$schema" : {},
467
+ "scope": {},
468
+ "area": {},
469
+ "bbox": {},
470
+ "vertical_extent": {},
471
+ "temporal_extent": {},
472
+ "usages": {},
473
+ "remarks": {},
474
+ "id": {}, "ids": {}
475
+ },
476
+ "required" : [ "name", "base_crs", "conversion", "coordinate_system" ],
477
+ "additionalProperties": false
478
+ },
479
+
480
+ "dynamic_geodetic_reference_frame": {
481
+ "type": "object",
482
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
483
+ "properties": {
484
+ "type": { "type": "string", "enum": ["DynamicGeodeticReferenceFrame"] },
485
+ "name": {},
486
+ "anchor": {},
487
+ "anchor_epoch": {},
488
+ "ellipsoid": {},
489
+ "prime_meridian": {},
490
+ "frame_reference_epoch": { "type": "number" },
491
+ "$schema" : {},
492
+ "scope": {},
493
+ "area": {},
494
+ "bbox": {},
495
+ "vertical_extent": {},
496
+ "temporal_extent": {},
497
+ "usages": {},
498
+ "remarks": {},
499
+ "id": {}, "ids": {}
500
+ },
501
+ "required" : [ "name", "ellipsoid", "frame_reference_epoch" ],
502
+ "additionalProperties": false
503
+ },
504
+
505
+ "dynamic_vertical_reference_frame": {
506
+ "type": "object",
507
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
508
+ "properties": {
509
+ "type": { "type": "string", "enum": ["DynamicVerticalReferenceFrame"] },
510
+ "name": {},
511
+ "anchor": {},
512
+ "anchor_epoch": {},
513
+ "frame_reference_epoch": { "type": "number" },
514
+ "$schema" : {},
515
+ "scope": {},
516
+ "area": {},
517
+ "bbox": {},
518
+ "vertical_extent": {},
519
+ "temporal_extent": {},
520
+ "usages": {},
521
+ "remarks": {},
522
+ "id": {}, "ids": {}
523
+ },
524
+ "required" : [ "name", "frame_reference_epoch" ],
525
+ "additionalProperties": false
526
+ },
527
+
528
+ "ellipsoid": {
529
+ "type": "object",
530
+ "oneOf":[
531
+ {
532
+ "properties": {
533
+ "$schema" : { "type": "string" },
534
+ "type": { "type": "string", "enum": ["Ellipsoid"] },
535
+ "name": { "type": "string" },
536
+ "semi_major_axis": { "$ref": "#/definitions/value_in_metre_or_value_and_unit" },
537
+ "semi_minor_axis": { "$ref": "#/definitions/value_in_metre_or_value_and_unit" },
538
+ "id": { "$ref": "#/definitions/id" },
539
+ "ids": { "$ref": "#/definitions/ids" }
540
+ },
541
+ "required" : [ "name", "semi_major_axis", "semi_minor_axis" ],
542
+ "additionalProperties": false
543
+ },
544
+ {
545
+ "properties": {
546
+ "$schema" : { "type": "string" },
547
+ "type": { "type": "string", "enum": ["Ellipsoid"] },
548
+ "name": { "type": "string" },
549
+ "semi_major_axis": { "$ref": "#/definitions/value_in_metre_or_value_and_unit" },
550
+ "inverse_flattening": { "type": "number" },
551
+ "id": { "$ref": "#/definitions/id" },
552
+ "ids": { "$ref": "#/definitions/ids" }
553
+ },
554
+ "required" : [ "name", "semi_major_axis", "inverse_flattening" ],
555
+ "additionalProperties": false
556
+ },
557
+ {
558
+ "properties": {
559
+ "$schema" : { "type": "string" },
560
+ "type": { "type": "string", "enum": ["Ellipsoid"] },
561
+ "name": { "type": "string" },
562
+ "radius": { "$ref": "#/definitions/value_in_metre_or_value_and_unit" },
563
+ "id": { "$ref": "#/definitions/id" },
564
+ "ids": { "$ref": "#/definitions/ids" }
565
+ },
566
+ "required" : [ "name", "radius" ],
567
+ "additionalProperties": false
568
+ }
569
+ ],
570
+ "allOf": [
571
+ { "$ref": "#/definitions/id_ids_mutually_exclusive" }
572
+ ]
573
+ },
574
+
575
+ "engineering_crs": {
576
+ "type": "object",
577
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
578
+ "properties": {
579
+ "type": { "type": "string", "enum": ["EngineeringCRS"] },
580
+ "name": { "type": "string" },
581
+ "datum": { "$ref": "#/definitions/engineering_datum" },
582
+ "coordinate_system": { "$ref": "#/definitions/coordinate_system" },
583
+ "$schema" : {},
584
+ "scope": {},
585
+ "area": {},
586
+ "bbox": {},
587
+ "vertical_extent": {},
588
+ "temporal_extent": {},
589
+ "usages": {},
590
+ "remarks": {},
591
+ "id": {}, "ids": {}
592
+ },
593
+ "required" : [ "name", "datum" ],
594
+ "additionalProperties": false
595
+ },
596
+
597
+ "engineering_datum": {
598
+ "type": "object",
599
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
600
+ "properties": {
601
+ "type": { "type": "string", "enum": ["EngineeringDatum"] },
602
+ "name": { "type": "string" },
603
+ "anchor": { "type": "string" },
604
+ "$schema" : {},
605
+ "scope": {},
606
+ "area": {},
607
+ "bbox": {},
608
+ "vertical_extent": {},
609
+ "temporal_extent": {},
610
+ "usages": {},
611
+ "remarks": {},
612
+ "id": {}, "ids": {}
613
+ },
614
+ "required" : [ "name" ],
615
+ "additionalProperties": false
616
+ },
617
+
618
+ "geodetic_crs": {
619
+ "type": "object",
620
+ "properties": {
621
+ "type": { "type": "string", "enum": ["GeodeticCRS", "GeographicCRS"] },
622
+ "name": { "type": "string" },
623
+ "datum": {
624
+ "oneOf": [
625
+ { "$ref": "#/definitions/geodetic_reference_frame" },
626
+ { "$ref": "#/definitions/dynamic_geodetic_reference_frame" }
627
+ ]
628
+ },
629
+ "datum_ensemble": { "$ref": "#/definitions/datum_ensemble" },
630
+ "coordinate_system": { "$ref": "#/definitions/coordinate_system" },
631
+ "deformation_models": {
632
+ "type": "array",
633
+ "items": { "$ref": "#/definitions/deformation_model" }
634
+ },
635
+ "$schema" : {},
636
+ "scope": {},
637
+ "area": {},
638
+ "bbox": {},
639
+ "vertical_extent": {},
640
+ "temporal_extent": {},
641
+ "usages": {},
642
+ "remarks": {},
643
+ "id": {}, "ids": {}
644
+ },
645
+ "required" : [ "name" ],
646
+ "description": "One and only one of datum and datum_ensemble must be provided",
647
+ "allOf": [
648
+ { "$ref": "#/definitions/object_usage" },
649
+ { "$ref": "#/definitions/one_and_only_one_of_datum_or_datum_ensemble" }
650
+ ],
651
+ "additionalProperties": false
652
+ },
653
+
654
+ "geodetic_reference_frame": {
655
+ "type": "object",
656
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
657
+ "properties": {
658
+ "type": { "type": "string", "enum": ["GeodeticReferenceFrame"] },
659
+ "name": { "type": "string" },
660
+ "anchor": { "type": "string" },
661
+ "anchor_epoch": { "type": "number" },
662
+ "ellipsoid": { "$ref": "#/definitions/ellipsoid" },
663
+ "prime_meridian": { "$ref": "#/definitions/prime_meridian" },
664
+ "$schema" : {},
665
+ "scope": {},
666
+ "area": {},
667
+ "bbox": {},
668
+ "vertical_extent": {},
669
+ "temporal_extent": {},
670
+ "usages": {},
671
+ "remarks": {},
672
+ "id": {}, "ids": {}
673
+ },
674
+ "required" : [ "name", "ellipsoid" ],
675
+ "additionalProperties": false
676
+ },
677
+
678
+ "geoid_model": {
679
+ "type": "object",
680
+ "properties": {
681
+ "name": { "type": "string" },
682
+ "interpolation_crs": { "$ref": "#/definitions/crs" },
683
+ "id": { "$ref": "#/definitions/id" }
684
+ },
685
+ "required" : [ "name" ],
686
+ "additionalProperties": false
687
+ },
688
+
689
+ "id": {
690
+ "type": "object",
691
+ "properties": {
692
+ "authority": { "type": "string" },
693
+ "code": {
694
+ "oneOf": [ { "type": "string" }, { "type": "integer" } ]
695
+ },
696
+ "version": {
697
+ "oneOf": [ { "type": "string" }, { "type": "number" } ]
698
+ },
699
+ "authority_citation": { "type": "string" },
700
+ "uri": { "type": "string" }
701
+ },
702
+ "required" : [ "authority", "code" ],
703
+ "additionalProperties": false
704
+ },
705
+
706
+ "ids": {
707
+ "type": "array",
708
+ "items": { "$ref": "#/definitions/id" }
709
+ },
710
+
711
+ "method": {
712
+ "type": "object",
713
+ "properties": {
714
+ "$schema" : { "type": "string" },
715
+ "type": { "type": "string", "enum": ["OperationMethod"]},
716
+ "name": { "type": "string" },
717
+ "id": { "$ref": "#/definitions/id" },
718
+ "ids": { "$ref": "#/definitions/ids" }
719
+ },
720
+ "required" : [ "name" ],
721
+ "allOf": [
722
+ { "$ref": "#/definitions/id_ids_mutually_exclusive" }
723
+ ],
724
+ "additionalProperties": false
725
+ },
726
+
727
+ "id_ids_mutually_exclusive": {
728
+ "not": {
729
+ "type": "object",
730
+ "required": [ "id", "ids" ]
731
+ }
732
+ },
733
+
734
+ "one_and_only_one_of_datum_or_datum_ensemble": {
735
+ "allOf": [
736
+ {
737
+ "not": {
738
+ "type": "object",
739
+ "required": [ "datum", "datum_ensemble" ]
740
+ }
741
+ },
742
+ {
743
+ "oneOf": [
744
+ { "type": "object", "required": ["datum"] },
745
+ { "type": "object", "required": ["datum_ensemble"] }
746
+ ]
747
+ }
748
+ ]
749
+ },
750
+
751
+ "meridian": {
752
+ "type": "object",
753
+ "properties": {
754
+ "$schema" : { "type": "string" },
755
+ "type": { "type": "string", "enum": ["Meridian"] },
756
+ "longitude": { "$ref": "#/definitions/value_in_degree_or_value_and_unit" },
757
+ "id": { "$ref": "#/definitions/id" },
758
+ "ids": { "$ref": "#/definitions/ids" }
759
+ },
760
+ "required" : [ "longitude" ],
761
+ "allOf": [
762
+ { "$ref": "#/definitions/id_ids_mutually_exclusive" }
763
+ ],
764
+ "additionalProperties": false
765
+ },
766
+
767
+ "object_usage": {
768
+ "anyOf": [
769
+ {
770
+ "type": "object",
771
+ "properties": {
772
+ "$schema" : { "type": "string" },
773
+ "scope": { "type": "string" },
774
+ "area": { "type": "string" },
775
+ "bbox": { "$ref": "#/definitions/bbox" },
776
+ "vertical_extent": { "$ref": "#/definitions/vertical_extent" },
777
+ "temporal_extent": { "$ref": "#/definitions/temporal_extent" },
778
+ "remarks": { "type": "string" },
779
+ "id": { "$ref": "#/definitions/id" },
780
+ "ids": { "$ref": "#/definitions/ids" }
781
+ },
782
+ "allOf": [
783
+ { "$ref": "#/definitions/id_ids_mutually_exclusive" }
784
+ ]
785
+ },
786
+ {
787
+ "type": "object",
788
+ "properties": {
789
+ "$schema" : { "type": "string" },
790
+ "usages": { "$ref": "#/definitions/usages" },
791
+ "remarks": { "type": "string" },
792
+ "id": { "$ref": "#/definitions/id" },
793
+ "ids": { "$ref": "#/definitions/ids" }
794
+ },
795
+ "allOf": [
796
+ { "$ref": "#/definitions/id_ids_mutually_exclusive" }
797
+ ]
798
+ }
799
+ ]
800
+ },
801
+
802
+ "parameter_value": {
803
+ "type": "object",
804
+ "properties": {
805
+ "$schema" : { "type": "string" },
806
+ "type": { "type": "string", "enum": ["ParameterValue"] },
807
+ "name": { "type": "string" },
808
+ "value": {
809
+ "oneOf": [
810
+ { "type": "string" },
811
+ { "type": "number" }
812
+ ]
813
+ },
814
+ "unit": { "$ref": "#/definitions/unit" },
815
+ "id": { "$ref": "#/definitions/id" },
816
+ "ids": { "$ref": "#/definitions/ids" }
817
+ },
818
+ "required" : [ "name", "value" ],
819
+ "allOf": [
820
+ { "$ref": "#/definitions/id_ids_mutually_exclusive" }
821
+ ],
822
+ "additionalProperties": false
823
+ },
824
+
825
+ "parametric_crs": {
826
+ "type": "object",
827
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
828
+ "properties": {
829
+ "type": { "type": "string", "enum": ["ParametricCRS"] },
830
+ "name": { "type": "string" },
831
+ "datum": { "$ref": "#/definitions/parametric_datum" },
832
+ "coordinate_system": { "$ref": "#/definitions/coordinate_system" },
833
+ "$schema" : {},
834
+ "scope": {},
835
+ "area": {},
836
+ "bbox": {},
837
+ "vertical_extent": {},
838
+ "temporal_extent": {},
839
+ "usages": {},
840
+ "remarks": {},
841
+ "id": {}, "ids": {}
842
+ },
843
+ "required" : [ "name", "datum" ],
844
+ "additionalProperties": false
845
+ },
846
+
847
+ "parametric_datum": {
848
+ "type": "object",
849
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
850
+ "properties": {
851
+ "type": { "type": "string", "enum": ["ParametricDatum"] },
852
+ "name": { "type": "string" },
853
+ "anchor": { "type": "string" },
854
+ "$schema" : {},
855
+ "scope": {},
856
+ "area": {},
857
+ "bbox": {},
858
+ "vertical_extent": {},
859
+ "temporal_extent": {},
860
+ "usages": {},
861
+ "remarks": {},
862
+ "id": {}, "ids": {}
863
+ },
864
+ "required" : [ "name" ],
865
+ "additionalProperties": false
866
+ },
867
+
868
+ "point_motion_operation": {
869
+ "$comment": "Not implemented in PROJ (at least as of PROJ 9.1)",
870
+ "type": "object",
871
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
872
+ "properties": {
873
+ "type": { "type": "string", "enum": ["PointMotionOperation"] },
874
+ "name": { "type": "string" },
875
+ "source_crs": { "$ref": "#/definitions/crs" },
876
+ "method": { "$ref": "#/definitions/method" },
877
+ "parameters": {
878
+ "type": "array",
879
+ "items": { "$ref": "#/definitions/parameter_value" }
880
+ },
881
+ "accuracy": { "type": "string" },
882
+ "$schema" : {},
883
+ "scope": {},
884
+ "area": {},
885
+ "bbox": {},
886
+ "vertical_extent": {},
887
+ "temporal_extent": {},
888
+ "usages": {},
889
+ "remarks": {},
890
+ "id": {}, "ids": {}
891
+ },
892
+ "required" : [ "name", "source_crs", "method", "parameters" ],
893
+ "additionalProperties": false
894
+ },
895
+
896
+ "prime_meridian": {
897
+ "type": "object",
898
+ "properties": {
899
+ "$schema" : { "type": "string" },
900
+ "type": { "type": "string", "enum": ["PrimeMeridian"] },
901
+ "name": { "type": "string" },
902
+ "longitude": { "$ref": "#/definitions/value_in_degree_or_value_and_unit" },
903
+ "id": { "$ref": "#/definitions/id" },
904
+ "ids": { "$ref": "#/definitions/ids" }
905
+ },
906
+ "required" : [ "name" ],
907
+ "allOf": [
908
+ { "$ref": "#/definitions/id_ids_mutually_exclusive" }
909
+ ],
910
+ "additionalProperties": false
911
+ },
912
+
913
+ "single_operation": {
914
+ "oneOf": [
915
+ { "$ref": "#/definitions/conversion" },
916
+ { "$ref": "#/definitions/transformation" },
917
+ { "$ref": "#/definitions/point_motion_operation" }
918
+ ]
919
+ },
920
+
921
+ "projected_crs": {
922
+ "type": "object",
923
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
924
+ "properties": {
925
+ "type": { "type": "string",
926
+ "enum": ["ProjectedCRS"] },
927
+ "name": { "type": "string" },
928
+ "base_crs": { "$ref": "#/definitions/geodetic_crs" },
929
+ "conversion": { "$ref": "#/definitions/conversion" },
930
+ "coordinate_system": { "$ref": "#/definitions/coordinate_system" },
931
+ "$schema" : {},
932
+ "scope": {},
933
+ "area": {},
934
+ "bbox": {},
935
+ "vertical_extent": {},
936
+ "temporal_extent": {},
937
+ "usages": {},
938
+ "remarks": {},
939
+ "id": {}, "ids": {}
940
+ },
941
+ "required" : [ "name", "base_crs", "conversion", "coordinate_system" ],
942
+ "additionalProperties": false
943
+ },
944
+
945
+ "temporal_crs": {
946
+ "type": "object",
947
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
948
+ "properties": {
949
+ "type": { "type": "string", "enum": ["TemporalCRS"] },
950
+ "name": { "type": "string" },
951
+ "datum": { "$ref": "#/definitions/temporal_datum" },
952
+ "coordinate_system": { "$ref": "#/definitions/coordinate_system" },
953
+ "$schema" : {},
954
+ "scope": {},
955
+ "area": {},
956
+ "bbox": {},
957
+ "vertical_extent": {},
958
+ "temporal_extent": {},
959
+ "usages": {},
960
+ "remarks": {},
961
+ "id": {}, "ids": {}
962
+ },
963
+ "required" : [ "name", "datum" ],
964
+ "additionalProperties": false
965
+ },
966
+
967
+ "temporal_datum": {
968
+ "type": "object",
969
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
970
+ "properties": {
971
+ "type": { "type": "string", "enum": ["TemporalDatum"] },
972
+ "name": { "type": "string" },
973
+ "calendar": { "type": "string" },
974
+ "time_origin": { "type": "string" },
975
+ "$schema" : {},
976
+ "scope": {},
977
+ "area": {},
978
+ "bbox": {},
979
+ "vertical_extent": {},
980
+ "temporal_extent": {},
981
+ "usages": {},
982
+ "remarks": {},
983
+ "id": {}, "ids": {}
984
+ },
985
+ "required" : [ "name", "calendar" ],
986
+ "additionalProperties": false
987
+ },
988
+
989
+ "temporal_extent": {
990
+ "type": "object",
991
+ "properties": {
992
+ "start": { "type": "string" },
993
+ "end": { "type": "string" }
994
+ },
995
+ "required" : [ "start", "end" ],
996
+ "additionalProperties": false
997
+ },
998
+
999
+ "transformation": {
1000
+ "type": "object",
1001
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
1002
+ "properties": {
1003
+ "type": { "type": "string", "enum": ["Transformation"] },
1004
+ "name": { "type": "string" },
1005
+ "source_crs": { "$ref": "#/definitions/crs" },
1006
+ "target_crs": { "$ref": "#/definitions/crs" },
1007
+ "interpolation_crs": { "$ref": "#/definitions/crs" },
1008
+ "method": { "$ref": "#/definitions/method" },
1009
+ "parameters": {
1010
+ "type": "array",
1011
+ "items": { "$ref": "#/definitions/parameter_value" }
1012
+ },
1013
+ "accuracy": { "type": "string" },
1014
+ "$schema" : {},
1015
+ "scope": {},
1016
+ "area": {},
1017
+ "bbox": {},
1018
+ "vertical_extent": {},
1019
+ "temporal_extent": {},
1020
+ "usages": {},
1021
+ "remarks": {},
1022
+ "id": {}, "ids": {}
1023
+ },
1024
+ "required" : [ "name", "source_crs", "target_crs", "method", "parameters" ],
1025
+ "additionalProperties": false
1026
+ },
1027
+
1028
+ "unit": {
1029
+ "oneOf": [
1030
+ {
1031
+ "type": "string",
1032
+ "enum": ["metre", "degree", "unity"]
1033
+ },
1034
+ {
1035
+ "type": "object",
1036
+ "properties": {
1037
+ "type": { "type": "string",
1038
+ "enum": ["LinearUnit", "AngularUnit", "ScaleUnit",
1039
+ "TimeUnit", "ParametricUnit", "Unit"] },
1040
+ "name": { "type": "string" },
1041
+ "conversion_factor": { "type": "number" },
1042
+ "id": { "$ref": "#/definitions/id" },
1043
+ "ids": { "$ref": "#/definitions/ids" }
1044
+ },
1045
+ "required" : [ "type", "name" ],
1046
+ "allOf": [
1047
+ { "$ref": "#/definitions/id_ids_mutually_exclusive" }
1048
+ ],
1049
+ "additionalProperties": false
1050
+ }
1051
+ ]
1052
+ },
1053
+
1054
+ "usages": {
1055
+ "type": "array",
1056
+ "items": {
1057
+ "type": "object",
1058
+ "properties": {
1059
+ "scope": { "type": "string" },
1060
+ "area": { "type": "string" },
1061
+ "bbox": { "$ref": "#/definitions/bbox" },
1062
+ "vertical_extent": { "$ref": "#/definitions/vertical_extent" },
1063
+ "temporal_extent": { "$ref": "#/definitions/temporal_extent" }
1064
+ },
1065
+ "additionalProperties": false
1066
+ }
1067
+ },
1068
+
1069
+ "value_and_unit": {
1070
+ "type": "object",
1071
+ "properties": {
1072
+ "value": { "type": "number" },
1073
+ "unit": { "$ref": "#/definitions/unit" }
1074
+ },
1075
+ "required" : [ "value", "unit" ],
1076
+ "additionalProperties": false
1077
+ },
1078
+
1079
+ "value_in_degree_or_value_and_unit": {
1080
+ "oneOf": [
1081
+ { "type": "number" },
1082
+ { "$ref": "#/definitions/value_and_unit" }
1083
+ ]
1084
+ },
1085
+
1086
+ "value_in_metre_or_value_and_unit": {
1087
+ "oneOf": [
1088
+ { "type": "number" },
1089
+ { "$ref": "#/definitions/value_and_unit" }
1090
+ ]
1091
+ },
1092
+
1093
+ "vertical_crs": {
1094
+ "type": "object",
1095
+ "properties": {
1096
+ "type": { "type": "string", "enum": ["VerticalCRS"] },
1097
+ "name": { "type": "string" },
1098
+ "datum": {
1099
+ "oneOf": [
1100
+ { "$ref": "#/definitions/vertical_reference_frame" },
1101
+ { "$ref": "#/definitions/dynamic_vertical_reference_frame" }
1102
+ ]
1103
+ },
1104
+ "datum_ensemble": { "$ref": "#/definitions/datum_ensemble" },
1105
+ "coordinate_system": { "$ref": "#/definitions/coordinate_system" },
1106
+ "geoid_model": { "$ref": "#/definitions/geoid_model" },
1107
+ "geoid_models": {
1108
+ "type": "array",
1109
+ "items": { "$ref": "#/definitions/geoid_model" }
1110
+ },
1111
+ "deformation_models": {
1112
+ "type": "array",
1113
+ "items": { "$ref": "#/definitions/deformation_model" }
1114
+ },
1115
+ "$schema" : {},
1116
+ "scope": {},
1117
+ "area": {},
1118
+ "bbox": {},
1119
+ "vertical_extent": {},
1120
+ "temporal_extent": {},
1121
+ "usages": {},
1122
+ "remarks": {},
1123
+ "id": {}, "ids": {}
1124
+ },
1125
+ "required" : [ "name"],
1126
+ "description": "One and only one of datum and datum_ensemble must be provided",
1127
+ "allOf": [
1128
+ { "$ref": "#/definitions/object_usage" },
1129
+ { "$ref": "#/definitions/one_and_only_one_of_datum_or_datum_ensemble" },
1130
+ {
1131
+ "not": {
1132
+ "type": "object",
1133
+ "required": [ "geoid_model", "geoid_models" ]
1134
+ }
1135
+ }
1136
+ ],
1137
+ "additionalProperties": false
1138
+ },
1139
+
1140
+ "vertical_extent": {
1141
+ "type": "object",
1142
+ "properties": {
1143
+ "minimum": { "type": "number" },
1144
+ "maximum": { "type": "number" },
1145
+ "unit": { "$ref": "#/definitions/unit" }
1146
+ },
1147
+ "required" : [ "minimum", "maximum" ],
1148
+ "additionalProperties": false
1149
+ },
1150
+
1151
+ "vertical_reference_frame": {
1152
+ "type": "object",
1153
+ "allOf": [{ "$ref": "#/definitions/object_usage" }],
1154
+ "properties": {
1155
+ "type": { "type": "string", "enum": ["VerticalReferenceFrame"] },
1156
+ "name": { "type": "string" },
1157
+ "anchor": { "type": "string" },
1158
+ "anchor_epoch": { "type": "number" },
1159
+ "$schema" : {},
1160
+ "scope": {},
1161
+ "area": {},
1162
+ "bbox": {},
1163
+ "vertical_extent": {},
1164
+ "temporal_extent": {},
1165
+ "usages": {},
1166
+ "remarks": {},
1167
+ "id": {}, "ids": {}
1168
+ },
1169
+ "required" : [ "name" ],
1170
+ "additionalProperties": false
1171
+ }
1172
+
1173
+ }
1174
+ }