mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-05 00:09:32 -04:00
NoData harmonization
This commit is contained in:
parent
6ee0bf4535
commit
1a8f6614c1
@ -64,7 +64,7 @@ class ClipRasterByExtent(GdalAlgorithm):
|
||||
self.tr('Override the projection for the output file'),
|
||||
defaultValue=False))
|
||||
self.addParameter(QgsProcessingParameterNumber(self.NODATA,
|
||||
self.tr('Assign a specified nodata value to output bands'),
|
||||
self.tr('Assign a specified NoData value to output bands'),
|
||||
type=QgsProcessingParameterNumber.Double,
|
||||
defaultValue=None,
|
||||
optional=True))
|
||||
|
@ -83,7 +83,7 @@ class ClipRasterByMask(GdalAlgorithm):
|
||||
self.tr('Target extent'),
|
||||
optional=True))
|
||||
self.addParameter(QgsProcessingParameterNumber(self.NODATA,
|
||||
self.tr('Assign a specified nodata value to output bands'),
|
||||
self.tr('Assign a specified NoData value to output bands'),
|
||||
type=QgsProcessingParameterNumber.Double,
|
||||
defaultValue=None,
|
||||
optional=True))
|
||||
|
@ -85,7 +85,7 @@ class contour(GdalAlgorithm):
|
||||
self.addParameter(ignore_nodata_param)
|
||||
|
||||
nodata_param = QgsProcessingParameterNumber(self.NODATA,
|
||||
self.tr('Input pixel value to treat as "nodata"'),
|
||||
self.tr('Input pixel value to treat as NoData'),
|
||||
type=QgsProcessingParameterNumber.Double,
|
||||
defaultValue=None,
|
||||
optional=True)
|
||||
|
@ -98,7 +98,7 @@ class fillnodata(GdalAlgorithm):
|
||||
return 'fillnodata'
|
||||
|
||||
def displayName(self):
|
||||
return self.tr('Fill nodata')
|
||||
return self.tr('Fill NoData')
|
||||
|
||||
def group(self):
|
||||
return self.tr('Raster analysis')
|
||||
|
@ -53,13 +53,13 @@ class gdal2xyz(GdalAlgorithm):
|
||||
parentLayerParameterName=self.INPUT))
|
||||
|
||||
self.addParameter(QgsProcessingParameterNumber(self.SRCNODATA,
|
||||
self.tr('Input pixel value to treat as "nodata"'),
|
||||
self.tr('Input pixel value to treat as NoData'),
|
||||
optional=True)) # GDAL > 3.6.3
|
||||
self.addParameter(QgsProcessingParameterNumber(self.DSTNODATA,
|
||||
self.tr('Assign specified "nodata" value to output'),
|
||||
self.tr('Assign specified NoData value to output'),
|
||||
optional=True)) # GDAL > 3.6.3
|
||||
self.addParameter(QgsProcessingParameterBoolean(self.SKIPNODATA,
|
||||
self.tr('Do not output nodata values'),
|
||||
self.tr('Do not output NoData values'),
|
||||
defaultValue=False)) # GDAL > 3.3
|
||||
self.addParameter(QgsProcessingParameterBoolean(self.CSV,
|
||||
self.tr('Output comma-separated values'),
|
||||
|
@ -139,7 +139,7 @@ class gdalcalc(GdalAlgorithm):
|
||||
self.addParameter(
|
||||
QgsProcessingParameterNumber(
|
||||
self.NO_DATA,
|
||||
self.tr('Set output nodata value'),
|
||||
self.tr('Set output NoData value'),
|
||||
type=QgsProcessingParameterNumber.Double,
|
||||
defaultValue=None,
|
||||
optional=True))
|
||||
|
@ -69,7 +69,7 @@ class merge(GdalAlgorithm):
|
||||
defaultValue=False))
|
||||
|
||||
nodata_param = QgsProcessingParameterNumber(self.NODATA_INPUT,
|
||||
self.tr('Input pixel value to treat as "nodata"'),
|
||||
self.tr('Input pixel value to treat as NoData'),
|
||||
type=QgsProcessingParameterNumber.Double,
|
||||
defaultValue=None,
|
||||
optional=True)
|
||||
@ -77,7 +77,7 @@ class merge(GdalAlgorithm):
|
||||
self.addParameter(nodata_param)
|
||||
|
||||
nodata_out_param = QgsProcessingParameterNumber(self.NODATA_OUTPUT,
|
||||
self.tr('Assign specified "nodata" value to output'),
|
||||
self.tr('Assign specified NoData value to output'),
|
||||
type=QgsProcessingParameterNumber.Double,
|
||||
defaultValue=None,
|
||||
optional=True)
|
||||
|
@ -103,7 +103,7 @@ class rasterize(GdalAlgorithm):
|
||||
self.tr('Output extent'),
|
||||
optional=True))
|
||||
nodataParam = QgsProcessingParameterNumber(self.NODATA,
|
||||
self.tr('Assign a specified nodata value to output bands'),
|
||||
self.tr('Assign a specified NoData value to output bands'),
|
||||
type=QgsProcessingParameterNumber.Double,
|
||||
optional=True)
|
||||
nodataParam.setGuiDefaultValueOverride(QVariant(QVariant.Double))
|
||||
|
@ -62,7 +62,7 @@ class translate(GdalAlgorithm):
|
||||
defaultValue=None,
|
||||
optional=True))
|
||||
self.addParameter(QgsProcessingParameterNumber(self.NODATA,
|
||||
self.tr('Assign a specified nodata value to output bands'),
|
||||
self.tr('Assign a specified NoData value to output bands'),
|
||||
type=QgsProcessingParameterNumber.Double,
|
||||
defaultValue=None,
|
||||
optional=True))
|
||||
|
@ -45,10 +45,10 @@ void QgsDrapeAlgorithmBase::initParameters( const QVariantMap & )
|
||||
|
||||
// nodata value
|
||||
std::unique_ptr< QgsProcessingParameterNumber > nodata = std::make_unique< QgsProcessingParameterNumber >( QStringLiteral( "NODATA" ),
|
||||
QObject::tr( "Value for nodata or non-intersecting vertices" ), QgsProcessingParameterNumber::Double,
|
||||
QObject::tr( "Value for NoData or non-intersecting vertices" ), QgsProcessingParameterNumber::Double,
|
||||
0.0 );
|
||||
nodata->setIsDynamic( true );
|
||||
nodata->setDynamicPropertyDefinition( QgsPropertyDefinition( QStringLiteral( "NODATA" ), QObject::tr( "Value for nodata or non-intersecting vertices" ), QgsPropertyDefinition::Double ) );
|
||||
nodata->setDynamicPropertyDefinition( QgsPropertyDefinition( QStringLiteral( "NODATA" ), QObject::tr( "Value for NoData or non-intersecting vertices" ), QgsPropertyDefinition::Double ) );
|
||||
nodata->setDynamicLayerParameterName( QStringLiteral( "INPUT" ) );
|
||||
addParameter( nodata.release() );
|
||||
|
||||
|
@ -62,15 +62,15 @@ void QgsRasterLayerPropertiesAlgorithm::initAlgorithm( const QVariantMap & )
|
||||
addOutput( new QgsProcessingOutputString( QStringLiteral( "CRS_AUTHID" ), QObject::tr( "CRS authority identifier" ) ) );
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "WIDTH_IN_PIXELS" ), QObject::tr( "Width in pixels" ) ) );
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "HEIGHT_IN_PIXELS" ), QObject::tr( "Height in pixels" ) ) );
|
||||
addOutput( new QgsProcessingOutputBoolean( QStringLiteral( "HAS_NODATA_VALUE" ), QObject::tr( "Band has a nodata value set" ) ) );
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "NODATA_VALUE" ), QObject::tr( "Band nodata value" ) ) );
|
||||
addOutput( new QgsProcessingOutputBoolean( QStringLiteral( "HAS_NODATA_VALUE" ), QObject::tr( "Band has a NoData value set" ) ) );
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "NODATA_VALUE" ), QObject::tr( "Band NoData value" ) ) );
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "BAND_COUNT" ), QObject::tr( "Number of bands in raster" ) ) );
|
||||
}
|
||||
|
||||
QString QgsRasterLayerPropertiesAlgorithm::shortHelpString() const
|
||||
{
|
||||
return QObject::tr( "This algorithm returns basic properties of the given raster layer, including the extent, size in pixels and dimensions of pixels (in map units).\n\n"
|
||||
"If an optional band number is specified then the nodata value for the selected band will also be returned." );
|
||||
"If an optional band number is specified then the NoData value for the selected band will also be returned." );
|
||||
}
|
||||
|
||||
QgsRasterLayerPropertiesAlgorithm *QgsRasterLayerPropertiesAlgorithm::createInstance() const
|
||||
|
@ -64,7 +64,7 @@ void QgsRasterLayerUniqueValuesReportAlgorithm::initAlgorithm( const QVariantMap
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "WIDTH_IN_PIXELS" ), QObject::tr( "Width in pixels" ) ) );
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "HEIGHT_IN_PIXELS" ), QObject::tr( "Height in pixels" ) ) );
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "TOTAL_PIXEL_COUNT" ), QObject::tr( "Total pixel count" ) ) );
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "NODATA_PIXEL_COUNT" ), QObject::tr( "NODATA pixel count" ) ) );
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "NODATA_PIXEL_COUNT" ), QObject::tr( "NoData pixel count" ) ) );
|
||||
}
|
||||
|
||||
QString QgsRasterLayerUniqueValuesReportAlgorithm::shortHelpString() const
|
||||
@ -200,7 +200,7 @@ QVariantMap QgsRasterLayerUniqueValuesReportAlgorithm::processAlgorithm( const Q
|
||||
out << QObject::tr( "<p>%1: %2 (%3 %4)</p>\n" ).arg( QObject::tr( "Height in pixels" ) ).arg( mLayerHeight ).arg( QObject::tr( "units per pixel" ) ).arg( mRasterUnitsPerPixelY );
|
||||
out << QObject::tr( "<p>%1: %2</p>\n" ).arg( QObject::tr( "Total pixel count" ) ).arg( layerSize );
|
||||
if ( mHasNoDataValue )
|
||||
out << QObject::tr( "<p>%1: %2</p>\n" ).arg( QObject::tr( "NODATA pixel count" ) ).arg( noDataCount );
|
||||
out << QObject::tr( "<p>%1: %2</p>\n" ).arg( QObject::tr( "NoData pixel count" ) ).arg( noDataCount );
|
||||
out << QStringLiteral( "<table><tr><td>%1</td><td>%2</td><td>%3 (%4)</td></tr>\n" ).arg( QObject::tr( "Value" ), QObject::tr( "Pixel count" ), QObject::tr( "Area" ), encodedAreaUnit );
|
||||
|
||||
for ( auto it = sortedUniqueValues.constBegin(); it != sortedUniqueValues.constEnd(); ++it )
|
||||
|
@ -46,10 +46,10 @@ void QgsRasterBooleanLogicAlgorithmBase::initAlgorithm( const QVariantMap & )
|
||||
QObject::tr( "Input layers" ), QgsProcessing::TypeRaster ) );
|
||||
|
||||
addParameter( new QgsProcessingParameterRasterLayer( QStringLiteral( "REF_LAYER" ), QObject::tr( "Reference layer" ) ) );
|
||||
addParameter( new QgsProcessingParameterBoolean( QStringLiteral( "NODATA_AS_FALSE" ), QObject::tr( "Treat nodata values as false" ), false ) );
|
||||
addParameter( new QgsProcessingParameterBoolean( QStringLiteral( "NODATA_AS_FALSE" ), QObject::tr( "Treat NoData values as false" ), false ) );
|
||||
|
||||
std::unique_ptr< QgsProcessingParameterNumber > noDataValueParam = std::make_unique< QgsProcessingParameterNumber >( QStringLiteral( "NO_DATA" ),
|
||||
QObject::tr( "Output no data value" ), QgsProcessingParameterNumber::Double, -9999 );
|
||||
QObject::tr( "Output NoData value" ), QgsProcessingParameterNumber::Double, -9999 );
|
||||
noDataValueParam->setFlags( QgsProcessingParameterDefinition::FlagAdvanced );
|
||||
addParameter( noDataValueParam.release() );
|
||||
|
||||
@ -65,7 +65,7 @@ void QgsRasterBooleanLogicAlgorithmBase::initAlgorithm( const QVariantMap & )
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "WIDTH_IN_PIXELS" ), QObject::tr( "Width in pixels" ) ) );
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "HEIGHT_IN_PIXELS" ), QObject::tr( "Height in pixels" ) ) );
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "TOTAL_PIXEL_COUNT" ), QObject::tr( "Total pixel count" ) ) );
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "NODATA_PIXEL_COUNT" ), QObject::tr( "NODATA pixel count" ) ) );
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "NODATA_PIXEL_COUNT" ), QObject::tr( "NoData pixel count" ) ) );
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "TRUE_PIXEL_COUNT" ), QObject::tr( "True pixel count" ) ) );
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "FALSE_PIXEL_COUNT" ), QObject::tr( "False pixel count" ) ) );
|
||||
}
|
||||
@ -220,8 +220,8 @@ QString QgsRasterLogicalOrAlgorithm::shortHelpString() const
|
||||
"that pixel will be set to 1 in the output raster. If all the input rasters have 0 values for the pixel it will be set to 0 in the output raster.\n\n"
|
||||
"The reference layer parameter specifies an existing raster layer to use as a reference when creating the output raster. The output raster "
|
||||
"will have the same extent, CRS, and pixel dimensions as this layer.\n\n"
|
||||
"By default, a nodata pixel in ANY of the input layers will result in a nodata pixel in the output raster. If the "
|
||||
"'Treat nodata values as false' option is checked, then nodata inputs will be treated the same as a 0 input value." );
|
||||
"By default, a NoData pixel in ANY of the input layers will result in a NoData pixel in the output raster. If the "
|
||||
"'Treat NoData values as false' option is checked, then NoData inputs will be treated the same as a 0 input value." );
|
||||
}
|
||||
|
||||
QgsRasterLogicalOrAlgorithm *QgsRasterLogicalOrAlgorithm::createInstance() const
|
||||
@ -297,8 +297,8 @@ QString QgsRasterLogicalAndAlgorithm::shortHelpString() const
|
||||
"that pixel will be set to 1 in the output raster. If any of the input rasters have 0 values for the pixel it will be set to 0 in the output raster.\n\n"
|
||||
"The reference layer parameter specifies an existing raster layer to use as a reference when creating the output raster. The output raster "
|
||||
"will have the same extent, CRS, and pixel dimensions as this layer.\n\n"
|
||||
"By default, a nodata pixel in ANY of the input layers will result in a nodata pixel in the output raster. If the "
|
||||
"'Treat nodata values as false' option is checked, then nodata inputs will be treated the same as a 0 input value." );
|
||||
"By default, a NoData pixel in ANY of the input layers will result in a NoData pixel in the output raster. If the "
|
||||
"'Treat NoData values as false' option is checked, then NoData inputs will be treated the same as a 0 input value." );
|
||||
}
|
||||
|
||||
QgsRasterLogicalAndAlgorithm *QgsRasterLogicalAndAlgorithm::createInstance() const
|
||||
|
@ -72,7 +72,7 @@ void QgsRasterLayerZonalStatsAlgorithm::initAlgorithm( const QVariantMap & )
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "WIDTH_IN_PIXELS" ), QObject::tr( "Width in pixels" ) ) );
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "HEIGHT_IN_PIXELS" ), QObject::tr( "Height in pixels" ) ) );
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "TOTAL_PIXEL_COUNT" ), QObject::tr( "Total pixel count" ) ) );
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "NODATA_PIXEL_COUNT" ), QObject::tr( "NODATA pixel count" ) ) );
|
||||
addOutput( new QgsProcessingOutputNumber( QStringLiteral( "NODATA_PIXEL_COUNT" ), QObject::tr( "NoData pixel count" ) ) );
|
||||
}
|
||||
|
||||
QString QgsRasterLayerZonalStatsAlgorithm::shortDescription() const
|
||||
@ -85,7 +85,7 @@ QString QgsRasterLayerZonalStatsAlgorithm::shortHelpString() const
|
||||
return QObject::tr( "This algorithm calculates statistics for a raster layer's values, categorized by zones defined in another raster layer.\n\n"
|
||||
"If the reference layer parameter is set to \"Input layer\", then zones are determined by sampling the zone raster layer value at the centroid of each pixel from the source raster layer.\n\n"
|
||||
"If the reference layer parameter is set to \"Zones layer\", then the input raster layer will be sampled at the centroid of each pixel from the zones raster layer.\n\n"
|
||||
"If either the source raster layer or the zone raster layer value is NODATA for a pixel, that pixel's value will be skipped and not including in the calculated statistics." );
|
||||
"If either the source raster layer or the zone raster layer value is NoData for a pixel, that pixel's value will be skipped and not including in the calculated statistics." );
|
||||
}
|
||||
|
||||
QgsRasterLayerZonalStatsAlgorithm *QgsRasterLayerZonalStatsAlgorithm::createInstance() const
|
||||
|
@ -50,7 +50,7 @@ void QgsReclassifyAlgorithmBase::initAlgorithm( const QVariantMap & )
|
||||
addAlgorithmParams();
|
||||
|
||||
std::unique_ptr< QgsProcessingParameterNumber > noDataValueParam = std::make_unique< QgsProcessingParameterNumber >( QStringLiteral( "NO_DATA" ),
|
||||
QObject::tr( "Output no data value" ), QgsProcessingParameterNumber::Double, -9999 );
|
||||
QObject::tr( "Output NoData value" ), QgsProcessingParameterNumber::Double, -9999 );
|
||||
noDataValueParam->setFlags( QgsProcessingParameterDefinition::FlagAdvanced );
|
||||
addParameter( noDataValueParam.release() );
|
||||
|
||||
@ -64,7 +64,7 @@ void QgsReclassifyAlgorithmBase::initAlgorithm( const QVariantMap & )
|
||||
addParameter( boundsHandling.release() );
|
||||
|
||||
std::unique_ptr< QgsProcessingParameterBoolean > missingValuesParam = std::make_unique< QgsProcessingParameterBoolean >( QStringLiteral( "NODATA_FOR_MISSING" ),
|
||||
QObject::tr( "Use no data when no range matches value" ), false, false );
|
||||
QObject::tr( "Use NoData when no range matches value" ), false, false );
|
||||
missingValuesParam->setFlags( QgsProcessingParameterDefinition::FlagAdvanced );
|
||||
addParameter( missingValuesParam.release() );
|
||||
|
||||
|
@ -53,7 +53,7 @@ QString QgsRescaleRasterAlgorithm::shortHelpString() const
|
||||
"(distribution) of the raster's histogram (pixel values). Input values "
|
||||
"are mapped using a linear interpolation from the source raster's minimum "
|
||||
"and maximum pixel values to the destination minimum and maximum pixel range.\n\n"
|
||||
"By default the algorithm preserves original the NODATA value, but there is "
|
||||
"By default the algorithm preserves original the NoData value, but there is "
|
||||
"an option to override it." );
|
||||
}
|
||||
|
||||
@ -68,7 +68,7 @@ void QgsRescaleRasterAlgorithm::initAlgorithm( const QVariantMap & )
|
||||
addParameter( new QgsProcessingParameterBand( QStringLiteral( "BAND" ), QObject::tr( "Band number" ), 1, QStringLiteral( "INPUT" ) ) );
|
||||
addParameter( new QgsProcessingParameterNumber( QStringLiteral( "MINIMUM" ), QObject::tr( "New minimum value" ), QgsProcessingParameterNumber::Double, 0 ) );
|
||||
addParameter( new QgsProcessingParameterNumber( QStringLiteral( "MAXIMUM" ), QObject::tr( "New maximum value" ), QgsProcessingParameterNumber::Double, 255 ) );
|
||||
addParameter( new QgsProcessingParameterNumber( QStringLiteral( "NODATA" ), QObject::tr( "New NODATA value" ), QgsProcessingParameterNumber::Double, QVariant(), true ) );
|
||||
addParameter( new QgsProcessingParameterNumber( QStringLiteral( "NODATA" ), QObject::tr( "New NoData value" ), QgsProcessingParameterNumber::Double, QVariant(), true ) );
|
||||
addParameter( new QgsProcessingParameterRasterDestination( QStringLiteral( "OUTPUT" ), QObject::tr( "Rescaled" ) ) );
|
||||
}
|
||||
|
||||
|
@ -157,7 +157,7 @@ QString QgsRasterPixelsToPolygonsAlgorithm::shortHelpString() const
|
||||
{
|
||||
return QObject::tr( "This algorithm converts a raster layer to a vector layer, by creating polygon features "
|
||||
"for each individual pixel's extent in the raster layer.\n\n"
|
||||
"Any nodata pixels are skipped in the output." );
|
||||
"Any NoData pixels are skipped in the output." );
|
||||
}
|
||||
|
||||
QString QgsRasterPixelsToPolygonsAlgorithm::shortDescription() const
|
||||
@ -216,7 +216,7 @@ QString QgsRasterPixelsToPointsAlgorithm::shortHelpString() const
|
||||
{
|
||||
return QObject::tr( "This algorithm converts a raster layer to a vector layer, by creating point features "
|
||||
"for each individual pixel's center in the raster layer.\n\n"
|
||||
"Any nodata pixels are skipped in the output." );
|
||||
"Any NoData pixels are skipped in the output." );
|
||||
}
|
||||
|
||||
QString QgsRasterPixelsToPointsAlgorithm::shortDescription() const
|
||||
|
@ -1895,7 +1895,7 @@ bool QgsGdalProvider::hasHistogram( int bandNo,
|
||||
if ( ( sourceHasNoDataValue( bandNo ) && !useSourceNoDataValue( bandNo ) ) ||
|
||||
!userNoDataValues( bandNo ).isEmpty() )
|
||||
{
|
||||
QgsDebugMsgLevel( QStringLiteral( "Custom no data values -> GDAL histogram not sufficient." ), 3 );
|
||||
QgsDebugMsgLevel( QStringLiteral( "Custom NoData values -> GDAL histogram not sufficient." ), 3 );
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -1980,7 +1980,7 @@ QgsRasterHistogram QgsGdalProvider::histogram( int bandNo,
|
||||
if ( ( sourceHasNoDataValue( bandNo ) && !useSourceNoDataValue( bandNo ) ) ||
|
||||
!userNoDataValues( bandNo ).isEmpty() )
|
||||
{
|
||||
QgsDebugMsgLevel( QStringLiteral( "Custom no data values, using generic histogram." ), 2 );
|
||||
QgsDebugMsgLevel( QStringLiteral( "Custom NoData values, using generic histogram." ), 2 );
|
||||
return QgsRasterDataProvider::histogram( bandNo, binCount, minimum, maximum, boundingBox, sampleSize, includeOutOfRange, feedback );
|
||||
}
|
||||
|
||||
@ -2954,7 +2954,7 @@ bool QgsGdalProvider::hasStatistics( int bandNo,
|
||||
if ( ( sourceHasNoDataValue( bandNo ) && !useSourceNoDataValue( bandNo ) ) ||
|
||||
!userNoDataValues( bandNo ).isEmpty() )
|
||||
{
|
||||
QgsDebugMsgLevel( QStringLiteral( "Custom no data values -> GDAL statistics not sufficient." ), 2 );
|
||||
QgsDebugMsgLevel( QStringLiteral( "Custom NoData values -> GDAL statistics not sufficient." ), 2 );
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -3044,7 +3044,7 @@ QgsRasterBandStats QgsGdalProvider::bandStatistics( int bandNo, int stats, const
|
||||
if ( ( sourceHasNoDataValue( bandNo ) && !useSourceNoDataValue( bandNo ) ) ||
|
||||
!userNoDataValues( bandNo ).isEmpty() )
|
||||
{
|
||||
QgsDebugMsgLevel( QStringLiteral( "Custom no data values, using generic statistics." ), 2 );
|
||||
QgsDebugMsgLevel( QStringLiteral( "Custom NoData values, using generic statistics." ), 2 );
|
||||
return QgsRasterDataProvider::bandStatistics( bandNo, stats, boundingBox, sampleSize, feedback );
|
||||
}
|
||||
|
||||
@ -3981,9 +3981,9 @@ bool QgsGdalProvider::setNoDataValue( int bandNo, double noDataValue )
|
||||
{
|
||||
const QStringList errors = handler.popErrors();
|
||||
if ( !errors.empty() )
|
||||
QgsDebugError( QStringLiteral( "Cannot set no data value: %1" ).arg( errors.join( QLatin1String( ", " ) ) ) );
|
||||
QgsDebugError( QStringLiteral( "Cannot set NoData value: %1" ).arg( errors.join( QLatin1String( ", " ) ) ) );
|
||||
else
|
||||
QgsDebugError( QStringLiteral( "Cannot set no data value" ) );
|
||||
QgsDebugError( QStringLiteral( "Cannot set NoData value" ) );
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -507,7 +507,7 @@ QString QgsRasterLayer::htmlMetadata() const
|
||||
|
||||
// Band table
|
||||
myMetadata += QStringLiteral( "</table>\n<br><table width=\"100%\" class=\"tabular-view\">\n" ) %
|
||||
QStringLiteral( "<tr><th>" ) % tr( "Number" ) % QStringLiteral( "</th><th>" ) % tr( "Band" ) % QStringLiteral( "</th><th>" ) % tr( "No-Data" ) % QStringLiteral( "</th><th>" ) %
|
||||
QStringLiteral( "<tr><th>" ) % tr( "Number" ) % QStringLiteral( "</th><th>" ) % tr( "Band" ) % QStringLiteral( "</th><th>" ) % tr( "NoData" ) % QStringLiteral( "</th><th>" ) %
|
||||
tr( "Min" ) % QStringLiteral( "</th><th>" ) % tr( "Max" ) % QStringLiteral( "</th></tr>\n" );
|
||||
|
||||
QgsRasterDataProvider *provider = const_cast< QgsRasterDataProvider * >( mDataProvider );
|
||||
|
@ -50,7 +50,7 @@ QgsRasterTransparencyWidget::QgsRasterTransparencyWidget( QgsRasterLayer *layer,
|
||||
connect( pbnRemoveSelectedRow, &QToolButton::clicked, this, &QgsRasterTransparencyWidget::pbnRemoveSelectedRow_clicked );
|
||||
|
||||
mNodataColorButton->setShowNoColor( true );
|
||||
mNodataColorButton->setColorDialogTitle( tr( "Select No Data Color" ) );
|
||||
mNodataColorButton->setColorDialogTitle( tr( "Select NoData Color" ) );
|
||||
syncToLayer();
|
||||
|
||||
connect( mOpacityWidget, &QgsOpacityWidget::opacityChanged, this, &QgsPanelWidget::widgetChanged );
|
||||
|
@ -1118,7 +1118,7 @@ bool QgsPostgresRasterProvider::init()
|
||||
|
||||
if ( mBandCount != pxTypes.count( ) || mBandCount != noDataValues.count() )
|
||||
{
|
||||
throw QgsPostgresRasterProviderException( tr( "Band count and nodata items count differs" ) );
|
||||
throw QgsPostgresRasterProviderException( tr( "Band count and NoData items count differs" ) );
|
||||
}
|
||||
|
||||
int i = 0;
|
||||
@ -1136,7 +1136,7 @@ bool QgsPostgresRasterProvider::init()
|
||||
{
|
||||
if ( noDataValues.at( i ) != QLatin1String( "NULL" ) )
|
||||
{
|
||||
QgsMessageLog::logMessage( tr( "Cannot convert nodata value '%1' to double" )
|
||||
QgsMessageLog::logMessage( tr( "Cannot convert NoData value '%1' to double" )
|
||||
.arg( noDataValues.at( i ) ),
|
||||
QStringLiteral( "PostGIS" ), Qgis::MessageLevel::Info );
|
||||
}
|
||||
@ -1422,7 +1422,7 @@ bool QgsPostgresRasterProvider::init()
|
||||
|
||||
if ( ! ok )
|
||||
{
|
||||
QgsMessageLog::logMessage( tr( "Cannot convert nodata value '%1' to double, default to: %2" )
|
||||
QgsMessageLog::logMessage( tr( "Cannot convert NoData value '%1' to double, default to: %2" )
|
||||
.arg( result.PQgetvalue( rowNumber, 2 ) )
|
||||
.arg( std::numeric_limits<double>::min() ), QStringLiteral( "PostGIS" ), Qgis::MessageLevel::Info );
|
||||
nodataValue = std::numeric_limits<double>::min();
|
||||
|
@ -38,7 +38,7 @@
|
||||
<item>
|
||||
<widget class="QRadioButton" name="mRawModeRadioButton">
|
||||
<property name="toolTip">
|
||||
<string>Write out raw raster layer data. Optionally user defined no data values may be applied.</string>
|
||||
<string>Write out raw raster layer data. Optionally user defined NoData values may be applied.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Raw data</string>
|
||||
@ -483,10 +483,10 @@ datasets with maximum width and height specified below.</string>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Additional no data values. The specified values will be set to no data in output raster.</string>
|
||||
<string>Additional NoData values. The specified values will be set to NoData in output raster.</string>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>No data values</string>
|
||||
<string>NoData values</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
|
@ -70,7 +70,7 @@
|
||||
<item row="1" column="0">
|
||||
<widget class="QgsCollapsibleGroupBox" name="gboxNoDataValue">
|
||||
<property name="title">
|
||||
<string>No Data Value</string>
|
||||
<string>NoData Value</string>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
@ -82,17 +82,17 @@
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Display no data as</string>
|
||||
<string>Display NoData as</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="lblUserNoDataValueLabel">
|
||||
<property name="toolTip">
|
||||
<string>Additional user defined no data value.</string>
|
||||
<string>Additional user defined NoData value.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Additional no data value</string>
|
||||
<string>Additional NoData value</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -104,10 +104,10 @@
|
||||
<item>
|
||||
<widget class="QCheckBox" name="mSrcNoDataValueCheckBox">
|
||||
<property name="toolTip">
|
||||
<string>Use original source no data value.</string>
|
||||
<string>Use original source NoData value.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>No data value</string>
|
||||
<string>NoData value</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -120,10 +120,10 @@
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Original data source no data value, if exists.</string>
|
||||
<string>Original data source NoData value, if exists.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><src no data value></string>
|
||||
<string><src NoData value></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -132,7 +132,7 @@
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="leNoDataValue">
|
||||
<property name="toolTip">
|
||||
<string>Additional user defined no data value.</string>
|
||||
<string>Additional user defined NoData value.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
Loading…
x
Reference in New Issue
Block a user