@cpp.js/package-gdal 1.0.0-beta.21 → 1.0.0-beta.23
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.
- package/CHANGELOG.md +18 -0
- package/cppjs-package-gdal.podspec +1 -1
- package/cppjs.build.js +1 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_atomic_ops.h +90 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_auto_close.h +73 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_compressor.h +112 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_config.h +215 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_config_extras.h +34 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_conv.h +417 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_csv.h +71 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_error.h +344 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_hash_set.h +83 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_http.h +319 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_json.h +301 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_list.h +59 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_minixml.h +211 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_multiproc.h +241 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_port.h +1182 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_progress.h +49 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_quad_tree.h +105 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_spawn.h +60 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_string.h +863 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_time.h +29 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_virtualmem.h +365 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_vsi.h +830 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_vsi_error.h +55 -0
- package/dist/prebuilt/Android-x86_64/include/cpl_vsi_virtual.h +580 -0
- package/dist/prebuilt/Android-x86_64/include/cplkeywordparser.h +61 -0
- package/dist/prebuilt/Android-x86_64/include/gdal.h +2667 -0
- package/dist/prebuilt/Android-x86_64/include/gdal_alg.h +717 -0
- package/dist/prebuilt/Android-x86_64/include/gdal_alg_priv.h +386 -0
- package/dist/prebuilt/Android-x86_64/include/gdal_csv.h +25 -0
- package/dist/prebuilt/Android-x86_64/include/gdal_frmts.h +236 -0
- package/dist/prebuilt/Android-x86_64/include/gdal_mdreader.h +240 -0
- package/dist/prebuilt/Android-x86_64/include/gdal_pam.h +461 -0
- package/dist/prebuilt/Android-x86_64/include/gdal_priv.h +4599 -0
- package/dist/prebuilt/Android-x86_64/include/gdal_proxy.h +470 -0
- package/dist/prebuilt/Android-x86_64/include/gdal_rat.h +390 -0
- package/dist/prebuilt/Android-x86_64/include/gdal_simplesurf.h +579 -0
- package/dist/prebuilt/Android-x86_64/include/gdal_utils.h +313 -0
- package/dist/prebuilt/Android-x86_64/include/gdal_version.h +33 -0
- package/dist/prebuilt/Android-x86_64/include/gdal_vrt.h +89 -0
- package/dist/prebuilt/Android-x86_64/include/gdalcachedpixelaccessor.h +439 -0
- package/dist/prebuilt/Android-x86_64/include/gdalgeorefpamdataset.h +73 -0
- package/dist/prebuilt/Android-x86_64/include/gdalgrid.h +102 -0
- package/dist/prebuilt/Android-x86_64/include/gdalgrid_priv.h +67 -0
- package/dist/prebuilt/Android-x86_64/include/gdaljp2abstractdataset.h +61 -0
- package/dist/prebuilt/Android-x86_64/include/gdaljp2metadata.h +237 -0
- package/dist/prebuilt/Android-x86_64/include/gdalpansharpen.h +258 -0
- package/dist/prebuilt/Android-x86_64/include/gdalsubdatasetinfo.h +104 -0
- package/dist/prebuilt/Android-x86_64/include/gdalwarper.h +622 -0
- package/dist/prebuilt/Android-x86_64/include/gnm.h +750 -0
- package/dist/prebuilt/Android-x86_64/include/gnm_api.h +101 -0
- package/dist/prebuilt/Android-x86_64/include/gnmgraph.h +258 -0
- package/dist/prebuilt/Android-x86_64/include/memdataset.h +176 -0
- package/dist/prebuilt/Android-x86_64/include/ogr_api.h +1024 -0
- package/dist/prebuilt/Android-x86_64/include/ogr_core.h +1321 -0
- package/dist/prebuilt/Android-x86_64/include/ogr_feature.h +1981 -0
- package/dist/prebuilt/Android-x86_64/include/ogr_featurestyle.h +858 -0
- package/dist/prebuilt/Android-x86_64/include/ogr_geocoding.h +46 -0
- package/dist/prebuilt/Android-x86_64/include/ogr_geomcoordinateprecision.h +79 -0
- package/dist/prebuilt/Android-x86_64/include/ogr_geometry.h +4346 -0
- package/dist/prebuilt/Android-x86_64/include/ogr_p.h +324 -0
- package/dist/prebuilt/Android-x86_64/include/ogr_recordbatch.h +125 -0
- package/dist/prebuilt/Android-x86_64/include/ogr_spatialref.h +1007 -0
- package/dist/prebuilt/Android-x86_64/include/ogr_srs_api.h +1088 -0
- package/dist/prebuilt/Android-x86_64/include/ogr_swq.h +529 -0
- package/dist/prebuilt/Android-x86_64/include/ogrsf_frmts.h +746 -0
- package/dist/prebuilt/Android-x86_64/include/rawdataset.h +255 -0
- package/dist/prebuilt/Android-x86_64/include/vrtdataset.h +2426 -0
- package/dist/prebuilt/Android-x86_64/lib/cmake/gdal/GDAL-targets-release.cmake +19 -0
- package/dist/prebuilt/Android-x86_64/lib/cmake/gdal/GDAL-targets.cmake +106 -0
- package/dist/prebuilt/Android-x86_64/lib/cmake/gdal/GDALConfig.cmake +21 -0
- package/dist/prebuilt/Android-x86_64/lib/cmake/gdal/GDALConfigVersion.cmake +85 -0
- package/dist/prebuilt/Android-x86_64/lib/gdalplugins/drivers.ini +290 -0
- package/dist/prebuilt/Android-x86_64/lib/libgdal.so +0 -0
- package/dist/prebuilt/Android-x86_64/lib/pkgconfig/gdal.pc +17 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/GDALLogoBW.svg +138 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/GDALLogoColor.svg +126 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/GDALLogoGS.svg +126 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/LICENSE.TXT +467 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/MM_m_idofic.csv +321 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/cubewerx_extra.wkt +48 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/default.rsc +0 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/ecw_cs.wkt +1453 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/epsg.wkt +1 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/esri_StatePlane_extra.wkt +631 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/gdalicon.png +0 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/gdalinfo_output.schema.json +346 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/gdalmdiminfo_output.schema.json +321 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/gdaltileindex.xsd +253 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/gdalvrt.xsd +881 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/gfs.xsd +246 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/gml_registry.xml +117 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/gml_registry.xsd +66 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_center.csv +251 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_process.csv +102 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_subcenter.csv +63 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_0.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_1.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_13.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_14.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_15.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_16.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_17.csv +11 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_18.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_19.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_190.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_191.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_2.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_20.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_21.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_3.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_4.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_5.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_6.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_0_7.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_10_0.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_10_1.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_10_191.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_10_2.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_10_3.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_10_4.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_1_0.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_1_1.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_1_2.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_20_0.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_20_1.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_20_2.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_2_0.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_2_3.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_2_4.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_2_5.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_2_6.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_0.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_1.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_2.csv +28 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_3.csv +8 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_4.csv +14 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_5.csv +11 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_3_6.csv +11 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_0.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_1.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_10.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_2.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_3.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_4.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_5.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_6.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_7.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_8.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_4_9.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_local_Canada.csv +5 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_local_HPC.csv +2 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_local_MRMS.csv +175 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_local_NCEP.csv +401 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_local_NDFD.csv +38 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_2_local_index.csv +7 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_4_5.csv +261 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/grib2_table_versions.csv +3 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/gt_datum.csv +229 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/gt_ellips.csv +24 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/header.dxf +1124 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/inspire_cp_BasicPropertyUnit.gfs +57 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/inspire_cp_CadastralBoundary.gfs +60 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/inspire_cp_CadastralParcel.gfs +81 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/inspire_cp_CadastralZoning.gfs +161 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_AdmArea.gfs +59 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_AdmBdry.gfs +49 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_AdmPt.gfs +59 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_BldA.gfs +54 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_BldL.gfs +54 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_Cntr.gfs +54 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_CommBdry.gfs +49 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_CommPt.gfs +59 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_Cstline.gfs +54 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_ElevPt.gfs +54 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_GCP.gfs +94 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_LeveeEdge.gfs +49 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RailCL.gfs +54 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RdASL.gfs +44 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RdArea.gfs +54 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RdCompt.gfs +59 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RdEdg.gfs +59 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RdMgtBdry.gfs +49 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RdSgmtA.gfs +59 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_RvrMgtBdry.gfs +49 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_SBAPt.gfs +49 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_SBArea.gfs +54 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_SBBdry.gfs +44 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_WA.gfs +54 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_WL.gfs +54 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_WStrA.gfs +54 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/jpfgdgml_WStrL.gfs +54 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/nitf_spec.xml +3290 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/nitf_spec.xsd +173 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/ogrinfo_output.schema.json +528 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/ogrvrt.xsd +530 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/osmconf.ini +134 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/ozi_datum.csv +131 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/ozi_ellips.csv +35 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/pci_datum.txt +530 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/pci_ellips.txt +129 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/pdfcomposition.xsd +705 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/ruian_vf_ob_v1.gfs +1455 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/ruian_vf_st_uvoh_v1.gfs +86 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/ruian_vf_st_v1.gfs +1489 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/ruian_vf_v1.gfs +2126 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/s57agencies.csv +249 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/s57attributes.csv +484 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/s57expectedinput.csv +1008 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/s57objectclasses.csv +287 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/seed_2d.dgn +0 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/seed_3d.dgn +0 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/stateplane.csv +259 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/tms_LINZAntarticaMapTileGrid.json +190 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/tms_MapML_APSTILE.json +268 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/tms_MapML_CBMTILE.json +346 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/tms_NZTM2000.json +243 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/trailer.dxf +434 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/vdv452.xml +351 -0
- package/dist/prebuilt/Android-x86_64/share/gdal/vdv452.xsd +47 -0
- package/gdal.xcframework/ios-arm64_arm64e/libgdal.a +0 -0
- package/gdal.xcframework/ios-arm64_arm64e_x86_64-simulator/libgdal.a +0 -0
- package/package.json +12 -12
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
* $Id$
|
|
3
|
+
*
|
|
4
|
+
* Project: GDAL Core
|
|
5
|
+
* Purpose: GDAL Core C++/Private declarations
|
|
6
|
+
* Author: Even Rouault <even dot rouault at spatialys.com>
|
|
7
|
+
*
|
|
8
|
+
******************************************************************************
|
|
9
|
+
* Copyright (c) 2008-2014, Even Rouault <even dot rouault at spatialys.com>
|
|
10
|
+
*
|
|
11
|
+
* SPDX-License-Identifier: MIT
|
|
12
|
+
****************************************************************************/
|
|
13
|
+
|
|
14
|
+
#ifndef GDAL_PROXY_H_INCLUDED
|
|
15
|
+
#define GDAL_PROXY_H_INCLUDED
|
|
16
|
+
|
|
17
|
+
#ifndef DOXYGEN_SKIP
|
|
18
|
+
|
|
19
|
+
#include "gdal.h"
|
|
20
|
+
|
|
21
|
+
#ifdef __cplusplus
|
|
22
|
+
|
|
23
|
+
#include "gdal_priv.h"
|
|
24
|
+
#include "cpl_hash_set.h"
|
|
25
|
+
|
|
26
|
+
/* ******************************************************************** */
|
|
27
|
+
/* GDALProxyDataset */
|
|
28
|
+
/* ******************************************************************** */
|
|
29
|
+
|
|
30
|
+
class CPL_DLL GDALProxyDataset : public GDALDataset
|
|
31
|
+
{
|
|
32
|
+
protected:
|
|
33
|
+
GDALProxyDataset()
|
|
34
|
+
{
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
virtual GDALDataset *RefUnderlyingDataset() const = 0;
|
|
38
|
+
virtual void UnrefUnderlyingDataset(GDALDataset *poUnderlyingDataset) const;
|
|
39
|
+
|
|
40
|
+
CPLErr IBuildOverviews(const char *, int, const int *, int, const int *,
|
|
41
|
+
GDALProgressFunc, void *,
|
|
42
|
+
CSLConstList papszOptions) override;
|
|
43
|
+
CPLErr IRasterIO(GDALRWFlag, int, int, int, int, void *, int, int,
|
|
44
|
+
GDALDataType, int, BANDMAP_TYPE, GSpacing, GSpacing,
|
|
45
|
+
GSpacing, GDALRasterIOExtraArg *psExtraArg) override;
|
|
46
|
+
CPLErr BlockBasedRasterIO(GDALRWFlag eRWFlag, int nXOff, int nYOff,
|
|
47
|
+
int nXSize, int nYSize, void *pData,
|
|
48
|
+
int nBufXSize, int nBufYSize,
|
|
49
|
+
GDALDataType eBufType, int nBandCount,
|
|
50
|
+
const int *panBandMap, GSpacing nPixelSpace,
|
|
51
|
+
GSpacing nLineSpace, GSpacing nBandSpace,
|
|
52
|
+
GDALRasterIOExtraArg *psExtraArg) override;
|
|
53
|
+
|
|
54
|
+
public:
|
|
55
|
+
char **GetMetadataDomainList() override;
|
|
56
|
+
char **GetMetadata(const char *pszDomain) override;
|
|
57
|
+
CPLErr SetMetadata(char **papszMetadata, const char *pszDomain) override;
|
|
58
|
+
const char *GetMetadataItem(const char *pszName,
|
|
59
|
+
const char *pszDomain) override;
|
|
60
|
+
CPLErr SetMetadataItem(const char *pszName, const char *pszValue,
|
|
61
|
+
const char *pszDomain) override;
|
|
62
|
+
|
|
63
|
+
CPLErr FlushCache(bool bAtClosing) override;
|
|
64
|
+
|
|
65
|
+
const OGRSpatialReference *GetSpatialRef() const override;
|
|
66
|
+
CPLErr SetSpatialRef(const OGRSpatialReference *poSRS) override;
|
|
67
|
+
|
|
68
|
+
CPLErr GetGeoTransform(double *) override;
|
|
69
|
+
CPLErr SetGeoTransform(double *) override;
|
|
70
|
+
|
|
71
|
+
void *GetInternalHandle(const char *) override;
|
|
72
|
+
GDALDriver *GetDriver() override;
|
|
73
|
+
char **GetFileList() override;
|
|
74
|
+
|
|
75
|
+
int GetGCPCount() override;
|
|
76
|
+
const OGRSpatialReference *GetGCPSpatialRef() const override;
|
|
77
|
+
const GDAL_GCP *GetGCPs() override;
|
|
78
|
+
CPLErr SetGCPs(int nGCPCount, const GDAL_GCP *pasGCPList,
|
|
79
|
+
const OGRSpatialReference *poGCP_SRS) override;
|
|
80
|
+
|
|
81
|
+
CPLErr AdviseRead(int nXOff, int nYOff, int nXSize, int nYSize,
|
|
82
|
+
int nBufXSize, int nBufYSize, GDALDataType eDT,
|
|
83
|
+
int nBandCount, int *panBandList,
|
|
84
|
+
char **papszOptions) override;
|
|
85
|
+
|
|
86
|
+
CPLErr CreateMaskBand(int nFlags) override;
|
|
87
|
+
|
|
88
|
+
virtual CPLStringList
|
|
89
|
+
GetCompressionFormats(int nXOff, int nYOff, int nXSize, int nYSize,
|
|
90
|
+
int nBandCount, const int *panBandList) override;
|
|
91
|
+
virtual CPLErr ReadCompressedData(const char *pszFormat, int nXOff,
|
|
92
|
+
int nYOff, int nXSize, int nYSize,
|
|
93
|
+
int nBandCount, const int *panBandList,
|
|
94
|
+
void **ppBuffer, size_t *pnBufferSize,
|
|
95
|
+
char **ppszDetailedFormat) override;
|
|
96
|
+
|
|
97
|
+
private:
|
|
98
|
+
CPL_DISALLOW_COPY_ASSIGN(GDALProxyDataset)
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
/* ******************************************************************** */
|
|
102
|
+
/* GDALProxyRasterBand */
|
|
103
|
+
/* ******************************************************************** */
|
|
104
|
+
|
|
105
|
+
class CPL_DLL GDALProxyRasterBand : public GDALRasterBand
|
|
106
|
+
{
|
|
107
|
+
protected:
|
|
108
|
+
GDALProxyRasterBand()
|
|
109
|
+
{
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
virtual GDALRasterBand *
|
|
113
|
+
RefUnderlyingRasterBand(bool bForceOpen = true) const = 0;
|
|
114
|
+
virtual void
|
|
115
|
+
UnrefUnderlyingRasterBand(GDALRasterBand *poUnderlyingRasterBand) const;
|
|
116
|
+
|
|
117
|
+
CPLErr IReadBlock(int, int, void *) override;
|
|
118
|
+
CPLErr IWriteBlock(int, int, void *) override;
|
|
119
|
+
CPLErr IRasterIO(GDALRWFlag, int, int, int, int, void *, int, int,
|
|
120
|
+
GDALDataType, GSpacing, GSpacing,
|
|
121
|
+
GDALRasterIOExtraArg *psExtraArg) override;
|
|
122
|
+
|
|
123
|
+
int IGetDataCoverageStatus(int nXOff, int nYOff, int nXSize, int nYSize,
|
|
124
|
+
int nMaskFlagStop, double *pdfDataPct) override;
|
|
125
|
+
|
|
126
|
+
public:
|
|
127
|
+
char **GetMetadataDomainList() override;
|
|
128
|
+
char **GetMetadata(const char *pszDomain) override;
|
|
129
|
+
CPLErr SetMetadata(char **papszMetadata, const char *pszDomain) override;
|
|
130
|
+
const char *GetMetadataItem(const char *pszName,
|
|
131
|
+
const char *pszDomain) override;
|
|
132
|
+
CPLErr SetMetadataItem(const char *pszName, const char *pszValue,
|
|
133
|
+
const char *pszDomain) override;
|
|
134
|
+
|
|
135
|
+
GDALRasterBlock *GetLockedBlockRef(int nXBlockOff, int nYBlockOff,
|
|
136
|
+
int bJustInitialize) override;
|
|
137
|
+
|
|
138
|
+
GDALRasterBlock *TryGetLockedBlockRef(int nXBlockOff,
|
|
139
|
+
int nYBlockYOff) override;
|
|
140
|
+
|
|
141
|
+
CPLErr FlushBlock(int nXBlockOff, int nYBlockOff,
|
|
142
|
+
int bWriteDirtyBlock) override;
|
|
143
|
+
|
|
144
|
+
CPLErr FlushCache(bool bAtClosing) override;
|
|
145
|
+
char **GetCategoryNames() override;
|
|
146
|
+
double GetNoDataValue(int *pbSuccess = nullptr) override;
|
|
147
|
+
double GetMinimum(int *pbSuccess = nullptr) override;
|
|
148
|
+
double GetMaximum(int *pbSuccess = nullptr) override;
|
|
149
|
+
double GetOffset(int *pbSuccess = nullptr) override;
|
|
150
|
+
double GetScale(int *pbSuccess = nullptr) override;
|
|
151
|
+
const char *GetUnitType() override;
|
|
152
|
+
GDALColorInterp GetColorInterpretation() override;
|
|
153
|
+
GDALColorTable *GetColorTable() override;
|
|
154
|
+
CPLErr Fill(double dfRealValue, double dfImaginaryValue = 0) override;
|
|
155
|
+
|
|
156
|
+
CPLErr SetCategoryNames(char **) override;
|
|
157
|
+
CPLErr SetNoDataValue(double) override;
|
|
158
|
+
CPLErr DeleteNoDataValue() override;
|
|
159
|
+
CPLErr SetColorTable(GDALColorTable *) override;
|
|
160
|
+
CPLErr SetColorInterpretation(GDALColorInterp) override;
|
|
161
|
+
CPLErr SetOffset(double) override;
|
|
162
|
+
CPLErr SetScale(double) override;
|
|
163
|
+
CPLErr SetUnitType(const char *) override;
|
|
164
|
+
|
|
165
|
+
CPLErr GetStatistics(int bApproxOK, int bForce, double *pdfMin,
|
|
166
|
+
double *pdfMax, double *pdfMean,
|
|
167
|
+
double *padfStdDev) override;
|
|
168
|
+
CPLErr ComputeStatistics(int bApproxOK, double *pdfMin, double *pdfMax,
|
|
169
|
+
double *pdfMean, double *pdfStdDev,
|
|
170
|
+
GDALProgressFunc, void *pProgressData) override;
|
|
171
|
+
CPLErr SetStatistics(double dfMin, double dfMax, double dfMean,
|
|
172
|
+
double dfStdDev) override;
|
|
173
|
+
CPLErr ComputeRasterMinMax(int, double *) override;
|
|
174
|
+
|
|
175
|
+
int HasArbitraryOverviews() override;
|
|
176
|
+
int GetOverviewCount() override;
|
|
177
|
+
GDALRasterBand *GetOverview(int) override;
|
|
178
|
+
GDALRasterBand *GetRasterSampleOverview(GUIntBig) override;
|
|
179
|
+
CPLErr BuildOverviews(const char *, int, const int *, GDALProgressFunc,
|
|
180
|
+
void *, CSLConstList papszOptions) override;
|
|
181
|
+
|
|
182
|
+
CPLErr AdviseRead(int nXOff, int nYOff, int nXSize, int nYSize,
|
|
183
|
+
int nBufXSize, int nBufYSize, GDALDataType eDT,
|
|
184
|
+
char **papszOptions) override;
|
|
185
|
+
|
|
186
|
+
CPLErr GetHistogram(double dfMin, double dfMax, int nBuckets,
|
|
187
|
+
GUIntBig *panHistogram, int bIncludeOutOfRange,
|
|
188
|
+
int bApproxOK, GDALProgressFunc,
|
|
189
|
+
void *pProgressData) override;
|
|
190
|
+
|
|
191
|
+
CPLErr GetDefaultHistogram(double *pdfMin, double *pdfMax, int *pnBuckets,
|
|
192
|
+
GUIntBig **ppanHistogram, int bForce,
|
|
193
|
+
GDALProgressFunc, void *pProgressData) override;
|
|
194
|
+
CPLErr SetDefaultHistogram(double dfMin, double dfMax, int nBuckets,
|
|
195
|
+
GUIntBig *panHistogram) override;
|
|
196
|
+
|
|
197
|
+
GDALRasterAttributeTable *GetDefaultRAT() override;
|
|
198
|
+
CPLErr SetDefaultRAT(const GDALRasterAttributeTable *) override;
|
|
199
|
+
|
|
200
|
+
GDALRasterBand *GetMaskBand() override;
|
|
201
|
+
int GetMaskFlags() override;
|
|
202
|
+
CPLErr CreateMaskBand(int nFlags) override;
|
|
203
|
+
bool IsMaskBand() const override;
|
|
204
|
+
GDALMaskValueRange GetMaskValueRange() const override;
|
|
205
|
+
|
|
206
|
+
CPLVirtualMem *GetVirtualMemAuto(GDALRWFlag eRWFlag, int *pnPixelSpace,
|
|
207
|
+
GIntBig *pnLineSpace,
|
|
208
|
+
char **papszOptions) override;
|
|
209
|
+
|
|
210
|
+
CPLErr InterpolateAtPoint(double dfPixel, double dfLine,
|
|
211
|
+
GDALRIOResampleAlg eInterpolation,
|
|
212
|
+
double *pdfRealValue,
|
|
213
|
+
double *pdfImagValue) const override;
|
|
214
|
+
|
|
215
|
+
void EnablePixelTypeSignedByteWarning(bool b) override;
|
|
216
|
+
|
|
217
|
+
private:
|
|
218
|
+
CPL_DISALLOW_COPY_ASSIGN(GDALProxyRasterBand)
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
/* ******************************************************************** */
|
|
222
|
+
/* GDALProxyPoolDataset */
|
|
223
|
+
/* ******************************************************************** */
|
|
224
|
+
|
|
225
|
+
typedef struct _GDALProxyPoolCacheEntry GDALProxyPoolCacheEntry;
|
|
226
|
+
class GDALProxyPoolRasterBand;
|
|
227
|
+
|
|
228
|
+
class CPL_DLL GDALProxyPoolDataset : public GDALProxyDataset
|
|
229
|
+
{
|
|
230
|
+
private:
|
|
231
|
+
GIntBig responsiblePID = -1;
|
|
232
|
+
|
|
233
|
+
mutable char *pszProjectionRef = nullptr;
|
|
234
|
+
mutable OGRSpatialReference *m_poSRS = nullptr;
|
|
235
|
+
mutable OGRSpatialReference *m_poGCPSRS = nullptr;
|
|
236
|
+
double adfGeoTransform[6]{0, 1, 0, 0, 0, 1};
|
|
237
|
+
bool m_bHasSrcSRS = false;
|
|
238
|
+
bool bHasSrcGeoTransform = false;
|
|
239
|
+
char *pszGCPProjection = nullptr;
|
|
240
|
+
int nGCPCount = 0;
|
|
241
|
+
GDAL_GCP *pasGCPList = nullptr;
|
|
242
|
+
CPLHashSet *metadataSet = nullptr;
|
|
243
|
+
CPLHashSet *metadataItemSet = nullptr;
|
|
244
|
+
|
|
245
|
+
mutable GDALProxyPoolCacheEntry *cacheEntry = nullptr;
|
|
246
|
+
char *m_pszOwner = nullptr;
|
|
247
|
+
|
|
248
|
+
GDALDataset *RefUnderlyingDataset(bool bForceOpen) const;
|
|
249
|
+
|
|
250
|
+
GDALProxyPoolDataset(const char *pszSourceDatasetDescription,
|
|
251
|
+
GDALAccess eAccess, int bShared, const char *pszOwner);
|
|
252
|
+
|
|
253
|
+
protected:
|
|
254
|
+
GDALDataset *RefUnderlyingDataset() const override;
|
|
255
|
+
void
|
|
256
|
+
UnrefUnderlyingDataset(GDALDataset *poUnderlyingDataset) const override;
|
|
257
|
+
|
|
258
|
+
friend class GDALProxyPoolRasterBand;
|
|
259
|
+
|
|
260
|
+
public:
|
|
261
|
+
GDALProxyPoolDataset(const char *pszSourceDatasetDescription,
|
|
262
|
+
int nRasterXSize, int nRasterYSize,
|
|
263
|
+
GDALAccess eAccess = GA_ReadOnly, int bShared = FALSE,
|
|
264
|
+
const char *pszProjectionRef = nullptr,
|
|
265
|
+
double *padfGeoTransform = nullptr,
|
|
266
|
+
const char *pszOwner = nullptr);
|
|
267
|
+
|
|
268
|
+
static GDALProxyPoolDataset *Create(const char *pszSourceDatasetDescription,
|
|
269
|
+
CSLConstList papszOpenOptions = nullptr,
|
|
270
|
+
GDALAccess eAccess = GA_ReadOnly,
|
|
271
|
+
int bShared = FALSE,
|
|
272
|
+
const char *pszOwner = nullptr);
|
|
273
|
+
|
|
274
|
+
~GDALProxyPoolDataset() override;
|
|
275
|
+
|
|
276
|
+
void SetOpenOptions(CSLConstList papszOpenOptions);
|
|
277
|
+
|
|
278
|
+
// If size (nBlockXSize&nBlockYSize) parameters is zero
|
|
279
|
+
// they will be loaded when RefUnderlyingRasterBand function is called.
|
|
280
|
+
// But in this case we cannot use them in other non-virtual methods before
|
|
281
|
+
// RefUnderlyingRasterBand fist call.
|
|
282
|
+
void AddSrcBandDescription(GDALDataType eDataType, int nBlockXSize,
|
|
283
|
+
int nBlockYSize);
|
|
284
|
+
|
|
285
|
+
// Used by VRT SimpleSource to add a single GDALProxyPoolRasterBand while
|
|
286
|
+
// keeping all other bands initialized to a nullptr. This is under the
|
|
287
|
+
// assumption, VRT SimpleSource will not have to access any other bands than
|
|
288
|
+
// the one added.
|
|
289
|
+
void AddSrcBand(int nBand, GDALDataType eDataType, int nBlockXSize,
|
|
290
|
+
int nBlockYSize);
|
|
291
|
+
CPLErr FlushCache(bool bAtClosing) override;
|
|
292
|
+
|
|
293
|
+
const OGRSpatialReference *GetSpatialRef() const override;
|
|
294
|
+
CPLErr SetSpatialRef(const OGRSpatialReference *poSRS) override;
|
|
295
|
+
|
|
296
|
+
CPLErr GetGeoTransform(double *) override;
|
|
297
|
+
CPLErr SetGeoTransform(double *) override;
|
|
298
|
+
|
|
299
|
+
// Special behavior for the following methods : they return a pointer
|
|
300
|
+
// data type, that must be cached by the proxy, so it doesn't become invalid
|
|
301
|
+
// when the underlying object get closed.
|
|
302
|
+
char **GetMetadata(const char *pszDomain) override;
|
|
303
|
+
const char *GetMetadataItem(const char *pszName,
|
|
304
|
+
const char *pszDomain) override;
|
|
305
|
+
|
|
306
|
+
void *GetInternalHandle(const char *pszRequest) override;
|
|
307
|
+
|
|
308
|
+
const OGRSpatialReference *GetGCPSpatialRef() const override;
|
|
309
|
+
const GDAL_GCP *GetGCPs() override;
|
|
310
|
+
|
|
311
|
+
private:
|
|
312
|
+
CPL_DISALLOW_COPY_ASSIGN(GDALProxyPoolDataset)
|
|
313
|
+
};
|
|
314
|
+
|
|
315
|
+
/* ******************************************************************** */
|
|
316
|
+
/* GDALProxyPoolRasterBand */
|
|
317
|
+
/* ******************************************************************** */
|
|
318
|
+
|
|
319
|
+
class GDALProxyPoolOverviewRasterBand;
|
|
320
|
+
class GDALProxyPoolMaskBand;
|
|
321
|
+
|
|
322
|
+
class CPL_DLL GDALProxyPoolRasterBand : public GDALProxyRasterBand
|
|
323
|
+
{
|
|
324
|
+
private:
|
|
325
|
+
CPLHashSet *metadataSet = nullptr;
|
|
326
|
+
CPLHashSet *metadataItemSet = nullptr;
|
|
327
|
+
char *pszUnitType = nullptr;
|
|
328
|
+
char **papszCategoryNames = nullptr;
|
|
329
|
+
GDALColorTable *poColorTable = nullptr;
|
|
330
|
+
|
|
331
|
+
int nSizeProxyOverviewRasterBand = 0;
|
|
332
|
+
GDALProxyPoolOverviewRasterBand **papoProxyOverviewRasterBand = nullptr;
|
|
333
|
+
GDALProxyPoolMaskBand *poProxyMaskBand = nullptr;
|
|
334
|
+
|
|
335
|
+
protected:
|
|
336
|
+
GDALRasterBand *
|
|
337
|
+
RefUnderlyingRasterBand(bool bForceOpen = true) const override;
|
|
338
|
+
void UnrefUnderlyingRasterBand(
|
|
339
|
+
GDALRasterBand *poUnderlyingRasterBand) const override;
|
|
340
|
+
|
|
341
|
+
friend class GDALProxyPoolOverviewRasterBand;
|
|
342
|
+
friend class GDALProxyPoolMaskBand;
|
|
343
|
+
|
|
344
|
+
public:
|
|
345
|
+
GDALProxyPoolRasterBand(GDALProxyPoolDataset *poDS, int nBand,
|
|
346
|
+
GDALDataType eDataType, int nBlockXSize,
|
|
347
|
+
int nBlockYSize);
|
|
348
|
+
GDALProxyPoolRasterBand(GDALProxyPoolDataset *poDS,
|
|
349
|
+
GDALRasterBand *poUnderlyingRasterBand);
|
|
350
|
+
~GDALProxyPoolRasterBand() override;
|
|
351
|
+
|
|
352
|
+
void AddSrcMaskBandDescription(GDALDataType eDataType, int nBlockXSize,
|
|
353
|
+
int nBlockYSize);
|
|
354
|
+
|
|
355
|
+
void AddSrcMaskBandDescriptionFromUnderlying();
|
|
356
|
+
|
|
357
|
+
// Special behavior for the following methods : they return a pointer
|
|
358
|
+
// data type, that must be cached by the proxy, so it doesn't become invalid
|
|
359
|
+
// when the underlying object get closed.
|
|
360
|
+
char **GetMetadata(const char *pszDomain) override;
|
|
361
|
+
const char *GetMetadataItem(const char *pszName,
|
|
362
|
+
const char *pszDomain) override;
|
|
363
|
+
char **GetCategoryNames() override;
|
|
364
|
+
const char *GetUnitType() override;
|
|
365
|
+
GDALColorTable *GetColorTable() override;
|
|
366
|
+
GDALRasterBand *GetOverview(int) override;
|
|
367
|
+
GDALRasterBand *
|
|
368
|
+
GetRasterSampleOverview(GUIntBig nDesiredSamples) override; // TODO
|
|
369
|
+
GDALRasterBand *GetMaskBand() override;
|
|
370
|
+
|
|
371
|
+
CPLErr FlushCache(bool bAtClosing) override;
|
|
372
|
+
|
|
373
|
+
private:
|
|
374
|
+
CPL_DISALLOW_COPY_ASSIGN(GDALProxyPoolRasterBand)
|
|
375
|
+
};
|
|
376
|
+
|
|
377
|
+
/* ******************************************************************** */
|
|
378
|
+
/* GDALProxyPoolOverviewRasterBand */
|
|
379
|
+
/* ******************************************************************** */
|
|
380
|
+
|
|
381
|
+
class GDALProxyPoolOverviewRasterBand : public GDALProxyPoolRasterBand
|
|
382
|
+
{
|
|
383
|
+
private:
|
|
384
|
+
GDALProxyPoolRasterBand *poMainBand = nullptr;
|
|
385
|
+
int nOverviewBand = 0;
|
|
386
|
+
|
|
387
|
+
mutable GDALRasterBand *poUnderlyingMainRasterBand = nullptr;
|
|
388
|
+
mutable int nRefCountUnderlyingMainRasterBand = 0;
|
|
389
|
+
|
|
390
|
+
CPL_DISALLOW_COPY_ASSIGN(GDALProxyPoolOverviewRasterBand)
|
|
391
|
+
|
|
392
|
+
protected:
|
|
393
|
+
GDALRasterBand *
|
|
394
|
+
RefUnderlyingRasterBand(bool bForceOpen = true) const override;
|
|
395
|
+
void UnrefUnderlyingRasterBand(
|
|
396
|
+
GDALRasterBand *poUnderlyingRasterBand) const override;
|
|
397
|
+
|
|
398
|
+
public:
|
|
399
|
+
GDALProxyPoolOverviewRasterBand(GDALProxyPoolDataset *poDS,
|
|
400
|
+
GDALRasterBand *poUnderlyingOverviewBand,
|
|
401
|
+
GDALProxyPoolRasterBand *poMainBand,
|
|
402
|
+
int nOverviewBand);
|
|
403
|
+
~GDALProxyPoolOverviewRasterBand() override;
|
|
404
|
+
};
|
|
405
|
+
|
|
406
|
+
/* ******************************************************************** */
|
|
407
|
+
/* GDALProxyPoolMaskBand */
|
|
408
|
+
/* ******************************************************************** */
|
|
409
|
+
|
|
410
|
+
class GDALProxyPoolMaskBand : public GDALProxyPoolRasterBand
|
|
411
|
+
{
|
|
412
|
+
private:
|
|
413
|
+
GDALProxyPoolRasterBand *poMainBand = nullptr;
|
|
414
|
+
|
|
415
|
+
mutable GDALRasterBand *poUnderlyingMainRasterBand = nullptr;
|
|
416
|
+
mutable int nRefCountUnderlyingMainRasterBand = 0;
|
|
417
|
+
|
|
418
|
+
CPL_DISALLOW_COPY_ASSIGN(GDALProxyPoolMaskBand)
|
|
419
|
+
|
|
420
|
+
protected:
|
|
421
|
+
GDALRasterBand *
|
|
422
|
+
RefUnderlyingRasterBand(bool bForceOpen = true) const override;
|
|
423
|
+
void UnrefUnderlyingRasterBand(
|
|
424
|
+
GDALRasterBand *poUnderlyingRasterBand) const override;
|
|
425
|
+
|
|
426
|
+
public:
|
|
427
|
+
GDALProxyPoolMaskBand(GDALProxyPoolDataset *poDS,
|
|
428
|
+
GDALRasterBand *poUnderlyingMaskBand,
|
|
429
|
+
GDALProxyPoolRasterBand *poMainBand);
|
|
430
|
+
GDALProxyPoolMaskBand(GDALProxyPoolDataset *poDS,
|
|
431
|
+
GDALProxyPoolRasterBand *poMainBand,
|
|
432
|
+
GDALDataType eDataType, int nBlockXSize,
|
|
433
|
+
int nBlockYSize);
|
|
434
|
+
~GDALProxyPoolMaskBand() override;
|
|
435
|
+
|
|
436
|
+
bool IsMaskBand() const override
|
|
437
|
+
{
|
|
438
|
+
return true;
|
|
439
|
+
}
|
|
440
|
+
};
|
|
441
|
+
|
|
442
|
+
#endif
|
|
443
|
+
|
|
444
|
+
/* ******************************************************************** */
|
|
445
|
+
/* C types and methods declarations */
|
|
446
|
+
/* ******************************************************************** */
|
|
447
|
+
|
|
448
|
+
CPL_C_START
|
|
449
|
+
|
|
450
|
+
typedef struct GDALProxyPoolDatasetHS *GDALProxyPoolDatasetH;
|
|
451
|
+
|
|
452
|
+
GDALProxyPoolDatasetH CPL_DLL GDALProxyPoolDatasetCreate(
|
|
453
|
+
const char *pszSourceDatasetDescription, int nRasterXSize, int nRasterYSize,
|
|
454
|
+
GDALAccess eAccess, int bShared, const char *pszProjectionRef,
|
|
455
|
+
double *padfGeoTransform);
|
|
456
|
+
|
|
457
|
+
void CPL_DLL
|
|
458
|
+
GDALProxyPoolDatasetDelete(GDALProxyPoolDatasetH hProxyPoolDataset);
|
|
459
|
+
|
|
460
|
+
void CPL_DLL GDALProxyPoolDatasetAddSrcBandDescription(
|
|
461
|
+
GDALProxyPoolDatasetH hProxyPoolDataset, GDALDataType eDataType,
|
|
462
|
+
int nBlockXSize, int nBlockYSize);
|
|
463
|
+
|
|
464
|
+
int CPL_DLL GDALGetMaxDatasetPoolSize(void);
|
|
465
|
+
|
|
466
|
+
CPL_C_END
|
|
467
|
+
|
|
468
|
+
#endif /* #ifndef DOXYGEN_SKIP */
|
|
469
|
+
|
|
470
|
+
#endif /* GDAL_PROXY_H_INCLUDED */
|