Commit Graph

28 Commits

Author SHA1 Message Date
SunBlack eaa3dd1eed Switch from SameMinorVersion to SameMajorVersion compatibility 2024-12-06 17:01:43 +01:00
Even Rouault f7836d163b
MIGRATION_GUIDE.TXT: mention change w.r.t OGR SQL and NULL values 2024-11-01 14:01:22 +01:00
Even Rouault 5d15a89d08
MIGRATION_GUIDE.TXT: add a section about MEM::: being disabled [ci skip] 2024-10-30 12:36:31 +01:00
Laurențiu Nicola 8732e2c606 MIGRATION_GUIDE.TXT: migrate away from Trac links [ci skip] 2024-10-21 18:44:48 +03:00
Even Rouault a8effd59d3
MIGRATION_GUIDE.TXT: add hints about new optional drivers [ci skip] 2024-10-05 14:02:27 +02:00
Even Rouault 6123db2635
Add new GCI_ constants in particular for InfraRed, and 'standardize' a band-level IMAGERY metadata domain
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)
2024-09-18 18:38:42 +02:00
Even Rouault b1b67c82ec
Python bindings: make GetStatistics() and ComputeStatistics() return None in case of error (#10462)
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.
2024-07-22 16:33:19 +02:00
Even Rouault 36267863aa
Add VSIFErrorL() and VSIFClearErrL(), and implement them
```
 * \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.
```
2024-05-22 18:10:23 +02:00
Even Rouault e463b57846
OGRLayer::SetIgnoredFields(): make it take a CSLConstList argument instead of const char* 2024-04-15 14:45:52 +02:00
Even Rouault 9d07b3cb57
MIGRATION_GUIDE.TXT: update with RFC99 changes 2024-03-14 17:59:32 +01:00
Even Rouault 136542532c
MIGRATION_GUIDE.TXT: mention RFC 97 2023-11-17 18:54:10 +01:00
Dan Baston a501ce3f9a
OGRLayer: Have CreateField/CreateGeomField take const OGRFieldDefn/OGRGeomFieldDefn* argument (#8741)
* OGRLayer: Have CreateField take const OGRFieldDefn* argument

* OGRLayer: Have CreateGeomField take const OGRGeomFieldDefn* argument

* Update MIGRATION_GUIDE.TXT
2023-11-17 18:53:07 +01:00
Daniel Baston 3f05b1d824
MIGRATION_GUIDE: Document behavior changes in /vsimem 2023-10-27 20:18:05 -04:00
Even Rouault 4b1070084c
GDALDataset::ICreateLayer(): now takes a const OGRSpatialReference* instead of a OGRSpatialReference*. Affects out-of-tree drivers (fixes #8493) 2023-09-29 19:43:12 +02:00
Even Rouault bd62ff798b
Make OGRGeomFieldDefn::GetSpatialRef() return a const OGRSpatialReference* 2023-03-22 19:07:51 +01:00
Even Rouault dc32afef5e
Make OGRGeometry::getSpatialReference() return a const OGRSpatialReference* 2023-03-22 19:07:51 +01:00
Even Rouault 355e8eeccd
Make OGRCoordinateTransformation::GetSourceCS() and GetTargetCS() return a const OGRSpatialReference* (fixes #7377)
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.
2023-03-22 19:07:51 +01:00
Even Rouault 69e65c35eb
Pansharpening: require geotransform on panchromatic and multispectral bands
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.
2023-03-07 23:11:00 +01:00
Even Rouault 6dd6df297f
Add GDALDataset::Close() virtual method, call it from GDALClose() and make GDALClose() return a CPLErr 2023-01-27 16:26:55 +01:00
Even Rouault 822794d23a
Modify GDALFlushCache() and GDALDataset::FlushCache() to return CPLErr instead of void 2023-01-27 16:26:55 +01:00
Even Rouault 8d74e24590
No longer alias VSILFILE* to FILE* in non-DEBUG builds (fixes #6790)
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.
2022-12-09 20:53:52 +01:00
Even Rouault 65bb32a37a
Add GDT_Int8 support (RFC 87)
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.
2022-11-16 14:25:03 +01:00
Even Rouault ac086178cf
Remove compatibility layers _GetProjectionRef(), _GetGCPProjectionRef(), _SetProjection(), _SetGCPs() (fixes #6186) 2022-11-03 00:38:26 +01:00
Even Rouault 8f1ca28b5b
GDALDataset::[I]BuildOverviews(): add a CSLConstList papszOptions parameter
- 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()
2022-10-05 22:38:15 +02:00
Even Rouault b4e009ec39
GDALDataset/GDALRasterBand::[I]BuildOverviews(): fix const correctness of panOverviewList and panBandList arguments 2022-10-05 22:38:15 +02:00
Even Rouault f60021dec0
Mention constness of GDALProxyRasterBand::RefUnderlyingRasterBand() / UnrefUnderlyingRasterBand() [ci skip] 2022-05-06 14:24:51 +02:00
Even Rouault 930b2a06d8
Add GDT_Int64 and GDT_UInt64 data types and handle them in MEM, GTiff, netCDF and Zarr drivers 2022-03-08 19:20:03 +01:00
Even Rouault (bot) 9e9f8b2944
Move gdal/* to toplevel 2021-10-25 13:40:31 +02:00