shapely 1.5.7__tar.gz → 1.5.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. {Shapely-1.5.7 → Shapely-1.5.9}/CHANGES.txt +12 -1
  2. {Shapely-1.5.7/Shapely.egg-info → Shapely-1.5.9}/PKG-INFO +13 -2
  3. {Shapely-1.5.7 → Shapely-1.5.9/Shapely.egg-info}/PKG-INFO +13 -2
  4. Shapely-1.5.9/VERSION.txt +1 -0
  5. {Shapely-1.5.7 → Shapely-1.5.9}/setup.py +1 -1
  6. Shapely-1.5.9/shapely/__init__.py +1 -0
  7. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/_geos.pxi +1 -1
  8. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/ctypes_declarations.py +24 -5
  9. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/geometry/base.py +4 -0
  10. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/geos.py +23 -3
  11. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/impl.py +6 -0
  12. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/prepared.py +32 -4
  13. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/speedups/_speedups.c +1080 -980
  14. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/speedups/_speedups.pyx +27 -25
  15. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_predicates.py +2 -0
  16. Shapely-1.5.9/tests/test_prepared.py +51 -0
  17. Shapely-1.5.7/VERSION.txt +0 -1
  18. Shapely-1.5.7/shapely/__init__.py +0 -1
  19. Shapely-1.5.7/tests/test_prepared.py +0 -31
  20. {Shapely-1.5.7 → Shapely-1.5.9}/CREDITS.txt +0 -0
  21. {Shapely-1.5.7 → Shapely-1.5.9}/LICENSE.txt +0 -0
  22. {Shapely-1.5.7 → Shapely-1.5.9}/README.rst +0 -0
  23. {Shapely-1.5.7 → Shapely-1.5.9}/Shapely.egg-info/SOURCES.txt +0 -0
  24. {Shapely-1.5.7 → Shapely-1.5.9}/Shapely.egg-info/dependency_links.txt +0 -0
  25. {Shapely-1.5.7 → Shapely-1.5.9}/Shapely.egg-info/top_level.txt +0 -0
  26. {Shapely-1.5.7 → Shapely-1.5.9}/docs/design.rst +0 -0
  27. {Shapely-1.5.7 → Shapely-1.5.9}/docs/index.rst +0 -0
  28. {Shapely-1.5.7 → Shapely-1.5.9}/docs/manual.rst +0 -0
  29. {Shapely-1.5.7 → Shapely-1.5.9}/docs/project.rst +0 -0
  30. {Shapely-1.5.7 → Shapely-1.5.9}/setup.cfg +1 -1
  31. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/affinity.py +0 -0
  32. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/algorithms/__init__.py +0 -0
  33. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/algorithms/cga.py +0 -0
  34. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/coords.py +0 -0
  35. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/examples/__init__.py +0 -0
  36. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/examples/dissolve.py +0 -0
  37. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/examples/geoms.py +0 -0
  38. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/examples/intersect.py +0 -0
  39. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/ftools.py +0 -0
  40. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/geometry/__init__.py +0 -0
  41. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/geometry/collection.py +0 -0
  42. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/geometry/geo.py +0 -0
  43. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/geometry/linestring.py +0 -0
  44. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/geometry/multilinestring.py +0 -0
  45. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/geometry/multipoint.py +0 -0
  46. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/geometry/multipolygon.py +0 -0
  47. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/geometry/point.py +0 -0
  48. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/geometry/polygon.py +0 -0
  49. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/geometry/proxy.py +0 -0
  50. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/iterops.py +0 -0
  51. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/linref.py +0 -0
  52. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/ops.py +0 -0
  53. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/predicates.py +0 -0
  54. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/speedups/__init__.py +0 -0
  55. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/strtree.py +0 -0
  56. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/topology.py +0 -0
  57. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/validation.py +0 -0
  58. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/vectorized/__init__.py +0 -0
  59. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/vectorized/_vectorized.pyx +0 -0
  60. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/wkb.py +0 -0
  61. {Shapely-1.5.7 → Shapely-1.5.9}/shapely/wkt.py +0 -0
  62. {Shapely-1.5.7 → Shapely-1.5.9}/tests/__init__.py +0 -0
  63. {Shapely-1.5.7 → Shapely-1.5.9}/tests/binascii_hex.txt +0 -0
  64. {Shapely-1.5.7 → Shapely-1.5.9}/tests/conftest.py +0 -0
  65. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_affinity.py +0 -0
  66. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_box.py +0 -0
  67. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_cga.py +0 -0
  68. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_collection.py +0 -0
  69. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_coords.py +0 -0
  70. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_delaunay.py +0 -0
  71. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_delegated.py +0 -0
  72. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_dlls.py +0 -0
  73. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_doctests.py +0 -0
  74. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_emptiness.py +0 -0
  75. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_equality.py +0 -0
  76. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_geointerface.py +0 -0
  77. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_geomseq.py +0 -0
  78. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_geos_err_handler.py +0 -0
  79. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_getitem.py +0 -0
  80. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_hash.py +0 -0
  81. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_invalid_geometries.py +0 -0
  82. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_iterops.py +0 -0
  83. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_linear_referencing.py +0 -0
  84. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_linemerge.py +0 -0
  85. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_linestring.py +0 -0
  86. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_locale.py +0 -0
  87. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_mapping.py +0 -0
  88. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_multilinestring.py +0 -0
  89. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_multipoint.py +0 -0
  90. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_multipolygon.py +0 -0
  91. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_ndarrays.py +0 -0
  92. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_nearest.py +0 -0
  93. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_operations.py +0 -0
  94. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_operators.py +0 -0
  95. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_persist.py +0 -0
  96. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_pickle.py +0 -0
  97. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_point.py +0 -0
  98. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_polygon.py +0 -0
  99. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_polygonize.py +0 -0
  100. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_products_z.py +0 -0
  101. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_singularity.py +0 -0
  102. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_snap.py +0 -0
  103. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_strtree.py +0 -0
  104. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_styles.py +0 -0
  105. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_svg.py +0 -0
  106. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_transform.py +0 -0
  107. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_union.py +0 -0
  108. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_validation.py +0 -0
  109. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_vectorized.py +0 -0
  110. {Shapely-1.5.7 → Shapely-1.5.9}/tests/test_xy.py +0 -0
  111. {Shapely-1.5.7 → Shapely-1.5.9}/tests/threading_test.py +0 -0
@@ -1,7 +1,18 @@
1
1
  Changes
2
2
  =======
3
3
 
4
- 1.5.6 (2015-03-16)
4
+ 1.5.9 (2015-05-27)
5
+ ------------------
6
+ - Fix for 64 bit speedups compatibility (#274).
7
+
8
+ 1.5.8 (2015-04-29)
9
+ ------------------
10
+ - Setup file encoding bug fix (#254).
11
+ - Support for pyinstaller (#261).
12
+ - Major prepared geometry operation fix for Windows (#268, #269).
13
+ - Major fix for OS X binary wheel (#262).
14
+
15
+ 1.5.7 (2015-03-16)
5
16
  ------------------
6
17
  - Test and fix buggy error and notice handlers (#249).
7
18
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: Shapely
3
- Version: 1.5.7
3
+ Version: 1.5.9
4
4
  Summary: Geometric objects, predicates, and operations
5
5
  Home-page: https://github.com/Toblerity/Shapely
6
6
  Author: Sean Gillies
@@ -215,7 +215,18 @@ Description: =======
215
215
  Changes
216
216
  =======
217
217
 
218
- 1.5.6 (2015-03-16)
218
+ 1.5.9 (2015-05-27)
219
+ ------------------
220
+ - Fix for 64 bit speedups compatibility (#274).
221
+
222
+ 1.5.8 (2015-04-29)
223
+ ------------------
224
+ - Setup file encoding bug fix (#254).
225
+ - Support for pyinstaller (#261).
226
+ - Major prepared geometry operation fix for Windows (#268, #269).
227
+ - Major fix for OS X binary wheel (#262).
228
+
229
+ 1.5.7 (2015-03-16)
219
230
  ------------------
220
231
  - Test and fix buggy error and notice handlers (#249).
221
232
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: Shapely
3
- Version: 1.5.7
3
+ Version: 1.5.9
4
4
  Summary: Geometric objects, predicates, and operations
5
5
  Home-page: https://github.com/Toblerity/Shapely
6
6
  Author: Sean Gillies
@@ -215,7 +215,18 @@ Description: =======
215
215
  Changes
216
216
  =======
217
217
 
218
- 1.5.6 (2015-03-16)
218
+ 1.5.9 (2015-05-27)
219
+ ------------------
220
+ - Fix for 64 bit speedups compatibility (#274).
221
+
222
+ 1.5.8 (2015-04-29)
223
+ ------------------
224
+ - Setup file encoding bug fix (#254).
225
+ - Support for pyinstaller (#261).
226
+ - Major prepared geometry operation fix for Windows (#268, #269).
227
+ - Major fix for OS X binary wheel (#262).
228
+
229
+ 1.5.7 (2015-03-16)
219
230
  ------------------
220
231
  - Test and fix buggy error and notice handlers (#249).
221
232
 
@@ -0,0 +1 @@
1
+ 1.5.9
@@ -36,7 +36,7 @@ if version is None:
36
36
 
37
37
  # Handle UTF-8 encoding of certain text files.
38
38
  open_kwds = {}
39
- if sys.version_info > (3,):
39
+ if sys.version_info >= (3,):
40
40
  open_kwds['encoding'] = 'utf-8'
41
41
 
42
42
  with open('VERSION.txt', 'w', **open_kwds) as fp:
@@ -0,0 +1 @@
1
+ __version__ = "1.5.9"
@@ -13,7 +13,7 @@ cdef extern from "geos_c.h":
13
13
  GEOSCoordSequence *GEOSCoordSeq_create_r(GEOSContextHandle_t, unsigned int, unsigned int) nogil
14
14
  GEOSCoordSequence *GEOSGeom_getCoordSeq_r(GEOSContextHandle_t, GEOSGeometry *) nogil
15
15
 
16
- int GEOSCoordSeq_getSize_r(GEOSContextHandle_t, GEOSCoordSequence *, int *) nogil
16
+ int GEOSCoordSeq_getSize_r(GEOSContextHandle_t, GEOSCoordSequence *, unsigned int *) nogil
17
17
  int GEOSCoordSeq_setX_r(GEOSContextHandle_t, GEOSCoordSequence *, int, double) nogil
18
18
  int GEOSCoordSeq_setY_r(GEOSContextHandle_t, GEOSCoordSequence *, int, double) nogil
19
19
  int GEOSCoordSeq_setZ_r(GEOSContextHandle_t, GEOSCoordSequence *, int, double) nogil
@@ -249,6 +249,9 @@ def prototype(lgeos, geos_version):
249
249
  lgeos.GEOSOverlaps.restype = c_byte
250
250
  lgeos.GEOSOverlaps.argtypes = [c_void_p, c_void_p]
251
251
 
252
+ lgeos.GEOSCovers.restype = c_byte
253
+ lgeos.GEOSCovers.argtypes = [c_void_p, c_void_p]
254
+
252
255
  lgeos.GEOSEquals.restype = c_byte
253
256
  lgeos.GEOSEquals.argtypes = [c_void_p, c_void_p]
254
257
 
@@ -306,17 +309,33 @@ def prototype(lgeos, geos_version):
306
309
  lgeos.GEOSPreparedGeom_destroy.restype = None
307
310
  lgeos.GEOSPreparedGeom_destroy.argtypes = [c_void_p]
308
311
 
309
- lgeos.GEOSPreparedContains.restype = c_int
312
+ lgeos.GEOSPreparedDisjoint.restype = c_byte
313
+ lgeos.GEOSPreparedDisjoint.argtypes = [c_void_p, c_void_p]
314
+
315
+ lgeos.GEOSPreparedTouches.restype = c_byte
316
+ lgeos.GEOSPreparedTouches.argtypes = [c_void_p, c_void_p]
317
+
318
+ lgeos.GEOSPreparedIntersects.restype = c_byte
319
+ lgeos.GEOSPreparedIntersects.argtypes = [c_void_p, c_void_p]
320
+
321
+ lgeos.GEOSPreparedCrosses.restype = c_byte
322
+ lgeos.GEOSPreparedCrosses.argtypes = [c_void_p, c_void_p]
323
+
324
+ lgeos.GEOSPreparedWithin.restype = c_byte
325
+ lgeos.GEOSPreparedWithin.argtypes = [c_void_p, c_void_p]
326
+
327
+ lgeos.GEOSPreparedContains.restype = c_byte
310
328
  lgeos.GEOSPreparedContains.argtypes = [c_void_p, c_void_p]
311
329
 
312
- lgeos.GEOSPreparedContainsProperly.restype = c_int
330
+ lgeos.GEOSPreparedContainsProperly.restype = c_byte
313
331
  lgeos.GEOSPreparedContainsProperly.argtypes = [c_void_p, c_void_p]
314
332
 
315
- lgeos.GEOSPreparedCovers.restype = c_int
333
+ lgeos.GEOSPreparedOverlaps.restype = c_byte
334
+ lgeos.GEOSPreparedOverlaps.argtypes = [c_void_p, c_void_p]
335
+
336
+ lgeos.GEOSPreparedCovers.restype = c_byte
316
337
  lgeos.GEOSPreparedCovers.argtypes = [c_void_p, c_void_p]
317
338
 
318
- lgeos.GEOSPreparedIntersects.restype = c_int
319
- lgeos.GEOSPreparedIntersects.argtypes = [c_void_p, c_void_p]
320
339
 
321
340
  '''
322
341
  Geometry info
@@ -616,6 +616,10 @@ class BaseGeometry(object):
616
616
  (string)"""
617
617
  return self.impl['relate'](self, other)
618
618
 
619
+ def covers(self, other):
620
+ """Returns True if the geometry covers the other, else False"""
621
+ return bool(self.impl['covers'](self, other))
622
+
619
623
  def contains(self, other):
620
624
  """Returns True if the geometry contains the other, else False"""
621
625
  return bool(self.impl['contains'](self, other))
@@ -68,9 +68,13 @@ elif sys.platform == 'darwin':
68
68
  _lgeos = CDLL(geos_whl_dylib)
69
69
  else:
70
70
  if hasattr(sys, 'frozen'):
71
- # .app file from py2app
72
- alt_paths = [os.path.join(os.environ['RESOURCEPATH'],
73
- '..', 'Frameworks', 'libgeos_c.dylib')]
71
+ try:
72
+ # .app file from py2app
73
+ alt_paths = [os.path.join(os.environ['RESOURCEPATH'],
74
+ '..', 'Frameworks', 'libgeos_c.dylib')]
75
+ except KeyError:
76
+ # binary from pyinstaller
77
+ alt_paths = [os.path.join(sys.executable, 'libgeos_c.dylib')]
74
78
  else:
75
79
  alt_paths = [
76
80
  # The Framework build from Kyng Chaos
@@ -642,8 +646,18 @@ class LGEOS310(LGEOSBase):
642
646
  self.GEOSWithin,
643
647
  self.GEOSContains,
644
648
  self.GEOSOverlaps,
649
+ self.GEOSCovers,
645
650
  self.GEOSEquals,
646
651
  self.GEOSEqualsExact,
652
+ self.GEOSPreparedDisjoint,
653
+ self.GEOSPreparedTouches,
654
+ self.GEOSPreparedCrosses,
655
+ self.GEOSPreparedWithin,
656
+ self.GEOSPreparedOverlaps,
657
+ self.GEOSPreparedContains,
658
+ self.GEOSPreparedContainsProperly,
659
+ self.GEOSPreparedCovers,
660
+ self.GEOSPreparedIntersects,
647
661
  self.GEOSisEmpty,
648
662
  self.GEOSisValid,
649
663
  self.GEOSisSimple,
@@ -674,6 +688,7 @@ class LGEOS310(LGEOSBase):
674
688
  self.methods['within'] = self.GEOSWithin
675
689
  self.methods['contains'] = self.GEOSContains
676
690
  self.methods['overlaps'] = self.GEOSOverlaps
691
+ self.methods['covers'] = self.GEOSCovers
677
692
  self.methods['equals'] = self.GEOSEquals
678
693
  self.methods['equals_exact'] = self.GEOSEqualsExact
679
694
  self.methods['relate'] = self.GEOSRelate
@@ -681,10 +696,15 @@ class LGEOS310(LGEOSBase):
681
696
  self.methods['symmetric_difference'] = self.GEOSSymDifference
682
697
  self.methods['union'] = self.GEOSUnion
683
698
  self.methods['intersection'] = self.GEOSIntersection
699
+ self.methods['prepared_disjoint'] = self.GEOSPreparedDisjoint
700
+ self.methods['prepared_touches'] = self.GEOSPreparedTouches
684
701
  self.methods['prepared_intersects'] = self.GEOSPreparedIntersects
702
+ self.methods['prepared_crosses'] = self.GEOSPreparedCrosses
703
+ self.methods['prepared_within'] = self.GEOSPreparedWithin
685
704
  self.methods['prepared_contains'] = self.GEOSPreparedContains
686
705
  self.methods['prepared_contains_properly'] = \
687
706
  self.GEOSPreparedContainsProperly
707
+ self.methods['prepared_overlaps'] = self.GEOSPreparedOverlaps
688
708
  self.methods['prepared_covers'] = self.GEOSPreparedCovers
689
709
  self.methods['simplify'] = self.GEOSSimplify
690
710
  self.methods['topology_preserve_simplify'] = \
@@ -83,6 +83,7 @@ IMPL300 = {
83
83
  'overlaps': (BinaryPredicate, 'overlaps'),
84
84
  'touches': (BinaryPredicate, 'touches'),
85
85
  'within': (BinaryPredicate, 'within'),
86
+ 'covers': (BinaryPredicate, 'covers'),
86
87
  'equals_exact': (BinaryPredicate, 'equals_exact'),
87
88
 
88
89
  # First pure Python implementation
@@ -93,6 +94,11 @@ IMPL310 = {
93
94
  'simplify': (UnaryTopologicalOp, 'simplify'),
94
95
  'topology_preserve_simplify':
95
96
  (UnaryTopologicalOp, 'topology_preserve_simplify'),
97
+ 'prepared_disjoint': (BinaryPredicate, 'prepared_disjoint'),
98
+ 'prepared_touches': (BinaryPredicate, 'prepared_touches'),
99
+ 'prepared_crosses': (BinaryPredicate, 'prepared_crosses'),
100
+ 'prepared_within': (BinaryPredicate, 'prepared_within'),
101
+ 'prepared_overlaps': (BinaryPredicate, 'prepared_overlaps'),
96
102
  'prepared_intersects': (BinaryPredicate, 'prepared_intersects'),
97
103
  'prepared_contains': (BinaryPredicate, 'prepared_contains'),
98
104
  'prepared_contains_properly':
@@ -37,23 +37,51 @@ class PreparedGeometry(object):
37
37
  @property
38
38
  def _geom(self):
39
39
  return self.__geom__
40
-
41
- @delegated
42
- def intersects(self, other):
43
- return bool(self.impl['prepared_intersects'](self, other))
44
40
 
45
41
  @delegated
46
42
  def contains(self, other):
43
+ """Returns True if the geometry contains the other, else False"""
47
44
  return bool(self.impl['prepared_contains'](self, other))
48
45
 
49
46
  @delegated
50
47
  def contains_properly(self, other):
48
+ """Returns True if the geometry properly contains the other, else False"""
51
49
  return bool(self.impl['prepared_contains_properly'](self, other))
52
50
 
53
51
  @delegated
54
52
  def covers(self, other):
53
+ """Returns True if the geometry covers the other, else False"""
55
54
  return bool(self.impl['prepared_covers'](self, other))
56
55
 
56
+ @delegated
57
+ def crosses(self, other):
58
+ """Returns True if the geometries cross, else False"""
59
+ return bool(self.impl['prepared_crosses'](self, other))
60
+
61
+ @delegated
62
+ def disjoint(self, other):
63
+ """Returns True if geometries are disjoint, else False"""
64
+ return bool(self.impl['prepared_disjoint'](self, other))
65
+
66
+ @delegated
67
+ def intersects(self, other):
68
+ """Returns True if geometries intersect, else False"""
69
+ return bool(self.impl['prepared_intersects'](self, other))
70
+
71
+ @delegated
72
+ def overlaps(self, other):
73
+ """Returns True if geometries overlap, else False"""
74
+ return bool(self.impl['prepared_overlaps'](self, other))
75
+
76
+ @delegated
77
+ def touches(self, other):
78
+ """Returns True if geometries touch, else False"""
79
+ return bool(self.impl['prepared_touches'](self, other))
80
+
81
+ @delegated
82
+ def within(self, other):
83
+ """Returns True if geometry is within the other, else False"""
84
+ return bool(self.impl['prepared_within'](self, other))
57
85
 
58
86
  def prep(ob):
59
87
  """Creates and returns a prepared geometric object."""