summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2022-03-16 09:07:01 +0100
committerGitHub <noreply@github.com>2022-03-16 09:07:01 +0100
commit970f5bf5035d8c99b0ff883f984b60cf531dddbe (patch)
tree9778d5a2b474c02d24c4ae7af5e9494e5b7b6b6e
parent3b3f38b3b09b0f2373e51406ecb8c9c45d36aebc (diff)
Fixed #33577 -- Confirmed support for GDAL 3.4.
-rw-r--r--django/contrib/gis/gdal/libgdal.py2
-rw-r--r--docs/ref/contrib/gis/install/geolibs.txt9
-rw-r--r--tests/gis_tests/gdal_tests/test_raster.py9
-rw-r--r--tests/gis_tests/inspectapp/tests.py6
4 files changed, 17 insertions, 9 deletions
diff --git a/django/contrib/gis/gdal/libgdal.py b/django/contrib/gis/gdal/libgdal.py
index 2cb8329451..96af333c3f 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 = [
+ "gdal304",
"gdal303",
"gdal302",
"gdal301",
@@ -35,6 +36,7 @@ elif os.name == "posix":
lib_names = [
"gdal",
"GDAL",
+ "gdal3.4.0",
"gdal3.3.0",
"gdal3.2.0",
"gdal3.1.0",
diff --git a/docs/ref/contrib/gis/install/geolibs.txt b/docs/ref/contrib/gis/install/geolibs.txt
index c7436d2dfc..0f70510bb2 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.10, 3.9, 3.8, 3.7, 3.6
`PROJ`_ Cartographic Projections library Yes (PostgreSQL and SQLite only) 8.x, 7.x, 6.x, 5.x, 4.x
-:doc:`GDAL <../gdal>` Geospatial Data Abstraction Library Yes 3.3, 3.2, 3.1, 3.0, 2.4, 2.3, 2.2
+:doc:`GDAL <../gdal>` Geospatial Data Abstraction Library Yes 3.4, 3.3, 3.2, 3.1, 3.0, 2.4, 2.3, 2.2
:doc:`GeoIP <../geoip2>` IP-based geolocation library No 2
`PostGIS`__ Spatial extensions for PostgreSQL Yes (PostgreSQL only) 3.2, 3.1, 3.0, 2.5, 2.4
`SpatiaLite`__ Spatial extensions for SQLite Yes (SQLite only) 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.
@@ -33,6 +33,7 @@ totally fine with GeoDjango. Your mileage may vary.
GDAL 3.1.0 2020-05-07
GDAL 3.2.0 2020-11-02
GDAL 3.3.0 2021-05-03
+ GDAL 3.4.0 2021-11-04
PostGIS 2.4.0 2017-09-30
PostGIS 2.5.0 2018-09-23
PostGIS 3.0.0 2019-10-20
diff --git a/tests/gis_tests/gdal_tests/test_raster.py b/tests/gis_tests/gdal_tests/test_raster.py
index fd59b57313..5185df2667 100644
--- a/tests/gis_tests/gdal_tests/test_raster.py
+++ b/tests/gis_tests/gdal_tests/test_raster.py
@@ -807,8 +807,13 @@ class GDALBandTests(SimpleTestCase):
band = rs.bands[0]
# Setting attributes in write mode raises exception in the _flush method
- with self.assertRaises(GDALException):
- setattr(band, "nodata_value", 10)
+ try:
+ with self.assertRaises(GDALException):
+ setattr(band, "nodata_value", 10)
+ finally:
+ pam_file = self.rs_path + ".aux.xml"
+ if os.path.isfile(pam_file):
+ os.remove(pam_file)
def test_band_data_setters(self):
# Create in-memory raster and get band
diff --git a/tests/gis_tests/inspectapp/tests.py b/tests/gis_tests/inspectapp/tests.py
index d9b3cf985f..6ff3a33fc4 100644
--- a/tests/gis_tests/inspectapp/tests.py
+++ b/tests/gis_tests/inspectapp/tests.py
@@ -143,8 +143,8 @@ class OGRInspectTest(SimpleTestCase):
# The ordering of model fields might vary depending on several factors
# (version of GDAL, etc.).
- if connection.vendor == "sqlite":
- # SpatiaLite introspection is somewhat lacking (#29461).
+ if connection.vendor == "sqlite" and GDAL_VERSION < (3, 4):
+ # SpatiaLite introspection is somewhat lacking on GDAL < 3.4 (#29461).
self.assertIn(" f_decimal = models.CharField(max_length=0)", model_def)
else:
self.assertIn(
@@ -156,7 +156,7 @@ class OGRInspectTest(SimpleTestCase):
# Probably a bug between GDAL and MariaDB on time fields.
self.assertIn(" f_datetime = models.DateTimeField()", model_def)
self.assertIn(" f_time = models.TimeField()", model_def)
- if connection.vendor == "sqlite":
+ if connection.vendor == "sqlite" and GDAL_VERSION < (3, 4):
self.assertIn(" f_float = models.CharField(max_length=0)", model_def)
else:
self.assertIn(" f_float = models.FloatField()", model_def)