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,927 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ /******************************************************************************
4
+ * Project: GDAL/OGR
5
+ * Purpose: XML Schema for GDAL VRT files.
6
+ * Author: Even Rouault, <even dot rouault at spatialys dot com>
7
+ *
8
+ **********************************************************************
9
+ * Copyright (c) 2015, Even Rouault
10
+ *
11
+ * SPDX-License-Identifier: MIT
12
+ ****************************************************************************/
13
+ -->
14
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.0">
15
+ <xs:element name="VRTDataset" type="VRTDatasetType">
16
+ <xs:annotation>
17
+ <xs:documentation>Root element</xs:documentation>
18
+ </xs:annotation>
19
+ </xs:element>
20
+
21
+ <xs:complexType name="VRTDatasetType">
22
+ <xs:sequence>
23
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
24
+ <xs:element name="SRS" type="SRSType"/>
25
+ <xs:element name="GeoTransform" type="xs:string"/>
26
+ <xs:element name="GCPList" type="GCPListType"/>
27
+ <xs:element name="BlockXSize" type="nonNegativeInteger32"/>
28
+ <xs:element name="BlockYSize" type="nonNegativeInteger32"/>
29
+ <xs:element name="Metadata" type="MetadataType">
30
+ <xs:annotation>
31
+ <xs:documentation>May be repeated</xs:documentation>
32
+ </xs:annotation>
33
+ </xs:element>
34
+ <xs:element name="VRTRasterBand" type="VRTRasterBandType">
35
+ <xs:annotation>
36
+ <xs:documentation>May be repeated</xs:documentation>
37
+ </xs:annotation>
38
+ </xs:element>
39
+ <xs:element name="MaskBand" type="MaskBandType"/>
40
+ <xs:element name="GDALWarpOptions" type="GDALWarpOptionsType">
41
+ <xs:annotation>
42
+ <xs:documentation>Allowed only if subClass="VRTWarpedDataset"</xs:documentation>
43
+ </xs:annotation>
44
+ </xs:element>
45
+ <xs:element name="PansharpeningOptions" type="PansharpeningOptionsType">
46
+ <xs:annotation>
47
+ <xs:documentation>Allowed only if subClass="VRTPansharpenedDataset"</xs:documentation>
48
+ </xs:annotation>
49
+ </xs:element>
50
+ <xs:element name="Input" type="InputType">
51
+ <xs:annotation>
52
+ <xs:documentation>Allowed only if subClass="VRTProcessedDataset"</xs:documentation>
53
+ </xs:annotation>
54
+ </xs:element>
55
+ <xs:element name="OutputBands" type="OutputBandsType">
56
+ <xs:annotation>
57
+ <xs:documentation>Allowed only if subClass="VRTProcessedDataset"</xs:documentation>
58
+ </xs:annotation>
59
+ </xs:element>
60
+ <xs:element name="ProcessingSteps" type="ProcessingStepsType">
61
+ <xs:annotation>
62
+ <xs:documentation>Allowed only if subClass="VRTProcessedDataset"</xs:documentation>
63
+ </xs:annotation>
64
+ </xs:element>
65
+ <xs:element name="Group" type="GroupType">
66
+ <xs:annotation>
67
+ <xs:documentation>only for multidimensional dataset</xs:documentation>
68
+ </xs:annotation>
69
+ </xs:element>
70
+ <xs:element name="OverviewList" type="OverviewListType"/>
71
+ </xs:choice>
72
+ </xs:sequence>
73
+ <xs:attribute name="subClass" type="DatasetSubclassType"/>
74
+ <xs:attribute name="rasterXSize" type="nonNegativeInteger32"/>
75
+ <xs:attribute name="rasterYSize" type="nonNegativeInteger32"/>
76
+ </xs:complexType>
77
+
78
+ <xs:simpleType name="DatasetSubclassType">
79
+ <xs:restriction base="xs:string">
80
+ <xs:enumeration value="VRTWarpedDataset"/>
81
+ <xs:enumeration value="VRTPansharpenedDataset"/>
82
+ <xs:enumeration value="VRTProcessedDataset">
83
+ <xs:annotation>
84
+ <xs:documentation>Added in GDAL 3.9</xs:documentation>
85
+ </xs:annotation>
86
+ </xs:enumeration>
87
+ </xs:restriction>
88
+ </xs:simpleType>
89
+
90
+ <xs:complexType name="OverviewListType">
91
+ <xs:simpleContent>
92
+ <xs:extension base="integerList">
93
+ <xs:attribute name="resampling" type="xs:string"/>
94
+ </xs:extension>
95
+ </xs:simpleContent>
96
+ </xs:complexType>
97
+
98
+ <xs:simpleType name="integerList">
99
+ <xs:list itemType="xs:integer"/>
100
+ </xs:simpleType>
101
+
102
+ <xs:complexType name="SRSType">
103
+ <xs:simpleContent>
104
+ <xs:extension base="xs:string">
105
+ <xs:attribute name="dataAxisToSRSAxisMapping" type="xs:string"/>
106
+ <xs:attribute name="coordinateEpoch" type="xs:float"/>
107
+ </xs:extension>
108
+ </xs:simpleContent>
109
+ </xs:complexType>
110
+
111
+ <xs:simpleType name="nonNegativeInteger32">
112
+ <xs:restriction base="xs:nonNegativeInteger">
113
+ <xs:maxInclusive value="2147483647"/>
114
+ </xs:restriction>
115
+ </xs:simpleType>
116
+
117
+ <xs:complexType name="GCPListType">
118
+ <xs:sequence>
119
+ <xs:element name="GCP" type="GCPType" minOccurs="0" maxOccurs="unbounded"/>
120
+ </xs:sequence>
121
+ <xs:attribute name="Projection" type="xs:string"/>
122
+ <xs:attribute name="dataAxisToSRSAxisMapping" type="xs:string"/>
123
+ </xs:complexType>
124
+
125
+ <xs:complexType name="GCPType">
126
+ <xs:attribute name="Id" type="xs:string"/>
127
+ <xs:attribute name="Info" type="xs:string"/>
128
+ <xs:attribute name="Pixel" type="xs:double" use="required"/>
129
+ <xs:attribute name="Line" type="xs:double" use="required"/>
130
+ <xs:attribute name="X" type="xs:double" use="required"/>
131
+ <xs:attribute name="Y" type="xs:double" use="required"/>
132
+ <xs:attribute name="Z" type="xs:double"/>
133
+ <xs:attribute name="GCPZ" type="xs:double"/> <!-- deprecated -->
134
+ </xs:complexType>
135
+
136
+ <xs:complexType name="MetadataType">
137
+ <xs:sequence>
138
+ <!--<xs:choice>-->
139
+ <!--<xs:element name="MDI" type="MDIType" minOccurs="0" maxOccurs="unbounded"/>-->
140
+ <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
141
+ <!--</xs:choice>-->
142
+ </xs:sequence>
143
+ <xs:attribute name="domain" type="xs:string"/>
144
+ <xs:attribute name="format" type="xs:string"/>
145
+ </xs:complexType>
146
+
147
+ <xs:complexType name="GDALWarpOptionsType">
148
+ <xs:sequence>
149
+ <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
150
+ </xs:sequence>
151
+ </xs:complexType>
152
+
153
+ <xs:complexType name="PansharpeningOptionsType">
154
+ <xs:sequence>
155
+ <xs:element name="Algorithm" type="xs:string" minOccurs="0" maxOccurs="1"/>
156
+ <xs:element name="AlgorithmOptions" type="AlgorithmOptionsType" minOccurs="0" maxOccurs="1"/>
157
+ <xs:element name="Resampling" type="xs:string" minOccurs="0" maxOccurs="1"/>
158
+ <xs:element name="NumThreads" type="xs:string" minOccurs="0" maxOccurs="1"/>
159
+ <xs:element name="BitDepth" type="xs:string" minOccurs="0" maxOccurs="1"/>
160
+ <xs:element name="NoData" type="NoDataOrNoneType" minOccurs="0" maxOccurs="1"/>
161
+ <xs:element name="SpatialExtentAdjustment" type="xs:string" minOccurs="0" maxOccurs="1"/>
162
+ <xs:element name="PanchroBand" type="PanchroBandType" minOccurs="1" maxOccurs="1"/>
163
+ <xs:element name="SpectralBand" type="SpectralBandType" minOccurs="1" maxOccurs="unbounded"/>
164
+ </xs:sequence>
165
+ </xs:complexType>
166
+
167
+ <xs:simpleType name="NoDataOrNoneType">
168
+ <xs:union memberTypes="xs:double xs:string" />
169
+ </xs:simpleType>
170
+
171
+ <xs:complexType name="PanchroBandType">
172
+ <xs:sequence>
173
+ <xs:element name="SourceFilename" type="SourceFilenameType"/>
174
+ <xs:element name="OpenOptions" type="OpenOptionsType"/>
175
+ <xs:element name="SourceBand" type="xs:string"/> <!-- should be refined into xs:nonNegativeInteger or mask,xs:nonNegativeInteger -->
176
+ </xs:sequence>
177
+ </xs:complexType>
178
+
179
+ <xs:complexType name="SpectralBandType">
180
+ <xs:sequence>
181
+ <xs:element name="SourceFilename" type="SourceFilenameType"/>
182
+ <xs:element name="OpenOptions" type="OpenOptionsType"/>
183
+ <xs:element name="SourceBand" type="xs:string"/> <!-- should be refined into xs:nonNegativeInteger or mask,xs:nonNegativeInteger -->
184
+ </xs:sequence>
185
+ <xs:attribute name="dstBand" type="xs:nonNegativeInteger"/>
186
+ </xs:complexType>
187
+
188
+ <xs:complexType name="AlgorithmOptionsType">
189
+ <xs:sequence>
190
+ <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
191
+ </xs:sequence>
192
+ </xs:complexType>
193
+
194
+ <xs:complexType name="InputType">
195
+ <xs:sequence>
196
+ <xs:choice minOccurs="0" maxOccurs="1">
197
+ <xs:element name="SourceFilename" type="SourceFilenameType"/>
198
+ <xs:element name="VRTDataset" type="VRTDatasetType"/>
199
+ </xs:choice>
200
+ </xs:sequence>
201
+ <xs:attribute name="unscale" type="xs:string"> <!-- added in GDAL 3.11 -->
202
+ <xs:annotation>
203
+ <xs:documentation>
204
+ YES, NO, or AUTO.
205
+ If not specified, AUTO is the default and will result in
206
+ unscaling all input bands to Float64 if any input band has
207
+ a defined scale/offset.
208
+ </xs:documentation>
209
+ </xs:annotation>
210
+ </xs:attribute>
211
+ </xs:complexType>
212
+
213
+ <xs:complexType name="OutputBandsType">
214
+ <xs:sequence/>
215
+ <xs:attribute name="count" type="xs:string">
216
+ <xs:annotation>
217
+ <xs:documentation>FROM_SOURCE, FROM_LAST_STEP or positive integer value.
218
+ If not specified, FROM_SOURCE is the default if there are no VRTRasterBand elements.
219
+ Otherwise, if there are VRTRasterBand elements, they are used.
220
+ </xs:documentation>
221
+ </xs:annotation>
222
+ </xs:attribute>
223
+ <xs:attribute name="dataType" type="xs:string">
224
+ <xs:annotation>
225
+ <xs:documentation>FROM_SOURCE, FROM_LAST_STEP or one of the allowed values of DataTypeType.
226
+ If not specified, FROM_SOURCE is the default if there are no VRTRasterBand elements.
227
+ Otherwise, if there are VRTRasterBand elements, they are used.
228
+ </xs:documentation>
229
+ </xs:annotation>
230
+ </xs:attribute>
231
+ </xs:complexType>
232
+
233
+ <xs:complexType name="ProcessingStepsType">
234
+ <xs:sequence minOccurs="1" maxOccurs="unbounded">
235
+ <xs:element name="Step" type="ProcessingStepType"/>
236
+ </xs:sequence>
237
+ </xs:complexType>
238
+
239
+ <xs:complexType name="ProcessingStepType">
240
+ <xs:annotation>
241
+ <xs:documentation>Processing step of a VRTPansharpenedDataset</xs:documentation>
242
+ </xs:annotation>
243
+ <xs:sequence>
244
+ <xs:element name="Algorithm" type="xs:string" minOccurs="1">
245
+ <xs:annotation>
246
+ <xs:documentation>Builtin allowed names are BandAffineCombination, LUT, LocalScaleOffset, Trimming. More algorithms can be registered at run-time.</xs:documentation>
247
+ </xs:annotation>
248
+ </xs:element>
249
+ <xs:element name="Argument" type="ArgumentType" maxOccurs="unbounded"/>
250
+ </xs:sequence>
251
+ <xs:attribute name="name" type="xs:string"/>
252
+ </xs:complexType>
253
+
254
+ <xs:complexType name="ArgumentType">
255
+ <xs:annotation>
256
+ <xs:documentation>Argument of a processing function</xs:documentation>
257
+ </xs:annotation>
258
+ <xs:simpleContent>
259
+ <xs:extension base="xs:string">
260
+ <xs:attribute name="name" type="xs:string" use="required">
261
+ <xs:annotation>
262
+ <xs:documentation>Allowed names are specific to each processing function</xs:documentation>
263
+ </xs:annotation>
264
+ </xs:attribute>
265
+ </xs:extension>
266
+ </xs:simpleContent>
267
+ </xs:complexType>
268
+
269
+ <xs:complexType name="MDIType">
270
+ <xs:simpleContent>
271
+ <xs:extension base="xs:string">
272
+ <xs:attribute name="key" type="xs:string" use="required"/>
273
+ </xs:extension>
274
+ </xs:simpleContent>
275
+ </xs:complexType>
276
+
277
+ <xs:complexType name="VRTRasterBandType">
278
+ <xs:sequence>
279
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
280
+ <xs:element name="Description" type="xs:string"/>
281
+ <xs:element name="UnitType" type="xs:string"/>
282
+ <xs:element name="Offset" type="xs:double"/>
283
+ <xs:element name="Scale" type="xs:double"/>
284
+ <xs:element name="CategoryNames" type="CategoryNamesType"/>
285
+ <xs:element name="ColorTable" type="ColorTableType"/>
286
+ <xs:element name="GDALRasterAttributeTable" type="GDALRasterAttributeTableType"/>
287
+ <xs:element name="NoDataValue" type="DoubleOrNanType"/>
288
+ <xs:element name="NodataValue" type="xs:double"/> <!-- typo: deprecated -->
289
+ <xs:element name="HideNoDataValue" type="ZeroOrOne"/>
290
+ <xs:element name="Metadata" type="MetadataType"/>
291
+ <xs:element name="ColorInterp" type="ColorInterpType"/>
292
+ <xs:element name="Overview" type="OverviewType"/>
293
+ <xs:element name="MaskBand" type="MaskBandType"/>
294
+ <xs:element name="Histograms" type="HistogramsType"/>
295
+
296
+ <!-- for a VRTSourcedRasterBand. Each element may be repeated -->
297
+ <xs:element name="SimpleSource" type="SimpleSourceType"/>
298
+ <xs:element name="ComplexSource" type="ComplexSourceType"/>
299
+ <xs:element name="AveragedSource" type="SimpleSourceType"/>
300
+ <xs:element name="NoDataFromMaskSource" type="NoDataFromMaskSourceType"/>
301
+ <xs:element name="KernelFilteredSource" type="KernelFilteredSourceType"/>
302
+ <xs:element name="ArraySource" type="ArraySourceType"/>
303
+
304
+ <!-- for a VRTDerivedRasterBand -->
305
+ <xs:element name="PixelFunctionType" type="xs:string"/>
306
+ <xs:element name="SourceTransferType" type="DataTypeType"/>
307
+ <xs:element name="PixelFunctionLanguage" type="xs:string"/>
308
+ <xs:element name="PixelFunctionCode" type="xs:string"/>
309
+ <xs:element name="PixelFunctionArguments">
310
+ <xs:complexType>
311
+ <xs:anyAttribute processContents="lax"/>
312
+ </xs:complexType>
313
+ </xs:element>
314
+ <xs:element name="BufferRadius" type="xs:nonNegativeInteger"/>
315
+ <xs:element name="SkipNonContributingSources" type="xs:boolean"/>
316
+
317
+ <!-- for a VRTRawRasterBand -->
318
+ <xs:element name="SourceFilename" type="SourceFilenameType"/>
319
+ <xs:element name="ImageOffset" type="xs:integer"/>
320
+ <xs:element name="PixelOffset" type="xs:integer"/>
321
+ <xs:element name="LineOffset" type="xs:integer"/>
322
+ <xs:element name="ByteOrder" type="xs:string"/>
323
+ </xs:choice>
324
+ </xs:sequence>
325
+ <xs:attribute name="dataType" type="DataTypeType"/>
326
+ <xs:attribute name="band" type="xs:unsignedInt"/>
327
+ <xs:attribute name="blockXSize" type="nonNegativeInteger32"/>
328
+ <xs:attribute name="blockYSize" type="nonNegativeInteger32"/>
329
+ <xs:attribute name="subClass" type="VRTRasterBandSubClassType"/>
330
+ </xs:complexType>
331
+
332
+ <xs:simpleType name="ZeroOrOne">
333
+ <xs:restriction base="xs:integer">
334
+ <xs:enumeration value="0"/>
335
+ <xs:enumeration value="1"/>
336
+ </xs:restriction>
337
+ </xs:simpleType>
338
+
339
+ <xs:simpleType name="VRTRasterBandSubClassType">
340
+ <xs:restriction base="xs:string">
341
+ <xs:enumeration value="VRTWarpedRasterBand"/>
342
+ <xs:enumeration value="VRTDerivedRasterBand"/>
343
+ <xs:enumeration value="VRTRawRasterBand"/>
344
+ <xs:enumeration value="VRTPansharpenedRasterBand"/>
345
+ <xs:enumeration value="VRTProcessedRasterBand"/>
346
+ </xs:restriction>
347
+ </xs:simpleType>
348
+
349
+ <xs:complexType name="MaskBandType">
350
+ <xs:sequence minOccurs="1" maxOccurs="1">
351
+ <xs:element name="VRTRasterBand" type="VRTRasterBandType"/>
352
+ </xs:sequence>
353
+ </xs:complexType>
354
+
355
+ <xs:complexType name="HistogramsType">
356
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
357
+ <xs:element name="HistItem" type="HistItemType"/>
358
+ </xs:sequence>
359
+ </xs:complexType>
360
+
361
+ <xs:complexType name="HistItemType">
362
+ <xs:sequence>
363
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
364
+ <xs:element name="HistMin" type="xs:double"/>
365
+ <xs:element name="HistMax" type="xs:double"/>
366
+ <xs:element name="BucketCount" type="xs:integer"/>
367
+ <xs:element name="IncludeOutOfRange" type="ZeroOrOne"/>
368
+ <xs:element name="Approximate" type="ZeroOrOne"/>
369
+ <xs:element name="HistCounts" type="xs:string"/>
370
+ </xs:choice>
371
+ </xs:sequence>
372
+ </xs:complexType>
373
+
374
+ <xs:complexType name="CategoryNamesType">
375
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
376
+ <xs:element name="Category" type="xs:string"/>
377
+ </xs:sequence>
378
+ </xs:complexType>
379
+
380
+ <xs:complexType name="ColorTableType">
381
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
382
+ <xs:element name="Entry" type="ColorTableEntryType"/>
383
+ </xs:sequence>
384
+ </xs:complexType>
385
+
386
+ <xs:complexType name="GDALRasterAttributeTableType">
387
+ <xs:sequence>
388
+ <xs:element name="FieldDefn" type="FieldDefnType" minOccurs="0" maxOccurs="unbounded"/>
389
+ <xs:element name="Row" type="RowType" minOccurs="0" maxOccurs="unbounded"/>
390
+ </xs:sequence>
391
+ </xs:complexType>
392
+
393
+ <xs:complexType name="FieldDefnType">
394
+ <xs:sequence>
395
+ <xs:element name="Name" type="xs:string"/>
396
+ <xs:element name="Type" type="xs:unsignedInt"/>
397
+ <xs:element name="Usage" type="xs:unsignedInt"/>
398
+ </xs:sequence>
399
+ <xs:attribute name="index" type="xs:unsignedInt" use="required"/>
400
+ </xs:complexType>
401
+
402
+ <xs:complexType name="RowType">
403
+ <xs:sequence>
404
+ <xs:element name="F" type="xs:anyType" minOccurs="0" maxOccurs="unbounded"/>
405
+ </xs:sequence>
406
+ <xs:attribute name="index" type="xs:unsignedInt" use="required"/>
407
+ </xs:complexType>
408
+
409
+ <xs:complexType name="OverviewType">
410
+ <xs:sequence>
411
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
412
+ <xs:element name="SourceFilename" type="SourceFilenameType"/>
413
+ <xs:element name="SourceBand" type="xs:string"/> <!-- should be refined into xs:nonNegativeInteger or mask,xs:nonNegativeInteger -->
414
+ </xs:choice>
415
+ </xs:sequence>
416
+ </xs:complexType>
417
+
418
+ <xs:complexType name="ColorTableEntryType">
419
+ <xs:attribute name="c1" type="xs:unsignedInt" use="required"/>
420
+ <xs:attribute name="c2" type="xs:unsignedInt" use="required" />
421
+ <xs:attribute name="c3" type="xs:unsignedInt" use="required" />
422
+ <xs:attribute name="c4" type="xs:unsignedInt" />
423
+ </xs:complexType>
424
+
425
+ <xs:simpleType name="DataTypeType">
426
+ <xs:restriction base="xs:string">
427
+ <xs:enumeration value="Byte"/>
428
+ <xs:enumeration value="Int8"/>
429
+ <xs:enumeration value="UInt16"/>
430
+ <xs:enumeration value="Int16"/>
431
+ <xs:enumeration value="UInt32"/>
432
+ <xs:enumeration value="Int32"/>
433
+ <xs:enumeration value="UInt64"/>
434
+ <xs:enumeration value="Int64"/>
435
+ <xs:enumeration value="Float16"/>
436
+ <xs:enumeration value="Float32"/>
437
+ <xs:enumeration value="Float64"/>
438
+ <xs:enumeration value="CInt16"/>
439
+ <xs:enumeration value="CInt32"/>
440
+ <xs:enumeration value="CFloat16"/>
441
+ <xs:enumeration value="CFloat32"/>
442
+ <xs:enumeration value="CFloat64"/>
443
+ </xs:restriction>
444
+ </xs:simpleType>
445
+
446
+ <xs:simpleType name="ColorInterpType">
447
+ <xs:restriction base="xs:string">
448
+ <xs:enumeration value="Gray"/>
449
+ <xs:enumeration value="Palette"/>
450
+ <xs:enumeration value="Red"/>
451
+ <xs:enumeration value="Green"/>
452
+ <xs:enumeration value="Blue"/>
453
+ <xs:enumeration value="Alpha"/>
454
+ <xs:enumeration value="Hue"/>
455
+ <xs:enumeration value="Saturation"/>
456
+ <xs:enumeration value="Lightness"/>
457
+ <xs:enumeration value="Cyan"/>
458
+ <xs:enumeration value="Magenta"/>
459
+ <xs:enumeration value="Yellow"/>
460
+ <xs:enumeration value="Black"/>
461
+ <xs:enumeration value="YCbCr_Y"/>
462
+ <xs:enumeration value="YCbCr_Cb"/>
463
+ <xs:enumeration value="YCbCr_Cr"/>
464
+ <xs:enumeration value="Undefined"/>
465
+ <xs:enumeration value="Pan"/> <!-- 3.10 addition -->
466
+ <xs:enumeration value="Coastal"/> <!-- 3.10 addition -->
467
+ <xs:enumeration value="RedEdge"/> <!-- 3.10 addition -->
468
+ <xs:enumeration value="NIR"/> <!-- 3.10 addition -->
469
+ <xs:enumeration value="SWIR"/> <!-- 3.10 addition -->
470
+ <xs:enumeration value="MWIR"/> <!-- 3.10 addition -->
471
+ <xs:enumeration value="LWIR"/> <!-- 3.10 addition -->
472
+ <xs:enumeration value="TIR"/> <!-- 3.10 addition -->
473
+ <xs:enumeration value="OtherIR"/> <!-- 3.10 addition -->
474
+ <xs:enumeration value="SAR_Ka"/> <!-- 3.10 addition -->
475
+ <xs:enumeration value="SAR_K"/> <!-- 3.10 addition -->
476
+ <xs:enumeration value="SAR_Ku"/> <!-- 3.10 addition -->
477
+ <xs:enumeration value="SAR_X"/> <!-- 3.10 addition -->
478
+ <xs:enumeration value="SAR_C"/> <!-- 3.10 addition -->
479
+ <xs:enumeration value="SAR_S"/> <!-- 3.10 addition -->
480
+ <xs:enumeration value="SAR_L"/> <!-- 3.10 addition -->
481
+ <xs:enumeration value="SAR_P"/> <!-- 3.10 addition -->
482
+ </xs:restriction>
483
+ </xs:simpleType>
484
+
485
+ <xs:group name="SimpleSourceElementsGroup">
486
+ <xs:sequence>
487
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
488
+ <xs:choice minOccurs="0" maxOccurs="1">
489
+ <xs:element name="SourceFilename" type="SourceFilenameType"/>
490
+ <xs:element name="VRTDataset" type="VRTDatasetType"/> <!-- added in GDAL 3.11 -->
491
+ </xs:choice>
492
+ <xs:element name="OpenOptions" type="OpenOptionsType"/>
493
+ <xs:element name="SourceBand" type="xs:string"/> <!-- should be refined into xs:nonNegativeInteger or mask,xs:nonNegativeInteger -->
494
+ <xs:element name="SourceProperties" type="SourcePropertiesType"/>
495
+ <xs:element name="SrcRect" type="RectType"/>
496
+ <xs:element name="DstRect" type="RectType"/>
497
+ </xs:choice>
498
+ </xs:sequence>
499
+ </xs:group>
500
+
501
+ <xs:complexType name="OpenOptionsType">
502
+ <xs:sequence>
503
+ <xs:element name="OOI" type="OOIType" minOccurs="0" maxOccurs="unbounded"/>
504
+ </xs:sequence>
505
+ </xs:complexType>
506
+
507
+ <xs:complexType name="OOIType">
508
+ <xs:simpleContent>
509
+ <xs:extension base="xs:string">
510
+ <xs:attribute name="key" type="xs:string" use="required"/>
511
+ </xs:extension>
512
+ </xs:simpleContent>
513
+ </xs:complexType>
514
+
515
+ <xs:complexType name="SimpleSourceType">
516
+ <xs:group ref="SimpleSourceElementsGroup"/>
517
+ <xs:attribute name="resampling" type="xs:string"/>
518
+ </xs:complexType>
519
+
520
+ <xs:group name="ComplexSourceElementsGroup">
521
+ <xs:sequence>
522
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
523
+ <xs:group ref="SimpleSourceElementsGroup"/>
524
+ <xs:element name="ScaleOffset" type="xs:double"/>
525
+ <xs:element name="ScaleRatio" type="xs:double"/>
526
+ <xs:element name="ColorTableComponent" type="xs:nonNegativeInteger"/>
527
+ <xs:element name="Exponent" type="xs:double"/>
528
+ <xs:element name="SrcMin" type="xs:double"/>
529
+ <xs:element name="SrcMax" type="xs:double"/>
530
+ <xs:element name="DstMin" type="xs:double"/>
531
+ <xs:element name="DstMax" type="xs:double"/>
532
+ <xs:element name="Clip" type="xs:boolean"/> <!-- added in 3.11 -->
533
+ <xs:element name="NODATA" type="DoubleOrNanType"/> <!-- NODATA and UseMaskBand are mutually exclusive -->
534
+ <xs:element name="UseMaskBand" type="xs:boolean"/> <!-- NODATA and UseMaskBand are mutually exclusive -->
535
+ <xs:element name="LUT" type="xs:string"/>
536
+ </xs:choice>
537
+ </xs:sequence>
538
+ </xs:group>
539
+
540
+ <xs:complexType name="ComplexSourceType">
541
+ <xs:group ref="ComplexSourceElementsGroup"/>
542
+ <xs:attribute name="resampling" type="xs:string"/>
543
+ </xs:complexType>
544
+
545
+ <xs:group name="NoDataFromMaskSourceElementsGroup">
546
+ <xs:sequence>
547
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
548
+ <xs:group ref="SimpleSourceElementsGroup"/>
549
+ <xs:element name="NODATA" type="DoubleOrNanType"/> <!-- NODATA and UseMaskBand are mutually exclusive -->
550
+ <xs:element name="MaskValueThreshold" type="xs:double"/>
551
+ <xs:element name="RemappedValue" type="xs:double"/>
552
+ </xs:choice>
553
+ </xs:sequence>
554
+ </xs:group>
555
+
556
+ <xs:complexType name="NoDataFromMaskSourceType">
557
+ <xs:group ref="NoDataFromMaskSourceElementsGroup"/>
558
+ </xs:complexType>
559
+
560
+ <xs:complexType name="KernelFilteredSourceType">
561
+ <xs:sequence>
562
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
563
+ <xs:group ref="ComplexSourceElementsGroup"/>
564
+ <xs:element name="Kernel" type="KernelType"/>
565
+ </xs:choice>
566
+ </xs:sequence>
567
+ <xs:attribute name="resampling" type="xs:string"/>
568
+ </xs:complexType>
569
+
570
+ <xs:complexType name="KernelType">
571
+ <xs:all>
572
+ <xs:element name="Size" type="xs:nonNegativeInteger"/>
573
+ <xs:element name="Coefs" type="xs:string"/>
574
+ </xs:all>
575
+
576
+ <xs:attribute name="normalized" type="ZeroOrOne"/>
577
+ </xs:complexType>
578
+
579
+ <xs:simpleType name="DoubleOrNanType">
580
+ <xs:union memberTypes="xs:double NANType" />
581
+ </xs:simpleType>
582
+
583
+ <xs:simpleType name="NANType">
584
+ <xs:restriction base="xs:string">
585
+ <xs:enumeration value="nan"/>
586
+ <xs:enumeration value="NAN"/>
587
+ </xs:restriction>
588
+ </xs:simpleType>
589
+
590
+ <xs:complexType name="ArraySourceType">
591
+ <xs:sequence>
592
+ <xs:element ref="AbstractArray"/>
593
+ <xs:element name="SrcRect" type="RectType" minOccurs="0"/>
594
+ <xs:element name="DstRect" type="RectType" minOccurs="0"/>
595
+ </xs:sequence>
596
+ </xs:complexType>
597
+
598
+ <xs:element name="AbstractArray" type="AbstractArrayType" abstract="true"/>
599
+
600
+ <xs:complexType name="AbstractArrayType"/>
601
+
602
+ <xs:element name="SingleSourceArray" substitutionGroup="AbstractArray" type="SingleSourceArrayType"/>
603
+
604
+ <xs:complexType name="SingleSourceArrayType">
605
+ <xs:complexContent>
606
+ <xs:extension base="AbstractArrayType">
607
+ <xs:sequence>
608
+ <xs:element name="SourceFilename" type="SourceFilenameType"/>
609
+ <xs:element name="SourceArray" type="xs:string"/>
610
+ </xs:sequence>
611
+ </xs:extension>
612
+ </xs:complexContent>
613
+ </xs:complexType>
614
+
615
+ <xs:complexType name="SourceFilenameType">
616
+ <xs:simpleContent>
617
+ <xs:extension base="xs:string">
618
+ <xs:attribute name="relativeToVRT" type="ZeroOrOne" />
619
+ <xs:attribute name="relativetoVRT" type="ZeroOrOne" /> <!-- typo: deprecated -->
620
+ <xs:attribute name="shared" type="OGRBooleanType"/>
621
+ </xs:extension>
622
+ </xs:simpleContent>
623
+ </xs:complexType>
624
+
625
+ <xs:simpleType name="OGRBooleanType">
626
+ <xs:restriction base="xs:string">
627
+ <xs:enumeration value="1"/>
628
+ <xs:enumeration value="0"/>
629
+ <xs:enumeration value="ON"/>
630
+ <xs:enumeration value="OFF"/>
631
+ <xs:enumeration value="on"/>
632
+ <xs:enumeration value="off"/>
633
+ <xs:enumeration value="YES"/>
634
+ <xs:enumeration value="NO"/>
635
+ <xs:enumeration value="yes"/>
636
+ <xs:enumeration value="no"/>
637
+ <xs:enumeration value="TRUE"/>
638
+ <xs:enumeration value="FALSE"/>
639
+ <xs:enumeration value="true"/>
640
+ <xs:enumeration value="false"/>
641
+ <xs:enumeration value="True"/>
642
+ <xs:enumeration value="False"/>
643
+ </xs:restriction>
644
+ </xs:simpleType>
645
+
646
+ <xs:complexType name="SourcePropertiesType">
647
+ <xs:attribute name="RasterXSize" type="nonNegativeInteger32" />
648
+ <xs:attribute name="RasterYSize" type="nonNegativeInteger32" />
649
+ <xs:attribute name="DataType" type="DataTypeType" />
650
+ <xs:attribute name="BlockXSize" type="nonNegativeInteger32" />
651
+ <xs:attribute name="BlockYSize" type="nonNegativeInteger32" />
652
+ </xs:complexType>
653
+
654
+ <xs:complexType name="RectType">
655
+ <xs:attribute name="xOff" type="xs:double" />
656
+ <xs:attribute name="yOff" type="xs:double" />
657
+ <xs:attribute name="xSize" type="nonNegativeDouble" />
658
+ <xs:attribute name="ySize" type="nonNegativeDouble" />
659
+ </xs:complexType>
660
+
661
+ <xs:simpleType name="nonNegativeDouble">
662
+ <xs:restriction base="xs:double">
663
+ <xs:minExclusive value="0.0"/>
664
+ </xs:restriction>
665
+ </xs:simpleType>
666
+
667
+ <xs:complexType name="GroupType">
668
+ <xs:sequence>
669
+ <xs:element name="Dimension" type="DimensionType" minOccurs="0" maxOccurs="unbounded"/>
670
+ <xs:element name="Attribute" type="AttributeType" minOccurs="0" maxOccurs="unbounded"/>
671
+ <xs:element name="Array" type="ArrayType" minOccurs="0" maxOccurs="unbounded"/>
672
+ <xs:element name="Group" type="GroupType" minOccurs="0" maxOccurs="unbounded"/>
673
+ </xs:sequence>
674
+ <xs:attribute name="name" type="xs:string" use="required"/>
675
+ </xs:complexType>
676
+
677
+ <xs:complexType name="ArrayType">
678
+ <xs:complexContent>
679
+ <xs:extension base="AbstractArrayType">
680
+ <xs:sequence>
681
+ <xs:element name="DataType" type="xs:string" minOccurs="1" maxOccurs="1"/>
682
+ <xs:sequence>
683
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
684
+ <xs:element name="Dimension" type="DimensionType"/>
685
+ <xs:element name="DimensionRef" type="DimensionRefType"/>
686
+ </xs:choice>
687
+ </xs:sequence>
688
+ <xs:element name="SRS" type="SRSType" minOccurs="0" maxOccurs="1"/>
689
+ <xs:element name="Unit" type="xs:string" minOccurs="0" maxOccurs="1"/>
690
+ <xs:element name="NoDataValue" type="DoubleOrNanType" minOccurs="0" maxOccurs="1"/>
691
+ <xs:element name="Offset" type="xs:double" minOccurs="0" maxOccurs="1"/>
692
+ <xs:element name="Scale" type="xs:double" minOccurs="0" maxOccurs="1"/>
693
+ <xs:choice>
694
+ <xs:element name="RegularlySpacedValues" type="RegularlySpacedValuesType" minOccurs="0" maxOccurs="1"/>
695
+ <xs:sequence>
696
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
697
+ <xs:element name="ConstantValue" type="ConstantValueType"/>
698
+ <xs:element name="InlineValues" type="InlineValuesType"/>
699
+ <xs:element name="InlineValuesWithValueElement" type="InlineValuesWithValueElementType"/>
700
+ <xs:element name="Source" type="SourceType"/>
701
+ </xs:choice>
702
+ </xs:sequence>
703
+ </xs:choice>
704
+ <xs:element name="Attribute" type="AttributeType" minOccurs="0" maxOccurs="unbounded"/>
705
+ </xs:sequence>
706
+ <xs:attribute name="name" type="xs:string" use="required"/>
707
+ </xs:extension>
708
+ </xs:complexContent>
709
+ </xs:complexType>
710
+
711
+ <xs:element name="Array" substitutionGroup="AbstractArray" type="ArrayType"/>
712
+
713
+ <xs:complexType name="RegularlySpacedValuesType">
714
+ <xs:attribute name="start" type="xs:double" use="required"/>
715
+ <xs:attribute name="increment" type="xs:double" use="required"/>
716
+ </xs:complexType>
717
+
718
+ <xs:complexType name="ConstantValueType">
719
+ <xs:simpleContent>
720
+ <xs:extension base="xs:string">
721
+ <xs:attribute name="offset" type="xs:string"/>
722
+ <xs:attribute name="count" type="xs:string"/>
723
+ </xs:extension>
724
+ </xs:simpleContent>
725
+ </xs:complexType>
726
+
727
+ <xs:complexType name="InlineValuesType">
728
+ <xs:simpleContent>
729
+ <xs:extension base="xs:string">
730
+ <xs:attribute name="offset" type="xs:string"/>
731
+ <xs:attribute name="count" type="xs:string"/>
732
+ </xs:extension>
733
+ </xs:simpleContent>
734
+ </xs:complexType>
735
+
736
+ <xs:complexType name="InlineValuesWithValueElementType">
737
+ <xs:sequence>
738
+ <xs:element name="Value" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
739
+ </xs:sequence>
740
+ <xs:attribute name="offset" type="xs:string"/>
741
+ <xs:attribute name="count" type="xs:string"/>
742
+ </xs:complexType>
743
+
744
+ <xs:complexType name="SourceType">
745
+ <xs:sequence>
746
+ <xs:element name="SourceFilename" type="SourceFilenameType"/>
747
+ <xs:choice>
748
+ <xs:element name="SourceArray" type="xs:string"/>
749
+ <xs:element name="SourceBand" type="xs:string"/>
750
+ </xs:choice>
751
+ <xs:element name="SourceTranspose" type="xs:string" minOccurs="0"/>
752
+ <xs:element name="SourceView" type="xs:string" minOccurs="0"/>
753
+ <xs:element name="SourceSlab" type="SourceSlabType" minOccurs="0"/>
754
+ <xs:element name="DestSlab" type="DestSlabType" minOccurs="0"/>
755
+ </xs:sequence>
756
+ </xs:complexType>
757
+
758
+ <xs:complexType name="SourceSlabType">
759
+ <xs:sequence/>
760
+ <xs:attribute name="offset" type="xs:string"/>
761
+ <xs:attribute name="count" type="xs:string"/>
762
+ <xs:attribute name="step" type="xs:string"/>
763
+ </xs:complexType>
764
+
765
+ <xs:complexType name="DestSlabType">
766
+ <xs:sequence/>
767
+ <xs:attribute name="offset" type="xs:string"/>
768
+ </xs:complexType>
769
+
770
+ <xs:complexType name="AttributeType">
771
+ <xs:sequence>
772
+ <xs:element name="DataType" type="xs:string" minOccurs="1" maxOccurs="1"/>
773
+ <xs:element name="Value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
774
+ </xs:sequence>
775
+ <xs:attribute name="name" type="xs:string" use="required"/>
776
+ </xs:complexType>
777
+
778
+ <xs:complexType name="DimensionType">
779
+ <xs:sequence/>
780
+ <xs:attribute name="name" type="xs:string" use="required"/>
781
+ <xs:attribute name="type" type="xs:string"/>
782
+ <xs:attribute name="direction" type="xs:string"/>
783
+ <xs:attribute name="size" type="xs:nonNegativeInteger" use="required"/>
784
+ <xs:attribute name="indexingVariable" type="xs:string"/>
785
+ </xs:complexType>
786
+
787
+ <xs:complexType name="DimensionRefType">
788
+ <xs:sequence/>
789
+ <xs:attribute name="ref" type="xs:string" use="required"/>
790
+ </xs:complexType>
791
+
792
+ <xs:element name="DerivedArray" substitutionGroup="AbstractArray" type="DerivedArrayType"/>
793
+
794
+ <xs:complexType name="DerivedArrayType">
795
+ <xs:complexContent>
796
+ <xs:extension base="AbstractArrayType">
797
+ <xs:sequence>
798
+ <xs:element ref="AbstractArray"/>
799
+ <xs:element name="Step" type="StepType" minOccurs="0" maxOccurs="unbounded"/>
800
+ </xs:sequence>
801
+ </xs:extension>
802
+ </xs:complexContent>
803
+ </xs:complexType>
804
+
805
+ <xs:complexType name="StepType">
806
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
807
+ <xs:element ref="AbstractStep"/>
808
+ </xs:sequence>
809
+ </xs:complexType>
810
+
811
+ <xs:element name="AbstractStep" type="AbstractStepType" abstract="true"/>
812
+
813
+ <xs:complexType name="AbstractStepType"/>
814
+
815
+ <xs:element name="View" substitutionGroup="AbstractStep" type="ViewType"/>
816
+
817
+ <xs:complexType name="ViewType">
818
+ <xs:complexContent>
819
+ <xs:extension base="AbstractStepType">
820
+ <xs:attribute name="expr" type="xs:string" use="required"/>
821
+ </xs:extension>
822
+ </xs:complexContent>
823
+ </xs:complexType>
824
+
825
+ <xs:element name="Transpose" substitutionGroup="AbstractStep" type="TransposeType"/>
826
+
827
+ <xs:complexType name="TransposeType">
828
+ <xs:complexContent>
829
+ <xs:extension base="AbstractStepType">
830
+ <xs:attribute name="newOrder" type="CommaSeparatedListOfIntegerType" use="required"/>
831
+ </xs:extension>
832
+ </xs:complexContent>
833
+ </xs:complexType>
834
+
835
+ <xs:simpleType name="CommaSeparatedListOfIntegerType">
836
+ <xs:restriction base="xs:string">
837
+ <xs:pattern value="(\d)+(,(\d)+).*"/>
838
+ </xs:restriction>
839
+ </xs:simpleType>
840
+
841
+ <xs:element name="Resample" substitutionGroup="AbstractStep" type="ResampleType"/>
842
+
843
+ <xs:complexType name="ResampleType">
844
+ <xs:complexContent>
845
+ <xs:extension base="AbstractStepType">
846
+ <xs:sequence>
847
+ <xs:element name="Dimension" type="DimensionType" minOccurs="0" maxOccurs="unbounded"/>
848
+ <xs:element name="ResampleAlg" type="ResampleAlgType" minOccurs="0"/>
849
+ <xs:element name="SRS" type="SRSType" minOccurs="0"/>
850
+ <xs:element name="Option" type="OptionType" minOccurs="0" maxOccurs="unbounded"/>
851
+ </xs:sequence>
852
+ </xs:extension>
853
+ </xs:complexContent>
854
+ </xs:complexType>
855
+
856
+ <xs:simpleType name="ResampleAlgType">
857
+ <xs:restriction base="xs:string">
858
+ <xs:enumeration value="NearestNeighbour"/>
859
+ <xs:enumeration value="Bilinear"/>
860
+ <xs:enumeration value="Cubic"/>
861
+ <xs:enumeration value="CubicSpline"/>
862
+ <xs:enumeration value="Lanczos"/>
863
+ <xs:enumeration value="Average"/>
864
+ <xs:enumeration value="RMS"/>
865
+ <xs:enumeration value="Mode"/>
866
+ <xs:enumeration value="Gauss"/>
867
+ </xs:restriction>
868
+ </xs:simpleType>
869
+
870
+ <xs:complexType name="OptionType">
871
+ <xs:simpleContent>
872
+ <xs:extension base="xs:string">
873
+ <xs:attribute name="name" type="xs:string"/>
874
+ </xs:extension>
875
+ </xs:simpleContent>
876
+ </xs:complexType>
877
+
878
+ <xs:element name="Grid" substitutionGroup="AbstractStep" type="GridType"/>
879
+
880
+ <xs:complexType name="GridType">
881
+ <xs:complexContent>
882
+ <xs:extension base="AbstractStepType">
883
+ <xs:sequence>
884
+ <xs:element name="GridOptions" type="xs:string" minOccurs="1"/>
885
+ <xs:element name="XArray" minOccurs="0">
886
+ <xs:complexType>
887
+ <xs:sequence>
888
+ <xs:element ref="AbstractArray"/>
889
+ </xs:sequence>
890
+ </xs:complexType>
891
+ </xs:element>
892
+ <xs:element name="YArray" minOccurs="0">
893
+ <xs:complexType>
894
+ <xs:sequence>
895
+ <xs:element ref="AbstractArray"/>
896
+ </xs:sequence>
897
+ </xs:complexType>
898
+ </xs:element>
899
+ <xs:element name="Option" type="OptionType" minOccurs="0" maxOccurs="unbounded"/>
900
+ </xs:sequence>
901
+ </xs:extension>
902
+ </xs:complexContent>
903
+ </xs:complexType>
904
+
905
+ <xs:element name="GetMask" substitutionGroup="AbstractStep" type="GetMaskType"/>
906
+
907
+ <xs:complexType name="GetMaskType">
908
+ <xs:complexContent>
909
+ <xs:extension base="AbstractStepType">
910
+ <xs:sequence>
911
+ <xs:element name="Option" type="OptionType" minOccurs="0" maxOccurs="unbounded"/>
912
+ </xs:sequence>
913
+ </xs:extension>
914
+ </xs:complexContent>
915
+ </xs:complexType>
916
+
917
+ <xs:element name="GetUnscaled" substitutionGroup="AbstractStep" type="GetUnscaledType"/>
918
+
919
+ <xs:complexType name="GetUnscaledType">
920
+ <xs:complexContent>
921
+ <xs:extension base="AbstractStepType">
922
+ <xs:sequence/>
923
+ </xs:extension>
924
+ </xs:complexContent>
925
+ </xs:complexType>
926
+
927
+ </xs:schema>