@cpp.js/package-gdal 1.0.0-beta.22 → 1.0.0

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 (255) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +1 -1
  3. package/cppjs.build.js +1 -0
  4. package/dist/prebuilt/Android-arm64-v8a/include/gdal_version.h +3 -3
  5. package/dist/prebuilt/Android-arm64-v8a/include/ogr_api.h +4 -4
  6. package/dist/prebuilt/Android-arm64-v8a/include/ogr_feature.h +2 -2
  7. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/gdal/GDALConfigVersion.cmake +3 -3
  8. package/dist/prebuilt/Android-arm64-v8a/lib/libgdal.so +0 -0
  9. package/dist/prebuilt/Android-arm64-v8a/lib/pkgconfig/gdal.pc +1 -1
  10. package/dist/prebuilt/Android-arm64-v8a/share/gdal/gdalvrt.xsd +30 -24
  11. package/dist/prebuilt/Android-x86_64/include/cpl_atomic_ops.h +90 -0
  12. package/dist/prebuilt/Android-x86_64/include/cpl_auto_close.h +73 -0
  13. package/dist/prebuilt/Android-x86_64/include/cpl_compressor.h +112 -0
  14. package/dist/prebuilt/Android-x86_64/include/cpl_config.h +215 -0
  15. package/dist/prebuilt/Android-x86_64/include/cpl_config_extras.h +34 -0
  16. package/dist/prebuilt/Android-x86_64/include/cpl_conv.h +417 -0
  17. package/dist/prebuilt/Android-x86_64/include/cpl_csv.h +71 -0
  18. package/dist/prebuilt/Android-x86_64/include/cpl_error.h +344 -0
  19. package/dist/prebuilt/Android-x86_64/include/cpl_hash_set.h +83 -0
  20. package/dist/prebuilt/Android-x86_64/include/cpl_http.h +319 -0
  21. package/dist/prebuilt/Android-x86_64/include/cpl_json.h +301 -0
  22. package/dist/prebuilt/Android-x86_64/include/cpl_list.h +59 -0
  23. package/dist/prebuilt/Android-x86_64/include/cpl_minixml.h +211 -0
  24. package/dist/prebuilt/Android-x86_64/include/cpl_multiproc.h +241 -0
  25. package/dist/prebuilt/Android-x86_64/include/cpl_port.h +1182 -0
  26. package/dist/prebuilt/Android-x86_64/include/cpl_progress.h +49 -0
  27. package/dist/prebuilt/Android-x86_64/include/cpl_quad_tree.h +105 -0
  28. package/dist/prebuilt/Android-x86_64/include/cpl_spawn.h +60 -0
  29. package/dist/prebuilt/Android-x86_64/include/cpl_string.h +863 -0
  30. package/dist/prebuilt/Android-x86_64/include/cpl_time.h +29 -0
  31. package/dist/prebuilt/Android-x86_64/include/cpl_virtualmem.h +365 -0
  32. package/dist/prebuilt/Android-x86_64/include/cpl_vsi.h +830 -0
  33. package/dist/prebuilt/Android-x86_64/include/cpl_vsi_error.h +55 -0
  34. package/dist/prebuilt/Android-x86_64/include/cpl_vsi_virtual.h +580 -0
  35. package/dist/prebuilt/Android-x86_64/include/cplkeywordparser.h +61 -0
  36. package/dist/prebuilt/Android-x86_64/include/gdal.h +2667 -0
  37. package/dist/prebuilt/Android-x86_64/include/gdal_alg.h +717 -0
  38. package/dist/prebuilt/Android-x86_64/include/gdal_alg_priv.h +386 -0
  39. package/dist/prebuilt/Android-x86_64/include/gdal_csv.h +25 -0
  40. package/dist/prebuilt/Android-x86_64/include/gdal_frmts.h +236 -0
  41. package/dist/prebuilt/Android-x86_64/include/gdal_mdreader.h +240 -0
  42. package/dist/prebuilt/Android-x86_64/include/gdal_pam.h +461 -0
  43. package/dist/prebuilt/Android-x86_64/include/gdal_priv.h +4599 -0
  44. package/dist/prebuilt/Android-x86_64/include/gdal_proxy.h +470 -0
  45. package/dist/prebuilt/Android-x86_64/include/gdal_rat.h +390 -0
  46. package/dist/prebuilt/Android-x86_64/include/gdal_simplesurf.h +579 -0
  47. package/dist/prebuilt/Android-x86_64/include/gdal_utils.h +313 -0
  48. package/dist/prebuilt/Android-x86_64/include/gdal_version.h +33 -0
  49. package/dist/prebuilt/Android-x86_64/include/gdal_vrt.h +89 -0
  50. package/dist/prebuilt/Android-x86_64/include/gdalcachedpixelaccessor.h +439 -0
  51. package/dist/prebuilt/Android-x86_64/include/gdalgeorefpamdataset.h +73 -0
  52. package/dist/prebuilt/Android-x86_64/include/gdalgrid.h +102 -0
  53. package/dist/prebuilt/Android-x86_64/include/gdalgrid_priv.h +67 -0
  54. package/dist/prebuilt/Android-x86_64/include/gdaljp2abstractdataset.h +61 -0
  55. package/dist/prebuilt/Android-x86_64/include/gdaljp2metadata.h +237 -0
  56. package/dist/prebuilt/Android-x86_64/include/gdalpansharpen.h +258 -0
  57. package/dist/prebuilt/Android-x86_64/include/gdalsubdatasetinfo.h +104 -0
  58. package/dist/prebuilt/Android-x86_64/include/gdalwarper.h +622 -0
  59. package/dist/prebuilt/Android-x86_64/include/gnm.h +750 -0
  60. package/dist/prebuilt/Android-x86_64/include/gnm_api.h +101 -0
  61. package/dist/prebuilt/Android-x86_64/include/gnmgraph.h +258 -0
  62. package/dist/prebuilt/Android-x86_64/include/memdataset.h +176 -0
  63. package/dist/prebuilt/Android-x86_64/include/ogr_api.h +1024 -0
  64. package/dist/prebuilt/Android-x86_64/include/ogr_core.h +1321 -0
  65. package/dist/prebuilt/Android-x86_64/include/ogr_feature.h +1981 -0
  66. package/dist/prebuilt/Android-x86_64/include/ogr_featurestyle.h +858 -0
  67. package/dist/prebuilt/Android-x86_64/include/ogr_geocoding.h +46 -0
  68. package/dist/prebuilt/Android-x86_64/include/ogr_geomcoordinateprecision.h +79 -0
  69. package/dist/prebuilt/Android-x86_64/include/ogr_geometry.h +4346 -0
  70. package/dist/prebuilt/Android-x86_64/include/ogr_p.h +324 -0
  71. package/dist/prebuilt/Android-x86_64/include/ogr_recordbatch.h +125 -0
  72. package/dist/prebuilt/Android-x86_64/include/ogr_spatialref.h +1007 -0
  73. package/dist/prebuilt/Android-x86_64/include/ogr_srs_api.h +1088 -0
  74. package/dist/prebuilt/Android-x86_64/include/ogr_swq.h +529 -0
  75. package/dist/prebuilt/Android-x86_64/include/ogrsf_frmts.h +746 -0
  76. package/dist/prebuilt/Android-x86_64/include/rawdataset.h +255 -0
  77. package/dist/prebuilt/Android-x86_64/include/vrtdataset.h +2426 -0
  78. package/dist/prebuilt/Android-x86_64/lib/cmake/gdal/GDAL-targets-release.cmake +19 -0
  79. package/dist/prebuilt/Android-x86_64/lib/cmake/gdal/GDAL-targets.cmake +106 -0
  80. package/dist/prebuilt/Android-x86_64/lib/cmake/gdal/GDALConfig.cmake +21 -0
  81. package/dist/prebuilt/Android-x86_64/lib/cmake/gdal/GDALConfigVersion.cmake +85 -0
  82. package/dist/prebuilt/Android-x86_64/lib/gdalplugins/drivers.ini +290 -0
  83. package/dist/prebuilt/Android-x86_64/lib/libgdal.so +0 -0
  84. package/dist/prebuilt/Android-x86_64/lib/pkgconfig/gdal.pc +17 -0
  85. package/dist/prebuilt/Android-x86_64/share/gdal/GDALLogoBW.svg +138 -0
  86. package/dist/prebuilt/Android-x86_64/share/gdal/GDALLogoColor.svg +126 -0
  87. package/dist/prebuilt/Android-x86_64/share/gdal/GDALLogoGS.svg +126 -0
  88. package/dist/prebuilt/Android-x86_64/share/gdal/LICENSE.TXT +467 -0
  89. package/dist/prebuilt/Android-x86_64/share/gdal/MM_m_idofic.csv +321 -0
  90. package/dist/prebuilt/Android-x86_64/share/gdal/cubewerx_extra.wkt +48 -0
  91. package/dist/prebuilt/Android-x86_64/share/gdal/default.rsc +0 -0
  92. package/dist/prebuilt/Android-x86_64/share/gdal/ecw_cs.wkt +1453 -0
  93. package/dist/prebuilt/Android-x86_64/share/gdal/epsg.wkt +1 -0
  94. package/dist/prebuilt/Android-x86_64/share/gdal/esri_StatePlane_extra.wkt +631 -0
  95. package/dist/prebuilt/Android-x86_64/share/gdal/gdalicon.png +0 -0
  96. package/dist/prebuilt/Android-x86_64/share/gdal/gdalinfo_output.schema.json +346 -0
  97. package/dist/prebuilt/Android-x86_64/share/gdal/gdalmdiminfo_output.schema.json +321 -0
  98. package/dist/prebuilt/Android-x86_64/share/gdal/gdaltileindex.xsd +253 -0
  99. package/dist/prebuilt/Android-x86_64/share/gdal/gdalvrt.xsd +887 -0
  100. package/dist/prebuilt/Android-x86_64/share/gdal/gfs.xsd +246 -0
  101. package/dist/prebuilt/Android-x86_64/share/gdal/gml_registry.xml +117 -0
  102. package/dist/prebuilt/Android-x86_64/share/gdal/gml_registry.xsd +66 -0
  103. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_center.csv +251 -0
  104. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_process.csv +102 -0
  105. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_subcenter.csv +63 -0
  106. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_0.csv +261 -0
  107. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_1.csv +261 -0
  108. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_13.csv +261 -0
  109. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_14.csv +261 -0
  110. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_15.csv +261 -0
  111. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_16.csv +261 -0
  112. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_17.csv +11 -0
  113. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_18.csv +261 -0
  114. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_19.csv +261 -0
  115. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_190.csv +261 -0
  116. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_191.csv +261 -0
  117. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_2.csv +261 -0
  118. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_20.csv +261 -0
  119. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_21.csv +261 -0
  120. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_3.csv +261 -0
  121. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_4.csv +261 -0
  122. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_5.csv +261 -0
  123. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_6.csv +261 -0
  124. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_7.csv +261 -0
  125. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_10_0.csv +261 -0
  126. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_10_1.csv +261 -0
  127. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_10_191.csv +261 -0
  128. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_10_2.csv +261 -0
  129. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_10_3.csv +261 -0
  130. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_10_4.csv +261 -0
  131. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_1_0.csv +261 -0
  132. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_1_1.csv +261 -0
  133. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_1_2.csv +261 -0
  134. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_20_0.csv +261 -0
  135. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_20_1.csv +261 -0
  136. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_20_2.csv +261 -0
  137. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_2_0.csv +261 -0
  138. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_2_3.csv +261 -0
  139. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_2_4.csv +261 -0
  140. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_2_5.csv +261 -0
  141. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_2_6.csv +261 -0
  142. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_0.csv +261 -0
  143. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_1.csv +261 -0
  144. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_2.csv +28 -0
  145. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_3.csv +8 -0
  146. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_4.csv +14 -0
  147. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_5.csv +11 -0
  148. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_6.csv +11 -0
  149. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_0.csv +261 -0
  150. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_1.csv +261 -0
  151. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_10.csv +261 -0
  152. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_2.csv +261 -0
  153. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_3.csv +261 -0
  154. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_4.csv +261 -0
  155. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_5.csv +261 -0
  156. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_6.csv +261 -0
  157. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_7.csv +261 -0
  158. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_8.csv +261 -0
  159. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_9.csv +261 -0
  160. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_local_Canada.csv +5 -0
  161. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_local_HPC.csv +2 -0
  162. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_local_MRMS.csv +175 -0
  163. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_local_NCEP.csv +401 -0
  164. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_local_NDFD.csv +38 -0
  165. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_local_index.csv +7 -0
  166. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_5.csv +261 -0
  167. package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_versions.csv +3 -0
  168. package/dist/prebuilt/Android-x86_64/share/gdal/gt_datum.csv +229 -0
  169. package/dist/prebuilt/Android-x86_64/share/gdal/gt_ellips.csv +24 -0
  170. package/dist/prebuilt/Android-x86_64/share/gdal/header.dxf +1124 -0
  171. package/dist/prebuilt/Android-x86_64/share/gdal/inspire_cp_BasicPropertyUnit.gfs +57 -0
  172. package/dist/prebuilt/Android-x86_64/share/gdal/inspire_cp_CadastralBoundary.gfs +60 -0
  173. package/dist/prebuilt/Android-x86_64/share/gdal/inspire_cp_CadastralParcel.gfs +81 -0
  174. package/dist/prebuilt/Android-x86_64/share/gdal/inspire_cp_CadastralZoning.gfs +161 -0
  175. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_AdmArea.gfs +59 -0
  176. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_AdmBdry.gfs +49 -0
  177. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_AdmPt.gfs +59 -0
  178. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_BldA.gfs +54 -0
  179. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_BldL.gfs +54 -0
  180. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_Cntr.gfs +54 -0
  181. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_CommBdry.gfs +49 -0
  182. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_CommPt.gfs +59 -0
  183. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_Cstline.gfs +54 -0
  184. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_ElevPt.gfs +54 -0
  185. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_GCP.gfs +94 -0
  186. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_LeveeEdge.gfs +49 -0
  187. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RailCL.gfs +54 -0
  188. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RdASL.gfs +44 -0
  189. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RdArea.gfs +54 -0
  190. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RdCompt.gfs +59 -0
  191. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RdEdg.gfs +59 -0
  192. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RdMgtBdry.gfs +49 -0
  193. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RdSgmtA.gfs +59 -0
  194. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RvrMgtBdry.gfs +49 -0
  195. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_SBAPt.gfs +49 -0
  196. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_SBArea.gfs +54 -0
  197. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_SBBdry.gfs +44 -0
  198. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_WA.gfs +54 -0
  199. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_WL.gfs +54 -0
  200. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_WStrA.gfs +54 -0
  201. package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_WStrL.gfs +54 -0
  202. package/dist/prebuilt/Android-x86_64/share/gdal/nitf_spec.xml +3290 -0
  203. package/dist/prebuilt/Android-x86_64/share/gdal/nitf_spec.xsd +173 -0
  204. package/dist/prebuilt/Android-x86_64/share/gdal/ogrinfo_output.schema.json +528 -0
  205. package/dist/prebuilt/Android-x86_64/share/gdal/ogrvrt.xsd +530 -0
  206. package/dist/prebuilt/Android-x86_64/share/gdal/osmconf.ini +134 -0
  207. package/dist/prebuilt/Android-x86_64/share/gdal/ozi_datum.csv +131 -0
  208. package/dist/prebuilt/Android-x86_64/share/gdal/ozi_ellips.csv +35 -0
  209. package/dist/prebuilt/Android-x86_64/share/gdal/pci_datum.txt +530 -0
  210. package/dist/prebuilt/Android-x86_64/share/gdal/pci_ellips.txt +129 -0
  211. package/dist/prebuilt/Android-x86_64/share/gdal/pdfcomposition.xsd +705 -0
  212. package/dist/prebuilt/Android-x86_64/share/gdal/ruian_vf_ob_v1.gfs +1455 -0
  213. package/dist/prebuilt/Android-x86_64/share/gdal/ruian_vf_st_uvoh_v1.gfs +86 -0
  214. package/dist/prebuilt/Android-x86_64/share/gdal/ruian_vf_st_v1.gfs +1489 -0
  215. package/dist/prebuilt/Android-x86_64/share/gdal/ruian_vf_v1.gfs +2126 -0
  216. package/dist/prebuilt/Android-x86_64/share/gdal/s57agencies.csv +249 -0
  217. package/dist/prebuilt/Android-x86_64/share/gdal/s57attributes.csv +484 -0
  218. package/dist/prebuilt/Android-x86_64/share/gdal/s57expectedinput.csv +1008 -0
  219. package/dist/prebuilt/Android-x86_64/share/gdal/s57objectclasses.csv +287 -0
  220. package/dist/prebuilt/Android-x86_64/share/gdal/seed_2d.dgn +0 -0
  221. package/dist/prebuilt/Android-x86_64/share/gdal/seed_3d.dgn +0 -0
  222. package/dist/prebuilt/Android-x86_64/share/gdal/stateplane.csv +259 -0
  223. package/dist/prebuilt/Android-x86_64/share/gdal/tms_LINZAntarticaMapTileGrid.json +190 -0
  224. package/dist/prebuilt/Android-x86_64/share/gdal/tms_MapML_APSTILE.json +268 -0
  225. package/dist/prebuilt/Android-x86_64/share/gdal/tms_MapML_CBMTILE.json +346 -0
  226. package/dist/prebuilt/Android-x86_64/share/gdal/tms_NZTM2000.json +243 -0
  227. package/dist/prebuilt/Android-x86_64/share/gdal/trailer.dxf +434 -0
  228. package/dist/prebuilt/Android-x86_64/share/gdal/vdv452.xml +351 -0
  229. package/dist/prebuilt/Android-x86_64/share/gdal/vdv452.xsd +47 -0
  230. package/dist/prebuilt/Emscripten-x86_64/include/gdal_version.h +3 -3
  231. package/dist/prebuilt/Emscripten-x86_64/include/ogr_api.h +4 -4
  232. package/dist/prebuilt/Emscripten-x86_64/include/ogr_feature.h +2 -2
  233. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/GDALConfigVersion.cmake +3 -3
  234. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/thirdparty/FindDotnet.cmake +33 -36
  235. package/dist/prebuilt/Emscripten-x86_64/lib/libgdal.a +0 -0
  236. package/dist/prebuilt/Emscripten-x86_64/lib/pkgconfig/gdal.pc +1 -1
  237. package/dist/prebuilt/Emscripten-x86_64/share/gdal/gdalvrt.xsd +30 -24
  238. package/dist/prebuilt/iOS-iphoneos/include/gdal_version.h +3 -3
  239. package/dist/prebuilt/iOS-iphoneos/include/ogr_api.h +4 -4
  240. package/dist/prebuilt/iOS-iphoneos/include/ogr_feature.h +2 -2
  241. package/dist/prebuilt/iOS-iphoneos/share/gdal/gdalvrt.xsd +30 -24
  242. package/dist/prebuilt/iOS-iphonesimulator/include/gdal_version.h +3 -3
  243. package/dist/prebuilt/iOS-iphonesimulator/include/ogr_api.h +4 -4
  244. package/dist/prebuilt/iOS-iphonesimulator/include/ogr_feature.h +2 -2
  245. package/dist/prebuilt/iOS-iphonesimulator/share/gdal/gdalvrt.xsd +30 -24
  246. package/gdal.xcframework/ios-arm64_arm64e/Headers/gdal_version.h +3 -3
  247. package/gdal.xcframework/ios-arm64_arm64e/Headers/ogr_api.h +4 -4
  248. package/gdal.xcframework/ios-arm64_arm64e/Headers/ogr_feature.h +2 -2
  249. package/gdal.xcframework/ios-arm64_arm64e/libgdal.a +0 -0
  250. package/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/gdal_version.h +3 -3
  251. package/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ogr_api.h +4 -4
  252. package/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/ogr_feature.h +2 -2
  253. package/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/libgdal.a +0 -0
  254. package/package.json +13 -13
  255. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/gdal/packages/FindDB2.cmake +0 -103
@@ -0,0 +1,61 @@
1
+ /******************************************************************************
2
+ * $Id$
3
+ *
4
+ * Project: GDAL
5
+ * Purpose: GDALGeorefPamDataset with helper to read georeferencing and other
6
+ * metadata from JP2Boxes
7
+ * Author: Even Rouault <even dot rouault at spatialys.com>
8
+ *
9
+ ******************************************************************************
10
+ * Copyright (c) 2013, Even Rouault <even dot rouault at spatialys.com>
11
+ *
12
+ * SPDX-License-Identifier: MIT
13
+ ****************************************************************************/
14
+
15
+ #ifndef GDAL_JP2_ABSTRACT_DATASET_H_INCLUDED
16
+ #define GDAL_JP2_ABSTRACT_DATASET_H_INCLUDED
17
+
18
+ //! @cond Doxygen_Suppress
19
+ #include "gdalgeorefpamdataset.h"
20
+
21
+ class CPL_DLL GDALJP2AbstractDataset : public GDALGeorefPamDataset
22
+ {
23
+ char *pszWldFilename = nullptr;
24
+
25
+ GDALDataset *poMemDS = nullptr;
26
+ char **papszMetadataFiles = nullptr;
27
+ int m_nWORLDFILEIndex = -1;
28
+ CPLStringList m_aosImageStructureMetadata{};
29
+
30
+ CPL_DISALLOW_COPY_ASSIGN(GDALJP2AbstractDataset)
31
+
32
+ protected:
33
+ int CloseDependentDatasets() override;
34
+
35
+ virtual VSILFILE *GetFileHandle()
36
+ {
37
+ return nullptr;
38
+ }
39
+
40
+ public:
41
+ GDALJP2AbstractDataset();
42
+ ~GDALJP2AbstractDataset() override;
43
+
44
+ void LoadJP2Metadata(GDALOpenInfo *poOpenInfo,
45
+ const char *pszOverrideFilename = nullptr,
46
+ VSILFILE *fpBox = nullptr);
47
+ void LoadVectorLayers(int bOpenRemoteResources = FALSE);
48
+
49
+ char **GetFileList(void) override;
50
+
51
+ char **GetMetadata(const char *pszDomain = "") override;
52
+ const char *GetMetadataItem(const char *pszName,
53
+ const char *pszDomain = "") override;
54
+
55
+ int GetLayerCount() override;
56
+ OGRLayer *GetLayer(int i) override;
57
+ };
58
+
59
+ //! @endcond
60
+
61
+ #endif /* GDAL_JP2_ABSTRACT_DATASET_H_INCLUDED */
@@ -0,0 +1,237 @@
1
+ /******************************************************************************
2
+ * $Id$
3
+ *
4
+ * Project: GDAL
5
+ * Purpose: JP2 Box Reader (and GMLJP2 Interpreter)
6
+ * Author: Frank Warmerdam, warmerdam@pobox.com
7
+ *
8
+ ******************************************************************************
9
+ * Copyright (c) 2005, Frank Warmerdam <warmerdam@pobox.com>
10
+ * Copyright (c) 2010-2013, Even Rouault <even dot rouault at spatialys.com>
11
+ *
12
+ * SPDX-License-Identifier: MIT
13
+ ****************************************************************************/
14
+
15
+ #ifndef GDAL_JP2READER_H_INCLUDED
16
+ #define GDAL_JP2READER_H_INCLUDED
17
+
18
+ #ifndef DOXYGEN_SKIP
19
+
20
+ #include "cpl_conv.h"
21
+ #include "cpl_minixml.h"
22
+ #include "cpl_vsi.h"
23
+ #include "gdal.h"
24
+ #include "gdal_priv.h"
25
+
26
+ /************************************************************************/
27
+ /* GDALJP2Box */
28
+ /************************************************************************/
29
+
30
+ class CPL_DLL GDALJP2Box
31
+ {
32
+
33
+ VSILFILE *fpVSIL = nullptr;
34
+
35
+ char szBoxType[5]{0, 0, 0, 0, 0};
36
+
37
+ GIntBig nBoxOffset = -1;
38
+ GIntBig nBoxLength = 0;
39
+
40
+ GIntBig nDataOffset = -1;
41
+
42
+ GByte abyUUID[16]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
43
+
44
+ GByte *pabyData = nullptr;
45
+
46
+ bool m_bAllowGetFileSize = true;
47
+
48
+ CPL_DISALLOW_COPY_ASSIGN(GDALJP2Box)
49
+
50
+ public:
51
+ explicit GDALJP2Box(VSILFILE * = nullptr);
52
+ ~GDALJP2Box();
53
+
54
+ void SetAllowGetFileSize(bool b)
55
+ {
56
+ m_bAllowGetFileSize = b;
57
+ }
58
+
59
+ int SetOffset(GIntBig nNewOffset);
60
+ int ReadBox();
61
+
62
+ int ReadFirst();
63
+ int ReadNext();
64
+
65
+ int ReadFirstChild(GDALJP2Box *poSuperBox);
66
+ int ReadNextChild(GDALJP2Box *poSuperBox);
67
+
68
+ GIntBig GetBoxOffset() const
69
+ {
70
+ return nBoxOffset;
71
+ }
72
+
73
+ GIntBig GetBoxLength() const
74
+ {
75
+ return nBoxLength;
76
+ }
77
+
78
+ GIntBig GetDataOffset() const
79
+ {
80
+ return nDataOffset;
81
+ }
82
+
83
+ GIntBig GetDataLength() const;
84
+
85
+ const char *GetType()
86
+ {
87
+ return szBoxType;
88
+ }
89
+
90
+ GByte *ReadBoxData();
91
+
92
+ int IsSuperBox();
93
+
94
+ int DumpReadable(FILE *, int nIndentLevel = 0);
95
+
96
+ VSILFILE *GetFILE()
97
+ {
98
+ return fpVSIL;
99
+ }
100
+
101
+ const GByte *GetUUID()
102
+ {
103
+ return abyUUID;
104
+ }
105
+
106
+ // write support
107
+ void SetType(const char *);
108
+ void SetWritableData(int nLength, const GByte *pabyData);
109
+ void AppendWritableData(int nLength, const void *pabyDataIn);
110
+ void AppendUInt32(GUInt32 nVal);
111
+ void AppendUInt16(GUInt16 nVal);
112
+ void AppendUInt8(GByte nVal);
113
+
114
+ const GByte *GetWritableData() const
115
+ {
116
+ return pabyData;
117
+ }
118
+
119
+ GByte *GetWritableBoxData() const;
120
+
121
+ // factory methods.
122
+ static GDALJP2Box *CreateSuperBox(const char *pszType, int nCount,
123
+ const GDALJP2Box *const *papoBoxes);
124
+ static GDALJP2Box *CreateAsocBox(int nCount,
125
+ const GDALJP2Box *const *papoBoxes);
126
+ static GDALJP2Box *CreateLblBox(const char *pszLabel);
127
+ static GDALJP2Box *CreateLabelledXMLAssoc(const char *pszLabel,
128
+ const char *pszXML);
129
+ static GDALJP2Box *CreateUUIDBox(const GByte *pabyUUID, int nDataSize,
130
+ const GByte *pabyData);
131
+
132
+ // JUMBF boxes (ISO/IEC 19566-5:2019)
133
+ static GDALJP2Box *CreateJUMBFDescriptionBox(const GByte *pabyUUIDType,
134
+ const char *pszLabel);
135
+ static GDALJP2Box *CreateJUMBFBox(const GDALJP2Box *poJUMBFDescriptionBox,
136
+ int nCount,
137
+ const GDALJP2Box *const *papoBoxes);
138
+ };
139
+
140
+ /************************************************************************/
141
+ /* GDALJP2Metadata */
142
+ /************************************************************************/
143
+
144
+ typedef struct _GDALJP2GeoTIFFBox GDALJP2GeoTIFFBox;
145
+
146
+ class CPL_DLL GDALJP2Metadata
147
+
148
+ {
149
+ private:
150
+ void CollectGMLData(GDALJP2Box *);
151
+ int GMLSRSLookup(const char *pszURN);
152
+
153
+ int nGeoTIFFBoxesCount;
154
+ GDALJP2GeoTIFFBox *pasGeoTIFFBoxes;
155
+
156
+ int nMSIGSize;
157
+ GByte *pabyMSIGData;
158
+
159
+ void GetGMLJP2GeoreferencingInfo(int &nEPSGCode, double adfOrigin[2],
160
+ double adfXVector[2], double adfYVector[2],
161
+ const char *&pszComment,
162
+ CPLString &osDictBox, bool &bNeedAxisFlip);
163
+ static CPLXMLNode *CreateGDALMultiDomainMetadataXML(GDALDataset *poSrcDS,
164
+ int bMainMDDomainOnly);
165
+
166
+ CPL_DISALLOW_COPY_ASSIGN(GDALJP2Metadata)
167
+
168
+ public:
169
+ char **papszGMLMetadata;
170
+
171
+ bool bHaveGeoTransform;
172
+ double adfGeoTransform[6];
173
+ bool bPixelIsPoint;
174
+
175
+ OGRSpatialReference m_oSRS{};
176
+
177
+ int nGCPCount;
178
+ GDAL_GCP *pasGCPList;
179
+
180
+ char **papszRPCMD;
181
+
182
+ char **papszMetadata; /* TIFFTAG_?RESOLUTION* for now from resd box */
183
+ char *pszXMPMetadata;
184
+ char *pszGDALMultiDomainMetadata; /* as serialized XML */
185
+ char *pszXMLIPR; /* if an IPR box with XML content has been found */
186
+
187
+ void ReadBox(VSILFILE *fpVSIL, GDALJP2Box &oBox, int &iBox);
188
+
189
+ public:
190
+ GDALJP2Metadata();
191
+ ~GDALJP2Metadata();
192
+
193
+ int ReadBoxes(VSILFILE *fpVSIL);
194
+
195
+ int ParseJP2GeoTIFF();
196
+ int ParseMSIG();
197
+ int ParseGMLCoverageDesc();
198
+
199
+ int ReadAndParse(VSILFILE *fpVSIL, int nGEOJP2Index = 0,
200
+ int nGMLJP2Index = 1, int nMSIGIndex = 2,
201
+ int *pnIndexUsed = nullptr);
202
+ int ReadAndParse(const char *pszFilename, int nGEOJP2Index = 0,
203
+ int nGMLJP2Index = 1, int nMSIGIndex = 2,
204
+ int nWorldFileIndex = 3, int *pnIndexUsed = nullptr);
205
+
206
+ // Write oriented.
207
+ void SetSpatialRef(const OGRSpatialReference *poSRS);
208
+ void SetGeoTransform(double *);
209
+ void SetGCPs(int, const GDAL_GCP *);
210
+ void SetRPCMD(char **papszRPCMDIn);
211
+
212
+ GDALJP2Box *CreateJP2GeoTIFF();
213
+ GDALJP2Box *CreateGMLJP2(int nXSize, int nYSize);
214
+ GDALJP2Box *CreateGMLJP2V2(int nXSize, int nYSize,
215
+ const char *pszDefFilename,
216
+ GDALDataset *poSrcDS);
217
+
218
+ static GDALJP2Box *
219
+ CreateGDALMultiDomainMetadataXMLBox(GDALDataset *poSrcDS,
220
+ int bMainMDDomainOnly);
221
+ static GDALJP2Box **CreateXMLBoxes(GDALDataset *poSrcDS, int *pnBoxes);
222
+ static GDALJP2Box *CreateXMPBox(GDALDataset *poSrcDS);
223
+ static GDALJP2Box *CreateIPRBox(GDALDataset *poSrcDS);
224
+ static int IsUUID_MSI(const GByte *abyUUID);
225
+ static int IsUUID_XMP(const GByte *abyUUID);
226
+
227
+ static bool IsSRSCompatible(const OGRSpatialReference *poSRS);
228
+ };
229
+
230
+ CPLXMLNode *GDALGetJPEG2000Structure(const char *pszFilename, VSILFILE *fp,
231
+ CSLConstList papszOptions);
232
+
233
+ const char CPL_DLL *GDALGetJPEG2000Reversibility(const char *pszFilename,
234
+ VSILFILE *fp);
235
+ #endif /* #ifndef DOXYGEN_SKIP */
236
+
237
+ #endif /* ndef GDAL_JP2READER_H_INCLUDED */
@@ -0,0 +1,258 @@
1
+ /******************************************************************************
2
+ * $Id$
3
+ *
4
+ * Project: GDAL Pansharpening module
5
+ * Purpose: Prototypes, and definitions for pansharpening related work.
6
+ * Author: Even Rouault <even.rouault at spatialys.com>
7
+ *
8
+ ******************************************************************************
9
+ * Copyright (c) 2015, Even Rouault <even.rouault at spatialys.com>
10
+ *
11
+ * SPDX-License-Identifier: MIT
12
+ ****************************************************************************/
13
+
14
+ #ifndef GDALPANSHARPEN_H_INCLUDED
15
+ #define GDALPANSHARPEN_H_INCLUDED
16
+
17
+ #include "gdal.h"
18
+
19
+ CPL_C_START
20
+
21
+ /**
22
+ * \file gdalpansharpen.h
23
+ *
24
+ * GDAL pansharpening related entry points and definitions.
25
+ *
26
+ * @since GDAL 2.1
27
+ */
28
+
29
+ /** Pansharpening algorithms.
30
+ */
31
+ typedef enum
32
+ {
33
+ /*! Weighted Brovery. */
34
+ GDAL_PSH_WEIGHTED_BROVEY
35
+ } GDALPansharpenAlg;
36
+
37
+ /** Pansharpening options.
38
+ */
39
+ typedef struct
40
+ {
41
+ /*! Pan sharpening algorithm/method. Only weighed Brovey for now. */
42
+ GDALPansharpenAlg ePansharpenAlg;
43
+
44
+ /*! Resampling algorithm to upsample spectral bands to pan band resolution.
45
+ */
46
+ GDALRIOResampleAlg eResampleAlg;
47
+
48
+ /*! Bit depth of the spectral bands. Can be let to 0 for default behavior.
49
+ */
50
+ int nBitDepth;
51
+
52
+ /*! Number of weight coefficients in padfWeights. */
53
+ int nWeightCount;
54
+
55
+ /*! Array of nWeightCount weights used by weighted Brovey. */
56
+ double *padfWeights;
57
+
58
+ /*! Panchromatic band. */
59
+ GDALRasterBandH hPanchroBand;
60
+
61
+ /*! Number of input spectral bands. */
62
+ int nInputSpectralBands;
63
+
64
+ /** Array of nInputSpectralBands input spectral bands. The spectral band
65
+ * have generally a coarser resolution than the panchromatic band, but they
66
+ * are assumed to have the same spatial extent (and projection) at that
67
+ * point. Necessary spatial adjustments must be done beforehand, for example
68
+ * by wrapping inside a VRT dataset.
69
+ */
70
+ GDALRasterBandH *pahInputSpectralBands;
71
+
72
+ /*! Number of output pansharpened spectral bands. */
73
+ int nOutPansharpenedBands;
74
+
75
+ /*! Array of nOutPansharpendBands values such as panOutPansharpenedBands[k]
76
+ * is a value in the range [0,nInputSpectralBands-1] . */
77
+ int *panOutPansharpenedBands;
78
+
79
+ /*! Whether the panchromatic and spectral bands have a noData value. */
80
+ int bHasNoData;
81
+
82
+ /** NoData value of the panchromatic and spectral bands (only taken into
83
+ account if bHasNoData = TRUE). This will also be use has the output
84
+ nodata value. */
85
+ double dfNoData;
86
+
87
+ /** Number of threads or -1 to mean ALL_CPUS. By default (0), single
88
+ * threaded mode is enabled unless the GDAL_NUM_THREADS configuration option
89
+ * is set to an integer or ALL_CPUS. */
90
+ int nThreads;
91
+ } GDALPansharpenOptions;
92
+
93
+ GDALPansharpenOptions CPL_DLL *GDALCreatePansharpenOptions(void);
94
+ void CPL_DLL GDALDestroyPansharpenOptions(GDALPansharpenOptions *);
95
+ GDALPansharpenOptions CPL_DLL *
96
+ GDALClonePansharpenOptions(const GDALPansharpenOptions *psOptions);
97
+
98
+ /*! Pansharpening operation handle. */
99
+ typedef void *GDALPansharpenOperationH;
100
+
101
+ GDALPansharpenOperationH CPL_DLL
102
+ GDALCreatePansharpenOperation(const GDALPansharpenOptions *);
103
+ void CPL_DLL GDALDestroyPansharpenOperation(GDALPansharpenOperationH);
104
+ CPLErr CPL_DLL GDALPansharpenProcessRegion(GDALPansharpenOperationH hOperation,
105
+ int nXOff, int nYOff, int nXSize,
106
+ int nYSize, void *pDataBuf,
107
+ GDALDataType eBufDataType);
108
+
109
+ CPL_C_END
110
+
111
+ #ifdef __cplusplus
112
+
113
+ #include <array>
114
+ #include <vector>
115
+ #include "gdal_priv.h"
116
+
117
+ #ifdef DEBUG_TIMING
118
+ #include <sys/time.h>
119
+ #endif
120
+
121
+ class GDALPansharpenOperation;
122
+
123
+ //! @cond Doxygen_Suppress
124
+ typedef struct
125
+ {
126
+ GDALPansharpenOperation *poPansharpenOperation;
127
+ GDALDataType eWorkDataType;
128
+ GDALDataType eBufDataType;
129
+ const void *pPanBuffer;
130
+ const void *pUpsampledSpectralBuffer;
131
+ void *pDataBuf;
132
+ size_t nValues;
133
+ size_t nBandValues;
134
+ GUInt32 nMaxValue;
135
+
136
+ #ifdef DEBUG_TIMING
137
+ struct timeval *ptv;
138
+ #endif
139
+
140
+ CPLErr eErr;
141
+ } GDALPansharpenJob;
142
+
143
+ typedef struct
144
+ {
145
+ GDALDataset *poMEMDS;
146
+ int nXOff;
147
+ int nYOff;
148
+ int nXSize;
149
+ int nYSize;
150
+ double dfXOff;
151
+ double dfYOff;
152
+ double dfXSize;
153
+ double dfYSize;
154
+ void *pBuffer;
155
+ GDALDataType eDT;
156
+ int nBufXSize;
157
+ int nBufYSize;
158
+ int nBandCount;
159
+ GDALRIOResampleAlg eResampleAlg;
160
+ GSpacing nBandSpace;
161
+
162
+ #ifdef DEBUG_TIMING
163
+ struct timeval *ptv;
164
+ #endif
165
+ } GDALPansharpenResampleJob;
166
+
167
+ class CPLWorkerThreadPool;
168
+
169
+ //! @endcond
170
+
171
+ /** Pansharpening operation class.
172
+ */
173
+ class GDALPansharpenOperation
174
+ {
175
+ CPL_DISALLOW_COPY_ASSIGN(GDALPansharpenOperation)
176
+
177
+ GDALPansharpenOptions *psOptions = nullptr;
178
+ std::vector<int> anInputBands{};
179
+ std::vector<GDALDataset *> aVDS{}; // to destroy
180
+ std::vector<GDALRasterBand *> aMSBands{}; // original multispectral bands
181
+ // potentially warped into a VRT
182
+ int bPositiveWeights = TRUE;
183
+ CPLWorkerThreadPool *poThreadPool = nullptr;
184
+ int nKernelRadius = 0;
185
+ std::array<double, 6> m_adfPanToMSGT = {{0.0, 1.0, 0, 0.0, 0.0, 1.0}};
186
+
187
+ static void PansharpenJobThreadFunc(void *pUserData);
188
+ static void PansharpenResampleJobThreadFunc(void *pUserData);
189
+
190
+ template <class WorkDataType, class OutDataType>
191
+ void WeightedBroveyWithNoData(const WorkDataType *pPanBuffer,
192
+ const WorkDataType *pUpsampledSpectralBuffer,
193
+ OutDataType *pDataBuf, size_t nValues,
194
+ size_t nBandValues,
195
+ WorkDataType nMaxValue) const;
196
+ template <class WorkDataType, class OutDataType, int bHasBitDepth>
197
+ void WeightedBrovey3(const WorkDataType *pPanBuffer,
198
+ const WorkDataType *pUpsampledSpectralBuffer,
199
+ OutDataType *pDataBuf, size_t nValues,
200
+ size_t nBandValues, WorkDataType nMaxValue) const;
201
+
202
+ // cppcheck-suppress functionStatic
203
+ template <class WorkDataType, class OutDataType>
204
+ void WeightedBrovey(const WorkDataType *pPanBuffer,
205
+ const WorkDataType *pUpsampledSpectralBuffer,
206
+ OutDataType *pDataBuf, size_t nValues,
207
+ size_t nBandValues, WorkDataType nMaxValue) const;
208
+ template <class WorkDataType>
209
+ CPLErr WeightedBrovey(const WorkDataType *pPanBuffer,
210
+ const WorkDataType *pUpsampledSpectralBuffer,
211
+ void *pDataBuf, GDALDataType eBufDataType,
212
+ size_t nValues, size_t nBandValues,
213
+ WorkDataType nMaxValue) const;
214
+
215
+ // cppcheck-suppress functionStatic
216
+ template <class WorkDataType>
217
+ CPLErr WeightedBrovey(const WorkDataType *pPanBuffer,
218
+ const WorkDataType *pUpsampledSpectralBuffer,
219
+ void *pDataBuf, GDALDataType eBufDataType,
220
+ size_t nValues, size_t nBandValues) const;
221
+ template <class T>
222
+ void WeightedBroveyPositiveWeights(const T *pPanBuffer,
223
+ const T *pUpsampledSpectralBuffer,
224
+ T *pDataBuf, size_t nValues,
225
+ size_t nBandValues, T nMaxValue) const;
226
+
227
+ template <class T, int NINPUT, int NOUTPUT>
228
+ size_t WeightedBroveyPositiveWeightsInternal(
229
+ const T *pPanBuffer, const T *pUpsampledSpectralBuffer, T *pDataBuf,
230
+ size_t nValues, size_t nBandValues, T nMaxValue) const;
231
+
232
+ // cppcheck-suppress unusedPrivateFunction
233
+ template <class T>
234
+ void WeightedBroveyGByteOrUInt16(const T *pPanBuffer,
235
+ const T *pUpsampledSpectralBuffer,
236
+ T *pDataBuf, size_t nValues,
237
+ size_t nBandValues, T nMaxValue) const;
238
+
239
+ // cppcheck-suppress functionStatic
240
+ CPLErr PansharpenChunk(GDALDataType eWorkDataType,
241
+ GDALDataType eBufDataType, const void *pPanBuffer,
242
+ const void *pUpsampledSpectralBuffer, void *pDataBuf,
243
+ size_t nValues, size_t nBandValues,
244
+ GUInt32 nMaxValue) const;
245
+
246
+ public:
247
+ GDALPansharpenOperation();
248
+ ~GDALPansharpenOperation();
249
+
250
+ CPLErr Initialize(const GDALPansharpenOptions *psOptions);
251
+ CPLErr ProcessRegion(int nXOff, int nYOff, int nXSize, int nYSize,
252
+ void *pDataBuf, GDALDataType eBufDataType);
253
+ GDALPansharpenOptions *GetOptions();
254
+ };
255
+
256
+ #endif /* __cplusplus */
257
+
258
+ #endif /* GDALPANSHARPEN_H_INCLUDED */
@@ -0,0 +1,104 @@
1
+ /***************************************************************************
2
+ gdal_subdatasetinfo.h - GDALSubdatasetInfo
3
+
4
+ ---------------------
5
+ begin : 21.7.2023
6
+ copyright : (C) 2023 by Alessndro Pasotti
7
+ email : elpaso@itopen.it
8
+ ***************************************************************************
9
+ * *
10
+ * SPDX-License-Identifier: MIT
11
+ * *
12
+ ***************************************************************************/
13
+ #ifndef GDALSUBDATASETINFO_H
14
+ #define GDALSUBDATASETINFO_H
15
+
16
+ #include "cpl_port.h"
17
+ #include <string>
18
+
19
+ /**
20
+ * The GDALSubdatasetInfo abstract class provides methods to extract and
21
+ * manipulate subdataset information from a file name that contains subdataset
22
+ * information.
23
+ *
24
+ * Drivers offering this functionality must override the parseFileName() method.
25
+ */
26
+ struct CPL_DLL GDALSubdatasetInfo
27
+ {
28
+
29
+ public:
30
+ /**
31
+ * @brief Construct a GDALSubdatasetInfo object from a subdataset file descriptor.
32
+ * @param fileName The subdataset file name descriptor.
33
+ */
34
+ GDALSubdatasetInfo(const std::string &fileName);
35
+
36
+ virtual ~GDALSubdatasetInfo() = default;
37
+
38
+ /**
39
+ * @brief Returns the unquoted and unescaped path component of the complete file descriptor
40
+ * stripping any subdataset, prefix and additional information.
41
+ * @return The path to the file
42
+ * @since GDAL 3.8
43
+ */
44
+ std::string GetPathComponent() const;
45
+
46
+ /**
47
+ * @brief Replaces the path component of the complete file descriptor
48
+ * by keeping the subdataset and any other component unaltered.
49
+ * The returned string must be freed with CPLFree()
50
+ * @param newPathName New path name with no subdataset information.
51
+ * @note This method does not check if the subdataset actually exists.
52
+ * @return The original file name with the old path component replaced by newPathName.
53
+ * @since GDAL 3.8
54
+ */
55
+ std::string ModifyPathComponent(const std::string &newPathName) const;
56
+
57
+ /**
58
+ * @brief Returns the subdataset component of the file name.
59
+ *
60
+ * @return The subdataset name
61
+ * @since GDAL 3.8
62
+ */
63
+ std::string GetSubdatasetComponent() const;
64
+
65
+ //! @cond Doxygen_Suppress
66
+ protected:
67
+ /**
68
+ * This method is called once to parse the fileName and populate the member variables.
69
+ * It must be reimplemented by concrete derived classes.
70
+ */
71
+ virtual void parseFileName() = 0;
72
+
73
+ /**
74
+ * Adds double quotes to paths and escape double quotes inside the path.
75
+ */
76
+ static std::string quote(const std::string &path);
77
+
78
+ /**
79
+ * Removes double quotes and unescape double quotes.
80
+ */
81
+ static std::string unquote(const std::string &path);
82
+
83
+ //! The original unparsed complete file name passed to the constructor (e.g. GPKG:/path/to/file.gpkg:layer_name)
84
+ std::string m_fileName;
85
+ //! The unmodified path component of the file name (e.g. "\"C:\path\to\file.gpkg\"", "/path/to/file.gpkg")
86
+ std::string m_pathComponent;
87
+ //! The unquoted and unescaped path component of the file name (e.g. "C:\path\to\file.gpkg", "/path/to/file.gpkg")
88
+ std::string m_cleanedPathComponent;
89
+ //! The subdataset component (e.g. layer_name)
90
+ std::string m_subdatasetComponent;
91
+ //! The driver prefix component (e.g. GPKG)
92
+ std::string m_driverPrefixComponent;
93
+ //! If the path is enclosed in double quotes.
94
+ bool m_isQuoted = false;
95
+
96
+ private:
97
+ mutable bool m_initialized = false;
98
+
99
+ void init() const;
100
+
101
+ //! @endcond
102
+ };
103
+
104
+ #endif // GDALSUBDATASETINFO_H