Skip to content

Commit 2c25d5a

Browse files
committed
Merge remote-tracking branch 'upstream/master' into inputmasking
2 parents fc23fcd + ac95cad commit 2c25d5a

File tree

265 files changed

+12451
-2405
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

265 files changed

+12451
-2405
lines changed

.github/workflows/armhf/test.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ set -eu
44

55
source ${GDAL_SOURCE_DIR:=..}/scripts/setdevenv.sh
66

7-
autotest/cpp/gdal_unit_test --gtest_filter=-test_cpl.CPLSpawn
7+
autotest/cpp/gdal_unit_test --gtest_filter=-test_cpl.CPLSpawn:test_cpl.CPLGetCurrentThreadCount
88

99
pytest autotest/alg -k "not test_warp_52 and not test_warp_rpc_source_has_geotransform"
1010
# Excluded tests starting at test_tiff_read_multi_threaded are due to lack of virtual memory

.github/workflows/cmake_builds.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ jobs:
9393
wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
9494
sudo apt-get install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
9595
sudo apt-get update
96-
sudo apt-get install -y -V libarrow-dev libparquet-dev libarrow-dataset-dev
96+
sudo apt-get install -y -V libarrow-dev libparquet-dev libarrow-dataset-dev libarrow-compute-dev
9797
#
9898
PYTHON_CMD=python3 && $PYTHON_CMD -m pip install -r $GITHUB_WORKSPACE/autotest/requirements.txt
9999

.github/workflows/coverage/test.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ IP=host.docker.internal
2222
(cd autotest && OGR_PG_CONNECTION_STRING="host=$IP port=25432 dbname=autotest user=docker password=docker" $PYTEST --capture=no -ra ogr/ogr_pg.py)
2323
(cd autotest && PGHOST="$IP" PGPORT=25432 PGUSER=docker PGPASSWORD=docker $PYTEST --capture=no -ra gdrivers/postgisraster.py)
2424

25+
(cd autotest && $PYTEST --capture=no -ra utilities/test_gdalalg_raster_tile.py::test_gdalalg_raster_tile_fork_auto)
26+
2527
# Generate coverage report
2628
lcov --directory . --capture --output-file gdal.info 2>/dev/null
2729
cp gdal.info gdal_filtered.info

.github/workflows/s390x/test.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ set -eu
44

55
source ${GDAL_SOURCE_DIR:=..}/scripts/setdevenv.sh
66

7-
autotest/cpp/gdal_unit_test --gtest_filter=-test_cpl.CPLSM_signed:test_cpl.CPLSpawn:test_cpl.CPLUTF8ForceToASCII
7+
autotest/cpp/gdal_unit_test --gtest_filter=-test_cpl.CPLSM_signed:test_cpl.CPLSpawn:test_cpl.CPLUTF8ForceToASCII:test_cpl.CPLGetCurrentThreadCount
88

99
pytest autotest/alg
1010
pytest autotest/gcore -k "not transformer and not virtualmem and not test_vrt_protocol_netcdf_component_name and not test_vsicrypt_3"

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ endif()
4848
include(Ccache)
4949

5050
#
51-
if ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(x86|AMD64)")
51+
if ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(i586|i686|x86|AMD64)")
5252
check_compiler_machine_option(flag SSE)
5353
if (NOT ${flag} STREQUAL "")
5454
set(HAVE_SSE_AT_COMPILE_TIME 1)

MIGRATION_GUIDE.TXT

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ MIGRATION GUIDE FROM GDAL 3.11 to GDAL 3.12
99
will be definitely removed in 3.13.
1010
* Furthermore, sub-command "set-type" of "gdal vector geom" is renamed as
1111
"set-geom-type" and also placed under "gdal vector".
12+
* Progress bar is emitted to stdout by default unless --quiet/-q is specified.
13+
* For gdal raster info, gdal vector info and gdal vsi list, --format=text is
14+
now the default when those utilities are invoked from the command line.
15+
When they are invoked from the API, the default is still JSON.
1216

1317
- The raw file capabilities (VRTRawRasterBand) of the VRT raster driver have
1418
been limited by default for security reasons. Consult

alg/gdalapplyverticalshiftgrid.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ const OGRSpatialReference *GDALApplyVSGDataset::GetSpatialRef() const
160160
bool GDALApplyVSGDataset::IsInitOK()
161161
{
162162
GDALApplyVSGRasterBand *poBand =
163-
reinterpret_cast<GDALApplyVSGRasterBand *>(GetRasterBand(1));
163+
cpl::down_cast<GDALApplyVSGRasterBand *>(GetRasterBand(1));
164164
return poBand->m_pafSrcData != nullptr && poBand->m_pafGridData != nullptr;
165165
}
166166

@@ -195,7 +195,7 @@ GDALApplyVSGRasterBand::~GDALApplyVSGRasterBand()
195195

196196
double GDALApplyVSGRasterBand::GetNoDataValue(int *pbSuccess)
197197
{
198-
GDALApplyVSGDataset *poGDS = reinterpret_cast<GDALApplyVSGDataset *>(poDS);
198+
GDALApplyVSGDataset *poGDS = cpl::down_cast<GDALApplyVSGDataset *>(poDS);
199199
return poGDS->m_poSrcDataset->GetRasterBand(1)->GetNoDataValue(pbSuccess);
200200
}
201201

@@ -206,7 +206,7 @@ double GDALApplyVSGRasterBand::GetNoDataValue(int *pbSuccess)
206206
CPLErr GDALApplyVSGRasterBand::IReadBlock(int nBlockXOff, int nBlockYOff,
207207
void *pData)
208208
{
209-
GDALApplyVSGDataset *poGDS = reinterpret_cast<GDALApplyVSGDataset *>(poDS);
209+
GDALApplyVSGDataset *poGDS = cpl::down_cast<GDALApplyVSGDataset *>(poDS);
210210

211211
const int nXOff = nBlockXOff * nBlockXSize;
212212
const int nReqXSize = (nXOff > nRasterXSize - nBlockXSize)

alg/gdalwarpkernel.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8336,7 +8336,8 @@ static void GWKSumPreservingThread(void *pData)
83368336
std::fill(adfBandDensity.begin(), adfBandDensity.end(), 0);
83378337
std::fill(adfWeight.begin(), adfWeight.end(), 0);
83388338
double dfDensity = 0;
8339-
double dfTotalWeight = 0;
8339+
// Just above zero to please Coveriy Scan
8340+
double dfTotalWeight = std::numeric_limits<double>::min();
83408341

83418342
/* ====================================================================
83428343
*/

alg/gdalwarpoperation.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3246,11 +3246,10 @@ CPLErr GDALWarpOperation::ComputeSourceWindow(
32463246
/* fallback to adding a bit to the window if any points failed */
32473247
/* to transform. */
32483248
/* -------------------------------------------------------------------- */
3249-
if (CSLFetchNameValue(psOptions->papszWarpOptions, "SOURCE_EXTRA") !=
3250-
nullptr)
3249+
if (const char *pszSoureExtra =
3250+
CSLFetchNameValue(psOptions->papszWarpOptions, "SOURCE_EXTRA"))
32513251
{
3252-
const int nSrcExtra = atoi(
3253-
CSLFetchNameValue(psOptions->papszWarpOptions, "SOURCE_EXTRA"));
3252+
const int nSrcExtra = atoi(pszSoureExtra);
32543253
nXRadius += nSrcExtra;
32553254
nYRadius += nSrcExtra;
32563255
}

alg/viewshed/viewshed_executor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ void ViewshedExecutor::setOutput(double &dfResult, double &dfCellVal,
185185
{
186186
double adjustment = dfZ - dfCellVal;
187187
if (adjustment > 0)
188-
dfResult += (dfZ - dfCellVal);
188+
dfResult += adjustment;
189189
}
190190
else
191191
dfResult = (dfCellVal + oOpts.targetHeight < dfZ) ? oOpts.invisibleVal

0 commit comments

Comments
 (0)