1
0
mirror of https://github.com/django/django.git synced 2025-10-26 15:16:09 +00:00

Fixed #25722 -- Added the GEOSGeometry.covers() method.

This commit is contained in:
Sergey Fedoseev
2015-11-20 15:11:25 +05:00
committed by Tim Graham
parent 73a6ab6382
commit ccc8f67b77
6 changed files with 45 additions and 6 deletions

View File

@@ -294,6 +294,14 @@ class GEOSGeometry(GEOSBase, ListMixin):
"Returns true if other.within(this) returns true."
return capi.geos_contains(self.ptr, other.ptr)
def covers(self, other):
"""
Return True if the DE-9IM Intersection Matrix for the two geometries is
T*****FF*, *T****FF*, ***T**FF*, or ****T*FF*. If either geometry is
empty, return False.
"""
return capi.geos_covers(self.ptr, other.ptr)
def crosses(self, other):
"""
Returns true if the DE-9IM intersection matrix for the two Geometries

View File

@@ -17,8 +17,9 @@ from django.contrib.gis.geos.prototypes.geom import ( # NOQA
)
from django.contrib.gis.geos.prototypes.misc import * # NOQA
from django.contrib.gis.geos.prototypes.predicates import ( # NOQA
geos_contains, geos_crosses, geos_disjoint, geos_equals, geos_equalsexact,
geos_hasz, geos_intersects, geos_isempty, geos_isring, geos_issimple,
geos_isvalid, geos_overlaps, geos_relatepattern, geos_touches, geos_within,
geos_contains, geos_covers, geos_crosses, geos_disjoint, geos_equals,
geos_equalsexact, geos_hasz, geos_intersects, geos_isempty, geos_isring,
geos_issimple, geos_isvalid, geos_overlaps, geos_relatepattern,
geos_touches, geos_within,
)
from django.contrib.gis.geos.prototypes.topology import * # NOQA

View File

@@ -30,6 +30,7 @@ geos_isvalid = UnaryPredicate('GEOSisValid')
# ## Binary Predicates ##
geos_contains = BinaryPredicate('GEOSContains')
geos_covers = BinaryPredicate('GEOSCovers')
geos_crosses = BinaryPredicate('GEOSCrosses')
geos_disjoint = BinaryPredicate('GEOSDisjoint')
geos_equals = BinaryPredicate('GEOSEquals')