From cd4497254e8b52e7d28dda764b6a2567253059f4 Mon Sep 17 00:00:00 2001 From: David Smith Date: Sat, 2 Nov 2024 15:47:07 +0000 Subject: [PATCH] Fixed #35883 -- Confirmed support for GDAL 3.9. Updated test for change to exportToXML() which now errors out on unsupported projection methods. See https://github.com/OSGeo/gdal/issues/9223. Co-authored-by: Mariusz Felisiak --- django/contrib/gis/gdal/libgdal.py | 2 ++ docs/ref/contrib/gis/install/geolibs.txt | 9 +++++---- tests/gis_tests/gdal_tests/test_srs.py | 4 +++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/django/contrib/gis/gdal/libgdal.py b/django/contrib/gis/gdal/libgdal.py index 9f88bbedc8..c9757a546f 100644 --- a/django/contrib/gis/gdal/libgdal.py +++ b/django/contrib/gis/gdal/libgdal.py @@ -22,6 +22,7 @@ if lib_path: elif os.name == "nt": # Windows NT shared libraries lib_names = [ + "gdal309", "gdal308", "gdal307", "gdal306", @@ -36,6 +37,7 @@ elif os.name == "posix": lib_names = [ "gdal", "GDAL", + "gdal3.9.0", "gdal3.8.0", "gdal3.7.0", "gdal3.6.0", diff --git a/docs/ref/contrib/gis/install/geolibs.txt b/docs/ref/contrib/gis/install/geolibs.txt index d988cd33f6..d9bd1dddea 100644 --- a/docs/ref/contrib/gis/install/geolibs.txt +++ b/docs/ref/contrib/gis/install/geolibs.txt @@ -5,16 +5,16 @@ Installing Geospatial libraries GeoDjango uses and/or provides interfaces for the following open source geospatial libraries: -======================== ==================================== ================================ ====================================== +======================== ==================================== ================================ =========================================== Program Description Required Supported Versions -======================== ==================================== ================================ ====================================== +======================== ==================================== ================================ =========================================== :doc:`GEOS <../geos>` Geometry Engine Open Source Yes 3.12, 3.11, 3.10, 3.9, 3.8 `PROJ`_ Cartographic Projections library Yes (PostgreSQL and SQLite only) 9.x, 8.x, 7.x, 6.x -:doc:`GDAL <../gdal>` Geospatial Data Abstraction Library Yes 3.8, 3.7, 3.6, 3.5, 3.4, 3.3, 3.2, 3.1 +:doc:`GDAL <../gdal>` Geospatial Data Abstraction Library Yes 3.9, 3.8, 3.7, 3.6, 3.5, 3.4, 3.3, 3.2, 3.1 :doc:`GeoIP <../geoip2>` IP-based geolocation library No 2 `PostGIS`__ Spatial extensions for PostgreSQL Yes (PostgreSQL only) 3.4, 3.3, 3.2, 3.1 `SpatiaLite`__ Spatial extensions for SQLite Yes (SQLite only) 5.1, 5.0, 4.3 -======================== ==================================== ================================ ====================================== +======================== ==================================== ================================ =========================================== Note that older or more recent versions of these libraries *may* also work totally fine with GeoDjango. Your mileage may vary. @@ -34,6 +34,7 @@ totally fine with GeoDjango. Your mileage may vary. GDAL 3.6.0 2022-11-03 GDAL 3.7.0 2023-05-10 GDAL 3.8.0 2023-11-13 + GDAL 3.9.0 2024-05-10 PostGIS 3.1.0 2020-12-18 PostGIS 3.2.0 2021-12-18 PostGIS 3.3.0 2022-08-27 diff --git a/tests/gis_tests/gdal_tests/test_srs.py b/tests/gis_tests/gdal_tests/test_srs.py index 5d82a8175a..62ebc63889 100644 --- a/tests/gis_tests/gdal_tests/test_srs.py +++ b/tests/gis_tests/gdal_tests/test_srs.py @@ -1,4 +1,5 @@ from django.contrib.gis.gdal import ( + GDAL_VERSION, AxisOrder, CoordTransform, GDALException, @@ -353,7 +354,8 @@ class SpatialRefTest(SimpleTestCase): self.assertEqual(srs.name, "DHDN / Soldner 39 Langschoß") self.assertEqual(srs.wkt, wkt) self.assertIn("Langschoß", srs.pretty_wkt) - self.assertIn("Langschoß", srs.xml) + if GDAL_VERSION < (3, 9): + self.assertIn("Langschoß", srs.xml) def test_axis_order(self): wgs84_trad = SpatialReference(4326, axis_order=AxisOrder.TRADITIONAL)