shapely 1.6.2.post1__tar.gz → 1.6.3__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.6.2.post1 → Shapely-1.6.3}/CHANGES.txt +11 -0
- {Shapely-1.6.2.post1/Shapely.egg-info → Shapely-1.6.3}/PKG-INFO +12 -1
- {Shapely-1.6.2.post1 → Shapely-1.6.3/Shapely.egg-info}/PKG-INFO +12 -1
- Shapely-1.6.3/VERSION.txt +1 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/docs/manual.rst +15 -3
- Shapely-1.6.3/shapely/__init__.py +1 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/geometry/polygon.py +16 -5
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/geometry/proxy.py +2 -1
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/speedups/_speedups.c +809 -730
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/speedups/_speedups.pyx +3 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/strtree.py +3 -1
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_emptiness.py +10 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_geointerface.py +17 -1
- Shapely-1.6.3/tests/test_pickle.py +28 -0
- Shapely-1.6.2.post1/VERSION.txt +0 -1
- Shapely-1.6.2.post1/shapely/__init__.py +0 -1
- Shapely-1.6.2.post1/tests/test_pickle.py +0 -22
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/CREDITS.txt +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/LICENSE.txt +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/README.rst +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/Shapely.egg-info/SOURCES.txt +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/Shapely.egg-info/dependency_links.txt +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/Shapely.egg-info/requires.txt +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/Shapely.egg-info/top_level.txt +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/_vendor/__init__.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/_vendor/packaging/__about__.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/_vendor/packaging/__init__.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/_vendor/packaging/_compat.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/_vendor/packaging/_structures.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/_vendor/packaging/markers.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/_vendor/packaging/requirements.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/_vendor/packaging/specifiers.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/_vendor/packaging/utils.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/_vendor/packaging/version.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/docs/design.rst +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/docs/index.rst +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/docs/project.rst +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/setup.cfg +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/setup.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/_buildcfg.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/_geos.pxi +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/affinity.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/algorithms/__init__.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/algorithms/cga.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/algorithms/polylabel.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/coords.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/ctypes_declarations.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/errors.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/examples/__init__.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/examples/dissolve.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/examples/geoms.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/examples/intersect.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/ftools.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/geometry/__init__.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/geometry/base.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/geometry/collection.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/geometry/geo.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/geometry/linestring.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/geometry/multilinestring.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/geometry/multipoint.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/geometry/multipolygon.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/geometry/point.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/geos.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/impl.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/iterops.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/linref.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/ops.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/predicates.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/prepared.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/speedups/__init__.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/topology.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/validation.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/vectorized/__init__.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/vectorized/_vectorized.pyx +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/wkb.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/shapely/wkt.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/__init__.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/binascii_hex.txt +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/conftest.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_affinity.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_box.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_cga.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_collection.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_coords.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_default_impl.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_delaunay.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_delegated.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_dlls.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_doctests.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_empty_polygons.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_equality.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_geomseq.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_geos_err_handler.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_getitem.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_hash.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_invalid_geometries.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_iterops.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_linear_referencing.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_linemerge.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_linestring.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_locale.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_mapping.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_minimum_rotated_rectangle.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_multi.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_multilinestring.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_multipoint.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_multipolygon.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_ndarrays.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_nearest.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_operations.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_operators.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_parallel_offset.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_persist.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_point.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_polygon.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_polygonize.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_polylabel.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_predicates.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_prepared.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_products_z.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_shared_paths.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_singularity.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_snap.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_split.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_strtree.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_styles.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_svg.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_transform.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_union.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_validation.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_vectorized.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_wkt.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/test_xy.py +0 -0
- {Shapely-1.6.2.post1 → Shapely-1.6.3}/tests/threading_test.py +0 -0
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
Changes
|
|
2
2
|
=======
|
|
3
3
|
|
|
4
|
+
1.6.3 (2017-12-09)
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
- AttributeError is no longer raised when accessing __geo_interface__ of an
|
|
8
|
+
empty polygon (#450).
|
|
9
|
+
- ``asShape`` now handles empty coordinates in mappings as ``shape`` does
|
|
10
|
+
(#542). Please note that ``asShape`` is likely to be deprecated in a future
|
|
11
|
+
version of Shapely.
|
|
12
|
+
- Check for length of LineString coordinates in speed mode, preventing crashes
|
|
13
|
+
when using LineStrings with only one coordinate (#546).
|
|
14
|
+
|
|
4
15
|
1.6.2 (2017-10-30)
|
|
5
16
|
------------------
|
|
6
17
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.6.
|
|
3
|
+
Version: 1.6.3
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -242,6 +242,17 @@ Description: =======
|
|
|
242
242
|
Changes
|
|
243
243
|
=======
|
|
244
244
|
|
|
245
|
+
1.6.3 (2017-12-09)
|
|
246
|
+
------------------
|
|
247
|
+
|
|
248
|
+
- AttributeError is no longer raised when accessing __geo_interface__ of an
|
|
249
|
+
empty polygon (#450).
|
|
250
|
+
- ``asShape`` now handles empty coordinates in mappings as ``shape`` does
|
|
251
|
+
(#542). Please note that ``asShape`` is likely to be deprecated in a future
|
|
252
|
+
version of Shapely.
|
|
253
|
+
- Check for length of LineString coordinates in speed mode, preventing crashes
|
|
254
|
+
when using LineStrings with only one coordinate (#546).
|
|
255
|
+
|
|
245
256
|
1.6.2 (2017-10-30)
|
|
246
257
|
------------------
|
|
247
258
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.6.
|
|
3
|
+
Version: 1.6.3
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -242,6 +242,17 @@ Description: =======
|
|
|
242
242
|
Changes
|
|
243
243
|
=======
|
|
244
244
|
|
|
245
|
+
1.6.3 (2017-12-09)
|
|
246
|
+
------------------
|
|
247
|
+
|
|
248
|
+
- AttributeError is no longer raised when accessing __geo_interface__ of an
|
|
249
|
+
empty polygon (#450).
|
|
250
|
+
- ``asShape`` now handles empty coordinates in mappings as ``shape`` does
|
|
251
|
+
(#542). Please note that ``asShape`` is likely to be deprecated in a future
|
|
252
|
+
version of Shapely.
|
|
253
|
+
- Check for length of LineString coordinates in speed mode, preventing crashes
|
|
254
|
+
when using LineStrings with only one coordinate (#546).
|
|
255
|
+
|
|
245
256
|
1.6.2 (2017-10-30)
|
|
246
257
|
------------------
|
|
247
258
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.6.3
|
|
@@ -157,7 +157,7 @@ themselves as instance factories. A few of their intrinsic properties will be
|
|
|
157
157
|
discussed in this sections, others in the following sections on operations and
|
|
158
158
|
serializations.
|
|
159
159
|
|
|
160
|
-
Instances of
|
|
160
|
+
Instances of ``Point``, ``LineString``, and ``LinearRing`` have as their most
|
|
161
161
|
important attribute a finite sequence of coordinates that determines their
|
|
162
162
|
interior, boundary, and exterior point sets. A line string can be determined by
|
|
163
163
|
as few as 2 points, but contains an infinite number of points. Coordinate
|
|
@@ -169,8 +169,20 @@ In all constructors, numeric values are converted to type ``float``. In other
|
|
|
169
169
|
words, ``Point(0, 0)`` and ``Point(0.0, 0.0)`` produce geometrically equivalent
|
|
170
170
|
instances. Shapely does not check the topological simplicity or validity of
|
|
171
171
|
instances when they are constructed as the cost is unwarranted in most cases.
|
|
172
|
-
Validating factories are
|
|
173
|
-
predicate
|
|
172
|
+
Validating factories are easily implemented using the :attr:``is_valid``
|
|
173
|
+
predicate by users that require them.
|
|
174
|
+
|
|
175
|
+
.. note::
|
|
176
|
+
|
|
177
|
+
Shapely is a planar geometry library and `z`, the height
|
|
178
|
+
above or below the plane, is ignored in geometric analysis. There is
|
|
179
|
+
a potential pitfall for users here: coordinate tuples that differ only in
|
|
180
|
+
`z` are not distinguished from each other and their application can result
|
|
181
|
+
in suprisingly invalid geometry objects. For example, ``LineString([(0, 0,
|
|
182
|
+
0), (0, 0, 1)])`` does not return a vertical line of unit length, but an invalid line
|
|
183
|
+
in the plane with zero length. Similarly, ``Polygon([(0, 0, 0), (0, 0, 1),
|
|
184
|
+
(1, 1, 1)])`` is not bounded by a closed ring and is invalid.
|
|
185
|
+
|
|
174
186
|
|
|
175
187
|
General Attributes and Methods
|
|
176
188
|
------------------------------
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.6.3"
|
|
@@ -71,6 +71,15 @@ class LinearRing(LineString):
|
|
|
71
71
|
|
|
72
72
|
coords = property(_get_coords, _set_coords)
|
|
73
73
|
|
|
74
|
+
def __setstate__(self, state):
|
|
75
|
+
"""WKB doesn't differentiate between LineString and LinearRing so we
|
|
76
|
+
need to move the coordinate sequence into the correct geometry type"""
|
|
77
|
+
super(LinearRing, self).__setstate__(state)
|
|
78
|
+
cs = lgeos.GEOSGeom_getCoordSeq(self.__geom__)
|
|
79
|
+
cs_clone = lgeos.GEOSCoordSeq_clone(cs)
|
|
80
|
+
lgeos.GEOSGeom_destroy(self.__geom__)
|
|
81
|
+
self.__geom__ = lgeos.GEOSGeom_createLinearRing(cs_clone)
|
|
82
|
+
|
|
74
83
|
@property
|
|
75
84
|
def is_ccw(self):
|
|
76
85
|
"""True is the ring is oriented counter clock-wise"""
|
|
@@ -303,13 +312,15 @@ class Polygon(BaseGeometry):
|
|
|
303
312
|
|
|
304
313
|
@property
|
|
305
314
|
def __geo_interface__(self):
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
315
|
+
if not self.exterior:
|
|
316
|
+
coords = []
|
|
317
|
+
else:
|
|
318
|
+
coords = [tuple(self.exterior.coords)]
|
|
319
|
+
for hole in self.interiors:
|
|
320
|
+
coords.append(tuple(hole.coords))
|
|
309
321
|
return {
|
|
310
322
|
'type': 'Polygon',
|
|
311
|
-
'coordinates': tuple(coords)
|
|
312
|
-
}
|
|
323
|
+
'coordinates': tuple(coords)}
|
|
313
324
|
|
|
314
325
|
def svg(self, scale_factor=1., fill_color=None):
|
|
315
326
|
"""Returns SVG path element for the Polygon geometry.
|
|
@@ -30,7 +30,8 @@ class CachingGeometryProxy(object):
|
|
|
30
30
|
gtag = self.gtag()
|
|
31
31
|
if gtag != self._gtag or self._is_empty:
|
|
32
32
|
self.empty()
|
|
33
|
-
|
|
33
|
+
if len(self.context) > 0:
|
|
34
|
+
self.__geom__, n = self.factory(self.context)
|
|
34
35
|
self._gtag = gtag
|
|
35
36
|
return self.__geom__
|
|
36
37
|
|