QGIS API Documentation 3.30.0-'s-Hertogenbosch (f186b8efe0)
|
Utilities for working with GDAL. More...
#include <qgsgdalutils.h>
Static Public Member Functions | |
static gdal::dataset_unique_ptr | blockToSingleBandMemoryDataset (const QgsRectangle &extent, QgsRasterBlock *block) |
Converts a raster block to a single band GDAL memory dataset. More... | |
static gdal::dataset_unique_ptr | blockToSingleBandMemoryDataset (double rotation, const QgsPointXY &origin, double gridXSize, double gridYSize, QgsRasterBlock *block) |
Converts a raster block to a single band GDAL memory dataset with rotation angle,side sizes of the grid, origin if the grid (top left if rotation == 0) More... | |
static gdal::dataset_unique_ptr | blockToSingleBandMemoryDataset (int pixelWidth, int pixelHeight, const QgsRectangle &extent, void *block, GDALDataType dataType) |
Converts a data block to a single band GDAL memory dataset. More... | |
static gdal::dataset_unique_ptr | createMultiBandMemoryDataset (GDALDataType dataType, int bands, const QgsRectangle &extent, int width, int height, const QgsCoordinateReferenceSystem &crs) |
Creates a new multi band memory dataset with given parameters. More... | |
static gdal::dataset_unique_ptr | createSingleBandMemoryDataset (GDALDataType dataType, const QgsRectangle &extent, int width, int height, const QgsCoordinateReferenceSystem &crs) |
Creates a new single band memory dataset with given parameters. More... | |
static gdal::dataset_unique_ptr | createSingleBandTiffDataset (const QString &filename, GDALDataType dataType, const QgsRectangle &extent, int width, int height, const QgsCoordinateReferenceSystem &crs) |
Creates a new single band TIFF dataset with given parameters. More... | |
static GDALDataType | gdalDataTypeFromQgisDataType (Qgis::DataType dataType) |
Returns the GDAL data type corresponding to the QGIS data type dataType. More... | |
static GDALResampleAlg | gdalResamplingAlgorithm (QgsRasterDataProvider::ResamplingMethod method) |
Returns the GDAL resampling method corresponding to the QGIS resampling method. More... | |
static QString | helpCreationOptionsFormat (const QString &format) |
Gets creation options metadata for a given format. More... | |
static gdal::dataset_unique_ptr | imageToMemoryDataset (const QImage &image) |
Converts an image to a GDAL memory dataset by borrowing image data. More... | |
static QStringList | multiLayerFileExtensions () |
Returns a list of file extensions which potentially contain multiple layers representing GDAL raster or vector layers. More... | |
static char ** | papszFromStringList (const QStringList &list) |
Helper function. More... | |
static bool | pathIsCheapToOpen (const QString &path, int smallFileSizeLimit=50000) |
Returns true if the dataset at the specified path is considered "cheap" to open. More... | |
static QImage | resampleImage (const QImage &image, QSize outputSize, GDALRIOResampleAlg resampleAlg) |
Resamples a QImage image using GDAL resampler. More... | |
static bool | resampleSingleBandRaster (GDALDatasetH hSrcDS, GDALDatasetH hDstDS, GDALResampleAlg resampleAlg, const char *pszCoordinateOperation) |
Resamples a single band raster to the destination dataset with different resolution (and possibly with different CRS). More... | |
static bool | resampleSingleBandRaster (GDALDatasetH hSrcDS, GDALDatasetH hDstDS, GDALResampleAlg resampleAlg, const QgsCoordinateReferenceSystem &sourceCrs, const QgsCoordinateReferenceSystem &destinationCrs) |
Resamples a single band raster to the destination dataset with different resolution and different CRS. More... | |
static GDALDatasetH | rpcAwareAutoCreateWarpedVrt (GDALDatasetH hSrcDS, const char *pszSrcWKT, const char *pszDstWKT, GDALResampleAlg eResampleAlg, double dfMaxError, const GDALWarpOptions *psOptionsIn) |
This is a copy of GDALAutoCreateWarpedVRT optimized for imagery using RPC georeferencing that also sets RPC_HEIGHT in GDALCreateGenImgProjTransformer2 based on HEIGHT_OFF. More... | |
static void * | rpcAwareCreateTransformer (GDALDatasetH hSrcDS, GDALDatasetH hDstDS=nullptr, char **papszOptions=nullptr) |
This is a wrapper around GDALCreateGenImgProjTransformer2() that takes into account RPC georeferencing (it sets RPC_HEIGHT in GDALCreateGenImgProjTransformer2 based on HEIGHT_OFF). More... | |
static void | setupProxy () |
Sets the gdal proxy variables. More... | |
static bool | supportsRasterCreate (GDALDriverH driver) |
Reads whether a driver supports GDALCreate() for raster purposes. More... | |
static QString | validateCreationOptionsFormat (const QStringList &createOptions, const QString &format) |
Validates creation options for a given format, regardless of layer. More... | |
static bool | vrtMatchesLayerType (const QString &vrtPath, Qgis::LayerType type) |
Returns true if the VRT file at the specified path is a VRT matching the given layer type. More... | |
Friends | |
class | TestQgsGdalUtils |
Utilities for working with GDAL.
Definition at line 35 of file qgsgdalutils.h.
|
static |
Converts a raster block to a single band GDAL memory dataset.
Definition at line 186 of file qgsgdalutils.cpp.
|
static |
Converts a raster block to a single band GDAL memory dataset with rotation angle,side sizes of the grid, origin if the grid (top left if rotation == 0)
Definition at line 204 of file qgsgdalutils.cpp.
|
static |
Converts a data block to a single band GDAL memory dataset.
Definition at line 152 of file qgsgdalutils.cpp.
|
static |
Creates a new multi band memory dataset with given parameters.
Definition at line 52 of file qgsgdalutils.cpp.
|
static |
Creates a new single band memory dataset with given parameters.
Definition at line 47 of file qgsgdalutils.cpp.
|
static |
Creates a new single band TIFF dataset with given parameters.
Definition at line 77 of file qgsgdalutils.cpp.
|
static |
Returns the GDAL data type corresponding to the QGIS data type dataType.
Definition at line 452 of file qgsgdalutils.cpp.
|
static |
Returns the GDAL resampling method corresponding to the QGIS resampling method.
Definition at line 508 of file qgsgdalutils.cpp.
|
static |
Gets creation options metadata for a given format.
Definition at line 361 of file qgsgdalutils.cpp.
|
static |
Converts an image to a GDAL memory dataset by borrowing image data.
Definition at line 108 of file qgsgdalutils.cpp.
|
static |
Returns a list of file extensions which potentially contain multiple layers representing GDAL raster or vector layers.
Definition at line 622 of file qgsgdalutils.cpp.
|
static |
|
static |
Returns true
if the dataset at the specified path is considered "cheap" to open.
Datasets which are considered cheap to open may correspond to very small file sizes, or data types which only require some inexpensive header parsing to open.
One use case for this method is to test whether a remote dataset can be safely opened to resolve the geometry types and other metadata without causing undue network traffic.
The smallFileSizeLimit argument specifies the maximum file size (in bytes) which will be considered as small.
Definition at line 595 of file qgsgdalutils.cpp.
|
static |
Resamples a QImage image using GDAL resampler.
Definition at line 310 of file qgsgdalutils.cpp.
|
static |
Resamples a single band raster to the destination dataset with different resolution (and possibly with different CRS).
Ideally the source dataset should cover the whole area or the destination dataset.
In case of different CRS, the parameter pszCoordinateOperation is the Proj coordinate operation string, that can be obtained with QgsCoordinateTransformContext::calculateCoordinateOperation()
true
on success Definition at line 283 of file qgsgdalutils.cpp.
|
static |
Resamples a single band raster to the destination dataset with different resolution and different CRS.
Ideally the source dataset should cover the whole area or the destination dataset.
true
on success Definition at line 294 of file qgsgdalutils.cpp.
|
static |
This is a copy of GDALAutoCreateWarpedVRT optimized for imagery using RPC georeferencing that also sets RPC_HEIGHT in GDALCreateGenImgProjTransformer2 based on HEIGHT_OFF.
By default GDAL would assume that the imagery has zero elevation - if that is not the case, the image would not be shown in the correct location.
Definition at line 417 of file qgsgdalutils.cpp.
|
static |
This is a wrapper around GDALCreateGenImgProjTransformer2() that takes into account RPC georeferencing (it sets RPC_HEIGHT in GDALCreateGenImgProjTransformer2 based on HEIGHT_OFF).
By default GDAL would assume that the imagery has zero elevation - if that is not the case, the image would not be shown in the correct location.
Definition at line 437 of file qgsgdalutils.cpp.
|
static |
Sets the gdal proxy variables.
Definition at line 547 of file qgsgdalutils.cpp.
|
static |
Reads whether a driver supports GDALCreate() for raster purposes.
driver | GDAL driver |
true
if a driver supports GDALCreate() for raster purposes. Definition at line 34 of file qgsgdalutils.cpp.
|
static |
Validates creation options for a given format, regardless of layer.
Definition at line 401 of file qgsgdalutils.cpp.
|
static |
Returns true
if the VRT file at the specified path is a VRT matching the given layer type.
Definition at line 703 of file qgsgdalutils.cpp.
|
friend |
Definition at line 231 of file qgsgdalutils.h.