shapely 1.6b2__tar.gz → 1.6b4__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.6b2 → Shapely-1.6b4}/CHANGES.txt +17 -0
- {Shapely-1.6b2/Shapely.egg-info → Shapely-1.6b4}/PKG-INFO +18 -1
- {Shapely-1.6b2 → Shapely-1.6b4/Shapely.egg-info}/PKG-INFO +18 -1
- {Shapely-1.6b2 → Shapely-1.6b4}/Shapely.egg-info/SOURCES.txt +10 -16
- {Shapely-1.6b2 → Shapely-1.6b4}/Shapely.egg-info/requires.txt +0 -2
- Shapely-1.6b4/VERSION.txt +1 -0
- Shapely-1.6b4/setup.cfg +11 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/setup.py +2 -2
- Shapely-1.6b4/shapely/__init__.py +1 -0
- Shapely-1.6b4/shapely/algorithms/__init__.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/geos.py +14 -24
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/ops.py +2 -2
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/speedups/__init__.py +14 -7
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/speedups/_speedups.c +1254 -995
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/speedups/_speedups.pyx +14 -2
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/conftest.py +2 -2
- Shapely-1.6b4/tests/test_geos_err_handler.py +65 -0
- Shapely-1.6b2/VERSION.txt +0 -1
- Shapely-1.6b2/packaging-15.3.dist-info/DESCRIPTION.rst +0 -121
- Shapely-1.6b2/packaging-15.3.dist-info/METADATA +0 -141
- Shapely-1.6b2/packaging-15.3.dist-info/RECORD +0 -13
- Shapely-1.6b2/packaging-15.3.dist-info/WHEEL +0 -6
- Shapely-1.6b2/packaging-15.3.dist-info/metadata.json +0 -1
- Shapely-1.6b2/packaging-15.3.dist-info/pbr.json +0 -1
- Shapely-1.6b2/packaging-15.3.dist-info/top_level.txt +0 -1
- Shapely-1.6b2/setup.cfg +0 -8
- Shapely-1.6b2/shapely/__init__.py +0 -1
- Shapely-1.6b2/tests/test_geos_err_handler.py +0 -33
- {Shapely-1.6b2 → Shapely-1.6b4}/CREDITS.txt +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/LICENSE.txt +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/README.rst +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/Shapely.egg-info/dependency_links.txt +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/Shapely.egg-info/top_level.txt +0 -0
- {Shapely-1.6b2/shapely/algorithms → Shapely-1.6b4/_vendor}/__init__.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4/_vendor}/packaging/__about__.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4/_vendor}/packaging/__init__.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4/_vendor}/packaging/_compat.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4/_vendor}/packaging/_structures.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4/_vendor}/packaging/markers.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4/_vendor}/packaging/requirements.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4/_vendor}/packaging/specifiers.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4/_vendor}/packaging/utils.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4/_vendor}/packaging/version.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/docs/design.rst +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/docs/index.rst +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/docs/manual.rst +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/docs/project.rst +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/_buildcfg.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/_geos.pxi +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/affinity.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/algorithms/cga.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/algorithms/polylabel.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/coords.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/ctypes_declarations.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/errors.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/examples/__init__.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/examples/dissolve.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/examples/geoms.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/examples/intersect.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/ftools.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/geometry/__init__.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/geometry/base.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/geometry/collection.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/geometry/geo.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/geometry/linestring.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/geometry/multilinestring.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/geometry/multipoint.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/geometry/multipolygon.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/geometry/point.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/geometry/polygon.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/geometry/proxy.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/impl.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/iterops.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/linref.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/predicates.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/prepared.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/strtree.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/topology.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/validation.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/vectorized/__init__.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/vectorized/_vectorized.pyx +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/wkb.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/shapely/wkt.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/__init__.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/binascii_hex.txt +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_affinity.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_box.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_cga.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_collection.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_coords.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_default_impl.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_delaunay.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_delegated.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_dlls.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_doctests.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_emptiness.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_empty_polygons.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_equality.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_geointerface.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_geomseq.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_getitem.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_hash.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_invalid_geometries.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_iterops.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_linear_referencing.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_linemerge.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_linestring.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_locale.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_mapping.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_minimum_rotated_rectangle.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_multi.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_multilinestring.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_multipoint.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_multipolygon.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_ndarrays.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_nearest.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_operations.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_operators.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_parallel_offset.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_persist.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_pickle.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_point.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_polygon.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_polygonize.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_polylabel.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_predicates.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_prepared.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_products_z.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_shared_paths.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_singularity.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_snap.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_split.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_strtree.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_styles.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_svg.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_transform.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_union.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_validation.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_vectorized.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_wkt.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/test_xy.py +0 -0
- {Shapely-1.6b2 → Shapely-1.6b4}/tests/threading_test.py +0 -0
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
Changes
|
|
2
2
|
=======
|
|
3
3
|
|
|
4
|
+
1.6b4 (2017-02-15)
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
Bug fixes:
|
|
8
|
+
|
|
9
|
+
- Isolate vendorized packaging in a _vendor directory, remove obsolete
|
|
10
|
+
dist-info, and remove packaging from project requirements (resolves #468).
|
|
11
|
+
|
|
12
|
+
1.6b3 (2016-12-31)
|
|
13
|
+
------------------
|
|
14
|
+
|
|
15
|
+
Bug fixes:
|
|
16
|
+
|
|
17
|
+
- Level for log messages originating from the GEOS notice handler reduced from
|
|
18
|
+
WARNING to INFO (#447).
|
|
19
|
+
- Permit speedups to be imported again without Numpy (#444).
|
|
20
|
+
|
|
4
21
|
1.6b2 (2016-12-12)
|
|
5
22
|
------------------
|
|
6
23
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.6b4
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -239,6 +239,23 @@ Description: =======
|
|
|
239
239
|
Changes
|
|
240
240
|
=======
|
|
241
241
|
|
|
242
|
+
1.6b4 (2017-02-15)
|
|
243
|
+
------------------
|
|
244
|
+
|
|
245
|
+
Bug fixes:
|
|
246
|
+
|
|
247
|
+
- Isolate vendorized packaging in a _vendor directory, remove obsolete
|
|
248
|
+
dist-info, and remove packaging from project requirements (resolves #468).
|
|
249
|
+
|
|
250
|
+
1.6b3 (2016-12-31)
|
|
251
|
+
------------------
|
|
252
|
+
|
|
253
|
+
Bug fixes:
|
|
254
|
+
|
|
255
|
+
- Level for log messages originating from the GEOS notice handler reduced from
|
|
256
|
+
WARNING to INFO (#447).
|
|
257
|
+
- Permit speedups to be imported again without Numpy (#444).
|
|
258
|
+
|
|
242
259
|
1.6b2 (2016-12-12)
|
|
243
260
|
------------------
|
|
244
261
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.6b4
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -239,6 +239,23 @@ Description: =======
|
|
|
239
239
|
Changes
|
|
240
240
|
=======
|
|
241
241
|
|
|
242
|
+
1.6b4 (2017-02-15)
|
|
243
|
+
------------------
|
|
244
|
+
|
|
245
|
+
Bug fixes:
|
|
246
|
+
|
|
247
|
+
- Isolate vendorized packaging in a _vendor directory, remove obsolete
|
|
248
|
+
dist-info, and remove packaging from project requirements (resolves #468).
|
|
249
|
+
|
|
250
|
+
1.6b3 (2016-12-31)
|
|
251
|
+
------------------
|
|
252
|
+
|
|
253
|
+
Bug fixes:
|
|
254
|
+
|
|
255
|
+
- Level for log messages originating from the GEOS notice handler reduced from
|
|
256
|
+
WARNING to INFO (#447).
|
|
257
|
+
- Permit speedups to be imported again without Numpy (#444).
|
|
258
|
+
|
|
242
259
|
1.6b2 (2016-12-12)
|
|
243
260
|
------------------
|
|
244
261
|
|
|
@@ -10,26 +10,20 @@ Shapely.egg-info/SOURCES.txt
|
|
|
10
10
|
Shapely.egg-info/dependency_links.txt
|
|
11
11
|
Shapely.egg-info/requires.txt
|
|
12
12
|
Shapely.egg-info/top_level.txt
|
|
13
|
+
_vendor/__init__.py
|
|
14
|
+
_vendor/packaging/__about__.py
|
|
15
|
+
_vendor/packaging/__init__.py
|
|
16
|
+
_vendor/packaging/_compat.py
|
|
17
|
+
_vendor/packaging/_structures.py
|
|
18
|
+
_vendor/packaging/markers.py
|
|
19
|
+
_vendor/packaging/requirements.py
|
|
20
|
+
_vendor/packaging/specifiers.py
|
|
21
|
+
_vendor/packaging/utils.py
|
|
22
|
+
_vendor/packaging/version.py
|
|
13
23
|
docs/design.rst
|
|
14
24
|
docs/index.rst
|
|
15
25
|
docs/manual.rst
|
|
16
26
|
docs/project.rst
|
|
17
|
-
packaging/__about__.py
|
|
18
|
-
packaging/__init__.py
|
|
19
|
-
packaging/_compat.py
|
|
20
|
-
packaging/_structures.py
|
|
21
|
-
packaging/markers.py
|
|
22
|
-
packaging/requirements.py
|
|
23
|
-
packaging/specifiers.py
|
|
24
|
-
packaging/utils.py
|
|
25
|
-
packaging/version.py
|
|
26
|
-
packaging-15.3.dist-info/DESCRIPTION.rst
|
|
27
|
-
packaging-15.3.dist-info/METADATA
|
|
28
|
-
packaging-15.3.dist-info/RECORD
|
|
29
|
-
packaging-15.3.dist-info/WHEEL
|
|
30
|
-
packaging-15.3.dist-info/metadata.json
|
|
31
|
-
packaging-15.3.dist-info/pbr.json
|
|
32
|
-
packaging-15.3.dist-info/top_level.txt
|
|
33
27
|
shapely/__init__.py
|
|
34
28
|
shapely/_buildcfg.py
|
|
35
29
|
shapely/_geos.pxi
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.6b4
|
Shapely-1.6b4/setup.cfg
ADDED
|
@@ -73,7 +73,7 @@ except ImportError:
|
|
|
73
73
|
from distutils.errors import CCompilerError, DistutilsExecError, \
|
|
74
74
|
DistutilsPlatformError
|
|
75
75
|
|
|
76
|
-
from packaging.version import Version
|
|
76
|
+
from _vendor.packaging.version import Version
|
|
77
77
|
|
|
78
78
|
# Get geos_version from GEOS dynamic library, which depends on
|
|
79
79
|
# GEOS_LIBRARY_PATH and/or GEOS_CONFIG environment variables
|
|
@@ -178,7 +178,7 @@ with open('CHANGES.txt', 'r', **open_kwds) as fp:
|
|
|
178
178
|
long_description = readme + '\n\n' + credits + '\n\n' + changes
|
|
179
179
|
|
|
180
180
|
extra_reqs = {
|
|
181
|
-
'test': ['pytest', 'pytest-cov'
|
|
181
|
+
'test': ['pytest', 'pytest-cov'],
|
|
182
182
|
'vectorized': ['numpy']}
|
|
183
183
|
|
|
184
184
|
extra_reqs['all'] = list(it.chain.from_iterable(extra_reqs.values()))
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.6b4"
|
|
File without changes
|
|
@@ -203,35 +203,25 @@ if geos_version >= (3, 1, 0):
|
|
|
203
203
|
_lgeos.finishGEOS_r.argtypes = [c_void_p]
|
|
204
204
|
|
|
205
205
|
|
|
206
|
-
def
|
|
207
|
-
"""Error handler
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
called from Python and GEOS expects its error handler to accept any
|
|
211
|
-
number of arguments (like printf), I'm unable to get ctypes to make
|
|
212
|
-
a callback object from this function that will accept any number of
|
|
213
|
-
arguments.
|
|
214
|
-
|
|
215
|
-
At the moment, functions in the GEOS C API only pass 0 or
|
|
216
|
-
1 arguments to the error handler. We can deal with this, but when if
|
|
217
|
-
that changes, Shapely may break.
|
|
206
|
+
def make_logging_callback(func):
|
|
207
|
+
"""Error or notice handler callback producr
|
|
208
|
+
|
|
209
|
+
Wraps a logger method, func, as a GEOS callback.
|
|
218
210
|
"""
|
|
219
|
-
def callback(fmt, *
|
|
211
|
+
def callback(fmt, *fmt_args):
|
|
220
212
|
fmt = fmt.decode('ascii')
|
|
221
213
|
conversions = re.findall(r'%.', fmt)
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
return
|
|
230
|
-
getattr(LOG, level)(fmt, *log_vals)
|
|
214
|
+
args = [
|
|
215
|
+
string_at(arg).decode('ascii')
|
|
216
|
+
for spec, arg in zip(conversions, fmt_args)
|
|
217
|
+
if spec == '%s' and arg is not None]
|
|
218
|
+
|
|
219
|
+
func(fmt, *args)
|
|
220
|
+
|
|
231
221
|
return callback
|
|
232
222
|
|
|
233
|
-
error_handler =
|
|
234
|
-
notice_handler =
|
|
223
|
+
error_handler = make_logging_callback(LOG.error)
|
|
224
|
+
notice_handler = make_logging_callback(LOG.info)
|
|
235
225
|
|
|
236
226
|
error_h = EXCEPTION_HANDLER_FUNCTYPE(error_handler)
|
|
237
227
|
notice_h = EXCEPTION_HANDLER_FUNCTYPE(notice_handler)
|
|
@@ -406,11 +406,11 @@ class SplitOp(object):
|
|
|
406
406
|
|
|
407
407
|
assert(isinstance(line, LineString))
|
|
408
408
|
assert(isinstance(splitter, MultiPoint))
|
|
409
|
-
|
|
409
|
+
|
|
410
410
|
chunks = [line]
|
|
411
411
|
for pt in splitter.geoms:
|
|
412
412
|
new_chunks = []
|
|
413
|
-
for chunk in chunks:
|
|
413
|
+
for chunk in filter(lambda x: not x.is_empty, chunks):
|
|
414
414
|
# add the newly split 2 lines or the same line if not split
|
|
415
415
|
new_chunks.extend(SplitOp._split_line_with_point(chunk, pt))
|
|
416
416
|
chunks = new_chunks
|
|
@@ -4,6 +4,9 @@ from shapely.geometry import linestring, polygon
|
|
|
4
4
|
from shapely import coords
|
|
5
5
|
import shapely.affinity
|
|
6
6
|
|
|
7
|
+
from ..ftools import wraps
|
|
8
|
+
|
|
9
|
+
|
|
7
10
|
try:
|
|
8
11
|
from shapely.speedups import _speedups
|
|
9
12
|
available = True
|
|
@@ -14,7 +17,7 @@ except ImportError:
|
|
|
14
17
|
# TODO: This does not appear to do anything useful
|
|
15
18
|
import_error_msg = sys.exc_info()[1]
|
|
16
19
|
|
|
17
|
-
|
|
20
|
+
|
|
18
21
|
def method_wrapper(f):
|
|
19
22
|
def wrapper(*args, **kwargs):
|
|
20
23
|
return f(*args, **kwargs)
|
|
@@ -26,6 +29,7 @@ _orig = {}
|
|
|
26
29
|
# keep track of whether speedups are enabled
|
|
27
30
|
enabled = False
|
|
28
31
|
|
|
32
|
+
|
|
29
33
|
def enable():
|
|
30
34
|
"""Enable Cython speedups
|
|
31
35
|
|
|
@@ -46,23 +50,25 @@ def enable():
|
|
|
46
50
|
if not available:
|
|
47
51
|
warnings.warn("shapely.speedups not available", RuntimeWarning)
|
|
48
52
|
return
|
|
49
|
-
|
|
53
|
+
|
|
50
54
|
if _orig:
|
|
51
55
|
return
|
|
52
|
-
|
|
56
|
+
|
|
53
57
|
_orig['CoordinateSequence.ctypes'] = coords.CoordinateSequence.ctypes
|
|
54
58
|
coords.CoordinateSequence.ctypes = property(_speedups.coordseq_ctypes)
|
|
55
|
-
|
|
59
|
+
|
|
56
60
|
_orig['CoordinateSequence.__iter__'] = coords.CoordinateSequence.__iter__
|
|
57
|
-
coords.CoordinateSequence.__iter__ = method_wrapper(
|
|
61
|
+
coords.CoordinateSequence.__iter__ = method_wrapper(
|
|
62
|
+
_speedups.coordseq_iter)
|
|
58
63
|
|
|
59
64
|
_orig['geos_linestring_from_py'] = linestring.geos_linestring_from_py
|
|
60
65
|
linestring.geos_linestring_from_py = _speedups.geos_linestring_from_py
|
|
61
66
|
|
|
62
|
-
_orig['geos_linearring_from_py']
|
|
67
|
+
_orig['geos_linearring_from_py'] = polygon.geos_linearring_from_py
|
|
63
68
|
polygon.geos_linearring_from_py = _speedups.geos_linearring_from_py
|
|
64
|
-
|
|
69
|
+
|
|
65
70
|
_orig['affine_transform'] = shapely.affinity.affine_transform
|
|
71
|
+
|
|
66
72
|
# copy docstring from original function
|
|
67
73
|
def affine_transform(geom, matrix):
|
|
68
74
|
return _speedups.affine_transform(geom, matrix)
|
|
@@ -72,6 +78,7 @@ def enable():
|
|
|
72
78
|
global enabled
|
|
73
79
|
enabled = True
|
|
74
80
|
|
|
81
|
+
|
|
75
82
|
def disable():
|
|
76
83
|
"""Disable Cython speedups
|
|
77
84
|
"""
|