shapely 1.6a2__tar.gz → 1.6b1__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.6a2 → Shapely-1.6b1}/CHANGES.txt +18 -0
- {Shapely-1.6a2/Shapely.egg-info → Shapely-1.6b1}/PKG-INFO +61 -37
- {Shapely-1.6a2 → Shapely-1.6b1}/README.rst +42 -36
- {Shapely-1.6a2 → Shapely-1.6b1/Shapely.egg-info}/PKG-INFO +61 -37
- {Shapely-1.6a2 → Shapely-1.6b1}/Shapely.egg-info/requires.txt +4 -2
- Shapely-1.6b1/VERSION.txt +1 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/setup.py +7 -14
- Shapely-1.6b1/shapely/__init__.py +1 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/coords.py +0 -21
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/linestring.py +49 -105
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/multipoint.py +14 -53
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/point.py +19 -55
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/polygon.py +68 -122
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/speedups/_speedups.c +1406 -1192
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/speedups/_speedups.pyx +11 -1
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_linestring.py +5 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_ndarrays.py +4 -4
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_point.py +5 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_vectorized.py +7 -6
- Shapely-1.6a2/VERSION.txt +0 -1
- Shapely-1.6a2/shapely/__init__.py +0 -1
- {Shapely-1.6a2 → Shapely-1.6b1}/CREDITS.txt +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/LICENSE.txt +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/Shapely.egg-info/SOURCES.txt +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/Shapely.egg-info/dependency_links.txt +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/Shapely.egg-info/top_level.txt +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/docs/design.rst +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/docs/index.rst +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/docs/manual.rst +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/docs/project.rst +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/packaging/__about__.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/packaging/__init__.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/packaging/_compat.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/packaging/_structures.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/packaging/markers.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/packaging/requirements.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/packaging/specifiers.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/packaging/utils.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/packaging/version.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/packaging-15.3.dist-info/DESCRIPTION.rst +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/packaging-15.3.dist-info/METADATA +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/packaging-15.3.dist-info/RECORD +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/packaging-15.3.dist-info/WHEEL +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/packaging-15.3.dist-info/metadata.json +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/packaging-15.3.dist-info/pbr.json +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/packaging-15.3.dist-info/top_level.txt +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/setup.cfg +1 -1
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/_buildcfg.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/_geos.pxi +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/affinity.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/algorithms/__init__.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/algorithms/cga.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/algorithms/polylabel.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/ctypes_declarations.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/errors.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/examples/__init__.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/examples/dissolve.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/examples/geoms.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/examples/intersect.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/ftools.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/__init__.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/base.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/collection.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/geo.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/multilinestring.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/multipolygon.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geometry/proxy.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/geos.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/impl.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/iterops.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/linref.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/ops.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/predicates.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/prepared.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/speedups/__init__.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/strtree.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/topology.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/validation.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/vectorized/__init__.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/vectorized/_vectorized.pyx +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/wkb.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/shapely/wkt.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/__init__.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/binascii_hex.txt +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/conftest.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_affinity.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_box.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_cga.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_collection.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_coords.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_default_impl.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_delaunay.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_delegated.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_dlls.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_doctests.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_emptiness.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_empty_polygons.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_equality.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_geointerface.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_geomseq.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_geos_err_handler.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_getitem.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_hash.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_invalid_geometries.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_iterops.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_linear_referencing.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_linemerge.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_locale.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_mapping.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_minimum_rotated_rectangle.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_multi.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_multilinestring.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_multipoint.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_multipolygon.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_nearest.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_operations.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_operators.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_parallel_offset.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_persist.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_pickle.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_polygon.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_polygonize.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_polylabel.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_predicates.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_prepared.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_products_z.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_shared_paths.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_singularity.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_snap.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_split.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_strtree.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_styles.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_svg.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_transform.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_union.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_validation.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_wkt.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/test_xy.py +0 -0
- {Shapely-1.6a2 → Shapely-1.6b1}/tests/threading_test.py +0 -0
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
Changes
|
|
2
2
|
=======
|
|
3
3
|
|
|
4
|
+
1.6b1 (2016-12-12)
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
Bug fixes:
|
|
8
|
+
|
|
9
|
+
- Implemented __array_interface__ for empty Points and LineStrings (#403).
|
|
10
|
+
|
|
11
|
+
1.6a3 (2016-12-01)
|
|
12
|
+
------------------
|
|
13
|
+
|
|
14
|
+
Bug fixes:
|
|
15
|
+
|
|
16
|
+
- Remove accidental hard requirement of Numpy (#431).
|
|
17
|
+
|
|
18
|
+
Packaging:
|
|
19
|
+
|
|
20
|
+
- Put Numpy in an optional requirement set named "vectorized" (#431).
|
|
21
|
+
|
|
4
22
|
1.6a2 (2016-11-09)
|
|
5
23
|
------------------
|
|
6
24
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.6b1
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -10,17 +10,16 @@ Description: =======
|
|
|
10
10
|
Shapely
|
|
11
11
|
=======
|
|
12
12
|
|
|
13
|
-
Manipulation and analysis of geometric objects in the Cartesian plane.
|
|
14
|
-
|
|
15
13
|
.. image:: https://travis-ci.org/Toblerity/Shapely.png?branch=master
|
|
16
14
|
:target: https://travis-ci.org/Toblerity/Shapely
|
|
17
15
|
|
|
18
|
-
.. image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
|
|
19
16
|
:target: https://coveralls.io/github/Toblerity/Shapely?branch=master
|
|
20
17
|
|
|
21
|
-
|
|
18
|
+
Manipulation and analysis of geometric objects in the Cartesian plane.
|
|
19
|
+
|
|
20
|
+
.. image:: https://c2.staticflickr.com/6/5560/31301790086_b3472ea4e9_c.jpg
|
|
22
21
|
:width: 800
|
|
23
|
-
:height:
|
|
22
|
+
:height: 378
|
|
24
23
|
|
|
25
24
|
Shapely is a BSD-licensed Python package for manipulation and analysis of
|
|
26
25
|
planar geometric objects. It is based on the widely deployed `GEOS
|
|
@@ -36,46 +35,61 @@ Description: =======
|
|
|
36
35
|
Requirements
|
|
37
36
|
============
|
|
38
37
|
|
|
39
|
-
Shapely 1.
|
|
38
|
+
Shapely 1.6.x requires
|
|
40
39
|
|
|
41
40
|
* Python >=2.6 (including Python 3.x)
|
|
42
|
-
* GEOS >=3.3
|
|
41
|
+
* GEOS >=3.3
|
|
43
42
|
|
|
44
|
-
Installing Shapely
|
|
45
|
-
|
|
43
|
+
Installing Shapely (1.6b1)
|
|
44
|
+
==========================
|
|
46
45
|
|
|
47
|
-
Windows users
|
|
48
|
-
http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely
|
|
46
|
+
Windows users have two good installation options: the wheels at
|
|
47
|
+
http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely and the
|
|
48
|
+
Anaconda platform's [conda-forge](https://conda-forge.github.io/)
|
|
49
|
+
channel.
|
|
49
50
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
system library path, and install Shapely from the Python package index.
|
|
51
|
+
OS X users can get Shapely wheels with GEOS included from the
|
|
52
|
+
Python Package Index with a recent version of pip (8+):
|
|
53
53
|
|
|
54
54
|
.. code-block:: console
|
|
55
55
|
|
|
56
|
-
$ pip install shapely
|
|
56
|
+
$ pip install shapely==1.6b1
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
will be used to get compiler and linker options. If it is not on the PATH,
|
|
60
|
-
it can be specified with a GEOS_CONFIG environment variable, e.g.:
|
|
58
|
+
A few extra speedups that require Numpy can be had by running
|
|
61
59
|
|
|
62
60
|
.. code-block:: console
|
|
63
61
|
|
|
64
|
-
$
|
|
62
|
+
$ pip install shapely[vectorized]==1.6b1
|
|
65
63
|
|
|
66
|
-
If
|
|
67
|
-
|
|
64
|
+
If you want to build Shapely from source for compatibility with
|
|
65
|
+
other modules that depend on GEOS (such as cartopy or osgeo.ogr)
|
|
66
|
+
you may ignore the binary wheels.
|
|
68
67
|
|
|
69
68
|
.. code-block:: console
|
|
70
69
|
|
|
71
|
-
$ pip install shapely
|
|
70
|
+
$ pip install shapely --no-binary shapely
|
|
72
71
|
|
|
73
|
-
|
|
72
|
+
Binary wheels are also available for Linux. To get them, use `pip shapely
|
|
73
|
+
shapely==1.6b1`. To avoid them, use `pip install shapely --no-binary
|
|
74
|
+
shapely==1.6b1`.
|
|
75
|
+
|
|
76
|
+
In other situations, install `geos_c` libs and headers by any means
|
|
77
|
+
(for example, `brew install geos` on OS X or
|
|
78
|
+
`apt-get install libgeos-dev` on Debian/Ubuntu) and install Shapely
|
|
79
|
+
from the Python package index.
|
|
74
80
|
|
|
75
81
|
.. code-block:: console
|
|
76
82
|
|
|
77
|
-
$ pip install shapely
|
|
83
|
+
$ pip install shapely
|
|
78
84
|
|
|
85
|
+
If you've installed GEOS to a standard location, the geos-config program
|
|
86
|
+
will be used to get compiler and linker options. If geos-config is not on
|
|
87
|
+
your executable, it can be specified with a GEOS_CONFIG environment
|
|
88
|
+
variable, e.g.:
|
|
89
|
+
|
|
90
|
+
.. code-block:: console
|
|
91
|
+
|
|
92
|
+
$ GEOS_CONFIG=/path/to/geos-config pip install shapely
|
|
79
93
|
Shapely is also provided by popular Python distributions like Canopy (Enthought)
|
|
80
94
|
and Anaconda (Continuum Analytics).
|
|
81
95
|
|
|
@@ -141,22 +155,14 @@ Description: =======
|
|
|
141
155
|
|
|
142
156
|
.. code-block:: console
|
|
143
157
|
|
|
144
|
-
(env)$
|
|
145
|
-
|
|
146
|
-
Roadmap and Maintenance
|
|
147
|
-
=======================
|
|
148
|
-
|
|
149
|
-
Shapely 1.2.x is a maintenance-only branch which supports Python 2.4-2.6, but
|
|
150
|
-
not Python 3+. There will be no new features in Shapely 1.2.x and only fixes
|
|
151
|
-
for major bugs.
|
|
152
|
-
|
|
153
|
-
Shapely 1.4.x is a maintenance-only branch supporting Pythons 2.7 and 3.3+.
|
|
158
|
+
(env)$ python -m pytest
|
|
154
159
|
|
|
155
160
|
Support
|
|
156
161
|
=======
|
|
157
162
|
|
|
158
|
-
|
|
159
|
-
http://
|
|
163
|
+
Questions about using Shapely may be asked on the `GIS StackExchange
|
|
164
|
+
<http://gis.stackexchange.com/questions/tagged/shapely>`__ using the "shapely"
|
|
165
|
+
tag.
|
|
160
166
|
|
|
161
167
|
Bugs may be reported at https://github.com/Toblerity/Shapely/issues.
|
|
162
168
|
|
|
@@ -231,6 +237,24 @@ Description: =======
|
|
|
231
237
|
Changes
|
|
232
238
|
=======
|
|
233
239
|
|
|
240
|
+
1.6b1 (2016-12-12)
|
|
241
|
+
------------------
|
|
242
|
+
|
|
243
|
+
Bug fixes:
|
|
244
|
+
|
|
245
|
+
- Implemented __array_interface__ for empty Points and LineStrings (#403).
|
|
246
|
+
|
|
247
|
+
1.6a3 (2016-12-01)
|
|
248
|
+
------------------
|
|
249
|
+
|
|
250
|
+
Bug fixes:
|
|
251
|
+
|
|
252
|
+
- Remove accidental hard requirement of Numpy (#431).
|
|
253
|
+
|
|
254
|
+
Packaging:
|
|
255
|
+
|
|
256
|
+
- Put Numpy in an optional requirement set named "vectorized" (#431).
|
|
257
|
+
|
|
234
258
|
1.6a2 (2016-11-09)
|
|
235
259
|
------------------
|
|
236
260
|
|
|
@@ -2,17 +2,16 @@
|
|
|
2
2
|
Shapely
|
|
3
3
|
=======
|
|
4
4
|
|
|
5
|
-
Manipulation and analysis of geometric objects in the Cartesian plane.
|
|
6
|
-
|
|
7
5
|
.. image:: https://travis-ci.org/Toblerity/Shapely.png?branch=master
|
|
8
6
|
:target: https://travis-ci.org/Toblerity/Shapely
|
|
9
7
|
|
|
10
|
-
.. image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
|
|
11
8
|
:target: https://coveralls.io/github/Toblerity/Shapely?branch=master
|
|
12
9
|
|
|
13
|
-
|
|
10
|
+
Manipulation and analysis of geometric objects in the Cartesian plane.
|
|
11
|
+
|
|
12
|
+
.. image:: https://c2.staticflickr.com/6/5560/31301790086_b3472ea4e9_c.jpg
|
|
14
13
|
:width: 800
|
|
15
|
-
:height:
|
|
14
|
+
:height: 378
|
|
16
15
|
|
|
17
16
|
Shapely is a BSD-licensed Python package for manipulation and analysis of
|
|
18
17
|
planar geometric objects. It is based on the widely deployed `GEOS
|
|
@@ -28,46 +27,61 @@ but can be readily integrated with packages that are. For more details, see:
|
|
|
28
27
|
Requirements
|
|
29
28
|
============
|
|
30
29
|
|
|
31
|
-
Shapely 1.
|
|
30
|
+
Shapely 1.6.x requires
|
|
32
31
|
|
|
33
32
|
* Python >=2.6 (including Python 3.x)
|
|
34
|
-
* GEOS >=3.3
|
|
33
|
+
* GEOS >=3.3
|
|
35
34
|
|
|
36
|
-
Installing Shapely
|
|
37
|
-
|
|
35
|
+
Installing Shapely (1.6b1)
|
|
36
|
+
==========================
|
|
38
37
|
|
|
39
|
-
Windows users
|
|
40
|
-
http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely
|
|
38
|
+
Windows users have two good installation options: the wheels at
|
|
39
|
+
http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely and the
|
|
40
|
+
Anaconda platform's [conda-forge](https://conda-forge.github.io/)
|
|
41
|
+
channel.
|
|
41
42
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
system library path, and install Shapely from the Python package index.
|
|
43
|
+
OS X users can get Shapely wheels with GEOS included from the
|
|
44
|
+
Python Package Index with a recent version of pip (8+):
|
|
45
45
|
|
|
46
46
|
.. code-block:: console
|
|
47
47
|
|
|
48
|
-
$ pip install shapely
|
|
48
|
+
$ pip install shapely==1.6b1
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
will be used to get compiler and linker options. If it is not on the PATH,
|
|
52
|
-
it can be specified with a GEOS_CONFIG environment variable, e.g.:
|
|
50
|
+
A few extra speedups that require Numpy can be had by running
|
|
53
51
|
|
|
54
52
|
.. code-block:: console
|
|
55
53
|
|
|
56
|
-
$
|
|
54
|
+
$ pip install shapely[vectorized]==1.6b1
|
|
57
55
|
|
|
58
|
-
If
|
|
59
|
-
|
|
56
|
+
If you want to build Shapely from source for compatibility with
|
|
57
|
+
other modules that depend on GEOS (such as cartopy or osgeo.ogr)
|
|
58
|
+
you may ignore the binary wheels.
|
|
60
59
|
|
|
61
60
|
.. code-block:: console
|
|
62
61
|
|
|
63
|
-
$ pip install shapely
|
|
62
|
+
$ pip install shapely --no-binary shapely
|
|
64
63
|
|
|
65
|
-
|
|
64
|
+
Binary wheels are also available for Linux. To get them, use `pip shapely
|
|
65
|
+
shapely==1.6b1`. To avoid them, use `pip install shapely --no-binary
|
|
66
|
+
shapely==1.6b1`.
|
|
67
|
+
|
|
68
|
+
In other situations, install `geos_c` libs and headers by any means
|
|
69
|
+
(for example, `brew install geos` on OS X or
|
|
70
|
+
`apt-get install libgeos-dev` on Debian/Ubuntu) and install Shapely
|
|
71
|
+
from the Python package index.
|
|
66
72
|
|
|
67
73
|
.. code-block:: console
|
|
68
74
|
|
|
69
|
-
$ pip install shapely
|
|
75
|
+
$ pip install shapely
|
|
76
|
+
|
|
77
|
+
If you've installed GEOS to a standard location, the geos-config program
|
|
78
|
+
will be used to get compiler and linker options. If geos-config is not on
|
|
79
|
+
your executable, it can be specified with a GEOS_CONFIG environment
|
|
80
|
+
variable, e.g.:
|
|
81
|
+
|
|
82
|
+
.. code-block:: console
|
|
70
83
|
|
|
84
|
+
$ GEOS_CONFIG=/path/to/geos-config pip install shapely
|
|
71
85
|
Shapely is also provided by popular Python distributions like Canopy (Enthought)
|
|
72
86
|
and Anaconda (Continuum Analytics).
|
|
73
87
|
|
|
@@ -133,21 +147,13 @@ We use py.test to run Shapely's suite of unittests and doctests.
|
|
|
133
147
|
|
|
134
148
|
.. code-block:: console
|
|
135
149
|
|
|
136
|
-
(env)$
|
|
137
|
-
|
|
138
|
-
Roadmap and Maintenance
|
|
139
|
-
=======================
|
|
140
|
-
|
|
141
|
-
Shapely 1.2.x is a maintenance-only branch which supports Python 2.4-2.6, but
|
|
142
|
-
not Python 3+. There will be no new features in Shapely 1.2.x and only fixes
|
|
143
|
-
for major bugs.
|
|
144
|
-
|
|
145
|
-
Shapely 1.4.x is a maintenance-only branch supporting Pythons 2.7 and 3.3+.
|
|
150
|
+
(env)$ python -m pytest
|
|
146
151
|
|
|
147
152
|
Support
|
|
148
153
|
=======
|
|
149
154
|
|
|
150
|
-
|
|
151
|
-
http://
|
|
155
|
+
Questions about using Shapely may be asked on the `GIS StackExchange
|
|
156
|
+
<http://gis.stackexchange.com/questions/tagged/shapely>`__ using the "shapely"
|
|
157
|
+
tag.
|
|
152
158
|
|
|
153
159
|
Bugs may be reported at https://github.com/Toblerity/Shapely/issues.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.6b1
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -10,17 +10,16 @@ Description: =======
|
|
|
10
10
|
Shapely
|
|
11
11
|
=======
|
|
12
12
|
|
|
13
|
-
Manipulation and analysis of geometric objects in the Cartesian plane.
|
|
14
|
-
|
|
15
13
|
.. image:: https://travis-ci.org/Toblerity/Shapely.png?branch=master
|
|
16
14
|
:target: https://travis-ci.org/Toblerity/Shapely
|
|
17
15
|
|
|
18
|
-
.. image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
|
|
19
16
|
:target: https://coveralls.io/github/Toblerity/Shapely?branch=master
|
|
20
17
|
|
|
21
|
-
|
|
18
|
+
Manipulation and analysis of geometric objects in the Cartesian plane.
|
|
19
|
+
|
|
20
|
+
.. image:: https://c2.staticflickr.com/6/5560/31301790086_b3472ea4e9_c.jpg
|
|
22
21
|
:width: 800
|
|
23
|
-
:height:
|
|
22
|
+
:height: 378
|
|
24
23
|
|
|
25
24
|
Shapely is a BSD-licensed Python package for manipulation and analysis of
|
|
26
25
|
planar geometric objects. It is based on the widely deployed `GEOS
|
|
@@ -36,46 +35,61 @@ Description: =======
|
|
|
36
35
|
Requirements
|
|
37
36
|
============
|
|
38
37
|
|
|
39
|
-
Shapely 1.
|
|
38
|
+
Shapely 1.6.x requires
|
|
40
39
|
|
|
41
40
|
* Python >=2.6 (including Python 3.x)
|
|
42
|
-
* GEOS >=3.3
|
|
41
|
+
* GEOS >=3.3
|
|
43
42
|
|
|
44
|
-
Installing Shapely
|
|
45
|
-
|
|
43
|
+
Installing Shapely (1.6b1)
|
|
44
|
+
==========================
|
|
46
45
|
|
|
47
|
-
Windows users
|
|
48
|
-
http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely
|
|
46
|
+
Windows users have two good installation options: the wheels at
|
|
47
|
+
http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely and the
|
|
48
|
+
Anaconda platform's [conda-forge](https://conda-forge.github.io/)
|
|
49
|
+
channel.
|
|
49
50
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
system library path, and install Shapely from the Python package index.
|
|
51
|
+
OS X users can get Shapely wheels with GEOS included from the
|
|
52
|
+
Python Package Index with a recent version of pip (8+):
|
|
53
53
|
|
|
54
54
|
.. code-block:: console
|
|
55
55
|
|
|
56
|
-
$ pip install shapely
|
|
56
|
+
$ pip install shapely==1.6b1
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
will be used to get compiler and linker options. If it is not on the PATH,
|
|
60
|
-
it can be specified with a GEOS_CONFIG environment variable, e.g.:
|
|
58
|
+
A few extra speedups that require Numpy can be had by running
|
|
61
59
|
|
|
62
60
|
.. code-block:: console
|
|
63
61
|
|
|
64
|
-
$
|
|
62
|
+
$ pip install shapely[vectorized]==1.6b1
|
|
65
63
|
|
|
66
|
-
If
|
|
67
|
-
|
|
64
|
+
If you want to build Shapely from source for compatibility with
|
|
65
|
+
other modules that depend on GEOS (such as cartopy or osgeo.ogr)
|
|
66
|
+
you may ignore the binary wheels.
|
|
68
67
|
|
|
69
68
|
.. code-block:: console
|
|
70
69
|
|
|
71
|
-
$ pip install shapely
|
|
70
|
+
$ pip install shapely --no-binary shapely
|
|
72
71
|
|
|
73
|
-
|
|
72
|
+
Binary wheels are also available for Linux. To get them, use `pip shapely
|
|
73
|
+
shapely==1.6b1`. To avoid them, use `pip install shapely --no-binary
|
|
74
|
+
shapely==1.6b1`.
|
|
75
|
+
|
|
76
|
+
In other situations, install `geos_c` libs and headers by any means
|
|
77
|
+
(for example, `brew install geos` on OS X or
|
|
78
|
+
`apt-get install libgeos-dev` on Debian/Ubuntu) and install Shapely
|
|
79
|
+
from the Python package index.
|
|
74
80
|
|
|
75
81
|
.. code-block:: console
|
|
76
82
|
|
|
77
|
-
$ pip install shapely
|
|
83
|
+
$ pip install shapely
|
|
78
84
|
|
|
85
|
+
If you've installed GEOS to a standard location, the geos-config program
|
|
86
|
+
will be used to get compiler and linker options. If geos-config is not on
|
|
87
|
+
your executable, it can be specified with a GEOS_CONFIG environment
|
|
88
|
+
variable, e.g.:
|
|
89
|
+
|
|
90
|
+
.. code-block:: console
|
|
91
|
+
|
|
92
|
+
$ GEOS_CONFIG=/path/to/geos-config pip install shapely
|
|
79
93
|
Shapely is also provided by popular Python distributions like Canopy (Enthought)
|
|
80
94
|
and Anaconda (Continuum Analytics).
|
|
81
95
|
|
|
@@ -141,22 +155,14 @@ Description: =======
|
|
|
141
155
|
|
|
142
156
|
.. code-block:: console
|
|
143
157
|
|
|
144
|
-
(env)$
|
|
145
|
-
|
|
146
|
-
Roadmap and Maintenance
|
|
147
|
-
=======================
|
|
148
|
-
|
|
149
|
-
Shapely 1.2.x is a maintenance-only branch which supports Python 2.4-2.6, but
|
|
150
|
-
not Python 3+. There will be no new features in Shapely 1.2.x and only fixes
|
|
151
|
-
for major bugs.
|
|
152
|
-
|
|
153
|
-
Shapely 1.4.x is a maintenance-only branch supporting Pythons 2.7 and 3.3+.
|
|
158
|
+
(env)$ python -m pytest
|
|
154
159
|
|
|
155
160
|
Support
|
|
156
161
|
=======
|
|
157
162
|
|
|
158
|
-
|
|
159
|
-
http://
|
|
163
|
+
Questions about using Shapely may be asked on the `GIS StackExchange
|
|
164
|
+
<http://gis.stackexchange.com/questions/tagged/shapely>`__ using the "shapely"
|
|
165
|
+
tag.
|
|
160
166
|
|
|
161
167
|
Bugs may be reported at https://github.com/Toblerity/Shapely/issues.
|
|
162
168
|
|
|
@@ -231,6 +237,24 @@ Description: =======
|
|
|
231
237
|
Changes
|
|
232
238
|
=======
|
|
233
239
|
|
|
240
|
+
1.6b1 (2016-12-12)
|
|
241
|
+
------------------
|
|
242
|
+
|
|
243
|
+
Bug fixes:
|
|
244
|
+
|
|
245
|
+
- Implemented __array_interface__ for empty Points and LineStrings (#403).
|
|
246
|
+
|
|
247
|
+
1.6a3 (2016-12-01)
|
|
248
|
+
------------------
|
|
249
|
+
|
|
250
|
+
Bug fixes:
|
|
251
|
+
|
|
252
|
+
- Remove accidental hard requirement of Numpy (#431).
|
|
253
|
+
|
|
254
|
+
Packaging:
|
|
255
|
+
|
|
256
|
+
- Put Numpy in an optional requirement set named "vectorized" (#431).
|
|
257
|
+
|
|
234
258
|
1.6a2 (2016-11-09)
|
|
235
259
|
------------------
|
|
236
260
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.6b1
|
|
@@ -178,8 +178,9 @@ 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', '
|
|
182
|
-
}
|
|
181
|
+
'test': ['pytest', 'pytest-cov', 'packaging'],
|
|
182
|
+
'vectorized': ['numpy']}
|
|
183
|
+
|
|
183
184
|
extra_reqs['all'] = list(it.chain.from_iterable(extra_reqs.values()))
|
|
184
185
|
|
|
185
186
|
# Make a dict of setup arguments. Some items will be updated as
|
|
@@ -302,8 +303,8 @@ def construct_build_ext(build_ext):
|
|
|
302
303
|
build_ext.build_extension(self, ext)
|
|
303
304
|
except ext_errors as x:
|
|
304
305
|
raise BuildFailed(x)
|
|
305
|
-
return WrappedBuildExt
|
|
306
306
|
|
|
307
|
+
return WrappedBuildExt
|
|
307
308
|
|
|
308
309
|
if (hasattr(platform, 'python_implementation')
|
|
309
310
|
and platform.python_implementation() == 'PyPy'):
|
|
@@ -311,7 +312,6 @@ if (hasattr(platform, 'python_implementation')
|
|
|
311
312
|
ext_modules = []
|
|
312
313
|
libraries = []
|
|
313
314
|
|
|
314
|
-
|
|
315
315
|
if os.path.exists("MANIFEST.in"):
|
|
316
316
|
pyx_file = "shapely/speedups/_speedups.pyx"
|
|
317
317
|
c_file = "shapely/speedups/_speedups.c"
|
|
@@ -333,15 +333,9 @@ if os.path.exists("MANIFEST.in"):
|
|
|
333
333
|
log.warn("speedup extension not found")
|
|
334
334
|
|
|
335
335
|
ext_modules = [
|
|
336
|
-
Extension(
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
include_dirs=include_dirs,
|
|
340
|
-
library_dirs=library_dirs,
|
|
341
|
-
libraries=libraries,
|
|
342
|
-
extra_link_args=extra_link_args,
|
|
343
|
-
),
|
|
344
|
-
]
|
|
336
|
+
Extension("shapely.speedups._speedups", ["shapely/speedups/_speedups.c"],
|
|
337
|
+
include_dirs=include_dirs, library_dirs=library_dirs,
|
|
338
|
+
libraries=libraries, extra_link_args=extra_link_args)]
|
|
345
339
|
|
|
346
340
|
cmd_classes = setup_args.setdefault('cmdclass', {})
|
|
347
341
|
|
|
@@ -370,7 +364,6 @@ except ImportError:
|
|
|
370
364
|
log.info("Numpy or Cython not available, shapely.vectorized submodule "
|
|
371
365
|
"not being built.")
|
|
372
366
|
|
|
373
|
-
|
|
374
367
|
try:
|
|
375
368
|
# try building with speedups
|
|
376
369
|
existing_build_ext = setup_args['cmdclass'].\
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.6b1"
|
|
@@ -11,27 +11,6 @@ from shapely.topology import Validating
|
|
|
11
11
|
if sys.version_info[0] < 3:
|
|
12
12
|
range = xrange
|
|
13
13
|
|
|
14
|
-
try:
|
|
15
|
-
import numpy
|
|
16
|
-
has_numpy = True
|
|
17
|
-
except ImportError:
|
|
18
|
-
has_numpy = False
|
|
19
|
-
|
|
20
|
-
def required(ob):
|
|
21
|
-
"""Return an object that meets Shapely requirements for self-owned
|
|
22
|
-
C-continguous data, copying if necessary, or just return the original
|
|
23
|
-
object."""
|
|
24
|
-
if hasattr(ob, '__array_interface__'):
|
|
25
|
-
if ob.__array_interface__.get('strides') and not has_numpy:
|
|
26
|
-
# raise an error if strided. See issue #52.
|
|
27
|
-
raise ValueError("C-contiguous data is required")
|
|
28
|
-
else:
|
|
29
|
-
# numpy.require will just return (ob) if it is already
|
|
30
|
-
# float64 and well-behaved.
|
|
31
|
-
return numpy.require(ob, numpy.float64, ["C", "OWNDATA"])
|
|
32
|
-
else:
|
|
33
|
-
return ob
|
|
34
|
-
|
|
35
14
|
|
|
36
15
|
class CoordinateSequence(object):
|
|
37
16
|
"""
|