Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from OSGeo:master #68

Merged
merged 120 commits into from
Mar 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
7123048
CMake: add a GDAL_FIND_PACKAGE_OPENJPEG_METHOD cache variable to pote…
rouault Feb 26, 2024
97c1f7f
Add gdal::GCP class
rouault Feb 22, 2024
733c199
Add unit tests for gdal::GCP class
rouault Feb 26, 2024
638ea3a
GTiff: use gdal::GCP
rouault Feb 22, 2024
57a0a22
HFA: use gdal::GCP
rouault Feb 22, 2024
8bc5b2b
Make GDALSerializeGCPListToXML() / GDALDeserializeGCPListFromXML() us…
rouault Feb 22, 2024
a29abc7
PDF: use gdal::GCP
rouault Feb 26, 2024
0f85594
HDF4: use gdal::GCP
rouault Feb 26, 2024
22ad089
HDF5: use gdal::GCP
rouault Feb 26, 2024
376f55d
MEM: use gdal::GCP
rouault Feb 26, 2024
1e7aed6
JPEG: use gdal::GCP
rouault Feb 26, 2024
059b267
Add OSRSetFromUserInputEx() and map it to SWIG (fixes #9358)
rouault Mar 5, 2024
02b2eb8
gdalinfo -json/gdal.Info(format='json'): avoid error/exception on eng…
rouault Mar 6, 2024
a8134aa
gdal_translate -expand rgb[a]: automatically select Byte output data …
rouault Mar 6, 2024
6a80a69
gdal_grid: error out on in invalid layer name, SQL statement or faile…
rouault Mar 7, 2024
2e3f4f4
Selafin: avoid emitting additional error message on file that can't b…
rouault Mar 7, 2024
b971f47
gdaltransform: make it output extra content at end of input line (unl…
rouault Mar 7, 2024
db5dc20
gdallocationinfo: make it output extra content at end of input line (…
rouault Mar 7, 2024
e351b46
gdalwarp: fix performance issue when warping to COG (fixes #9416)
rouault Mar 7, 2024
3b6e04a
VRTWarpedDataset: add an optimized IRasterIO() implementation
rouault Mar 8, 2024
0b747eb
Update gdal_viewshed.rst to make sense, on the man page too
jidanni Mar 9, 2024
3d205f6
Merge pull request #9431 from jidanni/patch-30
rouault Mar 9, 2024
9ce0731
Doc: gsag.rst: fix capabilities (fixes #9434)
rouault Mar 9, 2024
44ea867
Doc: adjust declared driver capabilities with reality
rouault Mar 9, 2024
52e003f
Add scripts/check_doc.py to check that driver documentation pages are…
rouault Mar 9, 2024
84faace
CI: run scripts/check_doc.py
rouault Mar 9, 2024
4f0229a
Shapelib: resync with upstream
rouault Mar 9, 2024
9a4a7b1
Shapelib: compile it as C++
rouault Mar 9, 2024
4f1938c
Merge pull request #9436 from rouault/shapelib_cpp_compiles_fixes
rouault Mar 9, 2024
efccb78
Overview/RasterIO resampling: fix infinite looping when nodata has a …
elpaso Mar 9, 2024
bd9f525
netCDF vector write: make it more robust to empty geometries
rouault Mar 9, 2024
c7e2ca8
GeoJSON reader: accept a {"type": "Polygon","coordinates": []} as a r…
rouault Mar 9, 2024
0b6e5ab
gdal_viewshed.rst: more descriptive comment of screenshot
rouault Mar 10, 2024
2048869
gdal_viewshed: add support for south-up source datasets (fixes #9432)
rouault Mar 10, 2024
8fb53c9
Internal shapelib: SBNOpenDiskTree(): make it work with node descript…
rouault Mar 10, 2024
167385a
sbnsearch.c: avoid potential integer overflow on corrupted bin size
rouault Mar 10, 2024
0d3e5fd
sbnsearch.c: avoid potential integer overflow on corrupted nNodeDescSize
rouault Mar 11, 2024
a1d0a75
viewshed.cpp: remove useless parentheses around std::min/max
rouault Mar 11, 2024
ff42129
sozip.rst: document -r option
rouault Mar 11, 2024
cf34d50
Merge pull request #9440 from rouault/fix_9432
rouault Mar 11, 2024
f1edddc
Merge pull request #9285 from rouault/gcp_cppification
rouault Mar 11, 2024
7d727b3
Merge pull request #9320 from rouault/cmake_openjpeg
rouault Mar 11, 2024
629c1b0
Merge pull request #9383 from rouault/SetFromUserInputEx
rouault Mar 11, 2024
81083bd
SWIG: Exposes additional Dataset methods for the csharp wrapper (fixe…
andreasbaa Mar 11, 2024
ccad35a
Merge pull request #9399 from rouault/fix_9396
rouault Mar 11, 2024
48227ca
Merge pull request #9403 from rouault/fix_9402
rouault Mar 11, 2024
c28e4d3
Merge pull request #9417 from rouault/fix_9406
rouault Mar 11, 2024
584aa9d
Merge pull request #9435 from rouault/doc_caps_adjustements
rouault Mar 11, 2024
a8846d1
gdal_argparse.py: use the default ArgumentParser formatter_class if N…
rouault Mar 12, 2024
c24b95c
swq_select::expand_wildcard(): avoid unsigned integer overflow, and c…
rouault Mar 12, 2024
6703d30
requirements.txt: add pin for importlib-resources to avoid issue with…
rouault Mar 13, 2024
f7a5ab2
OGRLayer::GetArrowSchema(): remove potential unaligned int32_t writes
rouault Mar 13, 2024
9a6b633
OpenFileGDB: avoid issue with -fno-sanitize-recover=unsigned-integer-…
rouault Mar 13, 2024
36858a6
OGCAPI: fix potential use-after-free
rouault Mar 14, 2024
2e7f81e
CI: update ASAN job to Ubuntu 22.04
rouault Mar 14, 2024
7928230
CI: disable ASAN config as too flaky
rouault Mar 14, 2024
d0248bd
Merge pull request #9453 from rouault/ci_asan_2204
rouault Mar 14, 2024
709169d
GDALResampleChunk_AverageOrRMS_T(): avoid casting value to type that …
rouault Mar 14, 2024
a594ef2
Revert "CI: disable ASAN config as too flaky"
rouault Mar 14, 2024
bdb9b13
CI: force ASAN to run on 20.04
rouault Mar 14, 2024
fa63fc0
CI: extra ASAN tweaks
rouault Mar 14, 2024
543cd3f
Merge pull request #9454 from rouault/ci_asan
rouault Mar 14, 2024
ec05413
OpenFileGDB: avoid doing harmless unsigned-integer-overflow
rouault Mar 14, 2024
11fe8e4
GTiff: avoid doing unsigned integer overflow
rouault Mar 14, 2024
210fbbf
netCDF: avoid doing unsigned integer overflow
rouault Mar 14, 2024
5132de2
gdalmultidim: avoid doing (harmless) unsigned integer overflow
rouault Mar 14, 2024
0bb2c1d
ogrinfo: avoid emitting an error message twice (fixes #9459)
rouault Mar 14, 2024
f113caa
SWIG: fix memory leak in SpatialReference.ExportToCF1
rouault Mar 14, 2024
c34307c
jp2kak_headers.h: Fix typo Kakdu → Kakadu [ci skip]
schwehr Mar 14, 2024
b30262e
Add C++ OGRGeomCoordinatePrecision class and corresponding C and SWIG…
rouault Feb 28, 2024
a281455
ogrfeature.cpp: silence gcc -Wnull-dereference false positives
rouault Feb 29, 2024
20e2167
OGRGeomFieldDefn: add a OGRGeomCoordinatePrecision member and getter …
rouault Feb 28, 2024
48dd401
Add GDAL_DCAP_HONOR_GEOM_COORDINATE_PRECISION
rouault Feb 28, 2024
0c92a7f
Change prototype of GDALDataset::ICreateLayer() to take a const OGRGe…
rouault Feb 28, 2024
08cebe0
ogrinfo: output coordinate resolution in -json mode
rouault Feb 28, 2024
f91d8b4
ogr2ogr: propagate input coordinate precision
rouault Feb 28, 2024
def94f6
OGRWktOptions: replace precision field with xyPrecision, zPrecision, …
rouault Feb 28, 2024
7ef12ce
Rename ogr_gml_read.py to ogr_gml.py
rouault Feb 28, 2024
4b4d204
GML: add support for coordinate precision
rouault Feb 28, 2024
4815f1a
Make OGRFeature::DumpReadableAsString() honor coordinate precision
rouault Feb 29, 2024
34f3a4b
GeoJSON: add support for coordinate precision
rouault Feb 29, 2024
0adb14c
OGRGeometry::exportToJson() / OGR_G_ExportToJsonEx(): add support for…
rouault Feb 29, 2024
f616eb5
ogrinfo: honour coordinate resolution for GeoJSON geometries in -json…
rouault Feb 29, 2024
e795d18
GeoJSONSeq: add support for coordinate precision
rouault Mar 1, 2024
32858d6
jsonfg.rst: fix wrong directive for SINGLE_LAYER dsco
rouault Mar 2, 2024
b6b1aef
JSONFG: add support for coordinate precision
rouault Mar 1, 2024
6dbef10
OGRGeometry: add OGRGeomCoordinateBinaryPrecision and OGRwkbExportOpt…
rouault Mar 1, 2024
711d1b7
GPKG: add support for coordinate precision
rouault Mar 2, 2024
c54715c
ogr2ogr: add options -xyRes, -zRes, -mRes and -unsetCoordPrecision
rouault Mar 2, 2024
c9d6b72
CSV: add support for coordinate precision
rouault Mar 2, 2024
9d07b3c
MIGRATION_GUIDE.TXT: update with RFC99 changes
rouault Mar 2, 2024
7481f9a
OpenFileGDB: add support for coordinate precision
rouault Mar 4, 2024
997c8db
FileGDB: add support for coordinate precision
rouault Mar 4, 2024
7936f15
FileGDB: remove warning 'Empty Spatial Reference'
rouault Mar 4, 2024
f424fac
GML writer: honour geometry field name and isnullable passed to ICrea…
rouault Mar 4, 2024
95857da
OGR VRT: add support for coordinate precision
rouault Mar 4, 2024
f6f11fd
Add OGRGeometry::SetPrecision() / OGR_G_SetPrecision(), as wrapper of…
rouault Mar 4, 2024
99f7943
OGRLayer::CreateFeature()/SetFeature(): honor OGR_APPLY_GEOM_SET_PREC…
rouault Mar 6, 2024
3e360b5
ogr2ogr: run OGRGeometry::SetPrecision() when specifying -xyRes
rouault Mar 4, 2024
95e6d2c
Add a OGRGeometry::roundCoordinates() method
rouault Mar 6, 2024
e91ce06
GPKG: only quantize geometries if DISCARD_COORD_LSB layer creation op…
rouault Mar 6, 2024
78a8e65
OGRGeoJSONWriteLayer::ICreateFeature(): simplify using OGRGeometry::r…
rouault Mar 6, 2024
f2d2c9c
RFC99 implementation: replace metre by meter
rouault Mar 7, 2024
c221d36
Add extra docs about speeding up append to PostGIS tables
robintw Mar 14, 2024
8ebca77
Merge pull request #9463 from robintw/patch-1
rouault Mar 14, 2024
1bc8ad7
Merge pull request #9378 from rouault/rfc99_impl
rouault Mar 14, 2024
9930cd7
Add RFC99 text: Geometry coordinate precision (#9300)
rouault Mar 14, 2024
c03d544
Merge pull request #9458 from rouault/unsigned_integer_overflows
rouault Mar 14, 2024
83d73eb
Merge pull request #9460 from rouault/swig_export_to_cf1
rouault Mar 14, 2024
59d502f
Merge pull request #9419 from rouault/fix_9410
rouault Mar 14, 2024
8d5c7ed
Merge pull request #9423 from rouault/fix_9416
rouault Mar 14, 2024
ad8ed7a
Merge pull request #9426 from rouault/vrtwarped_irasterio_optim
rouault Mar 14, 2024
a8a0fd5
Doc: Add Python API docs for gdal.Driver
dbaston Mar 15, 2024
6ee9e30
doc: update ogr2ogr default value for -gt in Performance hints
ctoney Mar 15, 2024
35feb24
Merge pull request #9466 from ctoney/patch-1
rouault Mar 15, 2024
2daa551
Merge pull request #9437 from rouault/fix_duckdb_spatial_273
rouault Mar 15, 2024
ffcf050
Merge pull request #9439 from rouault/fix_9430
rouault Mar 15, 2024
4df8dd0
Merge pull request #9421 from rouault/fix_9411
rouault Mar 15, 2024
171e336
Merge pull request #9465 from dbaston/python-api-docs
rouault Mar 15, 2024
dfde241
docker/ubuntu-full/Dockerfile: update ARROW_VERSION to 15.0.1-1 [ci s…
rouault Mar 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 3 additions & 2 deletions .github/workflows/asan/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ if [ "$NPROC" = "" ]; then
NPROC=3
fi

SANITIZE_FLAGS="-DMAKE_SANITIZE_HAPPY -fsanitize=unsigned-integer-overflow -fno-sanitize-recover=unsigned-integer-overflow"
SANITIZE_FLAGS="-DMAKE_SANITIZE_HAPPY -fsanitize=undefined -fsanitize=address -fsanitize=unsigned-integer-overflow -fno-sanitize-recover=unsigned-integer-overflow"
SANITIZE_LDFLAGS="-fsanitize=undefined -fsanitize=address -shared-libasan -lstdc++"

cmake ${GDAL_SOURCE_DIR:=..} \
Expand All @@ -18,11 +18,12 @@ cmake ${GDAL_SOURCE_DIR:=..} \
-DCMAKE_C_FLAGS="${SANITIZE_FLAGS}" \
-DCMAKE_CXX_FLAGS="${SANITIZE_FLAGS}" \
-DCMAKE_SHARED_LINKER_FLAGS="${SANITIZE_LDFLAGS}" \
-DCMAKE_SHARED_LINKER_FLAGS="${SANITIZE_LDFLAGS}" \
-DCMAKE_EXE_LINKER_FLAGS="${SANITIZE_LDFLAGS}" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DUSE_CCACHE=ON \
-DGDAL_USE_GEOTIFF_INTERNAL=ON \
-DGDAL_USE_TIFF_INTERNAL=ON \
-DGDAL_USE_LIBKML=OFF -DOGR_ENABLE_DRIVER_LIBKML=OFF \
-DFileGDB_ROOT=/usr/local/FileGDB_API
make -j$NPROC

7 changes: 5 additions & 2 deletions .github/workflows/asan/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,14 @@ set -ex

. ../scripts/setdevenv.sh

export LD_LIBRARY_PATH=/usr/lib/llvm-10/lib/clang/10.0.0/lib/linux:${LD_LIBRARY_PATH}
export PATH=/usr/lib/llvm-10/bin:${PATH}
export LD_LIBRARY_PATH=/usr/lib/llvm-14/lib/clang/14.0.0/lib/linux:${LD_LIBRARY_PATH}
export PATH=/usr/lib/llvm-14/bin:${PATH}
export SKIP_MEM_INTENSIVE_TEST=YES
export SKIP_VIRTUALMEM=YES
export LD_PRELOAD=$(clang -print-file-name=libclang_rt.asan-x86_64.so)
export ASAN_OPTIONS=allocator_may_return_null=1:symbolize=1:suppressions=$PWD/../autotest/asan_suppressions.txt
export LSAN_OPTIONS=detect_leaks=1,print_suppressions=0,suppressions=$PWD/../autotest/lsan_suppressions.txt
export PYTHONMALLOC=malloc

gdalinfo autotest/gcore/data/byte.tif
python3 -c "from osgeo import gdal; print('yes')"
Expand Down Expand Up @@ -44,6 +45,8 @@ find -L \
! -name ogr_gpsbabel.py `# new-delete-type-mismatch error in gpsbabel binary that we can't suppress` \
! -name "__init__.py" \
! -path 'ogr/data/*' \
! -name test_gdal_merge.py \
! -name test_gdal_retile.py \
-print \
-exec ./pytest_wrapper.sh {} \; \
| tee ./test-output.txt
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/cmake_builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,7 @@ jobs:
export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/install-gdal/lib
$GITHUB_WORKSPACE/install-gdal/bin/gdalinfo --version
PYTHONPATH=$GITHUB_WORKSPACE/install-gdal/lib/python3/dist-packages python3 -c "from osgeo import gdal;print(gdal.VersionInfo(None))"
PYTHONPATH=$GITHUB_WORKSPACE/install-gdal/lib/python3/dist-packages python3 $GITHUB_WORKSPACE/scripts/check_doc.py
- name: CMake with rpath
run: |
export PATH=$CMAKE_DIR:/usr/local/bin:/usr/bin:/bin # Avoid CMake config from brew etc.
Expand Down
16 changes: 13 additions & 3 deletions .github/workflows/linux_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,19 +63,22 @@ jobs:
id: alpine
container: alpine
build_script: build.sh
os: ubuntu-22.04

- name: Alpine, gcc 32-bit
id: alpine_32bit
container: alpine_32bit
build_script: build.sh
test_script: test.sh
travis_branch: alpine_32bit
os: ubuntu-22.04

- name: Fedora Rawhide, clang++
id: fedora_rawhide
travis_branch: sanitize
container: fedora_rawhide
build_script: build.sh
os: ubuntu-22.04

- name: Ubuntu 22.04, gcc
id: ubuntu_22.04
Expand All @@ -84,13 +87,16 @@ jobs:
before_test_script: services.sh
build_script: build.sh
test_script: test.sh
os: ubuntu-22.04

- name: Ubuntu 20.04, clang ASAN
- name: Ubuntu 22.04, clang ASAN
id: asan
travis_branch: sanitize
container: ubuntu_20.04
container: ubuntu_22.04
build_script: build.sh
test_script: test.sh
# We force the host OS to be 20.04 to avoid "AddressSanitizer:DEADLYSIGNAL"
os: ubuntu-20.04

- name: Ubuntu 20.04, gcc
id: ubuntu_20.04
Expand All @@ -99,6 +105,7 @@ jobs:
use_avx2: true
build_script: build.sh
test_script: test.sh
os: ubuntu-22.04

- name: Ubuntu 20.04, coverage
id: coverage
Expand All @@ -107,22 +114,25 @@ jobs:
before_test_script: services.sh
build_script: build.sh
test_script: test.sh
os: ubuntu-22.04

- name: Ubuntu 20.04, benchmarks
id: benchmarks
travis_branch: ubuntu_2004
container: ubuntu_20.04
build_script: build.sh
test_script: test.sh
os: ubuntu-22.04

- name: Ubuntu 20.04, Intel compiler
id: icc
container: icc
build_script: build.sh
os: ubuntu-22.04

name: ${{ matrix.name }}

runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}

defaults:
run:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/ubuntu_22.04/Dockerfile.ci
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ RUN apt-get update && \
bash \
ccache \
cmake \
clang \
curl \
doxygen \
fossil \
Expand Down
25 changes: 25 additions & 0 deletions MIGRATION_GUIDE.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,31 @@ MIGRATION GUIDE FROM GDAL 3.8 to GDAL 3.9
OGRFieldDefn*.
* OGRLayer::CreateGeomField() now takes a const OGRGeomFieldDefn* instead of
a OGRGeomFieldDefn*.
* OGRLayer::ICreateLayer() has a new prototype, due to RFC 99 "Geometry
coordinate precision" changes.

The fastest migration path is from:

OGRLayer *
MyDataset::ICreateLayer(const char* pszLayerName,
const OGRSpatialReference *poSpatialRef,
OGRwkbGeometryType eGType, char **papszOptions)
{
...
}

to

OGRLayer *
MyDataset::ICreateLayer(const char *pszLayerName,
const OGRGeomFieldDefn *poGeomFieldDefn,
CSLConstList papszOptions)
{
const auto eGType = poGeomFieldDefn ? poGeomFieldDefn->GetType() : wkbNone;
const auto poSpatialRef =
poGeomFieldDefn ? poGeomFieldDefn->GetSpatialRef() : nullptr;
...
}

- Sealed feature and field definition (RFC 97). A number of drivers now "seal"
their layer definition, which might cause issue to user code currently
Expand Down
Loading
Loading