shapely 1.4.1__tar.gz → 1.4.2__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.
- {Shapely-1.4.1 → Shapely-1.4.2}/CHANGES.txt +4 -0
- {Shapely-1.4.1/Shapely.egg-info → Shapely-1.4.2}/PKG-INFO +5 -1
- {Shapely-1.4.1 → Shapely-1.4.2/Shapely.egg-info}/PKG-INFO +5 -1
- {Shapely-1.4.1 → Shapely-1.4.2}/Shapely.egg-info/SOURCES.txt +1 -0
- Shapely-1.4.2/VERSION.txt +1 -0
- Shapely-1.4.2/shapely/__init__.py +1 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/ctypes_declarations.py +3 -2
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/geometry/base.py +12 -2
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/geos.py +4 -4
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/impl.py +5 -1
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/speedups/_speedups.c +1412 -1297
- Shapely-1.4.2/shapely/vectorized/_vectorized.c +20100 -0
- Shapely-1.4.1/VERSION.txt +0 -1
- Shapely-1.4.1/shapely/__init__.py +0 -1
- {Shapely-1.4.1 → Shapely-1.4.2}/CREDITS.txt +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/LICENSE.txt +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/README.rst +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/Shapely.egg-info/dependency_links.txt +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/Shapely.egg-info/top_level.txt +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/docs/design.rst +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/docs/index.rst +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/docs/manual.rst +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/docs/project.rst +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/setup.cfg +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/setup.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/_geos.pxi +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/affinity.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/algorithms/__init__.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/algorithms/cga.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/coords.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/examples/__init__.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/examples/dissolve.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/examples/geoms.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/examples/intersect.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/ftools.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/geometry/__init__.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/geometry/collection.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/geometry/geo.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/geometry/linestring.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/geometry/multilinestring.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/geometry/multipoint.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/geometry/multipolygon.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/geometry/point.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/geometry/polygon.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/geometry/proxy.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/iterops.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/linref.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/ops.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/predicates.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/prepared.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/speedups/__init__.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/strtree.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/topology.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/validation.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/vectorized/__init__.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/vectorized/_vectorized.pyx +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/wkb.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/shapely/wkt.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/__init__.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/binascii_hex.txt +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/conftest.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_affinity.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_box.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_cga.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_collection.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_delaunay.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_delegated.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_dlls.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_doctests.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_emptiness.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_equality.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_geointerface.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_geomseq.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_getitem.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_invalid_geometries.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_iterops.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_linear_referencing.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_linemerge.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_linestring.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_locale.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_mapping.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_multilinestring.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_multipoint.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_multipolygon.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_ndarrays.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_nearest.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_operations.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_operators.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_persist.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_pickle.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_point.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_polygon.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_polygonize.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_predicates.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_prepared.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_products_z.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_singularity.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_strtree.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_styles.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_transform.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_union.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_validation.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_vectorized.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/test_xy.py +0 -0
- {Shapely-1.4.1 → Shapely-1.4.2}/tests/threading_test.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.2
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -248,6 +248,10 @@ Description: =======
|
|
|
248
248
|
Changes
|
|
249
249
|
=======
|
|
250
250
|
|
|
251
|
+
1.4.2 (2014-09-29)
|
|
252
|
+
------------------
|
|
253
|
+
- Fix bungled 1.4.1 release (#176).
|
|
254
|
+
|
|
251
255
|
1.4.1 (2014-09-23)
|
|
252
256
|
------------------
|
|
253
257
|
- Return of support for GEOS 3.2 (#176, #178).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.2
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -248,6 +248,10 @@ Description: =======
|
|
|
248
248
|
Changes
|
|
249
249
|
=======
|
|
250
250
|
|
|
251
|
+
1.4.2 (2014-09-29)
|
|
252
|
+
------------------
|
|
253
|
+
- Fix bungled 1.4.1 release (#176).
|
|
254
|
+
|
|
251
255
|
1.4.1 (2014-09-23)
|
|
252
256
|
------------------
|
|
253
257
|
- Return of support for GEOS 3.2 (#176, #178).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.4.2
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.4.2"
|
|
@@ -276,8 +276,9 @@ def prototype(lgeos, geos_version):
|
|
|
276
276
|
lgeos.GEOSisRing.restype = c_byte
|
|
277
277
|
lgeos.GEOSisRing.argtypes = [c_void_p]
|
|
278
278
|
|
|
279
|
-
|
|
280
|
-
|
|
279
|
+
if geos_version >= (3, 3, 0):
|
|
280
|
+
lgeos.GEOSisClosed.restype = c_byte
|
|
281
|
+
lgeos.GEOSisClosed.argtypes = [c_void_p]
|
|
281
282
|
|
|
282
283
|
lgeos.GEOSHasZ.restype = c_byte
|
|
283
284
|
lgeos.GEOSHasZ.argtypes = [c_void_p]
|
|
@@ -560,8 +560,18 @@ class BaseGeometry(object):
|
|
|
560
560
|
|
|
561
561
|
@property
|
|
562
562
|
def is_closed(self):
|
|
563
|
-
"""True if the geometry is closed, else False
|
|
564
|
-
|
|
563
|
+
"""True if the geometry is closed, else False
|
|
564
|
+
|
|
565
|
+
Applicable only to 1-D geometries."""
|
|
566
|
+
if self.geom_type == 'LinearRing':
|
|
567
|
+
return True
|
|
568
|
+
elif self.geom_type == 'LineString':
|
|
569
|
+
if 'is_closed' in self.impl:
|
|
570
|
+
return bool(self.impl['is_closed'](self))
|
|
571
|
+
else:
|
|
572
|
+
return self.coords[0] == self.coords[-1]
|
|
573
|
+
else:
|
|
574
|
+
return False
|
|
565
575
|
|
|
566
576
|
@property
|
|
567
577
|
def is_simple(self):
|
|
@@ -545,7 +545,6 @@ class LGEOS300(LGEOSBase):
|
|
|
545
545
|
self.GEOSisValid,
|
|
546
546
|
self.GEOSisSimple,
|
|
547
547
|
self.GEOSisRing,
|
|
548
|
-
self.GEOSisClosed,
|
|
549
548
|
self.GEOSHasZ):
|
|
550
549
|
pred.errcheck = errcheck_predicate
|
|
551
550
|
|
|
@@ -561,7 +560,6 @@ class LGEOS300(LGEOSBase):
|
|
|
561
560
|
self.methods['has_z'] = self.GEOSHasZ
|
|
562
561
|
self.methods['is_empty'] = self.GEOSisEmpty
|
|
563
562
|
self.methods['is_ring'] = self.GEOSisRing
|
|
564
|
-
self.methods['is_closed'] = self.GEOSisClosed
|
|
565
563
|
self.methods['is_simple'] = self.GEOSisSimple
|
|
566
564
|
self.methods['is_valid'] = self.GEOSisValid
|
|
567
565
|
self.methods['disjoint'] = self.GEOSDisjoint
|
|
@@ -622,7 +620,6 @@ class LGEOS310(LGEOSBase):
|
|
|
622
620
|
self.GEOSisValid,
|
|
623
621
|
self.GEOSisSimple,
|
|
624
622
|
self.GEOSisRing,
|
|
625
|
-
self.GEOSisClosed,
|
|
626
623
|
self.GEOSHasZ):
|
|
627
624
|
pred.func.errcheck = errcheck_predicate
|
|
628
625
|
|
|
@@ -640,7 +637,6 @@ class LGEOS310(LGEOSBase):
|
|
|
640
637
|
self.methods['has_z'] = self.GEOSHasZ
|
|
641
638
|
self.methods['is_empty'] = self.GEOSisEmpty
|
|
642
639
|
self.methods['is_ring'] = self.GEOSisRing
|
|
643
|
-
self.methods['is_closed'] = self.GEOSisClosed
|
|
644
640
|
self.methods['is_simple'] = self.GEOSisSimple
|
|
645
641
|
self.methods['is_valid'] = self.GEOSisValid
|
|
646
642
|
self.methods['disjoint'] = self.GEOSDisjoint
|
|
@@ -713,7 +709,11 @@ class LGEOS330(LGEOS320):
|
|
|
713
709
|
attr.__name__ = func.__name__
|
|
714
710
|
setattr(self, key, attr)
|
|
715
711
|
|
|
712
|
+
for pred in (self.GEOSisClosed,):
|
|
713
|
+
pred.func.errcheck = errcheck_predicate
|
|
714
|
+
|
|
716
715
|
self.methods['unary_union'] = self.GEOSUnaryUnion
|
|
716
|
+
self.methods['is_closed'] = self.GEOSisClosed
|
|
717
717
|
self.methods['cascaded_union'] = self.methods['unary_union']
|
|
718
718
|
|
|
719
719
|
|
|
@@ -71,7 +71,6 @@ IMPL300 = {
|
|
|
71
71
|
'has_z': (UnaryPredicate, 'has_z'),
|
|
72
72
|
'is_empty': (UnaryPredicate, 'is_empty'),
|
|
73
73
|
'is_ring': (UnaryPredicate, 'is_ring'),
|
|
74
|
-
'is_closed': (UnaryPredicate, 'is_closed'),
|
|
75
74
|
'is_simple': (UnaryPredicate, 'is_simple'),
|
|
76
75
|
'is_valid': (UnaryPredicate, 'is_valid'),
|
|
77
76
|
#
|
|
@@ -113,6 +112,9 @@ IMPL320 = {
|
|
|
113
112
|
'buffer_with_style': (UnaryTopologicalOp, 'buffer_with_style'),
|
|
114
113
|
}
|
|
115
114
|
|
|
115
|
+
IMPL330 = {
|
|
116
|
+
'is_closed': (UnaryPredicate, 'is_closed')}
|
|
117
|
+
|
|
116
118
|
def impl_items(defs):
|
|
117
119
|
return [(k, v[0](v[1])) for k, v in list(defs.items())]
|
|
118
120
|
|
|
@@ -123,5 +125,7 @@ if lgeos.geos_version >= (3, 1, 1):
|
|
|
123
125
|
imp.update(impl_items(IMPL311))
|
|
124
126
|
if lgeos.geos_version >= (3, 2, 0):
|
|
125
127
|
imp.update(impl_items(IMPL320))
|
|
128
|
+
if lgeos.geos_version >= (3, 3, 0):
|
|
129
|
+
imp.update(impl_items(IMPL330))
|
|
126
130
|
|
|
127
131
|
DefaultImplementation = imp
|