@cpp.js/package-gdal 1.0.0-beta.20

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 (1072) hide show
  1. package/LICENSE +467 -0
  2. package/README.md +47 -0
  3. package/cppjs-package-gdal.podspec +15 -0
  4. package/cppjs.build.js +53 -0
  5. package/cppjs.config.js +88 -0
  6. package/dist/prebuilt/Android-arm64-v8a/include/cpl_atomic_ops.h +106 -0
  7. package/dist/prebuilt/Android-arm64-v8a/include/cpl_auto_close.h +89 -0
  8. package/dist/prebuilt/Android-arm64-v8a/include/cpl_compressor.h +128 -0
  9. package/dist/prebuilt/Android-arm64-v8a/include/cpl_config.h +215 -0
  10. package/dist/prebuilt/Android-arm64-v8a/include/cpl_config_extras.h +34 -0
  11. package/dist/prebuilt/Android-arm64-v8a/include/cpl_conv.h +433 -0
  12. package/dist/prebuilt/Android-arm64-v8a/include/cpl_csv.h +87 -0
  13. package/dist/prebuilt/Android-arm64-v8a/include/cpl_error.h +348 -0
  14. package/dist/prebuilt/Android-arm64-v8a/include/cpl_hash_set.h +99 -0
  15. package/dist/prebuilt/Android-arm64-v8a/include/cpl_http.h +265 -0
  16. package/dist/prebuilt/Android-arm64-v8a/include/cpl_json.h +317 -0
  17. package/dist/prebuilt/Android-arm64-v8a/include/cpl_list.h +75 -0
  18. package/dist/prebuilt/Android-arm64-v8a/include/cpl_minixml.h +227 -0
  19. package/dist/prebuilt/Android-arm64-v8a/include/cpl_multiproc.h +257 -0
  20. package/dist/prebuilt/Android-arm64-v8a/include/cpl_port.h +1186 -0
  21. package/dist/prebuilt/Android-arm64-v8a/include/cpl_progress.h +65 -0
  22. package/dist/prebuilt/Android-arm64-v8a/include/cpl_quad_tree.h +118 -0
  23. package/dist/prebuilt/Android-arm64-v8a/include/cpl_spawn.h +76 -0
  24. package/dist/prebuilt/Android-arm64-v8a/include/cpl_string.h +876 -0
  25. package/dist/prebuilt/Android-arm64-v8a/include/cpl_time.h +45 -0
  26. package/dist/prebuilt/Android-arm64-v8a/include/cpl_virtualmem.h +381 -0
  27. package/dist/prebuilt/Android-arm64-v8a/include/cpl_vsi.h +798 -0
  28. package/dist/prebuilt/Android-arm64-v8a/include/cpl_vsi_error.h +69 -0
  29. package/dist/prebuilt/Android-arm64-v8a/include/cpl_vsi_virtual.h +547 -0
  30. package/dist/prebuilt/Android-arm64-v8a/include/cplkeywordparser.h +77 -0
  31. package/dist/prebuilt/Android-arm64-v8a/include/gdal.h +2550 -0
  32. package/dist/prebuilt/Android-arm64-v8a/include/gdal_alg.h +730 -0
  33. package/dist/prebuilt/Android-arm64-v8a/include/gdal_alg_priv.h +399 -0
  34. package/dist/prebuilt/Android-arm64-v8a/include/gdal_csv.h +41 -0
  35. package/dist/prebuilt/Android-arm64-v8a/include/gdal_frmts.h +249 -0
  36. package/dist/prebuilt/Android-arm64-v8a/include/gdal_mdreader.h +256 -0
  37. package/dist/prebuilt/Android-arm64-v8a/include/gdal_pam.h +473 -0
  38. package/dist/prebuilt/Android-arm64-v8a/include/gdal_priv.h +4389 -0
  39. package/dist/prebuilt/Android-arm64-v8a/include/gdal_proxy.h +457 -0
  40. package/dist/prebuilt/Android-arm64-v8a/include/gdal_rat.h +406 -0
  41. package/dist/prebuilt/Android-arm64-v8a/include/gdal_simplesurf.h +595 -0
  42. package/dist/prebuilt/Android-arm64-v8a/include/gdal_utils.h +329 -0
  43. package/dist/prebuilt/Android-arm64-v8a/include/gdal_version.h +33 -0
  44. package/dist/prebuilt/Android-arm64-v8a/include/gdal_vrt.h +105 -0
  45. package/dist/prebuilt/Android-arm64-v8a/include/gdalcachedpixelaccessor.h +455 -0
  46. package/dist/prebuilt/Android-arm64-v8a/include/gdalgeorefpamdataset.h +89 -0
  47. package/dist/prebuilt/Android-arm64-v8a/include/gdalgrid.h +118 -0
  48. package/dist/prebuilt/Android-arm64-v8a/include/gdalgrid_priv.h +83 -0
  49. package/dist/prebuilt/Android-arm64-v8a/include/gdaljp2abstractdataset.h +77 -0
  50. package/dist/prebuilt/Android-arm64-v8a/include/gdaljp2metadata.h +253 -0
  51. package/dist/prebuilt/Android-arm64-v8a/include/gdalpansharpen.h +274 -0
  52. package/dist/prebuilt/Android-arm64-v8a/include/gdalsubdatasetinfo.h +120 -0
  53. package/dist/prebuilt/Android-arm64-v8a/include/gdalwarper.h +635 -0
  54. package/dist/prebuilt/Android-arm64-v8a/include/gnm.h +750 -0
  55. package/dist/prebuilt/Android-arm64-v8a/include/gnm_api.h +101 -0
  56. package/dist/prebuilt/Android-arm64-v8a/include/gnmgraph.h +258 -0
  57. package/dist/prebuilt/Android-arm64-v8a/include/memdataset.h +187 -0
  58. package/dist/prebuilt/Android-arm64-v8a/include/ogr_api.h +1036 -0
  59. package/dist/prebuilt/Android-arm64-v8a/include/ogr_core.h +1338 -0
  60. package/dist/prebuilt/Android-arm64-v8a/include/ogr_feature.h +1997 -0
  61. package/dist/prebuilt/Android-arm64-v8a/include/ogr_featurestyle.h +874 -0
  62. package/dist/prebuilt/Android-arm64-v8a/include/ogr_geocoding.h +62 -0
  63. package/dist/prebuilt/Android-arm64-v8a/include/ogr_geomcoordinateprecision.h +95 -0
  64. package/dist/prebuilt/Android-arm64-v8a/include/ogr_geometry.h +4282 -0
  65. package/dist/prebuilt/Android-arm64-v8a/include/ogr_p.h +341 -0
  66. package/dist/prebuilt/Android-arm64-v8a/include/ogr_recordbatch.h +120 -0
  67. package/dist/prebuilt/Android-arm64-v8a/include/ogr_spatialref.h +1021 -0
  68. package/dist/prebuilt/Android-arm64-v8a/include/ogr_srs_api.h +1102 -0
  69. package/dist/prebuilt/Android-arm64-v8a/include/ogr_swq.h +493 -0
  70. package/dist/prebuilt/Android-arm64-v8a/include/ogrsf_frmts.h +749 -0
  71. package/dist/prebuilt/Android-arm64-v8a/include/rawdataset.h +271 -0
  72. package/dist/prebuilt/Android-arm64-v8a/include/vrtdataset.h +2298 -0
  73. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/gdal/GDAL-targets-release.cmake +19 -0
  74. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/gdal/GDAL-targets.cmake +106 -0
  75. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/gdal/GDALConfig.cmake +21 -0
  76. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/gdal/GDALConfigVersion.cmake +85 -0
  77. package/dist/prebuilt/Android-arm64-v8a/lib/gdalplugins/drivers.ini +287 -0
  78. package/dist/prebuilt/Android-arm64-v8a/lib/libgdal.so +0 -0
  79. package/dist/prebuilt/Android-arm64-v8a/lib/pkgconfig/gdal.pc +17 -0
  80. package/dist/prebuilt/Android-arm64-v8a/share/gdal/GDALLogoBW.svg +138 -0
  81. package/dist/prebuilt/Android-arm64-v8a/share/gdal/GDALLogoColor.svg +126 -0
  82. package/dist/prebuilt/Android-arm64-v8a/share/gdal/GDALLogoGS.svg +126 -0
  83. package/dist/prebuilt/Android-arm64-v8a/share/gdal/LICENSE.TXT +467 -0
  84. package/dist/prebuilt/Android-arm64-v8a/share/gdal/MM_m_idofic.csv +321 -0
  85. package/dist/prebuilt/Android-arm64-v8a/share/gdal/cubewerx_extra.wkt +48 -0
  86. package/dist/prebuilt/Android-arm64-v8a/share/gdal/default.rsc +0 -0
  87. package/dist/prebuilt/Android-arm64-v8a/share/gdal/ecw_cs.wkt +1453 -0
  88. package/dist/prebuilt/Android-arm64-v8a/share/gdal/epsg.wkt +1 -0
  89. package/dist/prebuilt/Android-arm64-v8a/share/gdal/esri_StatePlane_extra.wkt +631 -0
  90. package/dist/prebuilt/Android-arm64-v8a/share/gdal/gdalicon.png +0 -0
  91. package/dist/prebuilt/Android-arm64-v8a/share/gdal/gdalinfo_output.schema.json +346 -0
  92. package/dist/prebuilt/Android-arm64-v8a/share/gdal/gdalmdiminfo_output.schema.json +321 -0
  93. package/dist/prebuilt/Android-arm64-v8a/share/gdal/gdaltileindex.xsd +269 -0
  94. package/dist/prebuilt/Android-arm64-v8a/share/gdal/gdalvrt.xsd +880 -0
  95. package/dist/prebuilt/Android-arm64-v8a/share/gdal/gfs.xsd +246 -0
  96. package/dist/prebuilt/Android-arm64-v8a/share/gdal/gml_registry.xml +117 -0
  97. package/dist/prebuilt/Android-arm64-v8a/share/gdal/gml_registry.xsd +66 -0
  98. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_center.csv +251 -0
  99. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_process.csv +102 -0
  100. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_subcenter.csv +63 -0
  101. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_0_0.csv +261 -0
  102. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_0_1.csv +261 -0
  103. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_0_13.csv +261 -0
  104. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_0_14.csv +261 -0
  105. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_0_15.csv +261 -0
  106. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_0_16.csv +261 -0
  107. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_0_17.csv +11 -0
  108. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_0_18.csv +261 -0
  109. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_0_19.csv +261 -0
  110. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_0_190.csv +261 -0
  111. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_0_191.csv +261 -0
  112. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_0_2.csv +261 -0
  113. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_0_20.csv +261 -0
  114. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_0_21.csv +261 -0
  115. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_0_3.csv +261 -0
  116. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_0_4.csv +261 -0
  117. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_0_5.csv +261 -0
  118. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_0_6.csv +261 -0
  119. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_0_7.csv +261 -0
  120. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_10_0.csv +261 -0
  121. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_10_1.csv +261 -0
  122. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_10_191.csv +261 -0
  123. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_10_2.csv +261 -0
  124. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_10_3.csv +261 -0
  125. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_10_4.csv +261 -0
  126. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_1_0.csv +261 -0
  127. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_1_1.csv +261 -0
  128. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_1_2.csv +261 -0
  129. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_20_0.csv +261 -0
  130. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_20_1.csv +261 -0
  131. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_20_2.csv +261 -0
  132. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_2_0.csv +261 -0
  133. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_2_3.csv +261 -0
  134. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_2_4.csv +261 -0
  135. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_2_5.csv +261 -0
  136. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_2_6.csv +261 -0
  137. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_3_0.csv +261 -0
  138. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_3_1.csv +261 -0
  139. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_3_2.csv +28 -0
  140. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_3_3.csv +8 -0
  141. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_3_4.csv +14 -0
  142. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_3_5.csv +11 -0
  143. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_3_6.csv +11 -0
  144. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_4_0.csv +261 -0
  145. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_4_1.csv +261 -0
  146. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_4_10.csv +261 -0
  147. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_4_2.csv +261 -0
  148. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_4_3.csv +261 -0
  149. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_4_4.csv +261 -0
  150. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_4_5.csv +261 -0
  151. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_4_6.csv +261 -0
  152. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_4_7.csv +261 -0
  153. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_4_8.csv +261 -0
  154. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_4_9.csv +261 -0
  155. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_local_Canada.csv +5 -0
  156. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_local_HPC.csv +2 -0
  157. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_local_MRMS.csv +175 -0
  158. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_local_NCEP.csv +401 -0
  159. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_local_NDFD.csv +38 -0
  160. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_2_local_index.csv +7 -0
  161. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_4_5.csv +261 -0
  162. package/dist/prebuilt/Android-arm64-v8a/share/gdal/grib2_table_versions.csv +3 -0
  163. package/dist/prebuilt/Android-arm64-v8a/share/gdal/gt_datum.csv +229 -0
  164. package/dist/prebuilt/Android-arm64-v8a/share/gdal/gt_ellips.csv +24 -0
  165. package/dist/prebuilt/Android-arm64-v8a/share/gdal/header.dxf +1124 -0
  166. package/dist/prebuilt/Android-arm64-v8a/share/gdal/inspire_cp_BasicPropertyUnit.gfs +57 -0
  167. package/dist/prebuilt/Android-arm64-v8a/share/gdal/inspire_cp_CadastralBoundary.gfs +60 -0
  168. package/dist/prebuilt/Android-arm64-v8a/share/gdal/inspire_cp_CadastralParcel.gfs +81 -0
  169. package/dist/prebuilt/Android-arm64-v8a/share/gdal/inspire_cp_CadastralZoning.gfs +161 -0
  170. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_AdmArea.gfs +59 -0
  171. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_AdmBdry.gfs +49 -0
  172. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_AdmPt.gfs +59 -0
  173. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_BldA.gfs +54 -0
  174. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_BldL.gfs +54 -0
  175. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_Cntr.gfs +54 -0
  176. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_CommBdry.gfs +49 -0
  177. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_CommPt.gfs +59 -0
  178. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_Cstline.gfs +54 -0
  179. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_ElevPt.gfs +54 -0
  180. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_GCP.gfs +94 -0
  181. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_LeveeEdge.gfs +49 -0
  182. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_RailCL.gfs +54 -0
  183. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_RdASL.gfs +44 -0
  184. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_RdArea.gfs +54 -0
  185. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_RdCompt.gfs +59 -0
  186. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_RdEdg.gfs +59 -0
  187. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_RdMgtBdry.gfs +49 -0
  188. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_RdSgmtA.gfs +59 -0
  189. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_RvrMgtBdry.gfs +49 -0
  190. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_SBAPt.gfs +49 -0
  191. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_SBArea.gfs +54 -0
  192. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_SBBdry.gfs +44 -0
  193. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_WA.gfs +54 -0
  194. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_WL.gfs +54 -0
  195. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_WStrA.gfs +54 -0
  196. package/dist/prebuilt/Android-arm64-v8a/share/gdal/jpfgdgml_WStrL.gfs +54 -0
  197. package/dist/prebuilt/Android-arm64-v8a/share/gdal/nitf_spec.xml +3306 -0
  198. package/dist/prebuilt/Android-arm64-v8a/share/gdal/nitf_spec.xsd +189 -0
  199. package/dist/prebuilt/Android-arm64-v8a/share/gdal/ogrinfo_output.schema.json +528 -0
  200. package/dist/prebuilt/Android-arm64-v8a/share/gdal/ogrvrt.xsd +546 -0
  201. package/dist/prebuilt/Android-arm64-v8a/share/gdal/osmconf.ini +132 -0
  202. package/dist/prebuilt/Android-arm64-v8a/share/gdal/ozi_datum.csv +131 -0
  203. package/dist/prebuilt/Android-arm64-v8a/share/gdal/ozi_ellips.csv +35 -0
  204. package/dist/prebuilt/Android-arm64-v8a/share/gdal/pci_datum.txt +530 -0
  205. package/dist/prebuilt/Android-arm64-v8a/share/gdal/pci_ellips.txt +129 -0
  206. package/dist/prebuilt/Android-arm64-v8a/share/gdal/pdfcomposition.xsd +721 -0
  207. package/dist/prebuilt/Android-arm64-v8a/share/gdal/ruian_vf_ob_v1.gfs +1455 -0
  208. package/dist/prebuilt/Android-arm64-v8a/share/gdal/ruian_vf_st_uvoh_v1.gfs +86 -0
  209. package/dist/prebuilt/Android-arm64-v8a/share/gdal/ruian_vf_st_v1.gfs +1489 -0
  210. package/dist/prebuilt/Android-arm64-v8a/share/gdal/ruian_vf_v1.gfs +2126 -0
  211. package/dist/prebuilt/Android-arm64-v8a/share/gdal/s57agencies.csv +249 -0
  212. package/dist/prebuilt/Android-arm64-v8a/share/gdal/s57attributes.csv +484 -0
  213. package/dist/prebuilt/Android-arm64-v8a/share/gdal/s57expectedinput.csv +1008 -0
  214. package/dist/prebuilt/Android-arm64-v8a/share/gdal/s57objectclasses.csv +287 -0
  215. package/dist/prebuilt/Android-arm64-v8a/share/gdal/seed_2d.dgn +0 -0
  216. package/dist/prebuilt/Android-arm64-v8a/share/gdal/seed_3d.dgn +0 -0
  217. package/dist/prebuilt/Android-arm64-v8a/share/gdal/stateplane.csv +259 -0
  218. package/dist/prebuilt/Android-arm64-v8a/share/gdal/tms_LINZAntarticaMapTileGrid.json +190 -0
  219. package/dist/prebuilt/Android-arm64-v8a/share/gdal/tms_MapML_APSTILE.json +268 -0
  220. package/dist/prebuilt/Android-arm64-v8a/share/gdal/tms_MapML_CBMTILE.json +346 -0
  221. package/dist/prebuilt/Android-arm64-v8a/share/gdal/tms_NZTM2000.json +243 -0
  222. package/dist/prebuilt/Android-arm64-v8a/share/gdal/trailer.dxf +434 -0
  223. package/dist/prebuilt/Android-arm64-v8a/share/gdal/vdv452.xml +367 -0
  224. package/dist/prebuilt/Android-arm64-v8a/share/gdal/vdv452.xsd +63 -0
  225. package/dist/prebuilt/CMakeLists.txt +44 -0
  226. package/dist/prebuilt/Emscripten-x86_64/include/cpl_atomic_ops.h +106 -0
  227. package/dist/prebuilt/Emscripten-x86_64/include/cpl_auto_close.h +89 -0
  228. package/dist/prebuilt/Emscripten-x86_64/include/cpl_compressor.h +128 -0
  229. package/dist/prebuilt/Emscripten-x86_64/include/cpl_config.h +215 -0
  230. package/dist/prebuilt/Emscripten-x86_64/include/cpl_config_extras.h +34 -0
  231. package/dist/prebuilt/Emscripten-x86_64/include/cpl_conv.h +433 -0
  232. package/dist/prebuilt/Emscripten-x86_64/include/cpl_csv.h +87 -0
  233. package/dist/prebuilt/Emscripten-x86_64/include/cpl_error.h +348 -0
  234. package/dist/prebuilt/Emscripten-x86_64/include/cpl_hash_set.h +99 -0
  235. package/dist/prebuilt/Emscripten-x86_64/include/cpl_http.h +265 -0
  236. package/dist/prebuilt/Emscripten-x86_64/include/cpl_json.h +317 -0
  237. package/dist/prebuilt/Emscripten-x86_64/include/cpl_list.h +75 -0
  238. package/dist/prebuilt/Emscripten-x86_64/include/cpl_minixml.h +227 -0
  239. package/dist/prebuilt/Emscripten-x86_64/include/cpl_multiproc.h +257 -0
  240. package/dist/prebuilt/Emscripten-x86_64/include/cpl_port.h +1186 -0
  241. package/dist/prebuilt/Emscripten-x86_64/include/cpl_progress.h +65 -0
  242. package/dist/prebuilt/Emscripten-x86_64/include/cpl_quad_tree.h +118 -0
  243. package/dist/prebuilt/Emscripten-x86_64/include/cpl_spawn.h +76 -0
  244. package/dist/prebuilt/Emscripten-x86_64/include/cpl_string.h +876 -0
  245. package/dist/prebuilt/Emscripten-x86_64/include/cpl_time.h +45 -0
  246. package/dist/prebuilt/Emscripten-x86_64/include/cpl_virtualmem.h +381 -0
  247. package/dist/prebuilt/Emscripten-x86_64/include/cpl_vsi.h +798 -0
  248. package/dist/prebuilt/Emscripten-x86_64/include/cpl_vsi_error.h +69 -0
  249. package/dist/prebuilt/Emscripten-x86_64/include/cpl_vsi_virtual.h +547 -0
  250. package/dist/prebuilt/Emscripten-x86_64/include/cplkeywordparser.h +77 -0
  251. package/dist/prebuilt/Emscripten-x86_64/include/gdal.h +2550 -0
  252. package/dist/prebuilt/Emscripten-x86_64/include/gdal_alg.h +730 -0
  253. package/dist/prebuilt/Emscripten-x86_64/include/gdal_alg_priv.h +399 -0
  254. package/dist/prebuilt/Emscripten-x86_64/include/gdal_csv.h +41 -0
  255. package/dist/prebuilt/Emscripten-x86_64/include/gdal_frmts.h +249 -0
  256. package/dist/prebuilt/Emscripten-x86_64/include/gdal_mdreader.h +256 -0
  257. package/dist/prebuilt/Emscripten-x86_64/include/gdal_pam.h +473 -0
  258. package/dist/prebuilt/Emscripten-x86_64/include/gdal_priv.h +4389 -0
  259. package/dist/prebuilt/Emscripten-x86_64/include/gdal_proxy.h +457 -0
  260. package/dist/prebuilt/Emscripten-x86_64/include/gdal_rat.h +406 -0
  261. package/dist/prebuilt/Emscripten-x86_64/include/gdal_simplesurf.h +595 -0
  262. package/dist/prebuilt/Emscripten-x86_64/include/gdal_utils.h +329 -0
  263. package/dist/prebuilt/Emscripten-x86_64/include/gdal_version.h +33 -0
  264. package/dist/prebuilt/Emscripten-x86_64/include/gdal_vrt.h +105 -0
  265. package/dist/prebuilt/Emscripten-x86_64/include/gdalcachedpixelaccessor.h +455 -0
  266. package/dist/prebuilt/Emscripten-x86_64/include/gdalgeorefpamdataset.h +89 -0
  267. package/dist/prebuilt/Emscripten-x86_64/include/gdalgrid.h +118 -0
  268. package/dist/prebuilt/Emscripten-x86_64/include/gdalgrid_priv.h +83 -0
  269. package/dist/prebuilt/Emscripten-x86_64/include/gdaljp2abstractdataset.h +77 -0
  270. package/dist/prebuilt/Emscripten-x86_64/include/gdaljp2metadata.h +253 -0
  271. package/dist/prebuilt/Emscripten-x86_64/include/gdalpansharpen.h +274 -0
  272. package/dist/prebuilt/Emscripten-x86_64/include/gdalsubdatasetinfo.h +120 -0
  273. package/dist/prebuilt/Emscripten-x86_64/include/gdalwarper.h +635 -0
  274. package/dist/prebuilt/Emscripten-x86_64/include/gnm.h +750 -0
  275. package/dist/prebuilt/Emscripten-x86_64/include/gnm_api.h +101 -0
  276. package/dist/prebuilt/Emscripten-x86_64/include/gnmgraph.h +258 -0
  277. package/dist/prebuilt/Emscripten-x86_64/include/memdataset.h +187 -0
  278. package/dist/prebuilt/Emscripten-x86_64/include/ogr_api.h +1036 -0
  279. package/dist/prebuilt/Emscripten-x86_64/include/ogr_core.h +1338 -0
  280. package/dist/prebuilt/Emscripten-x86_64/include/ogr_feature.h +1997 -0
  281. package/dist/prebuilt/Emscripten-x86_64/include/ogr_featurestyle.h +874 -0
  282. package/dist/prebuilt/Emscripten-x86_64/include/ogr_geocoding.h +62 -0
  283. package/dist/prebuilt/Emscripten-x86_64/include/ogr_geomcoordinateprecision.h +95 -0
  284. package/dist/prebuilt/Emscripten-x86_64/include/ogr_geometry.h +4282 -0
  285. package/dist/prebuilt/Emscripten-x86_64/include/ogr_p.h +341 -0
  286. package/dist/prebuilt/Emscripten-x86_64/include/ogr_recordbatch.h +120 -0
  287. package/dist/prebuilt/Emscripten-x86_64/include/ogr_spatialref.h +1021 -0
  288. package/dist/prebuilt/Emscripten-x86_64/include/ogr_srs_api.h +1102 -0
  289. package/dist/prebuilt/Emscripten-x86_64/include/ogr_swq.h +493 -0
  290. package/dist/prebuilt/Emscripten-x86_64/include/ogrsf_frmts.h +749 -0
  291. package/dist/prebuilt/Emscripten-x86_64/include/rawdataset.h +271 -0
  292. package/dist/prebuilt/Emscripten-x86_64/include/vrtdataset.h +2298 -0
  293. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/3.20/FindLibLZMA.cmake +126 -0
  294. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/3.20/FindPostgreSQL.cmake +312 -0
  295. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/DefineFindPackage2.cmake +164 -0
  296. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/GDAL-targets-release.cmake +19 -0
  297. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/GDAL-targets.cmake +107 -0
  298. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/GDALConfig.cmake +31 -0
  299. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/GDALConfigVersion.cmake +85 -0
  300. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/GdalFindModulePath.cmake +13 -0
  301. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindBRUNSLI.cmake +74 -0
  302. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindBlosc.cmake +74 -0
  303. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindCURL.cmake +235 -0
  304. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindCryptoPP.cmake +91 -0
  305. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindDB2.cmake +103 -0
  306. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindDeflate.cmake +111 -0
  307. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindECW.cmake +168 -0
  308. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindEXPAT.cmake +156 -0
  309. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindFYBA.cmake +38 -0
  310. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindFileGDB.cmake +93 -0
  311. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindFreeXL.cmake +66 -0
  312. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindGEOS.cmake +49 -0
  313. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindGIF.cmake +96 -0
  314. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindGeoTIFF.cmake +104 -0
  315. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindHDF4.cmake +131 -0
  316. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindHDFS.cmake +54 -0
  317. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindIDB.cmake +45 -0
  318. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindIconv.cmake +143 -0
  319. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindJSONC.cmake +47 -0
  320. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindKDU.cmake +105 -0
  321. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindLERC.cmake +46 -0
  322. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindLURATECH.cmake +35 -0
  323. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindLZ4.cmake +130 -0
  324. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindLibKML.cmake +131 -0
  325. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindMONGOCXX.cmake +56 -0
  326. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindMRSID.cmake +66 -0
  327. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindMSSQL_NCLI.cmake +86 -0
  328. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindMSSQL_ODBC.cmake +113 -0
  329. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindMySQL.cmake +83 -0
  330. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindNetCDF.cmake +209 -0
  331. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindODBC.cmake +258 -0
  332. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindODBCCPP.cmake +72 -0
  333. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindOGDI.cmake +63 -0
  334. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindOpenCAD.cmake +96 -0
  335. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindOpenEXR.cmake +125 -0
  336. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindOpenJPEG.cmake +124 -0
  337. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindOracle.cmake +226 -0
  338. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindPCRE.cmake +28 -0
  339. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindPCRE2.cmake +27 -0
  340. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindPROJ.cmake +91 -0
  341. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindPodofo.cmake +93 -0
  342. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindPoppler.cmake +182 -0
  343. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindQHULL.cmake +43 -0
  344. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindRASTERLITE2.cmake +85 -0
  345. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindSFCGAL.cmake +87 -0
  346. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindSPATIALITE.cmake +73 -0
  347. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindSQLite3.cmake +190 -0
  348. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindShapelib.cmake +69 -0
  349. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindSpatialindex.cmake +18 -0
  350. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindTEIGHA.cmake +242 -0
  351. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindWebP.cmake +38 -0
  352. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindZSTD.cmake +95 -0
  353. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/thirdparty/DotnetImports.props.in +7 -0
  354. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/thirdparty/FindCSharp.cmake +72 -0
  355. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/thirdparty/FindDotnet.cmake +499 -0
  356. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/thirdparty/FindInt128.cmake +65 -0
  357. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/thirdparty/FindMono.cmake +162 -0
  358. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/thirdparty/GetGitHeadDate.cmake +33 -0
  359. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/thirdparty/GetGitRevisionDescription.cmake +181 -0
  360. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/thirdparty/GetGitRevisionDescription.cmake.in +50 -0
  361. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/thirdparty/OSXInstallDirs.cmake +214 -0
  362. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/thirdparty/SystemSummary.cmake +89 -0
  363. package/dist/prebuilt/Emscripten-x86_64/lib/gdalplugins/drivers.ini +287 -0
  364. package/dist/prebuilt/Emscripten-x86_64/lib/libgdal.a +0 -0
  365. package/dist/prebuilt/Emscripten-x86_64/lib/pkgconfig/gdal.pc +17 -0
  366. package/dist/prebuilt/Emscripten-x86_64/share/gdal/GDALLogoBW.svg +138 -0
  367. package/dist/prebuilt/Emscripten-x86_64/share/gdal/GDALLogoColor.svg +126 -0
  368. package/dist/prebuilt/Emscripten-x86_64/share/gdal/GDALLogoGS.svg +126 -0
  369. package/dist/prebuilt/Emscripten-x86_64/share/gdal/LICENSE.TXT +467 -0
  370. package/dist/prebuilt/Emscripten-x86_64/share/gdal/MM_m_idofic.csv +321 -0
  371. package/dist/prebuilt/Emscripten-x86_64/share/gdal/cubewerx_extra.wkt +48 -0
  372. package/dist/prebuilt/Emscripten-x86_64/share/gdal/default.rsc +0 -0
  373. package/dist/prebuilt/Emscripten-x86_64/share/gdal/ecw_cs.wkt +1453 -0
  374. package/dist/prebuilt/Emscripten-x86_64/share/gdal/epsg.wkt +1 -0
  375. package/dist/prebuilt/Emscripten-x86_64/share/gdal/esri_StatePlane_extra.wkt +631 -0
  376. package/dist/prebuilt/Emscripten-x86_64/share/gdal/gdalicon.png +0 -0
  377. package/dist/prebuilt/Emscripten-x86_64/share/gdal/gdalinfo_output.schema.json +346 -0
  378. package/dist/prebuilt/Emscripten-x86_64/share/gdal/gdalmdiminfo_output.schema.json +321 -0
  379. package/dist/prebuilt/Emscripten-x86_64/share/gdal/gdaltileindex.xsd +269 -0
  380. package/dist/prebuilt/Emscripten-x86_64/share/gdal/gdalvrt.xsd +880 -0
  381. package/dist/prebuilt/Emscripten-x86_64/share/gdal/gfs.xsd +246 -0
  382. package/dist/prebuilt/Emscripten-x86_64/share/gdal/gml_registry.xml +117 -0
  383. package/dist/prebuilt/Emscripten-x86_64/share/gdal/gml_registry.xsd +66 -0
  384. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_center.csv +251 -0
  385. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_process.csv +102 -0
  386. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_subcenter.csv +63 -0
  387. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_0_0.csv +261 -0
  388. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_0_1.csv +261 -0
  389. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_0_13.csv +261 -0
  390. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_0_14.csv +261 -0
  391. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_0_15.csv +261 -0
  392. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_0_16.csv +261 -0
  393. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_0_17.csv +11 -0
  394. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_0_18.csv +261 -0
  395. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_0_19.csv +261 -0
  396. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_0_190.csv +261 -0
  397. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_0_191.csv +261 -0
  398. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_0_2.csv +261 -0
  399. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_0_20.csv +261 -0
  400. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_0_21.csv +261 -0
  401. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_0_3.csv +261 -0
  402. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_0_4.csv +261 -0
  403. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_0_5.csv +261 -0
  404. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_0_6.csv +261 -0
  405. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_0_7.csv +261 -0
  406. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_10_0.csv +261 -0
  407. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_10_1.csv +261 -0
  408. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_10_191.csv +261 -0
  409. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_10_2.csv +261 -0
  410. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_10_3.csv +261 -0
  411. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_10_4.csv +261 -0
  412. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_1_0.csv +261 -0
  413. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_1_1.csv +261 -0
  414. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_1_2.csv +261 -0
  415. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_20_0.csv +261 -0
  416. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_20_1.csv +261 -0
  417. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_20_2.csv +261 -0
  418. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_2_0.csv +261 -0
  419. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_2_3.csv +261 -0
  420. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_2_4.csv +261 -0
  421. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_2_5.csv +261 -0
  422. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_2_6.csv +261 -0
  423. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_3_0.csv +261 -0
  424. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_3_1.csv +261 -0
  425. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_3_2.csv +28 -0
  426. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_3_3.csv +8 -0
  427. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_3_4.csv +14 -0
  428. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_3_5.csv +11 -0
  429. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_3_6.csv +11 -0
  430. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_4_0.csv +261 -0
  431. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_4_1.csv +261 -0
  432. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_4_10.csv +261 -0
  433. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_4_2.csv +261 -0
  434. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_4_3.csv +261 -0
  435. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_4_4.csv +261 -0
  436. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_4_5.csv +261 -0
  437. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_4_6.csv +261 -0
  438. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_4_7.csv +261 -0
  439. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_4_8.csv +261 -0
  440. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_4_9.csv +261 -0
  441. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_local_Canada.csv +5 -0
  442. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_local_HPC.csv +2 -0
  443. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_local_MRMS.csv +175 -0
  444. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_local_NCEP.csv +401 -0
  445. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_local_NDFD.csv +38 -0
  446. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_2_local_index.csv +7 -0
  447. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_4_5.csv +261 -0
  448. package/dist/prebuilt/Emscripten-x86_64/share/gdal/grib2_table_versions.csv +3 -0
  449. package/dist/prebuilt/Emscripten-x86_64/share/gdal/gt_datum.csv +229 -0
  450. package/dist/prebuilt/Emscripten-x86_64/share/gdal/gt_ellips.csv +24 -0
  451. package/dist/prebuilt/Emscripten-x86_64/share/gdal/header.dxf +1124 -0
  452. package/dist/prebuilt/Emscripten-x86_64/share/gdal/inspire_cp_BasicPropertyUnit.gfs +57 -0
  453. package/dist/prebuilt/Emscripten-x86_64/share/gdal/inspire_cp_CadastralBoundary.gfs +60 -0
  454. package/dist/prebuilt/Emscripten-x86_64/share/gdal/inspire_cp_CadastralParcel.gfs +81 -0
  455. package/dist/prebuilt/Emscripten-x86_64/share/gdal/inspire_cp_CadastralZoning.gfs +161 -0
  456. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_AdmArea.gfs +59 -0
  457. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_AdmBdry.gfs +49 -0
  458. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_AdmPt.gfs +59 -0
  459. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_BldA.gfs +54 -0
  460. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_BldL.gfs +54 -0
  461. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_Cntr.gfs +54 -0
  462. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_CommBdry.gfs +49 -0
  463. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_CommPt.gfs +59 -0
  464. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_Cstline.gfs +54 -0
  465. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_ElevPt.gfs +54 -0
  466. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_GCP.gfs +94 -0
  467. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_LeveeEdge.gfs +49 -0
  468. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_RailCL.gfs +54 -0
  469. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_RdASL.gfs +44 -0
  470. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_RdArea.gfs +54 -0
  471. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_RdCompt.gfs +59 -0
  472. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_RdEdg.gfs +59 -0
  473. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_RdMgtBdry.gfs +49 -0
  474. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_RdSgmtA.gfs +59 -0
  475. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_RvrMgtBdry.gfs +49 -0
  476. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_SBAPt.gfs +49 -0
  477. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_SBArea.gfs +54 -0
  478. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_SBBdry.gfs +44 -0
  479. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_WA.gfs +54 -0
  480. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_WL.gfs +54 -0
  481. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_WStrA.gfs +54 -0
  482. package/dist/prebuilt/Emscripten-x86_64/share/gdal/jpfgdgml_WStrL.gfs +54 -0
  483. package/dist/prebuilt/Emscripten-x86_64/share/gdal/nitf_spec.xml +3306 -0
  484. package/dist/prebuilt/Emscripten-x86_64/share/gdal/nitf_spec.xsd +189 -0
  485. package/dist/prebuilt/Emscripten-x86_64/share/gdal/ogrinfo_output.schema.json +528 -0
  486. package/dist/prebuilt/Emscripten-x86_64/share/gdal/ogrvrt.xsd +546 -0
  487. package/dist/prebuilt/Emscripten-x86_64/share/gdal/osmconf.ini +132 -0
  488. package/dist/prebuilt/Emscripten-x86_64/share/gdal/ozi_datum.csv +131 -0
  489. package/dist/prebuilt/Emscripten-x86_64/share/gdal/ozi_ellips.csv +35 -0
  490. package/dist/prebuilt/Emscripten-x86_64/share/gdal/pci_datum.txt +530 -0
  491. package/dist/prebuilt/Emscripten-x86_64/share/gdal/pci_ellips.txt +129 -0
  492. package/dist/prebuilt/Emscripten-x86_64/share/gdal/pdfcomposition.xsd +721 -0
  493. package/dist/prebuilt/Emscripten-x86_64/share/gdal/ruian_vf_ob_v1.gfs +1455 -0
  494. package/dist/prebuilt/Emscripten-x86_64/share/gdal/ruian_vf_st_uvoh_v1.gfs +86 -0
  495. package/dist/prebuilt/Emscripten-x86_64/share/gdal/ruian_vf_st_v1.gfs +1489 -0
  496. package/dist/prebuilt/Emscripten-x86_64/share/gdal/ruian_vf_v1.gfs +2126 -0
  497. package/dist/prebuilt/Emscripten-x86_64/share/gdal/s57agencies.csv +249 -0
  498. package/dist/prebuilt/Emscripten-x86_64/share/gdal/s57attributes.csv +484 -0
  499. package/dist/prebuilt/Emscripten-x86_64/share/gdal/s57expectedinput.csv +1008 -0
  500. package/dist/prebuilt/Emscripten-x86_64/share/gdal/s57objectclasses.csv +287 -0
  501. package/dist/prebuilt/Emscripten-x86_64/share/gdal/seed_2d.dgn +0 -0
  502. package/dist/prebuilt/Emscripten-x86_64/share/gdal/seed_3d.dgn +0 -0
  503. package/dist/prebuilt/Emscripten-x86_64/share/gdal/stateplane.csv +259 -0
  504. package/dist/prebuilt/Emscripten-x86_64/share/gdal/tms_LINZAntarticaMapTileGrid.json +190 -0
  505. package/dist/prebuilt/Emscripten-x86_64/share/gdal/tms_MapML_APSTILE.json +268 -0
  506. package/dist/prebuilt/Emscripten-x86_64/share/gdal/tms_MapML_CBMTILE.json +346 -0
  507. package/dist/prebuilt/Emscripten-x86_64/share/gdal/tms_NZTM2000.json +243 -0
  508. package/dist/prebuilt/Emscripten-x86_64/share/gdal/trailer.dxf +434 -0
  509. package/dist/prebuilt/Emscripten-x86_64/share/gdal/vdv452.xml +367 -0
  510. package/dist/prebuilt/Emscripten-x86_64/share/gdal/vdv452.xsd +63 -0
  511. package/dist/prebuilt/gdal.xcframework/Info.plist +50 -0
  512. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_atomic_ops.h +106 -0
  513. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_auto_close.h +89 -0
  514. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_compressor.h +128 -0
  515. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_config.h +215 -0
  516. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_config_extras.h +34 -0
  517. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_conv.h +433 -0
  518. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_csv.h +87 -0
  519. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_error.h +348 -0
  520. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_hash_set.h +99 -0
  521. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_http.h +265 -0
  522. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_json.h +317 -0
  523. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_list.h +75 -0
  524. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_minixml.h +227 -0
  525. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_multiproc.h +257 -0
  526. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_port.h +1186 -0
  527. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_progress.h +65 -0
  528. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_quad_tree.h +118 -0
  529. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_spawn.h +76 -0
  530. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_string.h +876 -0
  531. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_time.h +45 -0
  532. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_virtualmem.h +381 -0
  533. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_vsi.h +798 -0
  534. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_vsi_error.h +69 -0
  535. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cpl_vsi_virtual.h +547 -0
  536. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/cplkeywordparser.h +77 -0
  537. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdal.h +2550 -0
  538. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdal_alg.h +730 -0
  539. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdal_alg_priv.h +399 -0
  540. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdal_csv.h +41 -0
  541. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdal_frmts.h +249 -0
  542. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdal_mdreader.h +256 -0
  543. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdal_pam.h +473 -0
  544. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdal_priv.h +4389 -0
  545. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdal_proxy.h +457 -0
  546. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdal_rat.h +406 -0
  547. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdal_simplesurf.h +595 -0
  548. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdal_utils.h +329 -0
  549. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdal_version.h +33 -0
  550. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdal_vrt.h +105 -0
  551. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdalcachedpixelaccessor.h +455 -0
  552. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdalgeorefpamdataset.h +89 -0
  553. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdalgrid.h +118 -0
  554. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdalgrid_priv.h +83 -0
  555. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdaljp2abstractdataset.h +77 -0
  556. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdaljp2metadata.h +253 -0
  557. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdalpansharpen.h +274 -0
  558. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdalsubdatasetinfo.h +120 -0
  559. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gdalwarper.h +635 -0
  560. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gnm.h +750 -0
  561. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gnm_api.h +101 -0
  562. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/gnmgraph.h +258 -0
  563. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/memdataset.h +187 -0
  564. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/ogr_api.h +1036 -0
  565. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/ogr_core.h +1338 -0
  566. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/ogr_feature.h +1997 -0
  567. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/ogr_featurestyle.h +874 -0
  568. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/ogr_geocoding.h +62 -0
  569. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/ogr_geomcoordinateprecision.h +95 -0
  570. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/ogr_geometry.h +4282 -0
  571. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/ogr_p.h +341 -0
  572. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/ogr_recordbatch.h +120 -0
  573. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/ogr_spatialref.h +1021 -0
  574. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/ogr_srs_api.h +1102 -0
  575. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/ogr_swq.h +493 -0
  576. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/ogrsf_frmts.h +749 -0
  577. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/rawdataset.h +271 -0
  578. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/Headers/vrtdataset.h +2298 -0
  579. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e/libgdal.a +0 -0
  580. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_atomic_ops.h +106 -0
  581. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_auto_close.h +89 -0
  582. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_compressor.h +128 -0
  583. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_config.h +215 -0
  584. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_config_extras.h +34 -0
  585. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_conv.h +433 -0
  586. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_csv.h +87 -0
  587. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_error.h +348 -0
  588. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_hash_set.h +99 -0
  589. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_http.h +265 -0
  590. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_json.h +317 -0
  591. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_list.h +75 -0
  592. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_minixml.h +227 -0
  593. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_multiproc.h +257 -0
  594. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_port.h +1186 -0
  595. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_progress.h +65 -0
  596. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_quad_tree.h +118 -0
  597. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_spawn.h +76 -0
  598. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_string.h +876 -0
  599. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_time.h +45 -0
  600. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_virtualmem.h +381 -0
  601. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_vsi.h +798 -0
  602. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_vsi_error.h +69 -0
  603. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cpl_vsi_virtual.h +547 -0
  604. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/cplkeywordparser.h +77 -0
  605. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdal.h +2550 -0
  606. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdal_alg.h +730 -0
  607. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdal_alg_priv.h +399 -0
  608. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdal_csv.h +41 -0
  609. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdal_frmts.h +249 -0
  610. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdal_mdreader.h +256 -0
  611. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdal_pam.h +473 -0
  612. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdal_priv.h +4389 -0
  613. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdal_proxy.h +457 -0
  614. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdal_rat.h +406 -0
  615. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdal_simplesurf.h +595 -0
  616. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdal_utils.h +329 -0
  617. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdal_version.h +33 -0
  618. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdal_vrt.h +105 -0
  619. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdalcachedpixelaccessor.h +455 -0
  620. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdalgeorefpamdataset.h +89 -0
  621. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdalgrid.h +118 -0
  622. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdalgrid_priv.h +83 -0
  623. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdaljp2abstractdataset.h +77 -0
  624. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdaljp2metadata.h +253 -0
  625. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdalpansharpen.h +274 -0
  626. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdalsubdatasetinfo.h +120 -0
  627. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdalwarper.h +635 -0
  628. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gnm.h +750 -0
  629. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gnm_api.h +101 -0
  630. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gnmgraph.h +258 -0
  631. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/memdataset.h +187 -0
  632. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ogr_api.h +1036 -0
  633. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ogr_core.h +1338 -0
  634. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ogr_feature.h +1997 -0
  635. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ogr_featurestyle.h +874 -0
  636. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ogr_geocoding.h +62 -0
  637. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ogr_geomcoordinateprecision.h +95 -0
  638. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ogr_geometry.h +4282 -0
  639. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ogr_p.h +341 -0
  640. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ogr_recordbatch.h +120 -0
  641. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ogr_spatialref.h +1021 -0
  642. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ogr_srs_api.h +1102 -0
  643. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ogr_swq.h +493 -0
  644. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ogrsf_frmts.h +749 -0
  645. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/rawdataset.h +271 -0
  646. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/vrtdataset.h +2298 -0
  647. package/dist/prebuilt/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/libgdal.a +0 -0
  648. package/dist/prebuilt/iOS-iphoneos/include/cpl_atomic_ops.h +106 -0
  649. package/dist/prebuilt/iOS-iphoneos/include/cpl_auto_close.h +89 -0
  650. package/dist/prebuilt/iOS-iphoneos/include/cpl_compressor.h +128 -0
  651. package/dist/prebuilt/iOS-iphoneos/include/cpl_config.h +215 -0
  652. package/dist/prebuilt/iOS-iphoneos/include/cpl_config_extras.h +34 -0
  653. package/dist/prebuilt/iOS-iphoneos/include/cpl_conv.h +433 -0
  654. package/dist/prebuilt/iOS-iphoneos/include/cpl_csv.h +87 -0
  655. package/dist/prebuilt/iOS-iphoneos/include/cpl_error.h +348 -0
  656. package/dist/prebuilt/iOS-iphoneos/include/cpl_hash_set.h +99 -0
  657. package/dist/prebuilt/iOS-iphoneos/include/cpl_http.h +265 -0
  658. package/dist/prebuilt/iOS-iphoneos/include/cpl_json.h +317 -0
  659. package/dist/prebuilt/iOS-iphoneos/include/cpl_list.h +75 -0
  660. package/dist/prebuilt/iOS-iphoneos/include/cpl_minixml.h +227 -0
  661. package/dist/prebuilt/iOS-iphoneos/include/cpl_multiproc.h +257 -0
  662. package/dist/prebuilt/iOS-iphoneos/include/cpl_port.h +1186 -0
  663. package/dist/prebuilt/iOS-iphoneos/include/cpl_progress.h +65 -0
  664. package/dist/prebuilt/iOS-iphoneos/include/cpl_quad_tree.h +118 -0
  665. package/dist/prebuilt/iOS-iphoneos/include/cpl_spawn.h +76 -0
  666. package/dist/prebuilt/iOS-iphoneos/include/cpl_string.h +876 -0
  667. package/dist/prebuilt/iOS-iphoneos/include/cpl_time.h +45 -0
  668. package/dist/prebuilt/iOS-iphoneos/include/cpl_virtualmem.h +381 -0
  669. package/dist/prebuilt/iOS-iphoneos/include/cpl_vsi.h +798 -0
  670. package/dist/prebuilt/iOS-iphoneos/include/cpl_vsi_error.h +69 -0
  671. package/dist/prebuilt/iOS-iphoneos/include/cpl_vsi_virtual.h +547 -0
  672. package/dist/prebuilt/iOS-iphoneos/include/cplkeywordparser.h +77 -0
  673. package/dist/prebuilt/iOS-iphoneos/include/gdal.h +2550 -0
  674. package/dist/prebuilt/iOS-iphoneos/include/gdal_alg.h +730 -0
  675. package/dist/prebuilt/iOS-iphoneos/include/gdal_alg_priv.h +399 -0
  676. package/dist/prebuilt/iOS-iphoneos/include/gdal_csv.h +41 -0
  677. package/dist/prebuilt/iOS-iphoneos/include/gdal_frmts.h +249 -0
  678. package/dist/prebuilt/iOS-iphoneos/include/gdal_mdreader.h +256 -0
  679. package/dist/prebuilt/iOS-iphoneos/include/gdal_pam.h +473 -0
  680. package/dist/prebuilt/iOS-iphoneos/include/gdal_priv.h +4389 -0
  681. package/dist/prebuilt/iOS-iphoneos/include/gdal_proxy.h +457 -0
  682. package/dist/prebuilt/iOS-iphoneos/include/gdal_rat.h +406 -0
  683. package/dist/prebuilt/iOS-iphoneos/include/gdal_simplesurf.h +595 -0
  684. package/dist/prebuilt/iOS-iphoneos/include/gdal_utils.h +329 -0
  685. package/dist/prebuilt/iOS-iphoneos/include/gdal_version.h +33 -0
  686. package/dist/prebuilt/iOS-iphoneos/include/gdal_vrt.h +105 -0
  687. package/dist/prebuilt/iOS-iphoneos/include/gdalcachedpixelaccessor.h +455 -0
  688. package/dist/prebuilt/iOS-iphoneos/include/gdalgeorefpamdataset.h +89 -0
  689. package/dist/prebuilt/iOS-iphoneos/include/gdalgrid.h +118 -0
  690. package/dist/prebuilt/iOS-iphoneos/include/gdalgrid_priv.h +83 -0
  691. package/dist/prebuilt/iOS-iphoneos/include/gdaljp2abstractdataset.h +77 -0
  692. package/dist/prebuilt/iOS-iphoneos/include/gdaljp2metadata.h +253 -0
  693. package/dist/prebuilt/iOS-iphoneos/include/gdalpansharpen.h +274 -0
  694. package/dist/prebuilt/iOS-iphoneos/include/gdalsubdatasetinfo.h +120 -0
  695. package/dist/prebuilt/iOS-iphoneos/include/gdalwarper.h +635 -0
  696. package/dist/prebuilt/iOS-iphoneos/include/gnm.h +750 -0
  697. package/dist/prebuilt/iOS-iphoneos/include/gnm_api.h +101 -0
  698. package/dist/prebuilt/iOS-iphoneos/include/gnmgraph.h +258 -0
  699. package/dist/prebuilt/iOS-iphoneos/include/memdataset.h +187 -0
  700. package/dist/prebuilt/iOS-iphoneos/include/ogr_api.h +1036 -0
  701. package/dist/prebuilt/iOS-iphoneos/include/ogr_core.h +1338 -0
  702. package/dist/prebuilt/iOS-iphoneos/include/ogr_feature.h +1997 -0
  703. package/dist/prebuilt/iOS-iphoneos/include/ogr_featurestyle.h +874 -0
  704. package/dist/prebuilt/iOS-iphoneos/include/ogr_geocoding.h +62 -0
  705. package/dist/prebuilt/iOS-iphoneos/include/ogr_geomcoordinateprecision.h +95 -0
  706. package/dist/prebuilt/iOS-iphoneos/include/ogr_geometry.h +4282 -0
  707. package/dist/prebuilt/iOS-iphoneos/include/ogr_p.h +341 -0
  708. package/dist/prebuilt/iOS-iphoneos/include/ogr_recordbatch.h +120 -0
  709. package/dist/prebuilt/iOS-iphoneos/include/ogr_spatialref.h +1021 -0
  710. package/dist/prebuilt/iOS-iphoneos/include/ogr_srs_api.h +1102 -0
  711. package/dist/prebuilt/iOS-iphoneos/include/ogr_swq.h +493 -0
  712. package/dist/prebuilt/iOS-iphoneos/include/ogrsf_frmts.h +749 -0
  713. package/dist/prebuilt/iOS-iphoneos/include/rawdataset.h +271 -0
  714. package/dist/prebuilt/iOS-iphoneos/include/vrtdataset.h +2298 -0
  715. package/dist/prebuilt/iOS-iphoneos/share/gdal/GDALLogoBW.svg +138 -0
  716. package/dist/prebuilt/iOS-iphoneos/share/gdal/GDALLogoColor.svg +126 -0
  717. package/dist/prebuilt/iOS-iphoneos/share/gdal/GDALLogoGS.svg +126 -0
  718. package/dist/prebuilt/iOS-iphoneos/share/gdal/LICENSE.TXT +467 -0
  719. package/dist/prebuilt/iOS-iphoneos/share/gdal/MM_m_idofic.csv +321 -0
  720. package/dist/prebuilt/iOS-iphoneos/share/gdal/cubewerx_extra.wkt +48 -0
  721. package/dist/prebuilt/iOS-iphoneos/share/gdal/default.rsc +0 -0
  722. package/dist/prebuilt/iOS-iphoneos/share/gdal/ecw_cs.wkt +1453 -0
  723. package/dist/prebuilt/iOS-iphoneos/share/gdal/epsg.wkt +1 -0
  724. package/dist/prebuilt/iOS-iphoneos/share/gdal/esri_StatePlane_extra.wkt +631 -0
  725. package/dist/prebuilt/iOS-iphoneos/share/gdal/gdalicon.png +0 -0
  726. package/dist/prebuilt/iOS-iphoneos/share/gdal/gdalinfo_output.schema.json +346 -0
  727. package/dist/prebuilt/iOS-iphoneos/share/gdal/gdalmdiminfo_output.schema.json +321 -0
  728. package/dist/prebuilt/iOS-iphoneos/share/gdal/gdaltileindex.xsd +269 -0
  729. package/dist/prebuilt/iOS-iphoneos/share/gdal/gdalvrt.xsd +880 -0
  730. package/dist/prebuilt/iOS-iphoneos/share/gdal/gfs.xsd +246 -0
  731. package/dist/prebuilt/iOS-iphoneos/share/gdal/gml_registry.xml +117 -0
  732. package/dist/prebuilt/iOS-iphoneos/share/gdal/gml_registry.xsd +66 -0
  733. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_center.csv +251 -0
  734. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_process.csv +102 -0
  735. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_subcenter.csv +63 -0
  736. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_0_0.csv +261 -0
  737. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_0_1.csv +261 -0
  738. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_0_13.csv +261 -0
  739. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_0_14.csv +261 -0
  740. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_0_15.csv +261 -0
  741. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_0_16.csv +261 -0
  742. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_0_17.csv +11 -0
  743. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_0_18.csv +261 -0
  744. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_0_19.csv +261 -0
  745. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_0_190.csv +261 -0
  746. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_0_191.csv +261 -0
  747. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_0_2.csv +261 -0
  748. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_0_20.csv +261 -0
  749. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_0_21.csv +261 -0
  750. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_0_3.csv +261 -0
  751. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_0_4.csv +261 -0
  752. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_0_5.csv +261 -0
  753. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_0_6.csv +261 -0
  754. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_0_7.csv +261 -0
  755. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_10_0.csv +261 -0
  756. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_10_1.csv +261 -0
  757. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_10_191.csv +261 -0
  758. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_10_2.csv +261 -0
  759. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_10_3.csv +261 -0
  760. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_10_4.csv +261 -0
  761. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_1_0.csv +261 -0
  762. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_1_1.csv +261 -0
  763. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_1_2.csv +261 -0
  764. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_20_0.csv +261 -0
  765. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_20_1.csv +261 -0
  766. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_20_2.csv +261 -0
  767. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_2_0.csv +261 -0
  768. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_2_3.csv +261 -0
  769. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_2_4.csv +261 -0
  770. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_2_5.csv +261 -0
  771. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_2_6.csv +261 -0
  772. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_3_0.csv +261 -0
  773. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_3_1.csv +261 -0
  774. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_3_2.csv +28 -0
  775. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_3_3.csv +8 -0
  776. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_3_4.csv +14 -0
  777. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_3_5.csv +11 -0
  778. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_3_6.csv +11 -0
  779. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_4_0.csv +261 -0
  780. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_4_1.csv +261 -0
  781. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_4_10.csv +261 -0
  782. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_4_2.csv +261 -0
  783. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_4_3.csv +261 -0
  784. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_4_4.csv +261 -0
  785. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_4_5.csv +261 -0
  786. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_4_6.csv +261 -0
  787. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_4_7.csv +261 -0
  788. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_4_8.csv +261 -0
  789. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_4_9.csv +261 -0
  790. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_local_Canada.csv +5 -0
  791. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_local_HPC.csv +2 -0
  792. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_local_MRMS.csv +175 -0
  793. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_local_NCEP.csv +401 -0
  794. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_local_NDFD.csv +38 -0
  795. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_2_local_index.csv +7 -0
  796. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_4_5.csv +261 -0
  797. package/dist/prebuilt/iOS-iphoneos/share/gdal/grib2_table_versions.csv +3 -0
  798. package/dist/prebuilt/iOS-iphoneos/share/gdal/gt_datum.csv +229 -0
  799. package/dist/prebuilt/iOS-iphoneos/share/gdal/gt_ellips.csv +24 -0
  800. package/dist/prebuilt/iOS-iphoneos/share/gdal/header.dxf +1124 -0
  801. package/dist/prebuilt/iOS-iphoneos/share/gdal/inspire_cp_BasicPropertyUnit.gfs +57 -0
  802. package/dist/prebuilt/iOS-iphoneos/share/gdal/inspire_cp_CadastralBoundary.gfs +60 -0
  803. package/dist/prebuilt/iOS-iphoneos/share/gdal/inspire_cp_CadastralParcel.gfs +81 -0
  804. package/dist/prebuilt/iOS-iphoneos/share/gdal/inspire_cp_CadastralZoning.gfs +161 -0
  805. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_AdmArea.gfs +59 -0
  806. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_AdmBdry.gfs +49 -0
  807. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_AdmPt.gfs +59 -0
  808. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_BldA.gfs +54 -0
  809. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_BldL.gfs +54 -0
  810. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_Cntr.gfs +54 -0
  811. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_CommBdry.gfs +49 -0
  812. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_CommPt.gfs +59 -0
  813. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_Cstline.gfs +54 -0
  814. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_ElevPt.gfs +54 -0
  815. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_GCP.gfs +94 -0
  816. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_LeveeEdge.gfs +49 -0
  817. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_RailCL.gfs +54 -0
  818. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_RdASL.gfs +44 -0
  819. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_RdArea.gfs +54 -0
  820. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_RdCompt.gfs +59 -0
  821. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_RdEdg.gfs +59 -0
  822. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_RdMgtBdry.gfs +49 -0
  823. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_RdSgmtA.gfs +59 -0
  824. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_RvrMgtBdry.gfs +49 -0
  825. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_SBAPt.gfs +49 -0
  826. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_SBArea.gfs +54 -0
  827. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_SBBdry.gfs +44 -0
  828. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_WA.gfs +54 -0
  829. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_WL.gfs +54 -0
  830. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_WStrA.gfs +54 -0
  831. package/dist/prebuilt/iOS-iphoneos/share/gdal/jpfgdgml_WStrL.gfs +54 -0
  832. package/dist/prebuilt/iOS-iphoneos/share/gdal/nitf_spec.xml +3306 -0
  833. package/dist/prebuilt/iOS-iphoneos/share/gdal/nitf_spec.xsd +189 -0
  834. package/dist/prebuilt/iOS-iphoneos/share/gdal/ogrinfo_output.schema.json +528 -0
  835. package/dist/prebuilt/iOS-iphoneos/share/gdal/ogrvrt.xsd +546 -0
  836. package/dist/prebuilt/iOS-iphoneos/share/gdal/osmconf.ini +132 -0
  837. package/dist/prebuilt/iOS-iphoneos/share/gdal/ozi_datum.csv +131 -0
  838. package/dist/prebuilt/iOS-iphoneos/share/gdal/ozi_ellips.csv +35 -0
  839. package/dist/prebuilt/iOS-iphoneos/share/gdal/pci_datum.txt +530 -0
  840. package/dist/prebuilt/iOS-iphoneos/share/gdal/pci_ellips.txt +129 -0
  841. package/dist/prebuilt/iOS-iphoneos/share/gdal/pdfcomposition.xsd +721 -0
  842. package/dist/prebuilt/iOS-iphoneos/share/gdal/ruian_vf_ob_v1.gfs +1455 -0
  843. package/dist/prebuilt/iOS-iphoneos/share/gdal/ruian_vf_st_uvoh_v1.gfs +86 -0
  844. package/dist/prebuilt/iOS-iphoneos/share/gdal/ruian_vf_st_v1.gfs +1489 -0
  845. package/dist/prebuilt/iOS-iphoneos/share/gdal/ruian_vf_v1.gfs +2126 -0
  846. package/dist/prebuilt/iOS-iphoneos/share/gdal/s57agencies.csv +249 -0
  847. package/dist/prebuilt/iOS-iphoneos/share/gdal/s57attributes.csv +484 -0
  848. package/dist/prebuilt/iOS-iphoneos/share/gdal/s57expectedinput.csv +1008 -0
  849. package/dist/prebuilt/iOS-iphoneos/share/gdal/s57objectclasses.csv +287 -0
  850. package/dist/prebuilt/iOS-iphoneos/share/gdal/seed_2d.dgn +0 -0
  851. package/dist/prebuilt/iOS-iphoneos/share/gdal/seed_3d.dgn +0 -0
  852. package/dist/prebuilt/iOS-iphoneos/share/gdal/stateplane.csv +259 -0
  853. package/dist/prebuilt/iOS-iphoneos/share/gdal/tms_LINZAntarticaMapTileGrid.json +190 -0
  854. package/dist/prebuilt/iOS-iphoneos/share/gdal/tms_MapML_APSTILE.json +268 -0
  855. package/dist/prebuilt/iOS-iphoneos/share/gdal/tms_MapML_CBMTILE.json +346 -0
  856. package/dist/prebuilt/iOS-iphoneos/share/gdal/tms_NZTM2000.json +243 -0
  857. package/dist/prebuilt/iOS-iphoneos/share/gdal/trailer.dxf +434 -0
  858. package/dist/prebuilt/iOS-iphoneos/share/gdal/vdv452.xml +367 -0
  859. package/dist/prebuilt/iOS-iphoneos/share/gdal/vdv452.xsd +63 -0
  860. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_atomic_ops.h +106 -0
  861. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_auto_close.h +89 -0
  862. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_compressor.h +128 -0
  863. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_config.h +215 -0
  864. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_config_extras.h +34 -0
  865. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_conv.h +433 -0
  866. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_csv.h +87 -0
  867. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_error.h +348 -0
  868. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_hash_set.h +99 -0
  869. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_http.h +265 -0
  870. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_json.h +317 -0
  871. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_list.h +75 -0
  872. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_minixml.h +227 -0
  873. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_multiproc.h +257 -0
  874. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_port.h +1186 -0
  875. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_progress.h +65 -0
  876. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_quad_tree.h +118 -0
  877. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_spawn.h +76 -0
  878. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_string.h +876 -0
  879. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_time.h +45 -0
  880. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_virtualmem.h +381 -0
  881. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_vsi.h +798 -0
  882. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_vsi_error.h +69 -0
  883. package/dist/prebuilt/iOS-iphonesimulator/include/cpl_vsi_virtual.h +547 -0
  884. package/dist/prebuilt/iOS-iphonesimulator/include/cplkeywordparser.h +77 -0
  885. package/dist/prebuilt/iOS-iphonesimulator/include/gdal.h +2550 -0
  886. package/dist/prebuilt/iOS-iphonesimulator/include/gdal_alg.h +730 -0
  887. package/dist/prebuilt/iOS-iphonesimulator/include/gdal_alg_priv.h +399 -0
  888. package/dist/prebuilt/iOS-iphonesimulator/include/gdal_csv.h +41 -0
  889. package/dist/prebuilt/iOS-iphonesimulator/include/gdal_frmts.h +249 -0
  890. package/dist/prebuilt/iOS-iphonesimulator/include/gdal_mdreader.h +256 -0
  891. package/dist/prebuilt/iOS-iphonesimulator/include/gdal_pam.h +473 -0
  892. package/dist/prebuilt/iOS-iphonesimulator/include/gdal_priv.h +4389 -0
  893. package/dist/prebuilt/iOS-iphonesimulator/include/gdal_proxy.h +457 -0
  894. package/dist/prebuilt/iOS-iphonesimulator/include/gdal_rat.h +406 -0
  895. package/dist/prebuilt/iOS-iphonesimulator/include/gdal_simplesurf.h +595 -0
  896. package/dist/prebuilt/iOS-iphonesimulator/include/gdal_utils.h +329 -0
  897. package/dist/prebuilt/iOS-iphonesimulator/include/gdal_version.h +33 -0
  898. package/dist/prebuilt/iOS-iphonesimulator/include/gdal_vrt.h +105 -0
  899. package/dist/prebuilt/iOS-iphonesimulator/include/gdalcachedpixelaccessor.h +455 -0
  900. package/dist/prebuilt/iOS-iphonesimulator/include/gdalgeorefpamdataset.h +89 -0
  901. package/dist/prebuilt/iOS-iphonesimulator/include/gdalgrid.h +118 -0
  902. package/dist/prebuilt/iOS-iphonesimulator/include/gdalgrid_priv.h +83 -0
  903. package/dist/prebuilt/iOS-iphonesimulator/include/gdaljp2abstractdataset.h +77 -0
  904. package/dist/prebuilt/iOS-iphonesimulator/include/gdaljp2metadata.h +253 -0
  905. package/dist/prebuilt/iOS-iphonesimulator/include/gdalpansharpen.h +274 -0
  906. package/dist/prebuilt/iOS-iphonesimulator/include/gdalsubdatasetinfo.h +120 -0
  907. package/dist/prebuilt/iOS-iphonesimulator/include/gdalwarper.h +635 -0
  908. package/dist/prebuilt/iOS-iphonesimulator/include/gnm.h +750 -0
  909. package/dist/prebuilt/iOS-iphonesimulator/include/gnm_api.h +101 -0
  910. package/dist/prebuilt/iOS-iphonesimulator/include/gnmgraph.h +258 -0
  911. package/dist/prebuilt/iOS-iphonesimulator/include/memdataset.h +187 -0
  912. package/dist/prebuilt/iOS-iphonesimulator/include/ogr_api.h +1036 -0
  913. package/dist/prebuilt/iOS-iphonesimulator/include/ogr_core.h +1338 -0
  914. package/dist/prebuilt/iOS-iphonesimulator/include/ogr_feature.h +1997 -0
  915. package/dist/prebuilt/iOS-iphonesimulator/include/ogr_featurestyle.h +874 -0
  916. package/dist/prebuilt/iOS-iphonesimulator/include/ogr_geocoding.h +62 -0
  917. package/dist/prebuilt/iOS-iphonesimulator/include/ogr_geomcoordinateprecision.h +95 -0
  918. package/dist/prebuilt/iOS-iphonesimulator/include/ogr_geometry.h +4282 -0
  919. package/dist/prebuilt/iOS-iphonesimulator/include/ogr_p.h +341 -0
  920. package/dist/prebuilt/iOS-iphonesimulator/include/ogr_recordbatch.h +120 -0
  921. package/dist/prebuilt/iOS-iphonesimulator/include/ogr_spatialref.h +1021 -0
  922. package/dist/prebuilt/iOS-iphonesimulator/include/ogr_srs_api.h +1102 -0
  923. package/dist/prebuilt/iOS-iphonesimulator/include/ogr_swq.h +493 -0
  924. package/dist/prebuilt/iOS-iphonesimulator/include/ogrsf_frmts.h +749 -0
  925. package/dist/prebuilt/iOS-iphonesimulator/include/rawdataset.h +271 -0
  926. package/dist/prebuilt/iOS-iphonesimulator/include/vrtdataset.h +2298 -0
  927. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/GDALLogoBW.svg +138 -0
  928. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/GDALLogoColor.svg +126 -0
  929. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/GDALLogoGS.svg +126 -0
  930. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/LICENSE.TXT +467 -0
  931. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/MM_m_idofic.csv +321 -0
  932. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/cubewerx_extra.wkt +48 -0
  933. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/default.rsc +0 -0
  934. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/ecw_cs.wkt +1453 -0
  935. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/epsg.wkt +1 -0
  936. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/esri_StatePlane_extra.wkt +631 -0
  937. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/gdalicon.png +0 -0
  938. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/gdalinfo_output.schema.json +346 -0
  939. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/gdalmdiminfo_output.schema.json +321 -0
  940. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/gdaltileindex.xsd +269 -0
  941. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/gdalvrt.xsd +880 -0
  942. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/gfs.xsd +246 -0
  943. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/gml_registry.xml +117 -0
  944. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/gml_registry.xsd +66 -0
  945. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_center.csv +251 -0
  946. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_process.csv +102 -0
  947. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_subcenter.csv +63 -0
  948. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_0_0.csv +261 -0
  949. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_0_1.csv +261 -0
  950. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_0_13.csv +261 -0
  951. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_0_14.csv +261 -0
  952. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_0_15.csv +261 -0
  953. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_0_16.csv +261 -0
  954. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_0_17.csv +11 -0
  955. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_0_18.csv +261 -0
  956. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_0_19.csv +261 -0
  957. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_0_190.csv +261 -0
  958. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_0_191.csv +261 -0
  959. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_0_2.csv +261 -0
  960. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_0_20.csv +261 -0
  961. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_0_21.csv +261 -0
  962. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_0_3.csv +261 -0
  963. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_0_4.csv +261 -0
  964. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_0_5.csv +261 -0
  965. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_0_6.csv +261 -0
  966. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_0_7.csv +261 -0
  967. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_10_0.csv +261 -0
  968. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_10_1.csv +261 -0
  969. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_10_191.csv +261 -0
  970. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_10_2.csv +261 -0
  971. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_10_3.csv +261 -0
  972. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_10_4.csv +261 -0
  973. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_1_0.csv +261 -0
  974. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_1_1.csv +261 -0
  975. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_1_2.csv +261 -0
  976. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_20_0.csv +261 -0
  977. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_20_1.csv +261 -0
  978. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_20_2.csv +261 -0
  979. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_2_0.csv +261 -0
  980. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_2_3.csv +261 -0
  981. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_2_4.csv +261 -0
  982. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_2_5.csv +261 -0
  983. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_2_6.csv +261 -0
  984. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_3_0.csv +261 -0
  985. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_3_1.csv +261 -0
  986. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_3_2.csv +28 -0
  987. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_3_3.csv +8 -0
  988. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_3_4.csv +14 -0
  989. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_3_5.csv +11 -0
  990. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_3_6.csv +11 -0
  991. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_4_0.csv +261 -0
  992. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_4_1.csv +261 -0
  993. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_4_10.csv +261 -0
  994. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_4_2.csv +261 -0
  995. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_4_3.csv +261 -0
  996. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_4_4.csv +261 -0
  997. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_4_5.csv +261 -0
  998. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_4_6.csv +261 -0
  999. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_4_7.csv +261 -0
  1000. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_4_8.csv +261 -0
  1001. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_4_9.csv +261 -0
  1002. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_local_Canada.csv +5 -0
  1003. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_local_HPC.csv +2 -0
  1004. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_local_MRMS.csv +175 -0
  1005. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_local_NCEP.csv +401 -0
  1006. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_local_NDFD.csv +38 -0
  1007. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_2_local_index.csv +7 -0
  1008. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_4_5.csv +261 -0
  1009. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/grib2_table_versions.csv +3 -0
  1010. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/gt_datum.csv +229 -0
  1011. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/gt_ellips.csv +24 -0
  1012. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/header.dxf +1124 -0
  1013. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/inspire_cp_BasicPropertyUnit.gfs +57 -0
  1014. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/inspire_cp_CadastralBoundary.gfs +60 -0
  1015. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/inspire_cp_CadastralParcel.gfs +81 -0
  1016. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/inspire_cp_CadastralZoning.gfs +161 -0
  1017. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_AdmArea.gfs +59 -0
  1018. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_AdmBdry.gfs +49 -0
  1019. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_AdmPt.gfs +59 -0
  1020. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_BldA.gfs +54 -0
  1021. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_BldL.gfs +54 -0
  1022. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_Cntr.gfs +54 -0
  1023. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_CommBdry.gfs +49 -0
  1024. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_CommPt.gfs +59 -0
  1025. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_Cstline.gfs +54 -0
  1026. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_ElevPt.gfs +54 -0
  1027. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_GCP.gfs +94 -0
  1028. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_LeveeEdge.gfs +49 -0
  1029. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_RailCL.gfs +54 -0
  1030. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_RdASL.gfs +44 -0
  1031. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_RdArea.gfs +54 -0
  1032. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_RdCompt.gfs +59 -0
  1033. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_RdEdg.gfs +59 -0
  1034. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_RdMgtBdry.gfs +49 -0
  1035. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_RdSgmtA.gfs +59 -0
  1036. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_RvrMgtBdry.gfs +49 -0
  1037. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_SBAPt.gfs +49 -0
  1038. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_SBArea.gfs +54 -0
  1039. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_SBBdry.gfs +44 -0
  1040. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_WA.gfs +54 -0
  1041. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_WL.gfs +54 -0
  1042. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_WStrA.gfs +54 -0
  1043. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/jpfgdgml_WStrL.gfs +54 -0
  1044. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/nitf_spec.xml +3306 -0
  1045. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/nitf_spec.xsd +189 -0
  1046. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/ogrinfo_output.schema.json +528 -0
  1047. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/ogrvrt.xsd +546 -0
  1048. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/osmconf.ini +132 -0
  1049. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/ozi_datum.csv +131 -0
  1050. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/ozi_ellips.csv +35 -0
  1051. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/pci_datum.txt +530 -0
  1052. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/pci_ellips.txt +129 -0
  1053. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/pdfcomposition.xsd +721 -0
  1054. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/ruian_vf_ob_v1.gfs +1455 -0
  1055. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/ruian_vf_st_uvoh_v1.gfs +86 -0
  1056. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/ruian_vf_st_v1.gfs +1489 -0
  1057. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/ruian_vf_v1.gfs +2126 -0
  1058. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/s57agencies.csv +249 -0
  1059. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/s57attributes.csv +484 -0
  1060. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/s57expectedinput.csv +1008 -0
  1061. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/s57objectclasses.csv +287 -0
  1062. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/seed_2d.dgn +0 -0
  1063. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/seed_3d.dgn +0 -0
  1064. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/stateplane.csv +259 -0
  1065. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/tms_LINZAntarticaMapTileGrid.json +190 -0
  1066. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/tms_MapML_APSTILE.json +268 -0
  1067. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/tms_MapML_CBMTILE.json +346 -0
  1068. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/tms_NZTM2000.json +243 -0
  1069. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/trailer.dxf +434 -0
  1070. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/vdv452.xml +367 -0
  1071. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/vdv452.xsd +63 -0
  1072. package/package.json +40 -0
@@ -0,0 +1,2298 @@
1
+ /******************************************************************************
2
+ * $Id$
3
+ *
4
+ * Project: Virtual GDAL Datasets
5
+ * Purpose: Declaration of virtual gdal dataset classes.
6
+ * Author: Frank Warmerdam, warmerdam@pobox.com
7
+ *
8
+ ******************************************************************************
9
+ * Copyright (c) 2001, Frank Warmerdam <warmerdam@pobox.com>
10
+ * Copyright (c) 2007-2013, Even Rouault <even dot rouault at spatialys.com>
11
+ *
12
+ * Permission is hereby granted, free of charge, to any person obtaining a
13
+ * copy of this software and associated documentation files (the "Software"),
14
+ * to deal in the Software without restriction, including without limitation
15
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16
+ * and/or sell copies of the Software, and to permit persons to whom the
17
+ * Software is furnished to do so, subject to the following conditions:
18
+ *
19
+ * The above copyright notice and this permission notice shall be included
20
+ * in all copies or substantial portions of the Software.
21
+ *
22
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28
+ * DEALINGS IN THE SOFTWARE.
29
+ ****************************************************************************/
30
+
31
+ #ifndef VIRTUALDATASET_H_INCLUDED
32
+ #define VIRTUALDATASET_H_INCLUDED
33
+
34
+ #ifndef DOXYGEN_SKIP
35
+
36
+ #include "cpl_hash_set.h"
37
+ #include "cpl_minixml.h"
38
+ #include "gdal_pam.h"
39
+ #include "gdal_priv.h"
40
+ #include "gdal_rat.h"
41
+ #include "gdal_vrt.h"
42
+ #include "gdal_rat.h"
43
+
44
+ #include <functional>
45
+ #include <map>
46
+ #include <memory>
47
+ #include <vector>
48
+
49
+ CPLErr GDALRegisterDefaultPixelFunc();
50
+ void GDALVRTRegisterDefaultProcessedDatasetFuncs();
51
+ CPLString VRTSerializeNoData(double dfVal, GDALDataType eDataType,
52
+ int nPrecision);
53
+
54
+ #if 0
55
+ int VRTWarpedOverviewTransform( void *pTransformArg, int bDstToSrc,
56
+ int nPointCount,
57
+ double *padfX, double *padfY, double *padfZ,
58
+ int *panSuccess );
59
+ void* VRTDeserializeWarpedOverviewTransformer( CPLXMLNode *psTree );
60
+ #endif
61
+
62
+ /************************************************************************/
63
+ /* VRTOverviewInfo() */
64
+ /************************************************************************/
65
+ class VRTOverviewInfo
66
+ {
67
+ CPL_DISALLOW_COPY_ASSIGN(VRTOverviewInfo)
68
+
69
+ public:
70
+ CPLString osFilename{};
71
+ int nBand = 0;
72
+ GDALRasterBand *poBand = nullptr;
73
+ int bTriedToOpen = FALSE;
74
+
75
+ VRTOverviewInfo() = default;
76
+
77
+ VRTOverviewInfo(VRTOverviewInfo &&oOther) noexcept
78
+ : osFilename(std::move(oOther.osFilename)), nBand(oOther.nBand),
79
+ poBand(oOther.poBand), bTriedToOpen(oOther.bTriedToOpen)
80
+ {
81
+ oOther.poBand = nullptr;
82
+ }
83
+
84
+ ~VRTOverviewInfo()
85
+ {
86
+ CloseDataset();
87
+ }
88
+
89
+ bool CloseDataset()
90
+ {
91
+ if (poBand == nullptr)
92
+ return false;
93
+
94
+ GDALDataset *poDS = poBand->GetDataset();
95
+ // Nullify now, to prevent recursion in some cases !
96
+ poBand = nullptr;
97
+ if (poDS->GetShared())
98
+ GDALClose(/* (GDALDatasetH) */ poDS);
99
+ else
100
+ poDS->Dereference();
101
+
102
+ return true;
103
+ }
104
+ };
105
+
106
+ /************************************************************************/
107
+ /* VRTSource */
108
+ /************************************************************************/
109
+
110
+ class CPL_DLL VRTSource
111
+ {
112
+ public:
113
+ struct CPL_DLL WorkingState
114
+ {
115
+ // GByte whose initialization constructor does nothing
116
+ #ifdef __GNUC__
117
+ #pragma GCC diagnostic push
118
+ #pragma GCC diagnostic ignored "-Weffc++"
119
+ #endif
120
+ struct NoInitByte
121
+ {
122
+ GByte value;
123
+
124
+ // cppcheck-suppress uninitMemberVar
125
+ NoInitByte()
126
+ {
127
+ // do nothing
128
+ /* coverity[uninit_member] */
129
+ }
130
+
131
+ inline operator GByte() const
132
+ {
133
+ return value;
134
+ }
135
+ };
136
+ #ifdef __GNUC__
137
+ #pragma GCC diagnostic pop
138
+ #endif
139
+
140
+ std::vector<NoInitByte> m_abyWrkBuffer{};
141
+ std::vector<NoInitByte> m_abyWrkBufferMask{};
142
+ };
143
+
144
+ virtual ~VRTSource();
145
+
146
+ virtual CPLErr RasterIO(GDALDataType eVRTBandDataType, int nXOff, int nYOff,
147
+ int nXSize, int nYSize, void *pData, int nBufXSize,
148
+ int nBufYSize, GDALDataType eBufType,
149
+ GSpacing nPixelSpace, GSpacing nLineSpace,
150
+ GDALRasterIOExtraArg *psExtraArg,
151
+ WorkingState &oWorkingState) = 0;
152
+
153
+ virtual double GetMinimum(int nXSize, int nYSize, int *pbSuccess) = 0;
154
+ virtual double GetMaximum(int nXSize, int nYSize, int *pbSuccess) = 0;
155
+ virtual CPLErr GetHistogram(int nXSize, int nYSize, double dfMin,
156
+ double dfMax, int nBuckets,
157
+ GUIntBig *panHistogram, int bIncludeOutOfRange,
158
+ int bApproxOK, GDALProgressFunc pfnProgress,
159
+ void *pProgressData) = 0;
160
+
161
+ virtual CPLErr XMLInit(const CPLXMLNode *psTree, const char *,
162
+ std::map<CPLString, GDALDataset *> &) = 0;
163
+ virtual CPLXMLNode *SerializeToXML(const char *pszVRTPath) = 0;
164
+
165
+ virtual void GetFileList(char ***ppapszFileList, int *pnSize,
166
+ int *pnMaxSize, CPLHashSet *hSetFiles);
167
+
168
+ virtual int IsSimpleSource()
169
+ {
170
+ return FALSE;
171
+ }
172
+
173
+ virtual CPLErr FlushCache(bool /*bAtClosing*/)
174
+ {
175
+ return CE_None;
176
+ }
177
+ };
178
+
179
+ typedef VRTSource *(*VRTSourceParser)(
180
+ const CPLXMLNode *, const char *,
181
+ std::map<CPLString, GDALDataset *> &oMapSharedSources);
182
+
183
+ VRTSource *
184
+ VRTParseCoreSources(const CPLXMLNode *psTree, const char *,
185
+ std::map<CPLString, GDALDataset *> &oMapSharedSources);
186
+ VRTSource *
187
+ VRTParseFilterSources(const CPLXMLNode *psTree, const char *,
188
+ std::map<CPLString, GDALDataset *> &oMapSharedSources);
189
+ VRTSource *
190
+ VRTParseArraySource(const CPLXMLNode *psTree, const char *,
191
+ std::map<CPLString, GDALDataset *> &oMapSharedSources);
192
+
193
+ /************************************************************************/
194
+ /* VRTDataset */
195
+ /************************************************************************/
196
+
197
+ class VRTRasterBand;
198
+
199
+ template <class T> struct VRTFlushCacheStruct
200
+ {
201
+ static CPLErr FlushCache(T &obj, bool bAtClosing);
202
+ };
203
+
204
+ class VRTWarpedDataset;
205
+ class VRTPansharpenedDataset;
206
+ class VRTProcessedDataset;
207
+ class VRTGroup;
208
+
209
+ class CPL_DLL VRTDataset CPL_NON_FINAL : public GDALDataset
210
+ {
211
+ friend class VRTRasterBand;
212
+ friend struct VRTFlushCacheStruct<VRTDataset>;
213
+ friend struct VRTFlushCacheStruct<VRTWarpedDataset>;
214
+ friend struct VRTFlushCacheStruct<VRTPansharpenedDataset>;
215
+ friend struct VRTFlushCacheStruct<VRTProcessedDataset>;
216
+ friend class VRTSourcedRasterBand;
217
+ friend class VRTSimpleSource;
218
+ friend VRTDatasetH CPL_STDCALL VRTCreate(int nXSize, int nYSize);
219
+
220
+ std::vector<gdal::GCP> m_asGCPs{};
221
+ std::unique_ptr<OGRSpatialReference, OGRSpatialReferenceReleaser>
222
+ m_poGCP_SRS{};
223
+
224
+ bool m_bNeedsFlush = false;
225
+ bool m_bWritable = true;
226
+ bool m_bCanTakeRef = true;
227
+
228
+ char *m_pszVRTPath = nullptr;
229
+
230
+ VRTRasterBand *m_poMaskBand = nullptr;
231
+
232
+ int m_bCompatibleForDatasetIO = -1;
233
+ int CheckCompatibleForDatasetIO();
234
+
235
+ // Virtual (ie not materialized) overviews, created either implicitly
236
+ // when it is cheap to do it, or explicitly.
237
+ std::vector<GDALDataset *> m_apoOverviews{};
238
+ std::vector<GDALDataset *> m_apoOverviewsBak{};
239
+ CPLStringList m_aosOverviewList{}; // only temporarily set during Open()
240
+ CPLString m_osOverviewResampling{};
241
+ std::vector<int> m_anOverviewFactors{};
242
+
243
+ char **m_papszXMLVRTMetadata = nullptr;
244
+
245
+ std::map<CPLString, GDALDataset *> m_oMapSharedSources{};
246
+ std::shared_ptr<VRTGroup> m_poRootGroup{};
247
+
248
+ VRTSource::WorkingState m_oWorkingState{};
249
+
250
+ static constexpr const char *const apszSpecialSyntax[] = {
251
+ "NITF_IM:{ANY}:{FILENAME}", "PDF:{ANY}:{FILENAME}",
252
+ "RASTERLITE:{FILENAME},{ANY}", "TILEDB:\"{FILENAME}\":{ANY}",
253
+ "TILEDB:{FILENAME}:{ANY}"};
254
+
255
+ VRTRasterBand *InitBand(const char *pszSubclass, int nBand,
256
+ bool bAllowPansharpenedOrProcessed);
257
+ static GDALDataset *OpenVRTProtocol(const char *pszSpec);
258
+ bool AddVirtualOverview(int nOvFactor, const char *pszResampling);
259
+
260
+ bool GetShiftedDataset(int nXOff, int nYOff, int nXSize, int nYSize,
261
+ GDALDataset *&poSrcDataset, int &nSrcXOff,
262
+ int &nSrcYOff);
263
+
264
+ CPL_DISALLOW_COPY_ASSIGN(VRTDataset)
265
+
266
+ protected:
267
+ bool m_bBlockSizeSpecified = false;
268
+ int m_nBlockXSize = 0;
269
+ int m_nBlockYSize = 0;
270
+
271
+ std::unique_ptr<OGRSpatialReference, OGRSpatialReferenceReleaser> m_poSRS{};
272
+
273
+ int m_bGeoTransformSet = false;
274
+ double m_adfGeoTransform[6];
275
+
276
+ virtual int CloseDependentDatasets() override;
277
+
278
+ public:
279
+ VRTDataset(int nXSize, int nYSize, int nBlockXSize = 0,
280
+ int nBlockYSize = 0);
281
+ virtual ~VRTDataset();
282
+
283
+ void SetNeedsFlush()
284
+ {
285
+ m_bNeedsFlush = true;
286
+ }
287
+
288
+ virtual CPLErr FlushCache(bool bAtClosing) override;
289
+
290
+ void SetWritable(int bWritableIn)
291
+ {
292
+ m_bWritable = CPL_TO_BOOL(bWritableIn);
293
+ }
294
+
295
+ virtual CPLErr CreateMaskBand(int nFlags) override;
296
+ void SetMaskBand(VRTRasterBand *poMaskBand);
297
+
298
+ const OGRSpatialReference *GetSpatialRef() const override
299
+ {
300
+ return m_poSRS.get();
301
+ }
302
+
303
+ CPLErr SetSpatialRef(const OGRSpatialReference *poSRS) override;
304
+
305
+ virtual CPLErr GetGeoTransform(double *) override;
306
+ virtual CPLErr SetGeoTransform(double *) override;
307
+
308
+ virtual CPLErr SetMetadata(char **papszMetadata,
309
+ const char *pszDomain = "") override;
310
+ virtual CPLErr SetMetadataItem(const char *pszName, const char *pszValue,
311
+ const char *pszDomain = "") override;
312
+
313
+ virtual char **GetMetadata(const char *pszDomain = "") override;
314
+
315
+ virtual int GetGCPCount() override;
316
+
317
+ const OGRSpatialReference *GetGCPSpatialRef() const override
318
+ {
319
+ return m_poGCP_SRS.get();
320
+ }
321
+
322
+ virtual const GDAL_GCP *GetGCPs() override;
323
+ using GDALDataset::SetGCPs;
324
+ CPLErr SetGCPs(int nGCPCount, const GDAL_GCP *pasGCPList,
325
+ const OGRSpatialReference *poSRS) override;
326
+
327
+ virtual CPLErr AddBand(GDALDataType eType,
328
+ char **papszOptions = nullptr) override;
329
+
330
+ virtual char **GetFileList() override;
331
+
332
+ virtual CPLErr IRasterIO(GDALRWFlag eRWFlag, int nXOff, int nYOff,
333
+ int nXSize, int nYSize, void *pData, int nBufXSize,
334
+ int nBufYSize, GDALDataType eBufType,
335
+ int nBandCount, int *panBandMap,
336
+ GSpacing nPixelSpace, GSpacing nLineSpace,
337
+ GSpacing nBandSpace,
338
+ GDALRasterIOExtraArg *psExtraArg) override;
339
+
340
+ virtual CPLStringList
341
+ GetCompressionFormats(int nXOff, int nYOff, int nXSize, int nYSize,
342
+ int nBandCount, const int *panBandList) override;
343
+ virtual CPLErr ReadCompressedData(const char *pszFormat, int nXOff,
344
+ int nYOff, int nXSize, int nYSize,
345
+ int nBandCount, const int *panBandList,
346
+ void **ppBuffer, size_t *pnBufferSize,
347
+ char **ppszDetailedFormat) override;
348
+
349
+ virtual CPLErr AdviseRead(int nXOff, int nYOff, int nXSize, int nYSize,
350
+ int nBufXSize, int nBufYSize, GDALDataType eDT,
351
+ int nBandCount, int *panBandList,
352
+ char **papszOptions) override;
353
+
354
+ virtual CPLXMLNode *SerializeToXML(const char *pszVRTPath);
355
+ virtual CPLErr XMLInit(const CPLXMLNode *, const char *);
356
+
357
+ virtual CPLErr IBuildOverviews(const char *, int, const int *, int,
358
+ const int *, GDALProgressFunc, void *,
359
+ CSLConstList papszOptions) override;
360
+
361
+ std::shared_ptr<GDALGroup> GetRootGroup() const override;
362
+
363
+ void ClearStatistics() override;
364
+
365
+ /* Used by PDF driver for example */
366
+ GDALDataset *GetSingleSimpleSource();
367
+ void BuildVirtualOverviews();
368
+
369
+ void UnsetPreservedRelativeFilenames();
370
+
371
+ bool IsBlockSizeSpecified() const
372
+ {
373
+ return m_bBlockSizeSpecified;
374
+ }
375
+
376
+ int GetBlockXSize() const
377
+ {
378
+ return m_nBlockXSize;
379
+ }
380
+
381
+ int GetBlockYSize() const
382
+ {
383
+ return m_nBlockYSize;
384
+ }
385
+
386
+ static int Identify(GDALOpenInfo *);
387
+ static GDALDataset *Open(GDALOpenInfo *);
388
+ static VRTDataset *OpenXML(const char *, const char * = nullptr,
389
+ GDALAccess eAccess = GA_ReadOnly);
390
+ static GDALDataset *Create(const char *pszName, int nXSize, int nYSize,
391
+ int nBands, GDALDataType eType,
392
+ char **papszOptions);
393
+ static GDALDataset *
394
+ CreateMultiDimensional(const char *pszFilename,
395
+ CSLConstList papszRootGroupOptions,
396
+ CSLConstList papszOptions);
397
+ static CPLErr Delete(const char *pszFilename);
398
+
399
+ static std::string BuildSourceFilename(const char *pszFilename,
400
+ const char *pszVRTPath,
401
+ bool bRelativeToVRT);
402
+ };
403
+
404
+ /************************************************************************/
405
+ /* VRTWarpedDataset */
406
+ /************************************************************************/
407
+
408
+ class GDALWarpOperation;
409
+ class VRTWarpedRasterBand;
410
+
411
+ class CPL_DLL VRTWarpedDataset final : public VRTDataset
412
+ {
413
+ GDALWarpOperation *m_poWarper;
414
+
415
+ int m_nOverviewCount;
416
+ VRTWarpedDataset **m_papoOverviews;
417
+ int m_nSrcOvrLevel;
418
+
419
+ void CreateImplicitOverviews();
420
+
421
+ friend class VRTWarpedRasterBand;
422
+
423
+ CPL_DISALLOW_COPY_ASSIGN(VRTWarpedDataset)
424
+
425
+ protected:
426
+ virtual int CloseDependentDatasets() override;
427
+
428
+ public:
429
+ VRTWarpedDataset(int nXSize, int nYSize, int nBlockXSize = 0,
430
+ int nBlockYSize = 0);
431
+ virtual ~VRTWarpedDataset();
432
+
433
+ virtual CPLErr FlushCache(bool bAtClosing) override;
434
+
435
+ CPLErr Initialize(/* GDALWarpOptions */ void *);
436
+
437
+ virtual CPLErr IBuildOverviews(const char *, int, const int *, int,
438
+ const int *, GDALProgressFunc, void *,
439
+ CSLConstList papszOptions) override;
440
+
441
+ virtual CPLErr SetMetadataItem(const char *pszName, const char *pszValue,
442
+ const char *pszDomain = "") override;
443
+
444
+ virtual CPLXMLNode *SerializeToXML(const char *pszVRTPath) override;
445
+ virtual CPLErr XMLInit(const CPLXMLNode *, const char *) override;
446
+
447
+ virtual CPLErr AddBand(GDALDataType eType,
448
+ char **papszOptions = nullptr) override;
449
+
450
+ virtual char **GetFileList() override;
451
+
452
+ virtual CPLErr IRasterIO(GDALRWFlag eRWFlag, int nXOff, int nYOff,
453
+ int nXSize, int nYSize, void *pData, int nBufXSize,
454
+ int nBufYSize, GDALDataType eBufType,
455
+ int nBandCount, int *panBandMap,
456
+ GSpacing nPixelSpace, GSpacing nLineSpace,
457
+ GSpacing nBandSpace,
458
+ GDALRasterIOExtraArg *psExtraArg) override;
459
+
460
+ CPLErr ProcessBlock(int iBlockX, int iBlockY);
461
+
462
+ void GetBlockSize(int *, int *) const;
463
+ };
464
+
465
+ /************************************************************************/
466
+ /* VRTPansharpenedDataset */
467
+ /************************************************************************/
468
+
469
+ class GDALPansharpenOperation;
470
+
471
+ typedef enum
472
+ {
473
+ GTAdjust_Union,
474
+ GTAdjust_Intersection,
475
+ GTAdjust_None,
476
+ GTAdjust_NoneWithoutWarning
477
+ } GTAdjustment;
478
+
479
+ class VRTPansharpenedDataset final : public VRTDataset
480
+ {
481
+ friend class VRTPansharpenedRasterBand;
482
+
483
+ GDALPansharpenOperation *m_poPansharpener;
484
+ VRTPansharpenedDataset *m_poMainDataset;
485
+ std::vector<VRTPansharpenedDataset *> m_apoOverviewDatasets{};
486
+ // Map from absolute to relative.
487
+ std::map<CPLString, CPLString> m_oMapToRelativeFilenames{};
488
+
489
+ int m_bLoadingOtherBands;
490
+
491
+ GByte *m_pabyLastBufferBandRasterIO;
492
+ int m_nLastBandRasterIOXOff;
493
+ int m_nLastBandRasterIOYOff;
494
+ int m_nLastBandRasterIOXSize;
495
+ int m_nLastBandRasterIOYSize;
496
+ GDALDataType m_eLastBandRasterIODataType;
497
+
498
+ GTAdjustment m_eGTAdjustment;
499
+ int m_bNoDataDisabled;
500
+
501
+ std::vector<GDALDataset *> m_apoDatasetsToClose{};
502
+
503
+ CPL_DISALLOW_COPY_ASSIGN(VRTPansharpenedDataset)
504
+
505
+ protected:
506
+ virtual int CloseDependentDatasets() override;
507
+
508
+ public:
509
+ VRTPansharpenedDataset(int nXSize, int nYSize, int nBlockXSize = 0,
510
+ int nBlockYSize = 0);
511
+ virtual ~VRTPansharpenedDataset();
512
+
513
+ virtual CPLErr FlushCache(bool bAtClosing) override;
514
+
515
+ virtual CPLErr XMLInit(const CPLXMLNode *, const char *) override;
516
+ virtual CPLXMLNode *SerializeToXML(const char *pszVRTPath) override;
517
+
518
+ CPLErr XMLInit(const CPLXMLNode *psTree, const char *pszVRTPath,
519
+ GDALRasterBandH hPanchroBandIn, int nInputSpectralBandsIn,
520
+ GDALRasterBandH *pahInputSpectralBandsIn);
521
+
522
+ virtual CPLErr AddBand(GDALDataType eType,
523
+ char **papszOptions = nullptr) override;
524
+
525
+ virtual char **GetFileList() override;
526
+
527
+ virtual CPLErr IRasterIO(GDALRWFlag eRWFlag, int nXOff, int nYOff,
528
+ int nXSize, int nYSize, void *pData, int nBufXSize,
529
+ int nBufYSize, GDALDataType eBufType,
530
+ int nBandCount, int *panBandMap,
531
+ GSpacing nPixelSpace, GSpacing nLineSpace,
532
+ GSpacing nBandSpace,
533
+ GDALRasterIOExtraArg *psExtraArg) override;
534
+
535
+ void GetBlockSize(int *, int *) const;
536
+
537
+ GDALPansharpenOperation *GetPansharpener()
538
+ {
539
+ return m_poPansharpener;
540
+ }
541
+ };
542
+
543
+ /************************************************************************/
544
+ /* VRTPansharpenedDataset */
545
+ /************************************************************************/
546
+
547
+ /** Specialized implementation of VRTDataset that chains several processing
548
+ * steps applied on all bands at a time.
549
+ *
550
+ * @since 3.9
551
+ */
552
+ class VRTProcessedDataset final : public VRTDataset
553
+ {
554
+ public:
555
+ VRTProcessedDataset(int nXSize, int nYSize);
556
+ ~VRTProcessedDataset() override;
557
+
558
+ virtual CPLErr FlushCache(bool bAtClosing) override;
559
+
560
+ virtual CPLErr XMLInit(const CPLXMLNode *, const char *) override;
561
+ virtual CPLXMLNode *SerializeToXML(const char *pszVRTPath) override;
562
+
563
+ void GetBlockSize(int *, int *) const;
564
+
565
+ // GByte whose initialization constructor does nothing
566
+ #ifdef __GNUC__
567
+ #pragma GCC diagnostic push
568
+ #pragma GCC diagnostic ignored "-Weffc++"
569
+ #endif
570
+ struct NoInitByte
571
+ {
572
+ GByte value;
573
+
574
+ // cppcheck-suppress uninitMemberVar
575
+ NoInitByte()
576
+ {
577
+ // do nothing
578
+ /* coverity[uninit_member] */
579
+ }
580
+
581
+ inline operator GByte() const
582
+ {
583
+ return value;
584
+ }
585
+ };
586
+ #ifdef __GNUC__
587
+ #pragma GCC diagnostic pop
588
+ #endif
589
+
590
+ private:
591
+ friend class VRTProcessedRasterBand;
592
+
593
+ //! Data for a processing step.
594
+ struct Step
595
+ {
596
+ //! Algorithm name
597
+ std::string osAlgorithm{};
598
+
599
+ //! Arguments to pass to the processing function.
600
+ CPLStringList aosArguments{};
601
+
602
+ //! Data type of the input buffer.
603
+ GDALDataType eInDT = GDT_Unknown;
604
+
605
+ //! Data type of the output buffer.
606
+ GDALDataType eOutDT = GDT_Unknown;
607
+
608
+ //! Number of input bands.
609
+ int nInBands = 0;
610
+
611
+ //! Number of output bands.
612
+ int nOutBands = 0;
613
+
614
+ //! Nodata values (nInBands) of the input bands.
615
+ std::vector<double> adfInNoData{};
616
+
617
+ //! Nodata values (nOutBands) of the output bands.
618
+ std::vector<double> adfOutNoData{};
619
+
620
+ //! Working data structure (private data of the implementation of the function)
621
+ VRTPDWorkingDataPtr pWorkingData = nullptr;
622
+
623
+ // NOTE: if adding a new member, edit the move constructor and
624
+ // assignment operators!
625
+
626
+ Step() = default;
627
+ ~Step();
628
+ Step(Step &&);
629
+ Step &operator=(Step &&);
630
+
631
+ private:
632
+ Step(const Step &) = delete;
633
+ Step &operator=(const Step &) = delete;
634
+ void deinit();
635
+ };
636
+
637
+ //! Directory of the VRT
638
+ std::string m_osVRTPath{};
639
+
640
+ //! Source dataset
641
+ std::unique_ptr<GDALDataset> m_poSrcDS{};
642
+
643
+ //! Processing steps.
644
+ std::vector<Step> m_aoSteps{};
645
+
646
+ //! Backup XML tree passed to XMLInit()
647
+ CPLXMLTreeCloser m_oXMLTree{nullptr};
648
+
649
+ //! Overview datasets (dynamically generated from the ones of m_poSrcDS)
650
+ std::vector<std::unique_ptr<GDALDataset>> m_apoOverviewDatasets{};
651
+
652
+ //! Input buffer of a processing step
653
+ std::vector<NoInitByte> m_abyInput{};
654
+
655
+ //! Output buffer of a processing step
656
+ std::vector<NoInitByte> m_abyOutput{};
657
+
658
+ CPLErr Init(const CPLXMLNode *, const char *,
659
+ const VRTProcessedDataset *poParentDS,
660
+ GDALDataset *poParentSrcDS, int iOvrLevel);
661
+
662
+ bool ParseStep(const CPLXMLNode *psStep, bool bIsFinalStep,
663
+ GDALDataType &eCurrentDT, int &nCurrentBandCount,
664
+ std::vector<double> &adfInNoData,
665
+ std::vector<double> &adfOutNoData);
666
+ bool ProcessRegion(int nXOff, int nYOff, int nBufXSize, int nBufYSize);
667
+ };
668
+
669
+ /************************************************************************/
670
+ /* VRTRasterBand */
671
+ /* */
672
+ /* Provides support for all the various kinds of metadata but */
673
+ /* no raster access. That is handled by derived classes. */
674
+ /************************************************************************/
675
+
676
+ constexpr double VRT_DEFAULT_NODATA_VALUE = -10000.0;
677
+
678
+ class CPL_DLL VRTRasterBand CPL_NON_FINAL : public GDALRasterBand
679
+ {
680
+ private:
681
+ void ResetNoDataValues();
682
+
683
+ protected:
684
+ friend class VRTDataset;
685
+
686
+ int m_bIsMaskBand = FALSE;
687
+
688
+ int m_bNoDataValueSet = FALSE;
689
+ // If set to true, will not report the existence of nodata.
690
+ int m_bHideNoDataValue = FALSE;
691
+ double m_dfNoDataValue = VRT_DEFAULT_NODATA_VALUE;
692
+
693
+ bool m_bNoDataSetAsInt64 = false;
694
+ int64_t m_nNoDataValueInt64 = GDAL_PAM_DEFAULT_NODATA_VALUE_INT64;
695
+
696
+ bool m_bNoDataSetAsUInt64 = false;
697
+ uint64_t m_nNoDataValueUInt64 = GDAL_PAM_DEFAULT_NODATA_VALUE_UINT64;
698
+
699
+ std::unique_ptr<GDALColorTable> m_poColorTable{};
700
+
701
+ GDALColorInterp m_eColorInterp = GCI_Undefined;
702
+
703
+ char *m_pszUnitType = nullptr;
704
+ CPLStringList m_aosCategoryNames{};
705
+
706
+ double m_dfOffset = 0.0;
707
+ double m_dfScale = 1.0;
708
+
709
+ CPLXMLNode *m_psSavedHistograms = nullptr;
710
+
711
+ void Initialize(int nXSize, int nYSize);
712
+
713
+ std::vector<VRTOverviewInfo> m_aoOverviewInfos{};
714
+
715
+ VRTRasterBand *m_poMaskBand = nullptr;
716
+
717
+ std::unique_ptr<GDALRasterAttributeTable> m_poRAT{};
718
+
719
+ CPL_DISALLOW_COPY_ASSIGN(VRTRasterBand)
720
+
721
+ bool IsNoDataValueInDataTypeRange() const;
722
+
723
+ public:
724
+ VRTRasterBand();
725
+ virtual ~VRTRasterBand();
726
+
727
+ virtual CPLErr XMLInit(const CPLXMLNode *, const char *,
728
+ std::map<CPLString, GDALDataset *> &);
729
+ virtual CPLXMLNode *SerializeToXML(const char *pszVRTPath,
730
+ bool &bHasWarnedAboutRAMUsage,
731
+ size_t &nAccRAMUsage);
732
+
733
+ CPLErr SetNoDataValue(double) override;
734
+ CPLErr SetNoDataValueAsInt64(int64_t nNoData) override;
735
+ CPLErr SetNoDataValueAsUInt64(uint64_t nNoData) override;
736
+ double GetNoDataValue(int *pbSuccess = nullptr) override;
737
+ int64_t GetNoDataValueAsInt64(int *pbSuccess = nullptr) override;
738
+ uint64_t GetNoDataValueAsUInt64(int *pbSuccess = nullptr) override;
739
+ CPLErr DeleteNoDataValue() override;
740
+
741
+ virtual CPLErr SetColorTable(GDALColorTable *) override;
742
+ virtual GDALColorTable *GetColorTable() override;
743
+
744
+ virtual GDALRasterAttributeTable *GetDefaultRAT() override;
745
+ virtual CPLErr
746
+ SetDefaultRAT(const GDALRasterAttributeTable *poRAT) override;
747
+
748
+ virtual CPLErr SetColorInterpretation(GDALColorInterp) override;
749
+ virtual GDALColorInterp GetColorInterpretation() override;
750
+
751
+ virtual const char *GetUnitType() override;
752
+ CPLErr SetUnitType(const char *) override;
753
+
754
+ virtual char **GetCategoryNames() override;
755
+ virtual CPLErr SetCategoryNames(char **) override;
756
+
757
+ virtual CPLErr SetMetadata(char **papszMD,
758
+ const char *pszDomain = "") override;
759
+ virtual CPLErr SetMetadataItem(const char *pszName, const char *pszValue,
760
+ const char *pszDomain = "") override;
761
+
762
+ virtual double GetOffset(int *pbSuccess = nullptr) override;
763
+ CPLErr SetOffset(double) override;
764
+ virtual double GetScale(int *pbSuccess = nullptr) override;
765
+ CPLErr SetScale(double) override;
766
+
767
+ virtual int GetOverviewCount() override;
768
+ virtual GDALRasterBand *GetOverview(int) override;
769
+
770
+ virtual CPLErr GetHistogram(double dfMin, double dfMax, int nBuckets,
771
+ GUIntBig *panHistogram, int bIncludeOutOfRange,
772
+ int bApproxOK, GDALProgressFunc,
773
+ void *pProgressData) override;
774
+
775
+ virtual CPLErr GetDefaultHistogram(double *pdfMin, double *pdfMax,
776
+ int *pnBuckets, GUIntBig **ppanHistogram,
777
+ int bForce, GDALProgressFunc,
778
+ void *pProgressData) override;
779
+
780
+ virtual CPLErr SetDefaultHistogram(double dfMin, double dfMax, int nBuckets,
781
+ GUIntBig *panHistogram) override;
782
+
783
+ CPLErr CopyCommonInfoFrom(GDALRasterBand *);
784
+
785
+ virtual void GetFileList(char ***ppapszFileList, int *pnSize,
786
+ int *pnMaxSize, CPLHashSet *hSetFiles);
787
+
788
+ virtual void SetDescription(const char *) override;
789
+
790
+ virtual GDALRasterBand *GetMaskBand() override;
791
+ virtual int GetMaskFlags() override;
792
+
793
+ virtual CPLErr CreateMaskBand(int nFlagsIn) override;
794
+
795
+ void SetMaskBand(VRTRasterBand *poMaskBand);
796
+
797
+ void SetIsMaskBand();
798
+
799
+ virtual bool IsMaskBand() const override;
800
+
801
+ CPLErr UnsetNoDataValue();
802
+
803
+ virtual int CloseDependentDatasets();
804
+
805
+ virtual int IsSourcedRasterBand()
806
+ {
807
+ return FALSE;
808
+ }
809
+
810
+ virtual int IsPansharpenRasterBand()
811
+ {
812
+ return FALSE;
813
+ }
814
+ };
815
+
816
+ /************************************************************************/
817
+ /* VRTSourcedRasterBand */
818
+ /************************************************************************/
819
+
820
+ class VRTSimpleSource;
821
+
822
+ class CPL_DLL VRTSourcedRasterBand CPL_NON_FINAL : public VRTRasterBand
823
+ {
824
+ private:
825
+ CPLString m_osLastLocationInfo{};
826
+ char **m_papszSourceList = nullptr;
827
+ int m_nSkipBufferInitialization = -1;
828
+
829
+ bool CanUseSourcesMinMaxImplementations();
830
+
831
+ bool IsMosaicOfNonOverlappingSimpleSourcesOfFullRasterNoResAndTypeChange(
832
+ bool bAllowMaxValAdjustment) const;
833
+
834
+ CPL_DISALLOW_COPY_ASSIGN(VRTSourcedRasterBand)
835
+
836
+ protected:
837
+ bool SkipBufferInitialization();
838
+
839
+ public:
840
+ int nSources = 0;
841
+ VRTSource **papoSources = nullptr;
842
+
843
+ VRTSourcedRasterBand(GDALDataset *poDS, int nBand);
844
+ VRTSourcedRasterBand(GDALDataType eType, int nXSize, int nYSize);
845
+ VRTSourcedRasterBand(GDALDataset *poDS, int nBand, GDALDataType eType,
846
+ int nXSize, int nYSize);
847
+ VRTSourcedRasterBand(GDALDataset *poDS, int nBand, GDALDataType eType,
848
+ int nXSize, int nYSize, int nBlockXSizeIn,
849
+ int nBlockYSizeIn);
850
+ virtual ~VRTSourcedRasterBand();
851
+
852
+ virtual CPLErr IRasterIO(GDALRWFlag, int, int, int, int, void *, int, int,
853
+ GDALDataType, GSpacing nPixelSpace,
854
+ GSpacing nLineSpace,
855
+ GDALRasterIOExtraArg *psExtraArg) override;
856
+
857
+ virtual int IGetDataCoverageStatus(int nXOff, int nYOff, int nXSize,
858
+ int nYSize, int nMaskFlagStop,
859
+ double *pdfDataPct) override;
860
+
861
+ virtual char **GetMetadataDomainList() override;
862
+ virtual const char *GetMetadataItem(const char *pszName,
863
+ const char *pszDomain = "") override;
864
+ virtual char **GetMetadata(const char *pszDomain = "") override;
865
+ virtual CPLErr SetMetadata(char **papszMetadata,
866
+ const char *pszDomain = "") override;
867
+ virtual CPLErr SetMetadataItem(const char *pszName, const char *pszValue,
868
+ const char *pszDomain = "") override;
869
+
870
+ virtual CPLErr XMLInit(const CPLXMLNode *, const char *,
871
+ std::map<CPLString, GDALDataset *> &) override;
872
+ virtual CPLXMLNode *SerializeToXML(const char *pszVRTPath,
873
+ bool &bHasWarnedAboutRAMUsage,
874
+ size_t &nAccRAMUsage) override;
875
+
876
+ virtual double GetMinimum(int *pbSuccess = nullptr) override;
877
+ virtual double GetMaximum(int *pbSuccess = nullptr) override;
878
+ virtual CPLErr ComputeRasterMinMax(int bApproxOK,
879
+ double *adfMinMax) override;
880
+ virtual CPLErr ComputeStatistics(int bApproxOK, double *pdfMin,
881
+ double *pdfMax, double *pdfMean,
882
+ double *pdfStdDev,
883
+ GDALProgressFunc pfnProgress,
884
+ void *pProgressData) override;
885
+ virtual CPLErr GetHistogram(double dfMin, double dfMax, int nBuckets,
886
+ GUIntBig *panHistogram, int bIncludeOutOfRange,
887
+ int bApproxOK, GDALProgressFunc pfnProgress,
888
+ void *pProgressData) override;
889
+
890
+ CPLErr AddSource(VRTSource *);
891
+
892
+ CPLErr AddSimpleSource(const char *pszFilename, int nBand,
893
+ double dfSrcXOff = -1, double dfSrcYOff = -1,
894
+ double dfSrcXSize = -1, double dfSrcYSize = -1,
895
+ double dfDstXOff = -1, double dfDstYOff = -1,
896
+ double dfDstXSize = -1, double dfDstYSize = -1,
897
+ const char *pszResampling = "near",
898
+ double dfNoDataValue = VRT_NODATA_UNSET);
899
+
900
+ CPLErr AddSimpleSource(GDALRasterBand *poSrcBand, double dfSrcXOff = -1,
901
+ double dfSrcYOff = -1, double dfSrcXSize = -1,
902
+ double dfSrcYSize = -1, double dfDstXOff = -1,
903
+ double dfDstYOff = -1, double dfDstXSize = -1,
904
+ double dfDstYSize = -1,
905
+ const char *pszResampling = "near",
906
+ double dfNoDataValue = VRT_NODATA_UNSET);
907
+
908
+ CPLErr AddComplexSource(const char *pszFilename, int nBand,
909
+ double dfSrcXOff = -1, double dfSrcYOff = -1,
910
+ double dfSrcXSize = -1, double dfSrcYSize = -1,
911
+ double dfDstXOff = -1, double dfDstYOff = -1,
912
+ double dfDstXSize = -1, double dfDstYSize = -1,
913
+ double dfScaleOff = 0.0, double dfScaleRatio = 1.0,
914
+ double dfNoDataValue = VRT_NODATA_UNSET,
915
+ int nColorTableComponent = 0);
916
+
917
+ CPLErr AddComplexSource(GDALRasterBand *poSrcBand, double dfSrcXOff = -1,
918
+ double dfSrcYOff = -1, double dfSrcXSize = -1,
919
+ double dfSrcYSize = -1, double dfDstXOff = -1,
920
+ double dfDstYOff = -1, double dfDstXSize = -1,
921
+ double dfDstYSize = -1, double dfScaleOff = 0.0,
922
+ double dfScaleRatio = 1.0,
923
+ double dfNoDataValue = VRT_NODATA_UNSET,
924
+ int nColorTableComponent = 0);
925
+
926
+ CPLErr AddMaskBandSource(GDALRasterBand *poSrcBand, double dfSrcXOff = -1,
927
+ double dfSrcYOff = -1, double dfSrcXSize = -1,
928
+ double dfSrcYSize = -1, double dfDstXOff = -1,
929
+ double dfDstYOff = -1, double dfDstXSize = -1,
930
+ double dfDstYSize = -1);
931
+
932
+ CPLErr AddFuncSource(VRTImageReadFunc pfnReadFunc, void *hCBData,
933
+ double dfNoDataValue = VRT_NODATA_UNSET);
934
+
935
+ void ConfigureSource(VRTSimpleSource *poSimpleSource,
936
+ GDALRasterBand *poSrcBand, int bAddAsMaskBand,
937
+ double dfSrcXOff, double dfSrcYOff, double dfSrcXSize,
938
+ double dfSrcYSize, double dfDstXOff, double dfDstYOff,
939
+ double dfDstXSize, double dfDstYSize);
940
+
941
+ void RemoveCoveredSources(CSLConstList papszOptions = nullptr);
942
+
943
+ bool CanIRasterIOBeForwardedToEachSource(
944
+ GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize,
945
+ int nBufXSize, int nBufYSize, GDALRasterIOExtraArg *psExtraArg) const;
946
+
947
+ virtual CPLErr IReadBlock(int, int, void *) override;
948
+
949
+ virtual void GetFileList(char ***ppapszFileList, int *pnSize,
950
+ int *pnMaxSize, CPLHashSet *hSetFiles) override;
951
+
952
+ virtual int CloseDependentDatasets() override;
953
+
954
+ virtual int IsSourcedRasterBand() override
955
+ {
956
+ return TRUE;
957
+ }
958
+
959
+ virtual CPLErr FlushCache(bool bAtClosing) override;
960
+ };
961
+
962
+ /************************************************************************/
963
+ /* VRTWarpedRasterBand */
964
+ /************************************************************************/
965
+
966
+ class CPL_DLL VRTWarpedRasterBand final : public VRTRasterBand
967
+ {
968
+ public:
969
+ VRTWarpedRasterBand(GDALDataset *poDS, int nBand,
970
+ GDALDataType eType = GDT_Unknown);
971
+ virtual ~VRTWarpedRasterBand();
972
+
973
+ virtual CPLXMLNode *SerializeToXML(const char *pszVRTPath,
974
+ bool &bHasWarnedAboutRAMUsage,
975
+ size_t &nAccRAMUsage) override;
976
+
977
+ virtual CPLErr IReadBlock(int, int, void *) override;
978
+ virtual CPLErr IWriteBlock(int, int, void *) override;
979
+
980
+ virtual CPLErr IRasterIO(GDALRWFlag eRWFlag, int nXOff, int nYOff,
981
+ int nXSize, int nYSize, void *pData, int nBufXSize,
982
+ int nBufYSize, GDALDataType eBufType,
983
+ GSpacing nPixelSpace, GSpacing nLineSpace,
984
+ GDALRasterIOExtraArg *psExtraArg) override;
985
+
986
+ virtual int GetOverviewCount() override;
987
+ virtual GDALRasterBand *GetOverview(int) override;
988
+
989
+ private:
990
+ int m_nIRasterIOCounter =
991
+ 0; //! Protects against infinite recursion inside IRasterIO()
992
+ };
993
+
994
+ /************************************************************************/
995
+ /* VRTPansharpenedRasterBand */
996
+ /************************************************************************/
997
+
998
+ class VRTPansharpenedRasterBand final : public VRTRasterBand
999
+ {
1000
+ int m_nIndexAsPansharpenedBand;
1001
+
1002
+ public:
1003
+ VRTPansharpenedRasterBand(GDALDataset *poDS, int nBand,
1004
+ GDALDataType eDataType = GDT_Unknown);
1005
+ virtual ~VRTPansharpenedRasterBand();
1006
+
1007
+ virtual CPLXMLNode *SerializeToXML(const char *pszVRTPath,
1008
+ bool &bHasWarnedAboutRAMUsage,
1009
+ size_t &nAccRAMUsage) override;
1010
+
1011
+ virtual CPLErr IReadBlock(int, int, void *) override;
1012
+
1013
+ virtual CPLErr IRasterIO(GDALRWFlag eRWFlag, int nXOff, int nYOff,
1014
+ int nXSize, int nYSize, void *pData, int nBufXSize,
1015
+ int nBufYSize, GDALDataType eBufType,
1016
+ GSpacing nPixelSpace, GSpacing nLineSpace,
1017
+ GDALRasterIOExtraArg *psExtraArg) override;
1018
+
1019
+ virtual int GetOverviewCount() override;
1020
+ virtual GDALRasterBand *GetOverview(int) override;
1021
+
1022
+ virtual int IsPansharpenRasterBand() override
1023
+ {
1024
+ return TRUE;
1025
+ }
1026
+
1027
+ void SetIndexAsPansharpenedBand(int nIdx)
1028
+ {
1029
+ m_nIndexAsPansharpenedBand = nIdx;
1030
+ }
1031
+
1032
+ int GetIndexAsPansharpenedBand() const
1033
+ {
1034
+ return m_nIndexAsPansharpenedBand;
1035
+ }
1036
+ };
1037
+
1038
+ /************************************************************************/
1039
+ /* VRTProcessedRasterBand */
1040
+ /************************************************************************/
1041
+
1042
+ class VRTProcessedRasterBand final : public VRTRasterBand
1043
+ {
1044
+ public:
1045
+ VRTProcessedRasterBand(VRTProcessedDataset *poDS, int nBand,
1046
+ GDALDataType eDataType = GDT_Unknown);
1047
+
1048
+ virtual CPLErr IReadBlock(int, int, void *) override;
1049
+
1050
+ virtual int GetOverviewCount() override;
1051
+ virtual GDALRasterBand *GetOverview(int) override;
1052
+
1053
+ virtual CPLXMLNode *SerializeToXML(const char *pszVRTPath,
1054
+ bool &bHasWarnedAboutRAMUsage,
1055
+ size_t &nAccRAMUsage) override;
1056
+ };
1057
+
1058
+ /************************************************************************/
1059
+ /* VRTDerivedRasterBand */
1060
+ /************************************************************************/
1061
+
1062
+ class VRTDerivedRasterBandPrivateData;
1063
+
1064
+ class CPL_DLL VRTDerivedRasterBand CPL_NON_FINAL : public VRTSourcedRasterBand
1065
+ {
1066
+ VRTDerivedRasterBandPrivateData *m_poPrivate;
1067
+ bool InitializePython();
1068
+ CPLErr
1069
+ GetPixelFunctionArguments(const CPLString &,
1070
+ std::vector<std::pair<CPLString, CPLString>> &);
1071
+
1072
+ CPL_DISALLOW_COPY_ASSIGN(VRTDerivedRasterBand)
1073
+
1074
+ public:
1075
+ char *pszFuncName;
1076
+ GDALDataType eSourceTransferType;
1077
+
1078
+ using PixelFunc =
1079
+ std::function<CPLErr(void **, int, void *, int, int, GDALDataType,
1080
+ GDALDataType, int, int, CSLConstList)>;
1081
+
1082
+ VRTDerivedRasterBand(GDALDataset *poDS, int nBand);
1083
+ VRTDerivedRasterBand(GDALDataset *poDS, int nBand, GDALDataType eType,
1084
+ int nXSize, int nYSize);
1085
+ virtual ~VRTDerivedRasterBand();
1086
+
1087
+ virtual CPLErr IRasterIO(GDALRWFlag, int, int, int, int, void *, int, int,
1088
+ GDALDataType, GSpacing nPixelSpace,
1089
+ GSpacing nLineSpace,
1090
+ GDALRasterIOExtraArg *psExtraArg) override;
1091
+
1092
+ virtual int IGetDataCoverageStatus(int nXOff, int nYOff, int nXSize,
1093
+ int nYSize, int nMaskFlagStop,
1094
+ double *pdfDataPct) override;
1095
+
1096
+ static CPLErr AddPixelFunction(const char *pszFuncNameIn,
1097
+ GDALDerivedPixelFunc pfnPixelFunc);
1098
+ static CPLErr AddPixelFunction(const char *pszFuncNameIn,
1099
+ GDALDerivedPixelFuncWithArgs pfnPixelFunc,
1100
+ const char *pszMetadata);
1101
+
1102
+ static const std::pair<PixelFunc, std::string> *
1103
+ GetPixelFunction(const char *pszFuncNameIn);
1104
+
1105
+ void SetPixelFunctionName(const char *pszFuncNameIn);
1106
+ void SetSourceTransferType(GDALDataType eDataType);
1107
+ void SetPixelFunctionLanguage(const char *pszLanguage);
1108
+
1109
+ virtual CPLErr XMLInit(const CPLXMLNode *, const char *,
1110
+ std::map<CPLString, GDALDataset *> &) override;
1111
+ virtual CPLXMLNode *SerializeToXML(const char *pszVRTPath,
1112
+ bool &bHasWarnedAboutRAMUsage,
1113
+ size_t &nAccRAMUsage) override;
1114
+
1115
+ virtual double GetMinimum(int *pbSuccess = nullptr) override;
1116
+ virtual double GetMaximum(int *pbSuccess = nullptr) override;
1117
+ virtual CPLErr ComputeRasterMinMax(int bApproxOK,
1118
+ double *adfMinMax) override;
1119
+ virtual CPLErr ComputeStatistics(int bApproxOK, double *pdfMin,
1120
+ double *pdfMax, double *pdfMean,
1121
+ double *pdfStdDev,
1122
+ GDALProgressFunc pfnProgress,
1123
+ void *pProgressData) override;
1124
+ virtual CPLErr GetHistogram(double dfMin, double dfMax, int nBuckets,
1125
+ GUIntBig *panHistogram, int bIncludeOutOfRange,
1126
+ int bApproxOK, GDALProgressFunc pfnProgress,
1127
+ void *pProgressData) override;
1128
+
1129
+ static void Cleanup();
1130
+ };
1131
+
1132
+ /************************************************************************/
1133
+ /* VRTRawRasterBand */
1134
+ /************************************************************************/
1135
+
1136
+ class RawRasterBand;
1137
+
1138
+ class CPL_DLL VRTRawRasterBand CPL_NON_FINAL : public VRTRasterBand
1139
+ {
1140
+ RawRasterBand *m_poRawRaster;
1141
+
1142
+ char *m_pszSourceFilename;
1143
+ int m_bRelativeToVRT;
1144
+
1145
+ CPL_DISALLOW_COPY_ASSIGN(VRTRawRasterBand)
1146
+
1147
+ public:
1148
+ VRTRawRasterBand(GDALDataset *poDS, int nBand,
1149
+ GDALDataType eType = GDT_Unknown);
1150
+ virtual ~VRTRawRasterBand();
1151
+
1152
+ virtual CPLErr XMLInit(const CPLXMLNode *, const char *,
1153
+ std::map<CPLString, GDALDataset *> &) override;
1154
+ virtual CPLXMLNode *SerializeToXML(const char *pszVRTPath,
1155
+ bool &bHasWarnedAboutRAMUsage,
1156
+ size_t &nAccRAMUsage) override;
1157
+
1158
+ virtual CPLErr IRasterIO(GDALRWFlag, int, int, int, int, void *, int, int,
1159
+ GDALDataType, GSpacing nPixelSpace,
1160
+ GSpacing nLineSpace,
1161
+ GDALRasterIOExtraArg *psExtraArg) override;
1162
+
1163
+ virtual CPLErr IReadBlock(int, int, void *) override;
1164
+ virtual CPLErr IWriteBlock(int, int, void *) override;
1165
+
1166
+ CPLErr SetRawLink(const char *pszFilename, const char *pszVRTPath,
1167
+ int bRelativeToVRT, vsi_l_offset nImageOffset,
1168
+ int nPixelOffset, int nLineOffset,
1169
+ const char *pszByteOrder);
1170
+
1171
+ void ClearRawLink();
1172
+
1173
+ CPLVirtualMem *GetVirtualMemAuto(GDALRWFlag eRWFlag, int *pnPixelSpace,
1174
+ GIntBig *pnLineSpace,
1175
+ char **papszOptions) override;
1176
+
1177
+ virtual void GetFileList(char ***ppapszFileList, int *pnSize,
1178
+ int *pnMaxSize, CPLHashSet *hSetFiles) override;
1179
+ };
1180
+
1181
+ /************************************************************************/
1182
+ /* VRTDriver */
1183
+ /************************************************************************/
1184
+
1185
+ class VRTDriver final : public GDALDriver
1186
+ {
1187
+ CPL_DISALLOW_COPY_ASSIGN(VRTDriver)
1188
+
1189
+ std::map<std::string, VRTSourceParser> m_oMapSourceParser{};
1190
+
1191
+ public:
1192
+ VRTDriver();
1193
+ virtual ~VRTDriver();
1194
+
1195
+ char **papszSourceParsers;
1196
+
1197
+ virtual char **GetMetadataDomainList() override;
1198
+ virtual char **GetMetadata(const char *pszDomain = "") override;
1199
+ virtual CPLErr SetMetadata(char **papszMetadata,
1200
+ const char *pszDomain = "") override;
1201
+
1202
+ VRTSource *
1203
+ ParseSource(const CPLXMLNode *psSrc, const char *pszVRTPath,
1204
+ std::map<CPLString, GDALDataset *> &oMapSharedSources);
1205
+ void AddSourceParser(const char *pszElementName, VRTSourceParser pfnParser);
1206
+ };
1207
+
1208
+ /************************************************************************/
1209
+ /* VRTSimpleSource */
1210
+ /************************************************************************/
1211
+
1212
+ class CPL_DLL VRTSimpleSource CPL_NON_FINAL : public VRTSource
1213
+ {
1214
+ CPL_DISALLOW_COPY_ASSIGN(VRTSimpleSource)
1215
+
1216
+ private:
1217
+ // Owned by the VRTDataset
1218
+ std::map<CPLString, GDALDataset *> *m_poMapSharedSources = nullptr;
1219
+
1220
+ mutable GDALRasterBand *m_poRasterBand = nullptr;
1221
+
1222
+ // When poRasterBand is a mask band, poMaskBandMainBand is the band
1223
+ // from which the mask band is taken.
1224
+ mutable GDALRasterBand *m_poMaskBandMainBand = nullptr;
1225
+
1226
+ CPLStringList m_aosOpenOptions{};
1227
+
1228
+ void OpenSource() const;
1229
+
1230
+ protected:
1231
+ friend class VRTSourcedRasterBand;
1232
+ friend class VRTDataset;
1233
+ friend class GDALTileIndexDataset;
1234
+ friend class GDALTileIndexBand;
1235
+
1236
+ int m_nBand = 0;
1237
+ bool m_bGetMaskBand = false;
1238
+
1239
+ /* Value for uninitialized source or destination window. It is chosen such
1240
+ * that SrcToDst() and DstToSrc() are no-ops if both source and destination
1241
+ * windows are unset.
1242
+ */
1243
+ static constexpr double UNINIT_WINDOW = -1.0;
1244
+
1245
+ double m_dfSrcXOff = UNINIT_WINDOW;
1246
+ double m_dfSrcYOff = UNINIT_WINDOW;
1247
+ double m_dfSrcXSize = UNINIT_WINDOW;
1248
+ double m_dfSrcYSize = UNINIT_WINDOW;
1249
+
1250
+ double m_dfDstXOff = UNINIT_WINDOW;
1251
+ double m_dfDstYOff = UNINIT_WINDOW;
1252
+ double m_dfDstXSize = UNINIT_WINDOW;
1253
+ double m_dfDstYSize = UNINIT_WINDOW;
1254
+
1255
+ CPLString m_osResampling{};
1256
+
1257
+ int m_nMaxValue = 0;
1258
+
1259
+ int m_bRelativeToVRTOri = -1;
1260
+ CPLString m_osSourceFileNameOri{};
1261
+ int m_nExplicitSharedStatus = -1; // -1 unknown, 0 = unshared, 1 = shared
1262
+ CPLString m_osSrcDSName{};
1263
+
1264
+ bool m_bDropRefOnSrcBand = true;
1265
+
1266
+ int NeedMaxValAdjustment() const;
1267
+
1268
+ GDALRasterBand *GetRasterBandNoOpen() const
1269
+ {
1270
+ return m_poRasterBand;
1271
+ }
1272
+
1273
+ void SetRasterBand(GDALRasterBand *poBand, bool bDropRef)
1274
+ {
1275
+ m_poRasterBand = poBand;
1276
+ m_bDropRefOnSrcBand = bDropRef;
1277
+ }
1278
+
1279
+ virtual bool ValidateOpenedBand(GDALRasterBand * /*poBand*/) const
1280
+ {
1281
+ return true;
1282
+ }
1283
+
1284
+ /** Returns whether the source window is set */
1285
+ bool IsSrcWinSet() const
1286
+ {
1287
+ return m_dfSrcXOff != UNINIT_WINDOW || m_dfSrcYOff != UNINIT_WINDOW ||
1288
+ m_dfSrcXSize != UNINIT_WINDOW || m_dfSrcYSize != UNINIT_WINDOW;
1289
+ }
1290
+
1291
+ /** Returns whether the destination window is set */
1292
+ bool IsDstWinSet() const
1293
+ {
1294
+ return m_dfDstXOff != UNINIT_WINDOW || m_dfDstYOff != UNINIT_WINDOW ||
1295
+ m_dfDstXSize != UNINIT_WINDOW || m_dfDstYSize != UNINIT_WINDOW;
1296
+ }
1297
+
1298
+ public:
1299
+ VRTSimpleSource();
1300
+ VRTSimpleSource(const VRTSimpleSource *poSrcSource, double dfXDstRatio,
1301
+ double dfYDstRatio);
1302
+ virtual ~VRTSimpleSource();
1303
+
1304
+ virtual CPLErr XMLInit(const CPLXMLNode *psTree, const char *,
1305
+ std::map<CPLString, GDALDataset *> &) override;
1306
+ virtual CPLXMLNode *SerializeToXML(const char *pszVRTPath) override;
1307
+
1308
+ CPLErr ParseSrcRectAndDstRect(const CPLXMLNode *psSrc);
1309
+
1310
+ void SetSrcBand(const char *pszFilename, int nBand);
1311
+ void SetSrcBand(GDALRasterBand *);
1312
+ void SetSrcMaskBand(GDALRasterBand *);
1313
+ void SetSrcWindow(double, double, double, double);
1314
+ void SetDstWindow(double, double, double, double);
1315
+ void GetDstWindow(double &, double &, double &, double &);
1316
+
1317
+ const std::string &GetSourceDatasetName() const
1318
+ {
1319
+ return m_osSrcDSName;
1320
+ }
1321
+
1322
+ const CPLString &GetResampling() const
1323
+ {
1324
+ return m_osResampling;
1325
+ }
1326
+
1327
+ void SetResampling(const char *pszResampling);
1328
+
1329
+ int GetSrcDstWindow(double, double, double, double, int, int,
1330
+ double *pdfReqXOff, double *pdfReqYOff,
1331
+ double *pdfReqXSize, double *pdfReqYSize, int *, int *,
1332
+ int *, int *, int *, int *, int *, int *,
1333
+ bool &bErrorOut);
1334
+
1335
+ virtual CPLErr RasterIO(GDALDataType eVRTBandDataType, int nXOff, int nYOff,
1336
+ int nXSize, int nYSize, void *pData, int nBufXSize,
1337
+ int nBufYSize, GDALDataType eBufType,
1338
+ GSpacing nPixelSpace, GSpacing nLineSpace,
1339
+ GDALRasterIOExtraArg *psExtraArgIn,
1340
+ WorkingState &oWorkingState) override;
1341
+
1342
+ virtual double GetMinimum(int nXSize, int nYSize, int *pbSuccess) override;
1343
+ virtual double GetMaximum(int nXSize, int nYSize, int *pbSuccess) override;
1344
+ virtual CPLErr GetHistogram(int nXSize, int nYSize, double dfMin,
1345
+ double dfMax, int nBuckets,
1346
+ GUIntBig *panHistogram, int bIncludeOutOfRange,
1347
+ int bApproxOK, GDALProgressFunc pfnProgress,
1348
+ void *pProgressData) override;
1349
+
1350
+ void DstToSrc(double dfX, double dfY, double &dfXOut, double &dfYOut) const;
1351
+ void SrcToDst(double dfX, double dfY, double &dfXOut, double &dfYOut) const;
1352
+
1353
+ virtual void GetFileList(char ***ppapszFileList, int *pnSize,
1354
+ int *pnMaxSize, CPLHashSet *hSetFiles) override;
1355
+
1356
+ virtual int IsSimpleSource() override
1357
+ {
1358
+ return TRUE;
1359
+ }
1360
+
1361
+ virtual const char *GetType()
1362
+ {
1363
+ return "SimpleSource";
1364
+ }
1365
+
1366
+ virtual CPLErr FlushCache(bool bAtClosing) override;
1367
+
1368
+ GDALRasterBand *GetRasterBand() const;
1369
+ GDALRasterBand *GetMaskBandMainBand();
1370
+ int IsSameExceptBandNumber(VRTSimpleSource *poOtherSource);
1371
+ CPLErr DatasetRasterIO(GDALDataType eVRTBandDataType, int nXOff, int nYOff,
1372
+ int nXSize, int nYSize, void *pData, int nBufXSize,
1373
+ int nBufYSize, GDALDataType eBufType, int nBandCount,
1374
+ int *panBandMap, GSpacing nPixelSpace,
1375
+ GSpacing nLineSpace, GSpacing nBandSpace,
1376
+ GDALRasterIOExtraArg *psExtraArg);
1377
+
1378
+ void UnsetPreservedRelativeFilenames();
1379
+
1380
+ void SetMaxValue(int nVal)
1381
+ {
1382
+ m_nMaxValue = nVal;
1383
+ }
1384
+ };
1385
+
1386
+ /************************************************************************/
1387
+ /* VRTAveragedSource */
1388
+ /************************************************************************/
1389
+
1390
+ class VRTAveragedSource final : public VRTSimpleSource
1391
+ {
1392
+ CPL_DISALLOW_COPY_ASSIGN(VRTAveragedSource)
1393
+
1394
+ int m_bNoDataSet = false;
1395
+ double m_dfNoDataValue = VRT_NODATA_UNSET;
1396
+
1397
+ public:
1398
+ VRTAveragedSource();
1399
+ virtual CPLErr RasterIO(GDALDataType eVRTBandDataType, int nXOff, int nYOff,
1400
+ int nXSize, int nYSize, void *pData, int nBufXSize,
1401
+ int nBufYSize, GDALDataType eBufType,
1402
+ GSpacing nPixelSpace, GSpacing nLineSpace,
1403
+ GDALRasterIOExtraArg *psExtraArgIn,
1404
+ WorkingState &oWorkingState) override;
1405
+
1406
+ virtual double GetMinimum(int nXSize, int nYSize, int *pbSuccess) override;
1407
+ virtual double GetMaximum(int nXSize, int nYSize, int *pbSuccess) override;
1408
+ virtual CPLErr GetHistogram(int nXSize, int nYSize, double dfMin,
1409
+ double dfMax, int nBuckets,
1410
+ GUIntBig *panHistogram, int bIncludeOutOfRange,
1411
+ int bApproxOK, GDALProgressFunc pfnProgress,
1412
+ void *pProgressData) override;
1413
+
1414
+ void SetNoDataValue(double dfNoDataValue);
1415
+
1416
+ virtual CPLXMLNode *SerializeToXML(const char *pszVRTPath) override;
1417
+
1418
+ virtual const char *GetType() override
1419
+ {
1420
+ return "AveragedSource";
1421
+ }
1422
+ };
1423
+
1424
+ /************************************************************************/
1425
+ /* VRTNoDataFromMaskSource */
1426
+ /************************************************************************/
1427
+
1428
+ class VRTNoDataFromMaskSource final : public VRTSimpleSource
1429
+ {
1430
+ CPL_DISALLOW_COPY_ASSIGN(VRTNoDataFromMaskSource)
1431
+
1432
+ bool m_bNoDataSet = false;
1433
+ double m_dfNoDataValue = 0;
1434
+ double m_dfMaskValueThreshold = 0;
1435
+ bool m_bHasRemappedValue = false;
1436
+ double m_dfRemappedValue = 0;
1437
+
1438
+ public:
1439
+ VRTNoDataFromMaskSource();
1440
+ virtual CPLErr RasterIO(GDALDataType eVRTBandDataType, int nXOff, int nYOff,
1441
+ int nXSize, int nYSize, void *pData, int nBufXSize,
1442
+ int nBufYSize, GDALDataType eBufType,
1443
+ GSpacing nPixelSpace, GSpacing nLineSpace,
1444
+ GDALRasterIOExtraArg *psExtraArgIn,
1445
+ WorkingState &oWorkingState) override;
1446
+
1447
+ virtual double GetMinimum(int nXSize, int nYSize, int *pbSuccess) override;
1448
+ virtual double GetMaximum(int nXSize, int nYSize, int *pbSuccess) override;
1449
+ virtual CPLErr GetHistogram(int nXSize, int nYSize, double dfMin,
1450
+ double dfMax, int nBuckets,
1451
+ GUIntBig *panHistogram, int bIncludeOutOfRange,
1452
+ int bApproxOK, GDALProgressFunc pfnProgress,
1453
+ void *pProgressData) override;
1454
+
1455
+ void SetParameters(double dfNoDataValue, double dfMaskValueThreshold);
1456
+ void SetParameters(double dfNoDataValue, double dfMaskValueThreshold,
1457
+ double dfRemappedValue);
1458
+
1459
+ virtual CPLErr XMLInit(const CPLXMLNode *psTree, const char *,
1460
+ std::map<CPLString, GDALDataset *> &) override;
1461
+ virtual CPLXMLNode *SerializeToXML(const char *pszVRTPath) override;
1462
+
1463
+ virtual const char *GetType() override
1464
+ {
1465
+ return "VRTNoDataFromMaskSource";
1466
+ }
1467
+ };
1468
+
1469
+ /************************************************************************/
1470
+ /* VRTComplexSource */
1471
+ /************************************************************************/
1472
+
1473
+ class CPL_DLL VRTComplexSource CPL_NON_FINAL : public VRTSimpleSource
1474
+ {
1475
+ CPL_DISALLOW_COPY_ASSIGN(VRTComplexSource)
1476
+
1477
+ protected:
1478
+ static constexpr int PROCESSING_FLAG_NODATA = 1 << 0;
1479
+ static constexpr int PROCESSING_FLAG_USE_MASK_BAND =
1480
+ 1 << 1; // Mutually exclusive with NODATA
1481
+ static constexpr int PROCESSING_FLAG_SCALING_LINEAR = 1 << 2;
1482
+ static constexpr int PROCESSING_FLAG_SCALING_EXPONENTIAL =
1483
+ 1 << 3; // Mutually exclusive with SCALING_LINEAR
1484
+ static constexpr int PROCESSING_FLAG_COLOR_TABLE_EXPANSION = 1 << 4;
1485
+ static constexpr int PROCESSING_FLAG_LUT = 1 << 5;
1486
+
1487
+ int m_nProcessingFlags = 0;
1488
+
1489
+ // adjusted value should be read with GetAdjustedNoDataValue()
1490
+ double m_dfNoDataValue = VRT_NODATA_UNSET;
1491
+ std::string
1492
+ m_osNoDataValueOri{}; // string value read in XML deserialization
1493
+
1494
+ double m_dfScaleOff = 0; // For linear scaling.
1495
+ double m_dfScaleRatio = 1; // For linear scaling.
1496
+
1497
+ // For non-linear scaling with a power function.
1498
+ bool m_bSrcMinMaxDefined = false;
1499
+ double m_dfSrcMin = 0;
1500
+ double m_dfSrcMax = 0;
1501
+ double m_dfDstMin = 0;
1502
+ double m_dfDstMax = 0;
1503
+ double m_dfExponent = 1;
1504
+
1505
+ int m_nColorTableComponent = 0;
1506
+
1507
+ std::vector<double> m_adfLUTInputs{};
1508
+ std::vector<double> m_adfLUTOutputs{};
1509
+
1510
+ double GetAdjustedNoDataValue() const;
1511
+
1512
+ template <class WorkingDT>
1513
+ CPLErr
1514
+ RasterIOInternal(GDALRasterBand *poSourceBand,
1515
+ GDALDataType eVRTBandDataType, int nReqXOff, int nReqYOff,
1516
+ int nReqXSize, int nReqYSize, void *pData, int nOutXSize,
1517
+ int nOutYSize, GDALDataType eBufType, GSpacing nPixelSpace,
1518
+ GSpacing nLineSpace, GDALRasterIOExtraArg *psExtraArg,
1519
+ GDALDataType eWrkDataType, WorkingState &oWorkingState);
1520
+
1521
+ template <class SourceDT, GDALDataType eSourceType>
1522
+ CPLErr RasterIOProcessNoData(GDALRasterBand *poSourceBand,
1523
+ GDALDataType eVRTBandDataType, int nReqXOff,
1524
+ int nReqYOff, int nReqXSize, int nReqYSize,
1525
+ void *pData, int nOutXSize, int nOutYSize,
1526
+ GDALDataType eBufType, GSpacing nPixelSpace,
1527
+ GSpacing nLineSpace,
1528
+ GDALRasterIOExtraArg *psExtraArg,
1529
+ WorkingState &oWorkingState);
1530
+
1531
+ public:
1532
+ VRTComplexSource() = default;
1533
+ VRTComplexSource(const VRTComplexSource *poSrcSource, double dfXDstRatio,
1534
+ double dfYDstRatio);
1535
+
1536
+ virtual CPLErr RasterIO(GDALDataType eVRTBandDataType, int nXOff, int nYOff,
1537
+ int nXSize, int nYSize, void *pData, int nBufXSize,
1538
+ int nBufYSize, GDALDataType eBufType,
1539
+ GSpacing nPixelSpace, GSpacing nLineSpace,
1540
+ GDALRasterIOExtraArg *psExtraArgIn,
1541
+ WorkingState &oWorkingState) override;
1542
+
1543
+ virtual double GetMinimum(int nXSize, int nYSize, int *pbSuccess) override;
1544
+ virtual double GetMaximum(int nXSize, int nYSize, int *pbSuccess) override;
1545
+ virtual CPLErr GetHistogram(int nXSize, int nYSize, double dfMin,
1546
+ double dfMax, int nBuckets,
1547
+ GUIntBig *panHistogram, int bIncludeOutOfRange,
1548
+ int bApproxOK, GDALProgressFunc pfnProgress,
1549
+ void *pProgressData) override;
1550
+
1551
+ virtual CPLXMLNode *SerializeToXML(const char *pszVRTPath) override;
1552
+ virtual CPLErr XMLInit(const CPLXMLNode *, const char *,
1553
+ std::map<CPLString, GDALDataset *> &) override;
1554
+
1555
+ virtual const char *GetType() override
1556
+ {
1557
+ return "ComplexSource";
1558
+ }
1559
+
1560
+ bool AreValuesUnchanged() const;
1561
+
1562
+ double LookupValue(double dfInput);
1563
+
1564
+ void SetNoDataValue(double dfNoDataValue);
1565
+
1566
+ void SetUseMaskBand(bool bUseMaskBand)
1567
+ {
1568
+ if (bUseMaskBand)
1569
+ m_nProcessingFlags |= PROCESSING_FLAG_USE_MASK_BAND;
1570
+ else
1571
+ m_nProcessingFlags &= ~PROCESSING_FLAG_USE_MASK_BAND;
1572
+ }
1573
+
1574
+ void SetLinearScaling(double dfOffset, double dfScale);
1575
+ void SetPowerScaling(double dfExponent, double dfSrcMin, double dfSrcMax,
1576
+ double dfDstMin, double dfDstMax);
1577
+ void SetColorTableComponent(int nComponent);
1578
+ };
1579
+
1580
+ /************************************************************************/
1581
+ /* VRTFilteredSource */
1582
+ /************************************************************************/
1583
+
1584
+ class VRTFilteredSource CPL_NON_FINAL : public VRTComplexSource
1585
+ {
1586
+ private:
1587
+ int IsTypeSupported(GDALDataType eTestType) const;
1588
+
1589
+ CPL_DISALLOW_COPY_ASSIGN(VRTFilteredSource)
1590
+
1591
+ protected:
1592
+ int m_nSupportedTypesCount;
1593
+ GDALDataType m_aeSupportedTypes[20];
1594
+
1595
+ int m_nExtraEdgePixels;
1596
+
1597
+ public:
1598
+ VRTFilteredSource();
1599
+ virtual ~VRTFilteredSource();
1600
+
1601
+ void SetExtraEdgePixels(int);
1602
+ void SetFilteringDataTypesSupported(int, GDALDataType *);
1603
+
1604
+ virtual CPLErr FilterData(int nXSize, int nYSize, GDALDataType eType,
1605
+ GByte *pabySrcData, GByte *pabyDstData) = 0;
1606
+
1607
+ virtual CPLErr RasterIO(GDALDataType eVRTBandDataType, int nXOff, int nYOff,
1608
+ int nXSize, int nYSize, void *pData, int nBufXSize,
1609
+ int nBufYSize, GDALDataType eBufType,
1610
+ GSpacing nPixelSpace, GSpacing nLineSpace,
1611
+ GDALRasterIOExtraArg *psExtraArg,
1612
+ WorkingState &oWorkingState) override;
1613
+ };
1614
+
1615
+ /************************************************************************/
1616
+ /* VRTKernelFilteredSource */
1617
+ /************************************************************************/
1618
+
1619
+ class VRTKernelFilteredSource CPL_NON_FINAL : public VRTFilteredSource
1620
+ {
1621
+ CPL_DISALLOW_COPY_ASSIGN(VRTKernelFilteredSource)
1622
+
1623
+ protected:
1624
+ int m_nKernelSize;
1625
+
1626
+ bool m_bSeparable;
1627
+
1628
+ double *m_padfKernelCoefs;
1629
+
1630
+ int m_bNormalized;
1631
+
1632
+ public:
1633
+ VRTKernelFilteredSource();
1634
+ virtual ~VRTKernelFilteredSource();
1635
+
1636
+ virtual CPLErr XMLInit(const CPLXMLNode *psTree, const char *,
1637
+ std::map<CPLString, GDALDataset *> &) override;
1638
+ virtual CPLXMLNode *SerializeToXML(const char *pszVRTPath) override;
1639
+
1640
+ virtual CPLErr FilterData(int nXSize, int nYSize, GDALDataType eType,
1641
+ GByte *pabySrcData, GByte *pabyDstData) override;
1642
+
1643
+ CPLErr SetKernel(int nKernelSize, bool bSeparable, double *padfCoefs);
1644
+ void SetNormalized(int);
1645
+ };
1646
+
1647
+ /************************************************************************/
1648
+ /* VRTAverageFilteredSource */
1649
+ /************************************************************************/
1650
+
1651
+ class VRTAverageFilteredSource final : public VRTKernelFilteredSource
1652
+ {
1653
+ CPL_DISALLOW_COPY_ASSIGN(VRTAverageFilteredSource)
1654
+
1655
+ public:
1656
+ explicit VRTAverageFilteredSource(int nKernelSize);
1657
+ virtual ~VRTAverageFilteredSource();
1658
+
1659
+ virtual CPLErr XMLInit(const CPLXMLNode *psTree, const char *,
1660
+ std::map<CPLString, GDALDataset *> &) override;
1661
+ virtual CPLXMLNode *SerializeToXML(const char *pszVRTPath) override;
1662
+ };
1663
+
1664
+ /************************************************************************/
1665
+ /* VRTFuncSource */
1666
+ /************************************************************************/
1667
+ class VRTFuncSource final : public VRTSource
1668
+ {
1669
+ CPL_DISALLOW_COPY_ASSIGN(VRTFuncSource)
1670
+
1671
+ public:
1672
+ VRTFuncSource();
1673
+ virtual ~VRTFuncSource();
1674
+
1675
+ virtual CPLErr XMLInit(const CPLXMLNode *, const char *,
1676
+ std::map<CPLString, GDALDataset *> &) override
1677
+ {
1678
+ return CE_Failure;
1679
+ }
1680
+
1681
+ virtual CPLXMLNode *SerializeToXML(const char *pszVRTPath) override;
1682
+
1683
+ virtual CPLErr RasterIO(GDALDataType eVRTBandDataType, int nXOff, int nYOff,
1684
+ int nXSize, int nYSize, void *pData, int nBufXSize,
1685
+ int nBufYSize, GDALDataType eBufType,
1686
+ GSpacing nPixelSpace, GSpacing nLineSpace,
1687
+ GDALRasterIOExtraArg *psExtraArg,
1688
+ WorkingState &oWorkingState) override;
1689
+
1690
+ virtual double GetMinimum(int nXSize, int nYSize, int *pbSuccess) override;
1691
+ virtual double GetMaximum(int nXSize, int nYSize, int *pbSuccess) override;
1692
+ virtual CPLErr GetHistogram(int nXSize, int nYSize, double dfMin,
1693
+ double dfMax, int nBuckets,
1694
+ GUIntBig *panHistogram, int bIncludeOutOfRange,
1695
+ int bApproxOK, GDALProgressFunc pfnProgress,
1696
+ void *pProgressData) override;
1697
+
1698
+ VRTImageReadFunc pfnReadFunc;
1699
+ void *pCBData;
1700
+ GDALDataType eType;
1701
+
1702
+ float fNoDataValue;
1703
+ };
1704
+
1705
+ /************************************************************************/
1706
+ /* VRTGroup */
1707
+ /************************************************************************/
1708
+
1709
+ #ifdef TMPEXPORT
1710
+ #define TMP_CPL_DLL CPL_DLL
1711
+ #else
1712
+ #define TMP_CPL_DLL
1713
+ #endif
1714
+
1715
+ class VRTMDArray;
1716
+ class VRTAttribute;
1717
+ class VRTDimension;
1718
+
1719
+ class VRTGroup final : public GDALGroup
1720
+ {
1721
+ public:
1722
+ struct Ref
1723
+ {
1724
+ VRTGroup *m_ptr;
1725
+
1726
+ explicit Ref(VRTGroup *ptr) : m_ptr(ptr)
1727
+ {
1728
+ }
1729
+
1730
+ Ref(const Ref &) = delete;
1731
+ Ref &operator=(const Ref &) = delete;
1732
+ };
1733
+
1734
+ private:
1735
+ std::shared_ptr<Ref> m_poSharedRefRootGroup{};
1736
+ std::weak_ptr<Ref> m_poWeakRefRootGroup{};
1737
+ std::shared_ptr<Ref> m_poRefSelf{};
1738
+
1739
+ std::string m_osFilename{};
1740
+ mutable bool m_bDirty = false;
1741
+ std::string m_osVRTPath{};
1742
+ std::map<std::string, std::shared_ptr<VRTGroup>> m_oMapGroups{};
1743
+ std::map<std::string, std::shared_ptr<VRTMDArray>> m_oMapMDArrays{};
1744
+ std::map<std::string, std::shared_ptr<VRTAttribute>> m_oMapAttributes{};
1745
+ std::map<std::string, std::shared_ptr<VRTDimension>> m_oMapDimensions{};
1746
+
1747
+ std::shared_ptr<VRTGroup>
1748
+ OpenGroupInternal(const std::string &osName) const;
1749
+ void SetRootGroupRef(const std::weak_ptr<Ref> &rgRef);
1750
+ std::weak_ptr<Ref> GetRootGroupRef() const;
1751
+
1752
+ protected:
1753
+ friend class VRTMDArray;
1754
+ friend std::shared_ptr<GDALMDArray>
1755
+ VRTDerivedArrayCreate(const char *pszVRTPath, const CPLXMLNode *psTree);
1756
+
1757
+ explicit VRTGroup(const char *pszVRTPath);
1758
+ VRTGroup(const std::string &osParentName, const std::string &osName);
1759
+
1760
+ public:
1761
+ static std::shared_ptr<VRTGroup> Create(const std::string &osParentName,
1762
+ const std::string &osName)
1763
+ {
1764
+ auto poGroup =
1765
+ std::shared_ptr<VRTGroup>(new VRTGroup(osParentName, osName));
1766
+ poGroup->SetSelf(poGroup);
1767
+ return poGroup;
1768
+ }
1769
+
1770
+ ~VRTGroup();
1771
+
1772
+ bool XMLInit(const std::shared_ptr<VRTGroup> &poRoot,
1773
+ const std::shared_ptr<VRTGroup> &poThisGroup,
1774
+ const CPLXMLNode *psNode, const char *pszVRTPath);
1775
+
1776
+ std::vector<std::string>
1777
+ GetMDArrayNames(CSLConstList papszOptions) const override;
1778
+ std::shared_ptr<GDALMDArray>
1779
+ OpenMDArray(const std::string &osName,
1780
+ CSLConstList papszOptions = nullptr) const override;
1781
+
1782
+ std::vector<std::string>
1783
+ GetGroupNames(CSLConstList papszOptions) const override;
1784
+
1785
+ std::shared_ptr<GDALGroup> OpenGroup(const std::string &osName,
1786
+ CSLConstList) const override
1787
+ {
1788
+ return OpenGroupInternal(osName);
1789
+ }
1790
+
1791
+ std::vector<std::shared_ptr<GDALDimension>>
1792
+ GetDimensions(CSLConstList) const override;
1793
+
1794
+ std::vector<std::shared_ptr<GDALAttribute>>
1795
+ GetAttributes(CSLConstList) const override;
1796
+
1797
+ std::shared_ptr<VRTDimension> GetDimension(const std::string &name) const
1798
+ {
1799
+ auto oIter = m_oMapDimensions.find(name);
1800
+ return oIter == m_oMapDimensions.end() ? nullptr : oIter->second;
1801
+ }
1802
+
1803
+ std::shared_ptr<VRTDimension>
1804
+ GetDimensionFromFullName(const std::string &name, bool bEmitError) const;
1805
+
1806
+ std::shared_ptr<GDALGroup>
1807
+ CreateGroup(const std::string &osName,
1808
+ CSLConstList papszOptions = nullptr) override;
1809
+
1810
+ std::shared_ptr<GDALDimension>
1811
+ CreateDimension(const std::string &osName, const std::string &osType,
1812
+ const std::string &osDirection, GUInt64 nSize,
1813
+ CSLConstList papszOptions = nullptr) override;
1814
+
1815
+ std::shared_ptr<GDALAttribute>
1816
+ CreateAttribute(const std::string &osName,
1817
+ const std::vector<GUInt64> &anDimensions,
1818
+ const GDALExtendedDataType &oDataType,
1819
+ CSLConstList papszOptions = nullptr) override;
1820
+
1821
+ std::shared_ptr<GDALMDArray> CreateMDArray(
1822
+ const std::string &osName,
1823
+ const std::vector<std::shared_ptr<GDALDimension>> &aoDimensions,
1824
+ const GDALExtendedDataType &oDataType,
1825
+ CSLConstList papszOptions) override;
1826
+
1827
+ void SetIsRootGroup();
1828
+
1829
+ const std::shared_ptr<Ref> &GetRef() const
1830
+ {
1831
+ return m_poRefSelf;
1832
+ }
1833
+
1834
+ VRTGroup *GetRootGroup() const;
1835
+ std::shared_ptr<GDALGroup> GetRootGroupSharedPtr() const;
1836
+
1837
+ const std::string &GetVRTPath() const
1838
+ {
1839
+ return m_osVRTPath;
1840
+ }
1841
+
1842
+ void SetDirty();
1843
+
1844
+ void SetFilename(const std::string &osFilename)
1845
+ {
1846
+ m_osFilename = osFilename;
1847
+ }
1848
+
1849
+ const std::string &GetFilename() const
1850
+ {
1851
+ return m_osFilename;
1852
+ }
1853
+
1854
+ bool Serialize() const;
1855
+ CPLXMLNode *SerializeToXML(const char *pszVRTPathIn) const;
1856
+ void Serialize(CPLXMLNode *psParent, const char *pszVRTPathIn) const;
1857
+ };
1858
+
1859
+ /************************************************************************/
1860
+ /* VRTDimension */
1861
+ /************************************************************************/
1862
+
1863
+ class VRTDimension final : public GDALDimension
1864
+ {
1865
+ std::weak_ptr<VRTGroup::Ref> m_poGroupRef;
1866
+ std::string m_osIndexingVariableName;
1867
+
1868
+ public:
1869
+ VRTDimension(const std::shared_ptr<VRTGroup::Ref> &poGroupRef,
1870
+ const std::string &osParentName, const std::string &osName,
1871
+ const std::string &osType, const std::string &osDirection,
1872
+ GUInt64 nSize, const std::string &osIndexingVariableName)
1873
+ : GDALDimension(osParentName, osName, osType, osDirection, nSize),
1874
+ m_poGroupRef(poGroupRef),
1875
+ m_osIndexingVariableName(osIndexingVariableName)
1876
+ {
1877
+ }
1878
+
1879
+ VRTGroup *GetGroup() const;
1880
+
1881
+ static std::shared_ptr<VRTDimension>
1882
+ Create(const std::shared_ptr<VRTGroup> &poThisGroup,
1883
+ const std::string &osParentName, const CPLXMLNode *psNode);
1884
+
1885
+ std::shared_ptr<GDALMDArray> GetIndexingVariable() const override;
1886
+
1887
+ bool SetIndexingVariable(
1888
+ std::shared_ptr<GDALMDArray> poIndexingVariable) override;
1889
+
1890
+ void Serialize(CPLXMLNode *psParent) const;
1891
+ };
1892
+
1893
+ /************************************************************************/
1894
+ /* VRTAttribute */
1895
+ /************************************************************************/
1896
+
1897
+ class VRTAttribute final : public GDALAttribute
1898
+ {
1899
+ GDALExtendedDataType m_dt;
1900
+ std::vector<std::string> m_aosList{};
1901
+ std::vector<std::shared_ptr<GDALDimension>> m_dims{};
1902
+
1903
+ protected:
1904
+ bool IRead(const GUInt64 *arrayStartIdx, const size_t *count,
1905
+ const GInt64 *arrayStep, const GPtrDiff_t *bufferStride,
1906
+ const GDALExtendedDataType &bufferDataType,
1907
+ void *pDstBuffer) const override;
1908
+
1909
+ bool IWrite(const GUInt64 *arrayStartIdx, const size_t *count,
1910
+ const GInt64 *arrayStep, const GPtrDiff_t *bufferStride,
1911
+ const GDALExtendedDataType &bufferDataType,
1912
+ const void *pSrcBuffer) override;
1913
+
1914
+ public:
1915
+ VRTAttribute(const std::string &osParentName, const std::string &osName,
1916
+ const GDALExtendedDataType &dt,
1917
+ std::vector<std::string> &&aosList)
1918
+ : GDALAbstractMDArray(osParentName, osName),
1919
+ GDALAttribute(osParentName, osName), m_dt(dt),
1920
+ m_aosList(std::move(aosList))
1921
+ {
1922
+ if (m_aosList.size() > 1)
1923
+ {
1924
+ m_dims.emplace_back(std::make_shared<GDALDimension>(
1925
+ std::string(), "dim", std::string(), std::string(),
1926
+ m_aosList.size()));
1927
+ }
1928
+ }
1929
+
1930
+ VRTAttribute(const std::string &osParentName, const std::string &osName,
1931
+ GUInt64 nDim, const GDALExtendedDataType &dt)
1932
+ : GDALAbstractMDArray(osParentName, osName),
1933
+ GDALAttribute(osParentName, osName), m_dt(dt)
1934
+ {
1935
+ if (nDim != 0)
1936
+ {
1937
+ m_dims.emplace_back(std::make_shared<GDALDimension>(
1938
+ std::string(), "dim", std::string(), std::string(), nDim));
1939
+ }
1940
+ }
1941
+
1942
+ static bool CreationCommonChecks(
1943
+ const std::string &osName, const std::vector<GUInt64> &anDimensions,
1944
+ const std::map<std::string, std::shared_ptr<VRTAttribute>>
1945
+ &oMapAttributes);
1946
+
1947
+ static std::shared_ptr<VRTAttribute> Create(const std::string &osParentName,
1948
+ const CPLXMLNode *psNode);
1949
+
1950
+ const std::vector<std::shared_ptr<GDALDimension>> &
1951
+ GetDimensions() const override
1952
+ {
1953
+ return m_dims;
1954
+ }
1955
+
1956
+ const GDALExtendedDataType &GetDataType() const override
1957
+ {
1958
+ return m_dt;
1959
+ }
1960
+
1961
+ void Serialize(CPLXMLNode *psParent) const;
1962
+ };
1963
+
1964
+ /************************************************************************/
1965
+ /* VRTMDArraySource */
1966
+ /************************************************************************/
1967
+
1968
+ class VRTMDArraySource
1969
+ {
1970
+ public:
1971
+ virtual ~VRTMDArraySource() = default;
1972
+
1973
+ virtual bool Read(const GUInt64 *arrayStartIdx, const size_t *count,
1974
+ const GInt64 *arrayStep, const GPtrDiff_t *bufferStride,
1975
+ const GDALExtendedDataType &bufferDataType,
1976
+ void *pDstBuffer) const = 0;
1977
+
1978
+ virtual void Serialize(CPLXMLNode *psParent,
1979
+ const char *pszVRTPath) const = 0;
1980
+ };
1981
+
1982
+ /************************************************************************/
1983
+ /* VRTMDArray */
1984
+ /************************************************************************/
1985
+
1986
+ class VRTMDArray final : public GDALMDArray
1987
+ {
1988
+ protected:
1989
+ friend class VRTGroup; // for access to SetSelf()
1990
+
1991
+ std::weak_ptr<VRTGroup::Ref> m_poGroupRef;
1992
+ std::string m_osVRTPath{};
1993
+ std::shared_ptr<VRTGroup> m_poDummyOwningGroup{};
1994
+
1995
+ GDALExtendedDataType m_dt;
1996
+ std::vector<std::shared_ptr<GDALDimension>> m_dims;
1997
+ std::map<std::string, std::shared_ptr<VRTAttribute>> m_oMapAttributes{};
1998
+ std::vector<std::unique_ptr<VRTMDArraySource>> m_sources{};
1999
+ std::shared_ptr<OGRSpatialReference> m_poSRS{};
2000
+ std::vector<GByte> m_abyNoData{};
2001
+ std::string m_osUnit{};
2002
+ double m_dfScale = 1.0;
2003
+ double m_dfOffset = 0.0;
2004
+ bool m_bHasScale = false;
2005
+ bool m_bHasOffset = false;
2006
+ std::string m_osFilename{};
2007
+
2008
+ bool IRead(const GUInt64 *arrayStartIdx, const size_t *count,
2009
+ const GInt64 *arrayStep, const GPtrDiff_t *bufferStride,
2010
+ const GDALExtendedDataType &bufferDataType,
2011
+ void *pDstBuffer) const override;
2012
+
2013
+ void SetDirty();
2014
+
2015
+ public:
2016
+ VRTMDArray(
2017
+ const std::shared_ptr<VRTGroup::Ref> &poGroupRef,
2018
+ const std::string &osParentName, const std::string &osName,
2019
+ const GDALExtendedDataType &dt,
2020
+ std::vector<std::shared_ptr<GDALDimension>> &&dims,
2021
+ std::map<std::string, std::shared_ptr<VRTAttribute>> &&oMapAttributes)
2022
+ : GDALAbstractMDArray(osParentName, osName),
2023
+ GDALMDArray(osParentName, osName), m_poGroupRef(poGroupRef),
2024
+ m_osVRTPath(poGroupRef->m_ptr->GetVRTPath()), m_dt(dt),
2025
+ m_dims(std::move(dims)), m_oMapAttributes(std::move(oMapAttributes)),
2026
+ m_osFilename(poGroupRef->m_ptr->GetFilename())
2027
+ {
2028
+ }
2029
+
2030
+ VRTMDArray(const std::shared_ptr<VRTGroup::Ref> &poGroupRef,
2031
+ const std::string &osParentName, const std::string &osName,
2032
+ const std::vector<std::shared_ptr<GDALDimension>> &dims,
2033
+ const GDALExtendedDataType &dt)
2034
+ : GDALAbstractMDArray(osParentName, osName),
2035
+ GDALMDArray(osParentName, osName), m_poGroupRef(poGroupRef),
2036
+ m_osVRTPath(poGroupRef->m_ptr->GetVRTPath()), m_dt(dt), m_dims(dims),
2037
+ m_osFilename(poGroupRef->m_ptr->GetFilename())
2038
+ {
2039
+ }
2040
+
2041
+ bool IsWritable() const override
2042
+ {
2043
+ return false;
2044
+ }
2045
+
2046
+ const std::string &GetFilename() const override
2047
+ {
2048
+ return m_osFilename;
2049
+ }
2050
+
2051
+ static std::shared_ptr<VRTMDArray> Create(const char *pszVRTPath,
2052
+ const CPLXMLNode *psNode);
2053
+
2054
+ static std::shared_ptr<VRTMDArray>
2055
+ Create(const std::shared_ptr<VRTGroup> &poThisGroup,
2056
+ const std::string &osParentName, const CPLXMLNode *psNode);
2057
+
2058
+ const std::vector<std::shared_ptr<GDALDimension>> &
2059
+ GetDimensions() const override
2060
+ {
2061
+ return m_dims;
2062
+ }
2063
+
2064
+ std::vector<std::shared_ptr<GDALAttribute>>
2065
+ GetAttributes(CSLConstList) const override;
2066
+
2067
+ const GDALExtendedDataType &GetDataType() const override
2068
+ {
2069
+ return m_dt;
2070
+ }
2071
+
2072
+ bool SetSpatialRef(const OGRSpatialReference *poSRS) override;
2073
+
2074
+ std::shared_ptr<OGRSpatialReference> GetSpatialRef() const override
2075
+ {
2076
+ return m_poSRS;
2077
+ }
2078
+
2079
+ const void *GetRawNoDataValue() const override;
2080
+
2081
+ bool SetRawNoDataValue(const void *pRawNoData) override;
2082
+
2083
+ const std::string &GetUnit() const override
2084
+ {
2085
+ return m_osUnit;
2086
+ }
2087
+
2088
+ bool SetUnit(const std::string &osUnit) override
2089
+ {
2090
+ m_osUnit = osUnit;
2091
+ return true;
2092
+ }
2093
+
2094
+ double GetOffset(bool *pbHasOffset,
2095
+ GDALDataType *peStorageType) const override
2096
+ {
2097
+ if (pbHasOffset)
2098
+ *pbHasOffset = m_bHasOffset;
2099
+ if (peStorageType)
2100
+ *peStorageType = GDT_Unknown;
2101
+ return m_dfOffset;
2102
+ }
2103
+
2104
+ double GetScale(bool *pbHasScale,
2105
+ GDALDataType *peStorageType) const override
2106
+ {
2107
+ if (pbHasScale)
2108
+ *pbHasScale = m_bHasScale;
2109
+ if (peStorageType)
2110
+ *peStorageType = GDT_Unknown;
2111
+ return m_dfScale;
2112
+ }
2113
+
2114
+ bool SetOffset(double dfOffset,
2115
+ GDALDataType /* eStorageType */ = GDT_Unknown) override
2116
+ {
2117
+ SetDirty();
2118
+ m_bHasOffset = true;
2119
+ m_dfOffset = dfOffset;
2120
+ return true;
2121
+ }
2122
+
2123
+ bool SetScale(double dfScale,
2124
+ GDALDataType /* eStorageType */ = GDT_Unknown) override
2125
+ {
2126
+ SetDirty();
2127
+ m_bHasScale = true;
2128
+ m_dfScale = dfScale;
2129
+ return true;
2130
+ }
2131
+
2132
+ void AddSource(std::unique_ptr<VRTMDArraySource> &&poSource);
2133
+
2134
+ std::shared_ptr<GDALAttribute>
2135
+ CreateAttribute(const std::string &osName,
2136
+ const std::vector<GUInt64> &anDimensions,
2137
+ const GDALExtendedDataType &oDataType,
2138
+ CSLConstList papszOptions = nullptr) override;
2139
+
2140
+ bool CopyFrom(GDALDataset *poSrcDS, const GDALMDArray *poSrcArray,
2141
+ bool bStrict, GUInt64 &nCurCost, const GUInt64 nTotalCost,
2142
+ GDALProgressFunc pfnProgress, void *pProgressData) override;
2143
+
2144
+ void Serialize(CPLXMLNode *psParent, const char *pszVRTPathIn) const;
2145
+
2146
+ VRTGroup *GetGroup() const;
2147
+
2148
+ const std::string &GetVRTPath() const
2149
+ {
2150
+ return m_osVRTPath;
2151
+ }
2152
+
2153
+ std::shared_ptr<GDALGroup> GetRootGroup() const override
2154
+ {
2155
+ auto poGroup = m_poGroupRef.lock();
2156
+ if (poGroup)
2157
+ return poGroup->m_ptr->GetRootGroupSharedPtr();
2158
+ return nullptr;
2159
+ }
2160
+ };
2161
+
2162
+ /************************************************************************/
2163
+ /* VRTMDArraySourceInlinedValues */
2164
+ /************************************************************************/
2165
+
2166
+ class VRTMDArraySourceInlinedValues final : public VRTMDArraySource
2167
+ {
2168
+ const VRTMDArray *m_poDstArray = nullptr;
2169
+ bool m_bIsConstantValue;
2170
+ std::vector<GUInt64> m_anOffset{};
2171
+ std::vector<size_t> m_anCount{};
2172
+ std::vector<GByte> m_abyValues{};
2173
+ std::vector<size_t> m_anInlinedArrayStrideInBytes{};
2174
+ GDALExtendedDataType m_dt;
2175
+
2176
+ VRTMDArraySourceInlinedValues(const VRTMDArraySourceInlinedValues &) =
2177
+ delete;
2178
+ VRTMDArraySourceInlinedValues &
2179
+ operator=(const VRTMDArraySourceInlinedValues &) = delete;
2180
+
2181
+ public:
2182
+ VRTMDArraySourceInlinedValues(const VRTMDArray *poDstArray,
2183
+ bool bIsConstantValue,
2184
+ std::vector<GUInt64> &&anOffset,
2185
+ std::vector<size_t> &&anCount,
2186
+ std::vector<GByte> &&abyValues)
2187
+ : m_poDstArray(poDstArray), m_bIsConstantValue(bIsConstantValue),
2188
+ m_anOffset(std::move(anOffset)), m_anCount(std::move(anCount)),
2189
+ m_abyValues(std::move(abyValues)), m_dt(poDstArray->GetDataType())
2190
+ {
2191
+ const auto nDims(poDstArray->GetDimensionCount());
2192
+ m_anInlinedArrayStrideInBytes.resize(nDims);
2193
+ if (!bIsConstantValue && nDims > 0)
2194
+ {
2195
+ m_anInlinedArrayStrideInBytes.back() =
2196
+ poDstArray->GetDataType().GetSize();
2197
+ for (size_t i = nDims - 1; i > 0;)
2198
+ {
2199
+ --i;
2200
+ m_anInlinedArrayStrideInBytes[i] =
2201
+ m_anInlinedArrayStrideInBytes[i + 1] * m_anCount[i + 1];
2202
+ }
2203
+ }
2204
+ }
2205
+
2206
+ ~VRTMDArraySourceInlinedValues();
2207
+
2208
+ static std::unique_ptr<VRTMDArraySourceInlinedValues>
2209
+ Create(const VRTMDArray *poDstArray, const CPLXMLNode *psNode);
2210
+
2211
+ bool Read(const GUInt64 *arrayStartIdx, const size_t *count,
2212
+ const GInt64 *arrayStep, const GPtrDiff_t *bufferStride,
2213
+ const GDALExtendedDataType &bufferDataType,
2214
+ void *pDstBuffer) const override;
2215
+
2216
+ void Serialize(CPLXMLNode *psParent, const char *pszVRTPath) const override;
2217
+ };
2218
+
2219
+ /************************************************************************/
2220
+ /* VRTMDArraySourceRegularlySpaced */
2221
+ /************************************************************************/
2222
+
2223
+ class VRTMDArraySourceRegularlySpaced final : public VRTMDArraySource
2224
+ {
2225
+ double m_dfStart;
2226
+ double m_dfIncrement;
2227
+
2228
+ public:
2229
+ VRTMDArraySourceRegularlySpaced(double dfStart, double dfIncrement)
2230
+ : m_dfStart(dfStart), m_dfIncrement(dfIncrement)
2231
+ {
2232
+ }
2233
+
2234
+ bool Read(const GUInt64 *arrayStartIdx, const size_t *count,
2235
+ const GInt64 *arrayStep, const GPtrDiff_t *bufferStride,
2236
+ const GDALExtendedDataType &bufferDataType,
2237
+ void *pDstBuffer) const override;
2238
+
2239
+ void Serialize(CPLXMLNode *psParent, const char *pszVRTPath) const override;
2240
+ };
2241
+
2242
+ /************************************************************************/
2243
+ /* VRTMDArraySourceFromArray */
2244
+ /************************************************************************/
2245
+
2246
+ class VRTMDArraySourceFromArray final : public VRTMDArraySource
2247
+ {
2248
+ const VRTMDArray *m_poDstArray = nullptr;
2249
+ bool m_bRelativeToVRTSet = false;
2250
+ bool m_bRelativeToVRT = false;
2251
+ std::string m_osFilename{};
2252
+ std::string m_osArray{};
2253
+ std::string m_osBand{};
2254
+ std::vector<int> m_anTransposedAxis{};
2255
+ std::string m_osViewExpr{};
2256
+ std::vector<GUInt64> m_anSrcOffset{};
2257
+ mutable std::vector<GUInt64> m_anCount{};
2258
+ std::vector<GUInt64> m_anStep{};
2259
+ std::vector<GUInt64> m_anDstOffset{};
2260
+
2261
+ VRTMDArraySourceFromArray(const VRTMDArraySourceFromArray &) = delete;
2262
+ VRTMDArraySourceFromArray &
2263
+ operator=(const VRTMDArraySourceFromArray &) = delete;
2264
+
2265
+ public:
2266
+ VRTMDArraySourceFromArray(
2267
+ const VRTMDArray *poDstArray, bool bRelativeToVRTSet,
2268
+ bool bRelativeToVRT, const std::string &osFilename,
2269
+ const std::string &osArray, const std::string &osBand,
2270
+ std::vector<int> &&anTransposedAxis, const std::string &osViewExpr,
2271
+ std::vector<GUInt64> &&anSrcOffset, std::vector<GUInt64> &&anCount,
2272
+ std::vector<GUInt64> &&anStep, std::vector<GUInt64> &&anDstOffset)
2273
+ : m_poDstArray(poDstArray), m_bRelativeToVRTSet(bRelativeToVRTSet),
2274
+ m_bRelativeToVRT(bRelativeToVRT), m_osFilename(osFilename),
2275
+ m_osArray(osArray), m_osBand(osBand),
2276
+ m_anTransposedAxis(std::move(anTransposedAxis)),
2277
+ m_osViewExpr(osViewExpr), m_anSrcOffset(std::move(anSrcOffset)),
2278
+ m_anCount(std::move(anCount)), m_anStep(std::move(anStep)),
2279
+ m_anDstOffset(std::move(anDstOffset))
2280
+ {
2281
+ }
2282
+
2283
+ ~VRTMDArraySourceFromArray() override;
2284
+
2285
+ static std::unique_ptr<VRTMDArraySourceFromArray>
2286
+ Create(const VRTMDArray *poDstArray, const CPLXMLNode *psNode);
2287
+
2288
+ bool Read(const GUInt64 *arrayStartIdx, const size_t *count,
2289
+ const GInt64 *arrayStep, const GPtrDiff_t *bufferStride,
2290
+ const GDALExtendedDataType &bufferDataType,
2291
+ void *pDstBuffer) const override;
2292
+
2293
+ void Serialize(CPLXMLNode *psParent, const char *pszVRTPath) const override;
2294
+ };
2295
+
2296
+ #endif /* #ifndef DOXYGEN_SKIP */
2297
+
2298
+ #endif /* ndef VIRTUALDATASET_H_INCLUDED */