Fixed #35774 -- Dropped support for GEOS 3.8.

GEOS 3.8 (released Oct-2019) will be more than 5 years old when
Django 6.1 is released (Aug-2026).
This commit is contained in:
David Smith
2024-09-19 17:15:22 +01:00
committed by Mariusz Felisiak
parent e303889799
commit 789b075447
4 changed files with 7 additions and 8 deletions

View File

@@ -712,7 +712,7 @@ Other Properties & Methods
the input vertices. If the geometry is already valid, it is returned
untouched. This is similar to the
:class:`~django.contrib.gis.db.models.functions.MakeValid` database
function. Requires GEOS 3.8.
function.
.. method:: GEOSGeometry.normalize(clone=False)

View File

@@ -13,7 +13,7 @@ geospatial libraries:
============================== ==================================== ================================ =======================================================
Program Description Required Supported Versions
============================== ==================================== ================================ =======================================================
:ref:`GEOS <geos-overview>` Geometry Engine Open Source Yes 3.14, 3.13, 3.12, 3.11, 3.10, 3.9, 3.8
:ref:`GEOS <geos-overview>` Geometry Engine Open Source Yes 3.14, 3.13, 3.12, 3.11, 3.10, 3.9
`PROJ`_ Cartographic Projections library Yes (PostgreSQL and SQLite only) 9.x, 8.x, 7.x, 6.x
:ref:`GDAL <gdal-overview>` Geospatial Data Abstraction Library Yes 3.11, 3.10, 3.9, 3.8, 3.7, 3.6, 3.5, 3.4, 3.3, 3.2, 3.1
:ref:`GeoIP <geoip2-overview>` IP-based geolocation library No 2
@@ -26,7 +26,6 @@ totally fine with GeoDjango. Your mileage may vary.
..
Libs release dates:
GEOS 3.8.0 2019-10-10
GEOS 3.9.0 2020-12-14
GEOS 3.10.0 2021-10-20
GEOS 3.11.0 2022-07-01

View File

@@ -338,6 +338,8 @@ backends.
* Support for PostGIS 3.1 is removed.
* Support for GEOS 3.8 is removed.
:mod:`django.contrib.postgres`
------------------------------

View File

@@ -1295,11 +1295,9 @@ class GEOSTest(SimpleTestCase, TestDataMixin):
# Testing __getitem__ (doesn't work on Point or Polygon)
if isinstance(g, Point):
# IndexError is not raised in GEOS 3.8.0.
if geos_version_tuple() != (3, 8, 0):
msg = "Invalid GEOS Geometry index:"
with self.assertRaisesMessage(IndexError, msg):
g.x
msg = "Invalid GEOS Geometry index:"
with self.assertRaisesMessage(IndexError, msg):
g.x
elif isinstance(g, Polygon):
lr = g.shell
self.assertEqual("LINEARRING EMPTY", lr.wkt)