| 954 | } |
| 955 | |
| 956 | bool Process(GDALProgressFunc pfnProgress, void *pProgressData) |
| 957 | { |
| 958 | if (ZonesAreFeature()) |
| 959 | { |
| 960 | if (m_options.strategy == GDALZonalStatsOptions::RASTER_SEQUENTIAL) |
| 961 | { |
| 962 | return ProcessVectorZonesByChunk(pfnProgress, pProgressData); |
| 963 | } |
| 964 | |
| 965 | return ProcessVectorZonesByFeature(pfnProgress, pProgressData); |
| 966 | } |
| 967 | |
| 968 | return ProcessRasterZones(pfnProgress, pProgressData); |
| 969 | } |
| 970 | |
| 971 | private: |
| 972 | static std::unique_ptr<GDALDataset> |