QGIS API Documentation 3.41.0-Master (3291e9ff48b)
|
Utilities for working with GDAL. More...
#include <qgsgdalutils.h>
Classes | |
struct | VsiNetworkFileSystemDetails |
Encapsulates details for a GDAL VSI network file system. More... | |
Static Public Member Functions | |
static bool | applyVsiCredentialOptions (const QString &prefix, const QString &path, const QVariantMap &options) |
Attempts to apply VSI credential options. | |
static gdal::dataset_unique_ptr | blockToSingleBandMemoryDataset (const QgsRectangle &extent, QgsRasterBlock *block) |
Converts a raster block to a single band GDAL memory dataset. | |
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) | |
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. | |
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. | |
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. | |
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. | |
static GDALDataType | gdalDataTypeFromQgisDataType (Qgis::DataType dataType) |
Returns the GDAL data type corresponding to the QGIS data type dataType. | |
static QString | gdalDocumentationUrlForDriver (GDALDriverH hDriver) |
Returns the URL for the GDAL documentation for the specified driver. | |
static GDALResampleAlg | gdalResamplingAlgorithm (QgsRasterDataProvider::ResamplingMethod method) |
Returns the GDAL resampling method corresponding to the QGIS resampling method. | |
static QString | helpCreationOptionsFormat (const QString &format) |
Gets creation options metadata for a given format. | |
static gdal::dataset_unique_ptr | imageToMemoryDataset (const QImage &image) |
Converts an image to a GDAL memory dataset by borrowing image data. | |
static bool | isVsiArchiveFileExtension (const QString &extension) |
Returns true if a file extension is a supported archive style container (e.g. | |
static bool | isVsiArchivePrefix (const QString &prefix) |
Returns true if prefix is a supported archive style container prefix (e.g. | |
static QStringList | multiLayerFileExtensions () |
Returns a list of file extensions which potentially contain multiple layers representing GDAL raster or vector layers. | |
static char ** | papszFromStringList (const QStringList &list) |
Helper function. | |
static bool | pathIsCheapToOpen (const QString &path, int smallFileSizeLimit=50000) |
Returns true if the dataset at the specified path is considered "cheap" to open. | |
static QImage | resampleImage (const QImage &image, QSize outputSize, GDALRIOResampleAlg resampleAlg) |
Resamples a QImage image using GDAL resampler. | |
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). | |
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. | |
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. | |
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). | |
static void | setupProxy () |
Sets the gdal proxy variables. | |
static bool | supportsRasterCreate (GDALDriverH driver) |
Reads whether a driver supports GDALCreate() for raster purposes. | |
static QString | validateCreationOptionsFormat (const QStringList &createOptions, const QString &format) |
Validates creation options for a given format, regardless of layer. | |
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. | |
static QStringList | vsiArchiveFileExtensions () |
Returns a list of file extensions which correspond to archive style containers supported by GDAL (e.g. | |
static QStringList | vsiArchivePrefixes () |
Returns a list of vsi prefixes which correspond to archive style containers (eg vsizip). | |
static Qgis::VsiHandlerType | vsiHandlerType (const QString &prefix) |
Returns the VSI handler type for a given VSI prefix. | |
static QList< VsiNetworkFileSystemDetails > | vsiNetworkFileSystems () |
Returns a list of available GDAL VSI network file systems. | |
static QString | vsiPrefixForPath (const QString &path) |
Returns a the vsi prefix which corresponds to a file path, or an empty string if the path is not associated with a vsi prefix. | |
Friends | |
class | TestQgsGdalUtils |
Utilities for working with GDAL.
Definition at line 99 of file qgsgdalutils.h.
|
static |
Attempts to apply VSI credential options.
This method uses GDAL's VSISetPathSpecificOption, which will overrwrite any existing options for the same VSI prefix and path.
Returns true
if the options could be applied.
Definition at line 1064 of file qgsgdalutils.cpp.
|
static |
Converts a raster block to a single band GDAL memory dataset.
Definition at line 314 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 332 of file qgsgdalutils.cpp.
|
static |
Converts a data block to a single band GDAL memory dataset.
Definition at line 280 of file qgsgdalutils.cpp.
|
static |
Creates a new multi band memory dataset with given parameters.
Definition at line 180 of file qgsgdalutils.cpp.
|
static |
Creates a new single band memory dataset with given parameters.
Definition at line 175 of file qgsgdalutils.cpp.
|
static |
Creates a new single band TIFF dataset with given parameters.
Definition at line 205 of file qgsgdalutils.cpp.
|
static |
Returns the GDAL data type corresponding to the QGIS data type dataType.
Definition at line 583 of file qgsgdalutils.cpp.
|
static |
Returns the URL for the GDAL documentation for the specified driver.
Definition at line 1053 of file qgsgdalutils.cpp.
|
static |
Returns the GDAL resampling method corresponding to the QGIS resampling method.
Definition at line 639 of file qgsgdalutils.cpp.
|
static |
Gets creation options metadata for a given format.
Definition at line 490 of file qgsgdalutils.cpp.
|
static |
Converts an image to a GDAL memory dataset by borrowing image data.
Definition at line 236 of file qgsgdalutils.cpp.
|
static |
Returns true
if a file extension is a supported archive style container (e.g.
".zip").
Definition at line 971 of file qgsgdalutils.cpp.
|
static |
Returns true
if prefix is a supported archive style container prefix (e.g.
"/vsizip/").
Definition at line 946 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 753 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 726 of file qgsgdalutils.cpp.
|
static |
Resamples a QImage image using GDAL resampler.
Definition at line 439 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 412 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 423 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 548 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 568 of file qgsgdalutils.cpp.
|
static |
Sets the gdal proxy variables.
Definition at line 678 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 162 of file qgsgdalutils.cpp.
|
static |
Validates creation options for a given format, regardless of layer.
Definition at line 532 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 1023 of file qgsgdalutils.cpp.
|
static |
Returns a list of file extensions which correspond to archive style containers supported by GDAL (e.g.
"zip").
Definition at line 951 of file qgsgdalutils.cpp.
|
static |
Returns a list of vsi prefixes which correspond to archive style containers (eg vsizip).
Definition at line 887 of file qgsgdalutils.cpp.
|
static |
Returns the VSI handler type for a given VSI prefix.
Definition at line 977 of file qgsgdalutils.cpp.
|
static |
Returns a list of available GDAL VSI network file systems.
Definition at line 900 of file qgsgdalutils.cpp.
|
static |
Returns a the vsi prefix which corresponds to a file path, or an empty string if the path is not associated with a vsi prefix.
Definition at line 841 of file qgsgdalutils.cpp.
|
friend |
Definition at line 378 of file qgsgdalutils.h.