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,171 @@
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /******************************************************************************
4
+ * Project: NITF Library
5
+ * Purpose: Schema of description of NITF TREs
6
+ * Author: Even Rouault, <even dot rouault at spatialys.com>
7
+ *
8
+ **********************************************************************
9
+ * Copyright (c) 2011, Even Rouault
10
+ *
11
+ * SPDX-License-Identifier: MIT
12
+ ****************************************************************************/
13
+ -->
14
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
15
+ <xs:element name="root">
16
+ <xs:complexType>
17
+ <xs:sequence>
18
+ <xs:element name="tres" minOccurs="0">
19
+ <xs:complexType>
20
+ <xs:sequence>
21
+ <xs:element name="tre" type="treType" minOccurs="0" maxOccurs="unbounded"/>
22
+ </xs:sequence>
23
+ </xs:complexType>
24
+ </xs:element>
25
+ <xs:element name="des_list" minOccurs="0">
26
+ <xs:complexType>
27
+ <xs:sequence>
28
+ <xs:element name="des" type="desType" minOccurs="0" maxOccurs="unbounded"/>
29
+ </xs:sequence>
30
+ </xs:complexType>
31
+ </xs:element>
32
+ </xs:sequence>
33
+ </xs:complexType>
34
+ </xs:element>
35
+
36
+ <xs:complexType name="treType">
37
+ <xs:group ref="itemType"/>
38
+ <xs:attribute name="name" type="xs:string"/>
39
+ <xs:attribute name="md_prefix" type="xs:string" use="optional"/>
40
+ <xs:attribute name="length" type="positiveInteger" use="optional"/>
41
+ <xs:attribute name="minlength" type="xs:integer" use="optional"/>
42
+ <xs:attribute name="maxlength" type="xs:integer" use="optional"/>
43
+ <xs:attribute name="location" type="xs:string" use="optional"/>
44
+ </xs:complexType>
45
+
46
+ <xs:complexType name="desType">
47
+ <xs:sequence>
48
+ <!-- definition of user-defined subheader fields of DES -->
49
+ <xs:element name="subheader_fields" minOccurs="0">
50
+ <xs:complexType>
51
+ <xs:group ref="itemType"/>
52
+ <xs:attribute name="name" type="xs:string"/>
53
+ <xs:attribute name="length" type="positiveInteger" use="optional"/>
54
+ <xs:attribute name="minlength" type="xs:integer" use="optional"/>
55
+ <xs:attribute name="maxlength" type="xs:integer" use="optional"/>
56
+ </xs:complexType>
57
+ </xs:element>
58
+
59
+ <!-- definition of fields in data section of DES -->
60
+ <xs:element name="data_fields" minOccurs="0">
61
+ <xs:complexType>
62
+ <xs:group ref="itemType"/>
63
+ <xs:attribute name="name" type="xs:string"/>
64
+ <xs:attribute name="length" type="positiveInteger" use="optional"/>
65
+ <xs:attribute name="minlength" type="xs:integer" use="optional"/>
66
+ <xs:attribute name="maxlength" type="xs:integer" use="optional"/>
67
+ </xs:complexType>
68
+ </xs:element>
69
+ </xs:sequence>
70
+ <xs:attribute name="name" type="xs:string"/>
71
+ </xs:complexType>
72
+
73
+ <xs:group name="itemType">
74
+ <xs:sequence>
75
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
76
+ <xs:element name="field" type="fieldType">
77
+ <xs:key name="att1">
78
+ <xs:selector xpath="."/>
79
+ <xs:field xpath="@length|@length_var"/>
80
+ </xs:key>
81
+ </xs:element>
82
+ <xs:element name="loop" type="loopType">
83
+ <xs:key name="att2">
84
+ <xs:selector xpath="."/>
85
+ <xs:field xpath="@counter|@iterations|@formula"/>
86
+ </xs:key>
87
+ </xs:element>
88
+ <xs:element name="if" type="ifType"/>
89
+ </xs:choice>
90
+ <xs:element name="if_remaining_bytes" type="if_remaining_bytesType" minOccurs="0" maxOccurs="1"/>
91
+ </xs:sequence>
92
+ </xs:group>
93
+
94
+ <xs:complexType name="loopType">
95
+ <xs:group ref="itemType"/>
96
+ <xs:attribute name="name"/>
97
+ <!-- xs:choice -->
98
+ <xs:attribute name="counter" type="xs:string"/>
99
+ <xs:attribute name="iterations" type="positiveInteger"/>
100
+ <xs:attribute name="formula">
101
+ <xs:simpleType>
102
+ <xs:restriction base="xs:string">
103
+ <xs:enumeration value="(NPART+1)*(NPART)/2"/>
104
+ <xs:enumeration value="(NUMOPG+1)*(NUMOPG)/2"/>
105
+ <xs:enumeration value="(NUM_ADJ_PARM+1)*(NUM_ADJ_PARM)/2"/>
106
+ <xs:enumeration value="(N1_CAL+1)*(N1_CAL)/2"/>
107
+ <xs:enumeration value="(NUM_PARA+1)*(NUM_PARA)/2"/>
108
+ <xs:enumeration value="NPAR*NPARO"/>
109
+ <xs:enumeration value="NPLN-1"/>
110
+ <xs:enumeration value="NXPTS*NYPTS"/>
111
+ </xs:restriction>
112
+ </xs:simpleType>
113
+ </xs:attribute>
114
+ <!-- /xs:choice -->
115
+ <xs:attribute name="md_prefix" use="optional">
116
+ <xs:simpleType>
117
+ <xs:restriction base="xs:string">
118
+ <xs:pattern value="([a-z]|[A-Z]|[0-9]|_)*(%[0-9]*d)?([a-z]|[A-Z]|[0-9]|_)*"/>
119
+ </xs:restriction>
120
+ </xs:simpleType>
121
+ </xs:attribute>
122
+ </xs:complexType>
123
+
124
+ <xs:simpleType name="positiveInteger">
125
+ <xs:restriction base="xs:integer">
126
+ <xs:minInclusive value="1"/>
127
+ </xs:restriction>
128
+ </xs:simpleType>
129
+
130
+ <xs:complexType name="ifType">
131
+ <xs:group ref="itemType"/>
132
+ <xs:attribute name="cond">
133
+ <xs:simpleType>
134
+ <xs:restriction base="xs:string">
135
+ <xs:pattern value=".+([!]?=|:).*"/>
136
+ </xs:restriction>
137
+ </xs:simpleType>
138
+ </xs:attribute>
139
+ </xs:complexType>
140
+
141
+ <xs:complexType name="if_remaining_bytesType">
142
+ <xs:group ref="itemType"/>
143
+ </xs:complexType>
144
+
145
+ <xs:complexType name="fieldType">
146
+ <!-- xs:choice -->
147
+ <xs:attribute name="length" type="positiveInteger"/>
148
+ <xs:attribute name="length_var" type="xs:string"/>
149
+ <!-- /xs:choice -->
150
+ <xs:attribute name="name" type="xs:string" use="optional"/>
151
+ <xs:attribute name="longname" type="xs:string" use="optional"/>
152
+ <xs:attribute name="type" use="optional">
153
+ <xs:simpleType>
154
+ <xs:restriction base="xs:string">
155
+ <xs:enumeration value="string"/>
156
+ <xs:enumeration value="integer"/>
157
+ <xs:enumeration value="real"/>
158
+ <xs:enumeration value="IEEE754_Float32_BigEndian"/>
159
+ <xs:enumeration value="UnsignedInt_BigEndian"/>
160
+ <xs:enumeration value="ISO8859-1"/>
161
+ <xs:enumeration value="bitmask"/>
162
+ </xs:restriction>
163
+ </xs:simpleType>
164
+ </xs:attribute>
165
+ <xs:attribute name="unit" type="xs:string" use="optional"/>
166
+ <xs:attribute name="minval" use="optional"/>
167
+ <xs:attribute name="maxval" use="optional"/>
168
+ <xs:attribute name="fixed_value" use="optional"/>
169
+ <!--<xs:anyAttribute/>-->
170
+ </xs:complexType>
171
+ </xs:schema>
@@ -0,0 +1,125 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "description": "Schema for OGR_SCHEMA open option",
4
+ "oneOf": [
5
+ {
6
+ "$ref": "#/definitions/dataset"
7
+ }
8
+ ],
9
+ "definitions": {
10
+ "schemaType": {
11
+ "enum": [
12
+ "Patch",
13
+ "Full"
14
+ ]
15
+ },
16
+ "dataset": {
17
+ "type": "object",
18
+ "properties": {
19
+ "layers": {
20
+ "type": "array",
21
+ "description": "The list of layers contained in the schema",
22
+ "items": {
23
+ "$ref": "#/definitions/layer"
24
+ }
25
+ }
26
+ },
27
+ "required": [
28
+ "layers"
29
+ ],
30
+ "additionalProperties": false
31
+ },
32
+ "layer": {
33
+ "type": "object",
34
+ "properties": {
35
+ "name": {
36
+ "description": "The name of the layer",
37
+ "type": "string"
38
+ },
39
+ "schemaType": {
40
+ "description": "The type of schema operation: patch or full",
41
+ "$ref": "#/definitions/schemaType"
42
+ },
43
+ "fields": {
44
+ "description": "The list of field definitions",
45
+ "type": "array",
46
+ "items": {
47
+ "$ref": "#/definitions/field"
48
+ }
49
+ }
50
+ },
51
+ "required": [
52
+ "name",
53
+ "fields"
54
+ ],
55
+ "additionalProperties": false
56
+ },
57
+ "field": {
58
+ "description": "The field definition",
59
+ "additionalProperties": true,
60
+ "type": "object",
61
+ "properties": {
62
+ "name": {
63
+ "type": "string"
64
+ }
65
+ },
66
+ "anyOf": [
67
+ {
68
+ "type": "object",
69
+ "properties": {
70
+ "type": {
71
+ "$ref": "#/definitions/fieldType"
72
+ },
73
+ "subType": {
74
+ "$ref": "#/definitions/fieldSubType"
75
+ },
76
+ "width": {
77
+ "type": "integer"
78
+ },
79
+ "precision": {
80
+ "type": "integer"
81
+ }
82
+ }
83
+ },
84
+ {
85
+ "description": "The new name of the field",
86
+ "newName": {
87
+ "type": "string"
88
+ },
89
+ "required": [
90
+ "newName"
91
+ ]
92
+ }
93
+ ],
94
+ "required": [
95
+ "name"
96
+ ]
97
+ },
98
+ "fieldType": {
99
+ "enum": [
100
+ "Integer",
101
+ "Integer64",
102
+ "Real",
103
+ "String",
104
+ "Binary",
105
+ "IntegerList",
106
+ "Integer64List",
107
+ "RealList",
108
+ "StringList",
109
+ "Date",
110
+ "Time",
111
+ "DateTime"
112
+ ]
113
+ },
114
+ "fieldSubType": {
115
+ "enum": [
116
+ "None",
117
+ "Boolean",
118
+ "Int16",
119
+ "Float32",
120
+ "JSON",
121
+ "UUID"
122
+ ]
123
+ }
124
+ }
125
+ }