shapely 1.3.3__tar.gz → 1.4.0__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.3.3 → Shapely-1.4.0}/CHANGES.txt +21 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/CREDITS.txt +4 -0
- {Shapely-1.3.3/Shapely.egg-info → Shapely-1.4.0}/PKG-INFO +72 -30
- {Shapely-1.3.3 → Shapely-1.4.0}/README.rst +46 -29
- {Shapely-1.3.3 → Shapely-1.4.0/Shapely.egg-info}/PKG-INFO +72 -30
- Shapely-1.4.0/Shapely.egg-info/SOURCES.txt +101 -0
- Shapely-1.4.0/VERSION.txt +1 -0
- Shapely-1.4.0/docs/design.rst +30 -0
- Shapely-1.4.0/docs/index.rst +19 -0
- Shapely-1.3.3/docs/manual.txt → Shapely-1.4.0/docs/manual.rst +207 -119
- Shapely-1.4.0/docs/project.rst +6 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/setup.py +14 -45
- Shapely-1.4.0/shapely/__init__.py +1 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/_geos.pxi +7 -1
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/ctypes_declarations.py +38 -1
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/geometry/base.py +22 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/geometry/linestring.py +11 -1
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/geometry/multilinestring.py +12 -7
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/geometry/multipoint.py +10 -5
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/geometry/multipolygon.py +14 -6
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/geometry/point.py +5 -2
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/geometry/polygon.py +13 -1
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/geos.py +19 -1
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/impl.py +1 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/ops.py +46 -3
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/speedups/__init__.py +10 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/speedups/_speedups.c +3649 -1109
- Shapely-1.4.0/shapely/strtree.py +59 -0
- Shapely-1.4.0/shapely/vectorized/_vectorized.c +20100 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/wkt.py +2 -2
- Shapely-1.4.0/tests/__init__.py +25 -0
- Shapely-1.4.0/tests/conftest.py +16 -0
- Shapely-1.4.0/tests/test_delaunay.py +43 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_linestring.py +22 -6
- Shapely-1.4.0/tests/test_nearest.py +22 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_polygon.py +30 -1
- Shapely-1.4.0/tests/test_strtree.py +23 -0
- Shapely-1.3.3/Shapely.egg-info/SOURCES.txt +0 -94
- Shapely-1.3.3/VERSION.txt +0 -1
- Shapely-1.3.3/shapely/__init__.py +0 -1
- Shapely-1.3.3/shapely/examples/world.py +0 -21
- Shapely-1.3.3/shapely/tests/__init__.py +0 -81
- Shapely-1.3.3/shapely/tests/test_speedups.py +0 -39
- {Shapely-1.3.3 → Shapely-1.4.0}/LICENSE.txt +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/Shapely.egg-info/dependency_links.txt +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/Shapely.egg-info/top_level.txt +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/setup.cfg +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/affinity.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/algorithms/__init__.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/algorithms/cga.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/coords.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/examples/__init__.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/examples/dissolve.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/examples/geoms.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/examples/intersect.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/ftools.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/geometry/__init__.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/geometry/collection.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/geometry/geo.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/geometry/proxy.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/iterops.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/linref.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/predicates.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/prepared.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/topology.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/validation.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/vectorized/__init__.py +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/vectorized/_vectorized.pyx +0 -0
- {Shapely-1.3.3 → Shapely-1.4.0}/shapely/wkb.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/binascii_hex.txt +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_affinity.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_box.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_cga.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_collection.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_delegated.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_dlls.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_doctests.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_emptiness.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_equality.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_geointerface.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_geomseq.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_getitem.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_invalid_geometries.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_iterops.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_linear_referencing.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_linemerge.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_locale.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_mapping.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_multilinestring.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_multipoint.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_multipolygon.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_ndarrays.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_operations.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_operators.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_persist.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_pickle.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_point.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_polygonize.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_predicates.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_prepared.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_products_z.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_singularity.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_styles.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_transform.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_union.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_validation.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_vectorized.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/test_xy.py +0 -0
- {Shapely-1.3.3/shapely → Shapely-1.4.0}/tests/threading_test.py +0 -0
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
Changes
|
|
2
2
|
=======
|
|
3
3
|
|
|
4
|
+
1.4.0 (2014-09-08)
|
|
5
|
+
------------------
|
|
6
|
+
- SVG representations for IPython's inline image protocol.
|
|
7
|
+
- Efficient and fast vectorized contains().
|
|
8
|
+
- Change mitre_limit default to 5.0; raise ValueError with 0.0 (#139).
|
|
9
|
+
- Allow mix of tuples and Points in sped-up LineString ctor (#152).
|
|
10
|
+
- New STRtree class (#73).
|
|
11
|
+
- Add ops.nearest_points() (#147).
|
|
12
|
+
- Faster creation of geometric objects from others (cloning) (#165).
|
|
13
|
+
- Removal of tests from package.
|
|
14
|
+
|
|
15
|
+
1.3.3 (2014-07-23)
|
|
16
|
+
------------------
|
|
17
|
+
- Allow single-part geometries as argument to ops.cacaded_union() (#135).
|
|
18
|
+
- Support affine transformations of LinearRings (#112).
|
|
19
|
+
|
|
4
20
|
1.3.3 (2014-07-23)
|
|
5
21
|
------------------
|
|
6
22
|
- Allow single-part geometries as argument to ops.cacaded_union() (#135).
|
|
@@ -10,6 +26,11 @@ Changes
|
|
|
10
26
|
------------------
|
|
11
27
|
- Let LineString() take a sequence of Points (#130).
|
|
12
28
|
|
|
29
|
+
1.3.1 (2014-04-22)
|
|
30
|
+
------------------
|
|
31
|
+
- More reliable proxy cleanup on exit (#106).
|
|
32
|
+
- More robust DLL loading on all platforms (#114).
|
|
33
|
+
|
|
13
34
|
1.3.0 (2013-12-31)
|
|
14
35
|
------------------
|
|
15
36
|
- Include support for Python 3.2 and 3.3 (#56), minimum version is now 2.6.
|
|
@@ -11,6 +11,7 @@ Shapely is written by:
|
|
|
11
11
|
Patches contributed by:
|
|
12
12
|
|
|
13
13
|
* Allan Adair (https://github.com/allanadair)
|
|
14
|
+
* Joshua Arnott (https://github.com/snorfalorpagus)
|
|
14
15
|
* Howard Butler
|
|
15
16
|
* Gabi Davar (https://github.com/mindw)
|
|
16
17
|
* Phil Elson (https://github.com/pelson)
|
|
@@ -23,6 +24,7 @@ Patches contributed by:
|
|
|
23
24
|
* William Kyngesburye (https://github.com/kyngchaos)
|
|
24
25
|
* Eric Lemoine
|
|
25
26
|
* Naveen Michaud-Agrawal (https://github.com/nmichaud)
|
|
27
|
+
* om-henners (https://github.com/om-henners)
|
|
26
28
|
* psagers https://github.com/psagers
|
|
27
29
|
* Jeethu Rao (https://github.com/jeethu)
|
|
28
30
|
* Benjamin Root (https://github.com/WeatherGod)
|
|
@@ -32,6 +34,8 @@ Patches contributed by:
|
|
|
32
34
|
* Kristian Thy
|
|
33
35
|
* Mike Toews (https://github.com/mwtoews)
|
|
34
36
|
* Maarten Vermeyen (https://github.com/maarten-vermeyen)
|
|
37
|
+
* Jacob Wasserman (https://github.com/jwass)
|
|
38
|
+
* Brandon Wood (https://github.com/woodb)
|
|
35
39
|
|
|
36
40
|
See also: https://github.com/Toblerity/Shapely/graphs/contributors.
|
|
37
41
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -12,6 +12,9 @@ Description: =======
|
|
|
12
12
|
|
|
13
13
|
Manipulation and analysis of geometric objects in the Cartesian plane.
|
|
14
14
|
|
|
15
|
+
.. image:: https://travis-ci.org/Toblerity/Shapely.png?branch=master
|
|
16
|
+
:target: https://travis-ci.org/Toblerity/Shapely
|
|
17
|
+
|
|
15
18
|
.. image:: http://farm3.staticflickr.com/2738/4511827859_b5822043b7_o_d.png
|
|
16
19
|
:width: 800
|
|
17
20
|
:height: 400
|
|
@@ -28,7 +31,7 @@ Description: =======
|
|
|
28
31
|
Requirements
|
|
29
32
|
============
|
|
30
33
|
|
|
31
|
-
Shapely 1.
|
|
34
|
+
Shapely 1.4 requires
|
|
32
35
|
|
|
33
36
|
* Python >=2.6 (including Python 3.x)
|
|
34
37
|
* libgeos_c >=3.1 (3.0 and below have not been tested, YMMV)
|
|
@@ -38,13 +41,14 @@ Description: =======
|
|
|
38
41
|
|
|
39
42
|
Windows users should use the executable installer, which contains the required
|
|
40
43
|
GEOS DLL. Other users should acquire libgeos_c by any means, make sure that it
|
|
41
|
-
is on the system library path, and install from the Python package index
|
|
44
|
+
is on the system library path, and install from the Python package index.
|
|
42
45
|
|
|
43
|
-
|
|
46
|
+
.. code-block:: console
|
|
44
47
|
|
|
45
|
-
|
|
48
|
+
$ pip install shapely
|
|
46
49
|
|
|
47
|
-
|
|
50
|
+
Shapely is also provided by popular Python distributions like Enthought Canopy
|
|
51
|
+
and Continuum Analytics Anaconda.
|
|
48
52
|
|
|
49
53
|
.. warning:: Windows users:
|
|
50
54
|
do not under any circumstances use pip (or easy_install) to uninstall
|
|
@@ -56,7 +60,9 @@ Description: =======
|
|
|
56
60
|
=====
|
|
57
61
|
|
|
58
62
|
Here is the canonical example of building an approximately circular patch by
|
|
59
|
-
buffering a point
|
|
63
|
+
buffering a point.
|
|
64
|
+
|
|
65
|
+
.. code-block:: pycon
|
|
60
66
|
|
|
61
67
|
>>> from shapely.geometry import Point
|
|
62
68
|
>>> patch = Point(0.0, 0.0).buffer(10.0)
|
|
@@ -73,40 +79,51 @@ Description: =======
|
|
|
73
79
|
|
|
74
80
|
Shapely does not read or write data files, but it can serialize and deserialize
|
|
75
81
|
using several well known formats and protocols. The shapely.wkb and shapely.wkt
|
|
76
|
-
modules provide dumpers and loaders inspired by Python's pickle module
|
|
82
|
+
modules provide dumpers and loaders inspired by Python's pickle module.
|
|
83
|
+
|
|
84
|
+
.. code-block:: pycon
|
|
77
85
|
|
|
78
86
|
>>> from shapely.wkt import dumps, loads
|
|
79
87
|
>>> dumps(loads('POINT (0 0)'))
|
|
80
88
|
'POINT (0.0000000000000000 0.0000000000000000)'
|
|
81
89
|
|
|
82
90
|
All linear objects, such as the rings of a polygon (like ``patch`` above),
|
|
83
|
-
provide the Numpy array interface
|
|
91
|
+
provide the Numpy array interface.
|
|
84
92
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
>>>
|
|
93
|
+
.. code-block:: pycon
|
|
94
|
+
|
|
95
|
+
>>> import numpy as np
|
|
96
|
+
>>> np.array(patch.exterior)
|
|
88
97
|
array([[ 1.00000000e+01, 0.00000000e+00],
|
|
89
98
|
[ 9.95184727e+00, -9.80171403e-01],
|
|
90
99
|
[ 9.80785280e+00, -1.95090322e+00],
|
|
91
100
|
...
|
|
92
101
|
[ 1.00000000e+01, 0.00000000e+00]])
|
|
93
102
|
|
|
94
|
-
That yields a Numpy array of [x, y] arrays. This is not always exactly what one
|
|
95
|
-
wants for plotting shapes with Matplotlib (for example), so Shapely
|
|
96
|
-
a `xy` property for obtaining separate arrays of coordinate x and y values
|
|
103
|
+
That yields a Numpy array of `[x, y]` arrays. This is not always exactly what one
|
|
104
|
+
wants for plotting shapes with Matplotlib (for example), so Shapely adds
|
|
105
|
+
a `xy` property for obtaining separate arrays of coordinate x and y values.
|
|
106
|
+
|
|
107
|
+
.. code-block:: pycon
|
|
97
108
|
|
|
98
109
|
>>> x, y = patch.exterior.xy
|
|
99
|
-
>>>
|
|
100
|
-
>>> ax
|
|
110
|
+
>>> np.array(x)
|
|
101
111
|
array([ 1.00000000e+01, 9.95184727e+00, 9.80785280e+00, ...])
|
|
102
112
|
|
|
103
|
-
Numpy arrays can also be adapted to Shapely linestrings
|
|
113
|
+
Numpy arrays of `[x, y]` arrays can also be adapted to Shapely linestrings.
|
|
104
114
|
|
|
105
|
-
|
|
106
|
-
|
|
115
|
+
.. code-block:: pycon
|
|
116
|
+
|
|
117
|
+
>>> from shapely.geometry import LineString
|
|
118
|
+
>>> LineString(np.array(patch.exterior)).length
|
|
107
119
|
62.806623139095073
|
|
108
|
-
|
|
109
|
-
|
|
120
|
+
|
|
121
|
+
Numpy arrays of x and y must be transposed.
|
|
122
|
+
|
|
123
|
+
.. code-block::
|
|
124
|
+
|
|
125
|
+
>>> LineString(np.transpose(np.array(patch.exterior.xy))).length
|
|
126
|
+
62.80662313909507
|
|
110
127
|
|
|
111
128
|
Shapely can also integrate with other Python GIS packages using data modeled
|
|
112
129
|
after GeoJSON.
|
|
@@ -126,20 +143,20 @@ Description: =======
|
|
|
126
143
|
|
|
127
144
|
Dependencies for developing Shapely are listed in requirements-dev.txt. Cython
|
|
128
145
|
and Numpy are not required for production installations, only for development.
|
|
129
|
-
Use of a virtual environment is strongly recommended
|
|
146
|
+
Use of a virtual environment is strongly recommended.
|
|
147
|
+
|
|
148
|
+
.. code-block:: console
|
|
130
149
|
|
|
131
150
|
$ virtualenv .
|
|
132
151
|
$ source bin/activate
|
|
133
152
|
(env)$ pip install -r requirements-dev.txt
|
|
134
|
-
(env)$
|
|
153
|
+
(env)$ pip install -e .
|
|
135
154
|
|
|
136
|
-
Shapely's suite of unittests and doctests
|
|
137
|
-
setup.py.::
|
|
155
|
+
We use py.test to run Shapely's suite of unittests and doctests.
|
|
138
156
|
|
|
139
|
-
|
|
157
|
+
.. code-block:: console
|
|
140
158
|
|
|
141
|
-
|
|
142
|
-
supported well by nose.
|
|
159
|
+
(env)$ py.test tests
|
|
143
160
|
|
|
144
161
|
Roadmap and Maintenance
|
|
145
162
|
=======================
|
|
@@ -168,7 +185,7 @@ Description: =======
|
|
|
168
185
|
.. _JTS: http://www.vividsolutions.com/jts/jtshome.htm
|
|
169
186
|
.. _PostGIS: http://postgis.org
|
|
170
187
|
.. _GEOS: http://trac.osgeo.org/geos/
|
|
171
|
-
.. _example apps: https://github.com/
|
|
188
|
+
.. _example apps: https://github.com/Toblerity/shapely/tree/master/shapely/examples
|
|
172
189
|
.. _manual: http://toblerity.github.com/shapely/manual.html
|
|
173
190
|
.. _Pleiades: http://pleiades.stoa.org
|
|
174
191
|
|
|
@@ -186,6 +203,7 @@ Description: =======
|
|
|
186
203
|
Patches contributed by:
|
|
187
204
|
|
|
188
205
|
* Allan Adair (https://github.com/allanadair)
|
|
206
|
+
* Joshua Arnott (https://github.com/snorfalorpagus)
|
|
189
207
|
* Howard Butler
|
|
190
208
|
* Gabi Davar (https://github.com/mindw)
|
|
191
209
|
* Phil Elson (https://github.com/pelson)
|
|
@@ -198,6 +216,7 @@ Description: =======
|
|
|
198
216
|
* William Kyngesburye (https://github.com/kyngchaos)
|
|
199
217
|
* Eric Lemoine
|
|
200
218
|
* Naveen Michaud-Agrawal (https://github.com/nmichaud)
|
|
219
|
+
* om-henners (https://github.com/om-henners)
|
|
201
220
|
* psagers https://github.com/psagers
|
|
202
221
|
* Jeethu Rao (https://github.com/jeethu)
|
|
203
222
|
* Benjamin Root (https://github.com/WeatherGod)
|
|
@@ -207,6 +226,8 @@ Description: =======
|
|
|
207
226
|
* Kristian Thy
|
|
208
227
|
* Mike Toews (https://github.com/mwtoews)
|
|
209
228
|
* Maarten Vermeyen (https://github.com/maarten-vermeyen)
|
|
229
|
+
* Jacob Wasserman (https://github.com/jwass)
|
|
230
|
+
* Brandon Wood (https://github.com/woodb)
|
|
210
231
|
|
|
211
232
|
See also: https://github.com/Toblerity/Shapely/graphs/contributors.
|
|
212
233
|
|
|
@@ -227,6 +248,22 @@ Description: =======
|
|
|
227
248
|
Changes
|
|
228
249
|
=======
|
|
229
250
|
|
|
251
|
+
1.4.0 (2014-09-08)
|
|
252
|
+
------------------
|
|
253
|
+
- SVG representations for IPython's inline image protocol.
|
|
254
|
+
- Efficient and fast vectorized contains().
|
|
255
|
+
- Change mitre_limit default to 5.0; raise ValueError with 0.0 (#139).
|
|
256
|
+
- Allow mix of tuples and Points in sped-up LineString ctor (#152).
|
|
257
|
+
- New STRtree class (#73).
|
|
258
|
+
- Add ops.nearest_points() (#147).
|
|
259
|
+
- Faster creation of geometric objects from others (cloning) (#165).
|
|
260
|
+
- Removal of tests from package.
|
|
261
|
+
|
|
262
|
+
1.3.3 (2014-07-23)
|
|
263
|
+
------------------
|
|
264
|
+
- Allow single-part geometries as argument to ops.cacaded_union() (#135).
|
|
265
|
+
- Support affine transformations of LinearRings (#112).
|
|
266
|
+
|
|
230
267
|
1.3.3 (2014-07-23)
|
|
231
268
|
------------------
|
|
232
269
|
- Allow single-part geometries as argument to ops.cacaded_union() (#135).
|
|
@@ -236,6 +273,11 @@ Description: =======
|
|
|
236
273
|
------------------
|
|
237
274
|
- Let LineString() take a sequence of Points (#130).
|
|
238
275
|
|
|
276
|
+
1.3.1 (2014-04-22)
|
|
277
|
+
------------------
|
|
278
|
+
- More reliable proxy cleanup on exit (#106).
|
|
279
|
+
- More robust DLL loading on all platforms (#114).
|
|
280
|
+
|
|
239
281
|
1.3.0 (2013-12-31)
|
|
240
282
|
------------------
|
|
241
283
|
- Include support for Python 3.2 and 3.3 (#56), minimum version is now 2.6.
|
|
@@ -4,6 +4,9 @@ Shapely
|
|
|
4
4
|
|
|
5
5
|
Manipulation and analysis of geometric objects in the Cartesian plane.
|
|
6
6
|
|
|
7
|
+
.. image:: https://travis-ci.org/Toblerity/Shapely.png?branch=master
|
|
8
|
+
:target: https://travis-ci.org/Toblerity/Shapely
|
|
9
|
+
|
|
7
10
|
.. image:: http://farm3.staticflickr.com/2738/4511827859_b5822043b7_o_d.png
|
|
8
11
|
:width: 800
|
|
9
12
|
:height: 400
|
|
@@ -20,7 +23,7 @@ integrated with packages that are. For more details, see:
|
|
|
20
23
|
Requirements
|
|
21
24
|
============
|
|
22
25
|
|
|
23
|
-
Shapely 1.
|
|
26
|
+
Shapely 1.4 requires
|
|
24
27
|
|
|
25
28
|
* Python >=2.6 (including Python 3.x)
|
|
26
29
|
* libgeos_c >=3.1 (3.0 and below have not been tested, YMMV)
|
|
@@ -30,13 +33,14 @@ Installation
|
|
|
30
33
|
|
|
31
34
|
Windows users should use the executable installer, which contains the required
|
|
32
35
|
GEOS DLL. Other users should acquire libgeos_c by any means, make sure that it
|
|
33
|
-
is on the system library path, and install from the Python package index
|
|
36
|
+
is on the system library path, and install from the Python package index.
|
|
34
37
|
|
|
35
|
-
|
|
38
|
+
.. code-block:: console
|
|
36
39
|
|
|
37
|
-
|
|
40
|
+
$ pip install shapely
|
|
38
41
|
|
|
39
|
-
|
|
42
|
+
Shapely is also provided by popular Python distributions like Enthought Canopy
|
|
43
|
+
and Continuum Analytics Anaconda.
|
|
40
44
|
|
|
41
45
|
.. warning:: Windows users:
|
|
42
46
|
do not under any circumstances use pip (or easy_install) to uninstall
|
|
@@ -48,7 +52,9 @@ Usage
|
|
|
48
52
|
=====
|
|
49
53
|
|
|
50
54
|
Here is the canonical example of building an approximately circular patch by
|
|
51
|
-
buffering a point
|
|
55
|
+
buffering a point.
|
|
56
|
+
|
|
57
|
+
.. code-block:: pycon
|
|
52
58
|
|
|
53
59
|
>>> from shapely.geometry import Point
|
|
54
60
|
>>> patch = Point(0.0, 0.0).buffer(10.0)
|
|
@@ -65,40 +71,51 @@ Integration
|
|
|
65
71
|
|
|
66
72
|
Shapely does not read or write data files, but it can serialize and deserialize
|
|
67
73
|
using several well known formats and protocols. The shapely.wkb and shapely.wkt
|
|
68
|
-
modules provide dumpers and loaders inspired by Python's pickle module
|
|
74
|
+
modules provide dumpers and loaders inspired by Python's pickle module.
|
|
75
|
+
|
|
76
|
+
.. code-block:: pycon
|
|
69
77
|
|
|
70
78
|
>>> from shapely.wkt import dumps, loads
|
|
71
79
|
>>> dumps(loads('POINT (0 0)'))
|
|
72
80
|
'POINT (0.0000000000000000 0.0000000000000000)'
|
|
73
81
|
|
|
74
82
|
All linear objects, such as the rings of a polygon (like ``patch`` above),
|
|
75
|
-
provide the Numpy array interface
|
|
83
|
+
provide the Numpy array interface.
|
|
76
84
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
>>>
|
|
85
|
+
.. code-block:: pycon
|
|
86
|
+
|
|
87
|
+
>>> import numpy as np
|
|
88
|
+
>>> np.array(patch.exterior)
|
|
80
89
|
array([[ 1.00000000e+01, 0.00000000e+00],
|
|
81
90
|
[ 9.95184727e+00, -9.80171403e-01],
|
|
82
91
|
[ 9.80785280e+00, -1.95090322e+00],
|
|
83
92
|
...
|
|
84
93
|
[ 1.00000000e+01, 0.00000000e+00]])
|
|
85
94
|
|
|
86
|
-
That yields a Numpy array of [x, y] arrays. This is not always exactly what one
|
|
87
|
-
wants for plotting shapes with Matplotlib (for example), so Shapely
|
|
88
|
-
a `xy` property for obtaining separate arrays of coordinate x and y values
|
|
95
|
+
That yields a Numpy array of `[x, y]` arrays. This is not always exactly what one
|
|
96
|
+
wants for plotting shapes with Matplotlib (for example), so Shapely adds
|
|
97
|
+
a `xy` property for obtaining separate arrays of coordinate x and y values.
|
|
98
|
+
|
|
99
|
+
.. code-block:: pycon
|
|
89
100
|
|
|
90
101
|
>>> x, y = patch.exterior.xy
|
|
91
|
-
>>>
|
|
92
|
-
>>> ax
|
|
102
|
+
>>> np.array(x)
|
|
93
103
|
array([ 1.00000000e+01, 9.95184727e+00, 9.80785280e+00, ...])
|
|
94
104
|
|
|
95
|
-
Numpy arrays can also be adapted to Shapely linestrings
|
|
105
|
+
Numpy arrays of `[x, y]` arrays can also be adapted to Shapely linestrings.
|
|
96
106
|
|
|
97
|
-
|
|
98
|
-
|
|
107
|
+
.. code-block:: pycon
|
|
108
|
+
|
|
109
|
+
>>> from shapely.geometry import LineString
|
|
110
|
+
>>> LineString(np.array(patch.exterior)).length
|
|
99
111
|
62.806623139095073
|
|
100
|
-
|
|
101
|
-
|
|
112
|
+
|
|
113
|
+
Numpy arrays of x and y must be transposed.
|
|
114
|
+
|
|
115
|
+
.. code-block::
|
|
116
|
+
|
|
117
|
+
>>> LineString(np.transpose(np.array(patch.exterior.xy))).length
|
|
118
|
+
62.80662313909507
|
|
102
119
|
|
|
103
120
|
Shapely can also integrate with other Python GIS packages using data modeled
|
|
104
121
|
after GeoJSON.
|
|
@@ -118,20 +135,20 @@ Development and Testing
|
|
|
118
135
|
|
|
119
136
|
Dependencies for developing Shapely are listed in requirements-dev.txt. Cython
|
|
120
137
|
and Numpy are not required for production installations, only for development.
|
|
121
|
-
Use of a virtual environment is strongly recommended
|
|
138
|
+
Use of a virtual environment is strongly recommended.
|
|
139
|
+
|
|
140
|
+
.. code-block:: console
|
|
122
141
|
|
|
123
142
|
$ virtualenv .
|
|
124
143
|
$ source bin/activate
|
|
125
144
|
(env)$ pip install -r requirements-dev.txt
|
|
126
|
-
(env)$
|
|
145
|
+
(env)$ pip install -e .
|
|
127
146
|
|
|
128
|
-
Shapely's suite of unittests and doctests
|
|
129
|
-
setup.py.::
|
|
147
|
+
We use py.test to run Shapely's suite of unittests and doctests.
|
|
130
148
|
|
|
131
|
-
|
|
149
|
+
.. code-block:: console
|
|
132
150
|
|
|
133
|
-
|
|
134
|
-
supported well by nose.
|
|
151
|
+
(env)$ py.test tests
|
|
135
152
|
|
|
136
153
|
Roadmap and Maintenance
|
|
137
154
|
=======================
|
|
@@ -160,7 +177,7 @@ Bugs may be reported at https://github.com/Toblerity/Shapely.
|
|
|
160
177
|
.. _JTS: http://www.vividsolutions.com/jts/jtshome.htm
|
|
161
178
|
.. _PostGIS: http://postgis.org
|
|
162
179
|
.. _GEOS: http://trac.osgeo.org/geos/
|
|
163
|
-
.. _example apps: https://github.com/
|
|
180
|
+
.. _example apps: https://github.com/Toblerity/shapely/tree/master/shapely/examples
|
|
164
181
|
.. _manual: http://toblerity.github.com/shapely/manual.html
|
|
165
182
|
.. _Pleiades: http://pleiades.stoa.org
|
|
166
183
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -12,6 +12,9 @@ Description: =======
|
|
|
12
12
|
|
|
13
13
|
Manipulation and analysis of geometric objects in the Cartesian plane.
|
|
14
14
|
|
|
15
|
+
.. image:: https://travis-ci.org/Toblerity/Shapely.png?branch=master
|
|
16
|
+
:target: https://travis-ci.org/Toblerity/Shapely
|
|
17
|
+
|
|
15
18
|
.. image:: http://farm3.staticflickr.com/2738/4511827859_b5822043b7_o_d.png
|
|
16
19
|
:width: 800
|
|
17
20
|
:height: 400
|
|
@@ -28,7 +31,7 @@ Description: =======
|
|
|
28
31
|
Requirements
|
|
29
32
|
============
|
|
30
33
|
|
|
31
|
-
Shapely 1.
|
|
34
|
+
Shapely 1.4 requires
|
|
32
35
|
|
|
33
36
|
* Python >=2.6 (including Python 3.x)
|
|
34
37
|
* libgeos_c >=3.1 (3.0 and below have not been tested, YMMV)
|
|
@@ -38,13 +41,14 @@ Description: =======
|
|
|
38
41
|
|
|
39
42
|
Windows users should use the executable installer, which contains the required
|
|
40
43
|
GEOS DLL. Other users should acquire libgeos_c by any means, make sure that it
|
|
41
|
-
is on the system library path, and install from the Python package index
|
|
44
|
+
is on the system library path, and install from the Python package index.
|
|
42
45
|
|
|
43
|
-
|
|
46
|
+
.. code-block:: console
|
|
44
47
|
|
|
45
|
-
|
|
48
|
+
$ pip install shapely
|
|
46
49
|
|
|
47
|
-
|
|
50
|
+
Shapely is also provided by popular Python distributions like Enthought Canopy
|
|
51
|
+
and Continuum Analytics Anaconda.
|
|
48
52
|
|
|
49
53
|
.. warning:: Windows users:
|
|
50
54
|
do not under any circumstances use pip (or easy_install) to uninstall
|
|
@@ -56,7 +60,9 @@ Description: =======
|
|
|
56
60
|
=====
|
|
57
61
|
|
|
58
62
|
Here is the canonical example of building an approximately circular patch by
|
|
59
|
-
buffering a point
|
|
63
|
+
buffering a point.
|
|
64
|
+
|
|
65
|
+
.. code-block:: pycon
|
|
60
66
|
|
|
61
67
|
>>> from shapely.geometry import Point
|
|
62
68
|
>>> patch = Point(0.0, 0.0).buffer(10.0)
|
|
@@ -73,40 +79,51 @@ Description: =======
|
|
|
73
79
|
|
|
74
80
|
Shapely does not read or write data files, but it can serialize and deserialize
|
|
75
81
|
using several well known formats and protocols. The shapely.wkb and shapely.wkt
|
|
76
|
-
modules provide dumpers and loaders inspired by Python's pickle module
|
|
82
|
+
modules provide dumpers and loaders inspired by Python's pickle module.
|
|
83
|
+
|
|
84
|
+
.. code-block:: pycon
|
|
77
85
|
|
|
78
86
|
>>> from shapely.wkt import dumps, loads
|
|
79
87
|
>>> dumps(loads('POINT (0 0)'))
|
|
80
88
|
'POINT (0.0000000000000000 0.0000000000000000)'
|
|
81
89
|
|
|
82
90
|
All linear objects, such as the rings of a polygon (like ``patch`` above),
|
|
83
|
-
provide the Numpy array interface
|
|
91
|
+
provide the Numpy array interface.
|
|
84
92
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
>>>
|
|
93
|
+
.. code-block:: pycon
|
|
94
|
+
|
|
95
|
+
>>> import numpy as np
|
|
96
|
+
>>> np.array(patch.exterior)
|
|
88
97
|
array([[ 1.00000000e+01, 0.00000000e+00],
|
|
89
98
|
[ 9.95184727e+00, -9.80171403e-01],
|
|
90
99
|
[ 9.80785280e+00, -1.95090322e+00],
|
|
91
100
|
...
|
|
92
101
|
[ 1.00000000e+01, 0.00000000e+00]])
|
|
93
102
|
|
|
94
|
-
That yields a Numpy array of [x, y] arrays. This is not always exactly what one
|
|
95
|
-
wants for plotting shapes with Matplotlib (for example), so Shapely
|
|
96
|
-
a `xy` property for obtaining separate arrays of coordinate x and y values
|
|
103
|
+
That yields a Numpy array of `[x, y]` arrays. This is not always exactly what one
|
|
104
|
+
wants for plotting shapes with Matplotlib (for example), so Shapely adds
|
|
105
|
+
a `xy` property for obtaining separate arrays of coordinate x and y values.
|
|
106
|
+
|
|
107
|
+
.. code-block:: pycon
|
|
97
108
|
|
|
98
109
|
>>> x, y = patch.exterior.xy
|
|
99
|
-
>>>
|
|
100
|
-
>>> ax
|
|
110
|
+
>>> np.array(x)
|
|
101
111
|
array([ 1.00000000e+01, 9.95184727e+00, 9.80785280e+00, ...])
|
|
102
112
|
|
|
103
|
-
Numpy arrays can also be adapted to Shapely linestrings
|
|
113
|
+
Numpy arrays of `[x, y]` arrays can also be adapted to Shapely linestrings.
|
|
104
114
|
|
|
105
|
-
|
|
106
|
-
|
|
115
|
+
.. code-block:: pycon
|
|
116
|
+
|
|
117
|
+
>>> from shapely.geometry import LineString
|
|
118
|
+
>>> LineString(np.array(patch.exterior)).length
|
|
107
119
|
62.806623139095073
|
|
108
|
-
|
|
109
|
-
|
|
120
|
+
|
|
121
|
+
Numpy arrays of x and y must be transposed.
|
|
122
|
+
|
|
123
|
+
.. code-block::
|
|
124
|
+
|
|
125
|
+
>>> LineString(np.transpose(np.array(patch.exterior.xy))).length
|
|
126
|
+
62.80662313909507
|
|
110
127
|
|
|
111
128
|
Shapely can also integrate with other Python GIS packages using data modeled
|
|
112
129
|
after GeoJSON.
|
|
@@ -126,20 +143,20 @@ Description: =======
|
|
|
126
143
|
|
|
127
144
|
Dependencies for developing Shapely are listed in requirements-dev.txt. Cython
|
|
128
145
|
and Numpy are not required for production installations, only for development.
|
|
129
|
-
Use of a virtual environment is strongly recommended
|
|
146
|
+
Use of a virtual environment is strongly recommended.
|
|
147
|
+
|
|
148
|
+
.. code-block:: console
|
|
130
149
|
|
|
131
150
|
$ virtualenv .
|
|
132
151
|
$ source bin/activate
|
|
133
152
|
(env)$ pip install -r requirements-dev.txt
|
|
134
|
-
(env)$
|
|
153
|
+
(env)$ pip install -e .
|
|
135
154
|
|
|
136
|
-
Shapely's suite of unittests and doctests
|
|
137
|
-
setup.py.::
|
|
155
|
+
We use py.test to run Shapely's suite of unittests and doctests.
|
|
138
156
|
|
|
139
|
-
|
|
157
|
+
.. code-block:: console
|
|
140
158
|
|
|
141
|
-
|
|
142
|
-
supported well by nose.
|
|
159
|
+
(env)$ py.test tests
|
|
143
160
|
|
|
144
161
|
Roadmap and Maintenance
|
|
145
162
|
=======================
|
|
@@ -168,7 +185,7 @@ Description: =======
|
|
|
168
185
|
.. _JTS: http://www.vividsolutions.com/jts/jtshome.htm
|
|
169
186
|
.. _PostGIS: http://postgis.org
|
|
170
187
|
.. _GEOS: http://trac.osgeo.org/geos/
|
|
171
|
-
.. _example apps: https://github.com/
|
|
188
|
+
.. _example apps: https://github.com/Toblerity/shapely/tree/master/shapely/examples
|
|
172
189
|
.. _manual: http://toblerity.github.com/shapely/manual.html
|
|
173
190
|
.. _Pleiades: http://pleiades.stoa.org
|
|
174
191
|
|
|
@@ -186,6 +203,7 @@ Description: =======
|
|
|
186
203
|
Patches contributed by:
|
|
187
204
|
|
|
188
205
|
* Allan Adair (https://github.com/allanadair)
|
|
206
|
+
* Joshua Arnott (https://github.com/snorfalorpagus)
|
|
189
207
|
* Howard Butler
|
|
190
208
|
* Gabi Davar (https://github.com/mindw)
|
|
191
209
|
* Phil Elson (https://github.com/pelson)
|
|
@@ -198,6 +216,7 @@ Description: =======
|
|
|
198
216
|
* William Kyngesburye (https://github.com/kyngchaos)
|
|
199
217
|
* Eric Lemoine
|
|
200
218
|
* Naveen Michaud-Agrawal (https://github.com/nmichaud)
|
|
219
|
+
* om-henners (https://github.com/om-henners)
|
|
201
220
|
* psagers https://github.com/psagers
|
|
202
221
|
* Jeethu Rao (https://github.com/jeethu)
|
|
203
222
|
* Benjamin Root (https://github.com/WeatherGod)
|
|
@@ -207,6 +226,8 @@ Description: =======
|
|
|
207
226
|
* Kristian Thy
|
|
208
227
|
* Mike Toews (https://github.com/mwtoews)
|
|
209
228
|
* Maarten Vermeyen (https://github.com/maarten-vermeyen)
|
|
229
|
+
* Jacob Wasserman (https://github.com/jwass)
|
|
230
|
+
* Brandon Wood (https://github.com/woodb)
|
|
210
231
|
|
|
211
232
|
See also: https://github.com/Toblerity/Shapely/graphs/contributors.
|
|
212
233
|
|
|
@@ -227,6 +248,22 @@ Description: =======
|
|
|
227
248
|
Changes
|
|
228
249
|
=======
|
|
229
250
|
|
|
251
|
+
1.4.0 (2014-09-08)
|
|
252
|
+
------------------
|
|
253
|
+
- SVG representations for IPython's inline image protocol.
|
|
254
|
+
- Efficient and fast vectorized contains().
|
|
255
|
+
- Change mitre_limit default to 5.0; raise ValueError with 0.0 (#139).
|
|
256
|
+
- Allow mix of tuples and Points in sped-up LineString ctor (#152).
|
|
257
|
+
- New STRtree class (#73).
|
|
258
|
+
- Add ops.nearest_points() (#147).
|
|
259
|
+
- Faster creation of geometric objects from others (cloning) (#165).
|
|
260
|
+
- Removal of tests from package.
|
|
261
|
+
|
|
262
|
+
1.3.3 (2014-07-23)
|
|
263
|
+
------------------
|
|
264
|
+
- Allow single-part geometries as argument to ops.cacaded_union() (#135).
|
|
265
|
+
- Support affine transformations of LinearRings (#112).
|
|
266
|
+
|
|
230
267
|
1.3.3 (2014-07-23)
|
|
231
268
|
------------------
|
|
232
269
|
- Allow single-part geometries as argument to ops.cacaded_union() (#135).
|
|
@@ -236,6 +273,11 @@ Description: =======
|
|
|
236
273
|
------------------
|
|
237
274
|
- Let LineString() take a sequence of Points (#130).
|
|
238
275
|
|
|
276
|
+
1.3.1 (2014-04-22)
|
|
277
|
+
------------------
|
|
278
|
+
- More reliable proxy cleanup on exit (#106).
|
|
279
|
+
- More robust DLL loading on all platforms (#114).
|
|
280
|
+
|
|
239
281
|
1.3.0 (2013-12-31)
|
|
240
282
|
------------------
|
|
241
283
|
- Include support for Python 3.2 and 3.3 (#56), minimum version is now 2.6.
|