Added values:
* GCI_PanBand: Panchromatic band [0.40 - 1.00 um]
* GCI_CoastalBand: Coastal band [0.40 - 0.45 um]
* GCI_RedEdgeBand: Red-edge band [0.69 - 0.79 um]
* GCI_NIRBand: Near-InfraRed (NIR) band [0.75 - 1.40 um]
* GCI_SWIRBand: Short-Wavelength InfraRed (SWIR) band [1.40 - 3.00 um]
* GCI_MWIRBand: Mid-Wavelength InfraRed (MWIR) band [3.00 - 8.00 um]
* GCI_LWIRBand: Long-Wavelength InfraRed (LWIR) band [8.00 - 15 um]
* GCI_TIRBand: Thermal InfraRed (TIR) band (MWIR or LWIR) [3 - 15 um]
* GCI_OtherIRBand: Other infrared band [0.75 - 1000 um]
For spectral bands, the wavelength ranges are indicative only, and may vary
depending on sensors.
STACIT driver enhanced to map STAC common_name to GCI_ constants
gdalinfo -json output enhanced to output STAC common_name from GCI_
constants
Items in the IMAGERY band-level metadata domain:
- CENTRAL_WAVELENGTH_UM: Central Wavelength in micrometers.
- FWHM_UM: Full-width half-maximum (FWHM) in micrometers.
Filled by the SENTINEL2 and ENVI drivers (if corresponding metadata items are found in
the ENVI header)
This was the originally intended behavior, but the IF_ERROR_RETURN_NONE
typemap that controls this was actually broken.
It used to work before 2006, but it was removed per commit 1c6e19f94f
and later half restored in 86d4f1d47a , missing
the important 'ret' typemap that was initially present.
```
* \fn VSIVirtualHandle::Error()
* \brief Test the error indicator.
*
* Returns TRUE (non-zero) if an error condition occurred during the
* previous read operation. The error indicator is cleared by a call to
* VSIFClearErrL(). Note that a end-of-file situation, reported by VSIFEofL(),
* is *not* an error reported by VSIFErrorL().
```
```
* \fn VSIVirtualHandle::ClearErr()
* \brief Reset the error and end-of-file indicators.
```
* OGRLayer: Have CreateField take const OGRFieldDefn* argument
* OGRLayer: Have CreateGeomField take const OGRGeomFieldDefn* argument
* Update MIGRATION_GUIDE.TXT
to reflect that those objects should be considered immutable.
The downside is that we have internally to
const_cast<OGRSpatialReference*>, in particular in
OGRGeometry::transform() when assigning GetTargetCS() to the geometry,
as assignSpatialReference() needs to increase the reference count.
Pansharpening now requires that panchromatic and multispectral bands have
valid geotransform (in early versions, it was assumed in the case of missing
geotransform that they covered the same geospatial extent).
The undocumented VRT pansharpened MSShiftX and MSShiftY options (and the
corresponding C++ GDALPansharpenOptions::dfMSShiftX and dfMSShiftY members)
have been removed, due to using the inverted convention as one would expect,
and being sub-par solution compared to using geotransform to correlate pixels
of panchromatic and multispectral bands.
The VSILFILE* type is no longer aliased to FILE* in builds without the DEBUG
define (that is production builds). External code that used FILE* with
GDAL VSI*L API has to be changed to use VSILFILE*.
This aliasing dates back to old times where both types where indifferently
used in the code base. In the mean time, this was cleaned up. But there was a
drawback of having VSILFILE* being either a dedicated type of an alias of
FILE* depending whether DEBUG is defined, especially with the C++ API, for
people building their plugins with DEBUG and running them against a non-DEBUG
GDAL build, or the reverse.
On reading, PIXELTYPE=SIGNEDBYTE in IMAGE_STRUCTURE metadata domain is
no longer reported in drivers that used to do it.
On writing, the PIXELTYPE=SIGNEDBYTE creation option is preserved in
drivers that used to support it, but is deprecated.
- Add corresponding GDALBuildOverviewsEx() and GDALRegenerateOverviewsEx()
- For GDALDataset::BuildOverviews() and GDALBuildOverviewsEx(), the
passed options are translated as thread-local tempororary
configuration options, because all exisisting code expects options to
be provided that way.
- Add CSLConstList papszOptions parameter to GDALRegenerateOverviewsMultiBand()