shapely 1.2.10__tar.gz → 1.2.13__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.2.10 → Shapely-1.2.13}/CHANGES.txt +21 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/CREDITS.txt +3 -1
- {Shapely-1.2.10/Shapely.egg-info → Shapely-1.2.13}/PKG-INFO +48 -29
- Shapely-1.2.10/README.txt → Shapely-1.2.13/README.rst +25 -27
- {Shapely-1.2.10 → Shapely-1.2.13/Shapely.egg-info}/PKG-INFO +48 -29
- {Shapely-1.2.10 → Shapely-1.2.13}/Shapely.egg-info/SOURCES.txt +1 -1
- {Shapely-1.2.10 → Shapely-1.2.13}/docs/manual.txt +10 -10
- {Shapely-1.2.10 → Shapely-1.2.13}/setup.py +18 -5
- Shapely-1.2.13/shapely/__init__.py +2 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/ctypes_declarations.py +5 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/base.py +4 -1
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/linestring.py +8 -13
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/multilinestring.py +0 -3
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/multipoint.py +3 -2
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/polygon.py +19 -39
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geos.py +7 -6
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/predicates.py +2 -2
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/prepared.py +4 -1
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/speedups/__init__.py +3 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/speedups/_speedups.c +66 -57
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/speedups/_speedups.pyx +11 -11
- Shapely-1.2.13/shapely/tests/test_prepared.py +28 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/topology.py +6 -8
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/wkb.py +2 -2
- Shapely-1.2.10/shapely/__init__.py +0 -1
- Shapely-1.2.10/shapely/tests/test_prepared.py +0 -15
- {Shapely-1.2.10 → Shapely-1.2.13}/LICENSE.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/Shapely.egg-info/dependency_links.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/Shapely.egg-info/top_level.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/setup.cfg +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/algorithms/__init__.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/algorithms/cga.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/coords.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/examples/__init__.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/examples/dissolve.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/examples/geoms.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/examples/intersect.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/examples/world.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/ftools.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/__init__.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/collection.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/geo.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/multipolygon.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/point.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/proxy.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/impl.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/iterops.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/linref.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/ops.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/Array.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/GeoInterface.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/IterOps.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/LineString.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/MultiLineString.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/MultiPoint.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/MultiPolygon.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/Operations.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/Persist.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/Point.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/Polygon.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/Predicates.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/__init__.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/attribute-chains.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/binascii_hex.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/cascaded_union.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/dimensions.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/invalid_intersection.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/linemerge.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/polygonize.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_box.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_cga.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_collection.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_delegated.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_dlls.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_doctests.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_emptiness.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_equality.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_geomseq.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_linear_referencing.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_mapping.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_products_z.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_singularity.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_speedups.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_validation.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_xy.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/threading_test.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/wkt_locale.txt +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/validation.py +0 -0
- {Shapely-1.2.10 → Shapely-1.2.13}/shapely/wkt.py +0 -0
|
@@ -2,6 +2,27 @@
|
|
|
2
2
|
CHANGES
|
|
3
3
|
=======
|
|
4
4
|
|
|
5
|
+
1.2.13 (2011-09-16)
|
|
6
|
+
-------------------
|
|
7
|
+
- Fixed errors in speedups on 32bit systems when GEOS references memory above 2GB.
|
|
8
|
+
- Add shapely.__version__ attribute.
|
|
9
|
+
- Update the manual.
|
|
10
|
+
|
|
11
|
+
1.2.12 (2011-08-15)
|
|
12
|
+
-------------------
|
|
13
|
+
- Build Windows distributions with VC7 or VC9 as appropriate.
|
|
14
|
+
- More verbose report on failure to speed up.
|
|
15
|
+
- Fix for prepared geometries broken in 1.2.11.
|
|
16
|
+
- DO NOT INSTALL 1.2.11
|
|
17
|
+
|
|
18
|
+
1.2.11 (2011-08-04)
|
|
19
|
+
-------------------
|
|
20
|
+
- Ignore AttributeError during exit.
|
|
21
|
+
- PyPy 1.5 support.
|
|
22
|
+
- Prevent operation on prepared geometry crasher (#12).
|
|
23
|
+
- Optional Cython speedups for Windows.
|
|
24
|
+
- Linux 3 platform support.
|
|
25
|
+
|
|
5
26
|
1.2.10 (2011-05-09)
|
|
6
27
|
-------------------
|
|
7
28
|
- Add optional Cython speedups.
|
|
@@ -3,6 +3,7 @@ Shapely is written by:
|
|
|
3
3
|
* Sean Gillies
|
|
4
4
|
* Aron Bierbaum
|
|
5
5
|
* Kai Lautaportti
|
|
6
|
+
* Oliver Tonnhofer
|
|
6
7
|
|
|
7
8
|
Patches contributed by:
|
|
8
9
|
|
|
@@ -11,7 +12,6 @@ Patches contributed by:
|
|
|
11
12
|
* Eric Lemoine
|
|
12
13
|
* Jonathan Tartley
|
|
13
14
|
* Kristian Thy
|
|
14
|
-
* Oliver Tonnhofer
|
|
15
15
|
|
|
16
16
|
Additional help from:
|
|
17
17
|
|
|
@@ -22,3 +22,5 @@ Additional help from:
|
|
|
22
22
|
|
|
23
23
|
Major portions of this work were supported by a grant (for Pleiades_) from the
|
|
24
24
|
U.S. National Endowment for the Humanities (http://www.neh.gov).
|
|
25
|
+
|
|
26
|
+
.. _Pleiades: http://pleiades.stoa.org
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
Metadata-Version: 1.0
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.13
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
|
-
Home-page:
|
|
5
|
+
Home-page: https://github.com/sgillies/shapely
|
|
6
6
|
Author: Sean Gillies
|
|
7
7
|
Author-email: sean.gillies@gmail.com
|
|
8
8
|
License: BSD
|
|
9
|
-
Description:
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
Description: =======
|
|
10
|
+
Shapely
|
|
11
|
+
=======
|
|
12
|
+
|
|
13
|
+
PostGIS-ish operations outside a database context for Pythoneers and Pythonistas
|
|
12
14
|
|
|
13
15
|
.. image:: http://farm3.static.flickr.com/2738/4511827859_b5822043b7_o_d.png
|
|
14
16
|
:width: 800
|
|
15
17
|
:height: 400
|
|
16
18
|
|
|
17
19
|
Shapely is a BSD-licensed Python package for manipulation and analysis of
|
|
18
|
-
planar geometric objects. It is
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
In a nutshell: Shapely lets you do PostGIS-ish stuff outside the context of a
|
|
24
|
-
database using idiomatic Python. For more details, see:
|
|
20
|
+
planar geometric objects. It is based on the widely deployed GEOS_ (the engine
|
|
21
|
+
of PostGIS_) and JTS_ (from which GEOS is ported) libraries. This C dependency
|
|
22
|
+
is traded for the ability to execute with blazing speed. Shapely is not
|
|
23
|
+
concerned with data formats or coordinate systems, but can be readily
|
|
24
|
+
integrated with packages that are. For more details, see:
|
|
25
25
|
|
|
26
26
|
* Shapely wiki_
|
|
27
27
|
* Shapely manual_
|
|
28
28
|
* Shapely `example apps`_
|
|
29
29
|
|
|
30
30
|
Dependencies
|
|
31
|
-
|
|
31
|
+
============
|
|
32
32
|
|
|
33
33
|
Shapely 1.2 depends on:
|
|
34
34
|
|
|
@@ -36,7 +36,7 @@ Description: ======
|
|
|
36
36
|
* libgeos_c >=3.1 (3.0 and below have not been tested, YMMV)
|
|
37
37
|
|
|
38
38
|
Installation
|
|
39
|
-
|
|
39
|
+
============
|
|
40
40
|
|
|
41
41
|
Windows users should use the executable installer, which contains the required
|
|
42
42
|
GEOS DLL. Other users should acquire libgeos_c by any means, make sure that it
|
|
@@ -49,7 +49,7 @@ Description: ======
|
|
|
49
49
|
$ python setup.py install
|
|
50
50
|
|
|
51
51
|
Usage
|
|
52
|
-
|
|
52
|
+
=====
|
|
53
53
|
|
|
54
54
|
Here is the canonical example of building an approximately circular patch by
|
|
55
55
|
buffering a point::
|
|
@@ -65,7 +65,7 @@ Description: ======
|
|
|
65
65
|
intersect.py `example apps`_.
|
|
66
66
|
|
|
67
67
|
Integration
|
|
68
|
-
|
|
68
|
+
===========
|
|
69
69
|
|
|
70
70
|
Shapely does not read or write data files, but it can serialize and deserialize
|
|
71
71
|
using several well known formats and protocols. The shapely.wkb and shapely.wkt
|
|
@@ -88,8 +88,8 @@ Description: ======
|
|
|
88
88
|
[ 1.00000000e+01, 0.00000000e+00]])
|
|
89
89
|
|
|
90
90
|
That yields a numpy array of [x, y] arrays. This is not always exactly what one
|
|
91
|
-
wants for plotting shapes with Matplotlib, so Shapely 1.2 adds
|
|
92
|
-
for
|
|
91
|
+
wants for plotting shapes with Matplotlib (for example), so Shapely 1.2 adds
|
|
92
|
+
a `xy` property for obtaining separate arrays of coordinate x and y values.::
|
|
93
93
|
|
|
94
94
|
>>> x, y = patch.exterior.xy
|
|
95
95
|
>>> ax = asarray(x)
|
|
@@ -105,7 +105,7 @@ Description: ======
|
|
|
105
105
|
'LINESTRING (10.0000000000000000 0.0000000000000000, ...)'
|
|
106
106
|
|
|
107
107
|
Testing
|
|
108
|
-
|
|
108
|
+
=======
|
|
109
109
|
|
|
110
110
|
Shapely uses a Zope-stye suite of unittests and doctests, excercised via
|
|
111
111
|
setup.py.::
|
|
@@ -116,16 +116,12 @@ Description: ======
|
|
|
116
116
|
supported well by nose.
|
|
117
117
|
|
|
118
118
|
Support
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
For current information about this project, see the wiki_.
|
|
122
|
-
|
|
123
|
-
If you have questions, please consider joining our community list:
|
|
119
|
+
=======
|
|
124
120
|
|
|
125
|
-
|
|
121
|
+
Bugs may be reported and questions asked via https://github.com/sgillies/shapely.
|
|
126
122
|
|
|
127
123
|
Credits
|
|
128
|
-
|
|
124
|
+
=======
|
|
129
125
|
|
|
130
126
|
Shapely is written by:
|
|
131
127
|
|
|
@@ -136,8 +132,8 @@ Description: ======
|
|
|
136
132
|
Patches contributed by:
|
|
137
133
|
|
|
138
134
|
* Howard Butler
|
|
139
|
-
* Fr |
|
|
140
|
-
*
|
|
135
|
+
* Fr |eacute| d |eacute| ric Junod
|
|
136
|
+
* |Eacute| ric Lemoine
|
|
141
137
|
* Jonathan Tartley
|
|
142
138
|
* Kristian Thy
|
|
143
139
|
* Oliver Tonnhofer
|
|
@@ -158,7 +154,9 @@ Description: ======
|
|
|
158
154
|
.. _example apps: http://trac.gispython.org/lab/wiki/Examples
|
|
159
155
|
.. _wiki: http://trac.gispython.org/lab/wiki/Shapely
|
|
160
156
|
.. _manual: http://gispython.org/shapely/docs/1.2
|
|
161
|
-
.. |
|
|
157
|
+
.. |eacute| unicode:: U+00E9
|
|
158
|
+
:trim:
|
|
159
|
+
.. |Eacute| unicode:: U+00C9
|
|
162
160
|
:trim:
|
|
163
161
|
.. _Pleiades: http://pleiades.stoa.org
|
|
164
162
|
|
|
@@ -166,6 +164,27 @@ Description: ======
|
|
|
166
164
|
CHANGES
|
|
167
165
|
=======
|
|
168
166
|
|
|
167
|
+
1.2.13 (2011-09-16)
|
|
168
|
+
-------------------
|
|
169
|
+
- Fixed errors in speedups on 32bit systems when GEOS references memory above 2GB.
|
|
170
|
+
- Add shapely.__version__ attribute.
|
|
171
|
+
- Update the manual.
|
|
172
|
+
|
|
173
|
+
1.2.12 (2011-08-15)
|
|
174
|
+
-------------------
|
|
175
|
+
- Build Windows distributions with VC7 or VC9 as appropriate.
|
|
176
|
+
- More verbose report on failure to speed up.
|
|
177
|
+
- Fix for prepared geometries broken in 1.2.11.
|
|
178
|
+
- DO NOT INSTALL 1.2.11
|
|
179
|
+
|
|
180
|
+
1.2.11 (2011-08-04)
|
|
181
|
+
-------------------
|
|
182
|
+
- Ignore AttributeError during exit.
|
|
183
|
+
- PyPy 1.5 support.
|
|
184
|
+
- Prevent operation on prepared geometry crasher (#12).
|
|
185
|
+
- Optional Cython speedups for Windows.
|
|
186
|
+
- Linux 3 platform support.
|
|
187
|
+
|
|
169
188
|
1.2.10 (2011-05-09)
|
|
170
189
|
-------------------
|
|
171
190
|
- Add optional Cython speedups.
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
=======
|
|
2
|
+
Shapely
|
|
3
|
+
=======
|
|
4
|
+
|
|
5
|
+
PostGIS-ish operations outside a database context for Pythoneers and Pythonistas
|
|
4
6
|
|
|
5
7
|
.. image:: http://farm3.static.flickr.com/2738/4511827859_b5822043b7_o_d.png
|
|
6
8
|
:width: 800
|
|
7
9
|
:height: 400
|
|
8
10
|
|
|
9
11
|
Shapely is a BSD-licensed Python package for manipulation and analysis of
|
|
10
|
-
planar geometric objects. It is
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
In a nutshell: Shapely lets you do PostGIS-ish stuff outside the context of a
|
|
16
|
-
database using idiomatic Python. For more details, see:
|
|
12
|
+
planar geometric objects. It is based on the widely deployed GEOS_ (the engine
|
|
13
|
+
of PostGIS_) and JTS_ (from which GEOS is ported) libraries. This C dependency
|
|
14
|
+
is traded for the ability to execute with blazing speed. Shapely is not
|
|
15
|
+
concerned with data formats or coordinate systems, but can be readily
|
|
16
|
+
integrated with packages that are. For more details, see:
|
|
17
17
|
|
|
18
18
|
* Shapely wiki_
|
|
19
19
|
* Shapely manual_
|
|
20
20
|
* Shapely `example apps`_
|
|
21
21
|
|
|
22
22
|
Dependencies
|
|
23
|
-
|
|
23
|
+
============
|
|
24
24
|
|
|
25
25
|
Shapely 1.2 depends on:
|
|
26
26
|
|
|
@@ -28,7 +28,7 @@ Shapely 1.2 depends on:
|
|
|
28
28
|
* libgeos_c >=3.1 (3.0 and below have not been tested, YMMV)
|
|
29
29
|
|
|
30
30
|
Installation
|
|
31
|
-
|
|
31
|
+
============
|
|
32
32
|
|
|
33
33
|
Windows users should use the executable installer, which contains the required
|
|
34
34
|
GEOS DLL. Other users should acquire libgeos_c by any means, make sure that it
|
|
@@ -41,7 +41,7 @@ or from a source distribution with the setup script::
|
|
|
41
41
|
$ python setup.py install
|
|
42
42
|
|
|
43
43
|
Usage
|
|
44
|
-
|
|
44
|
+
=====
|
|
45
45
|
|
|
46
46
|
Here is the canonical example of building an approximately circular patch by
|
|
47
47
|
buffering a point::
|
|
@@ -57,7 +57,7 @@ See the manual_ for comprehensive usage snippets and the dissolve.py and
|
|
|
57
57
|
intersect.py `example apps`_.
|
|
58
58
|
|
|
59
59
|
Integration
|
|
60
|
-
|
|
60
|
+
===========
|
|
61
61
|
|
|
62
62
|
Shapely does not read or write data files, but it can serialize and deserialize
|
|
63
63
|
using several well known formats and protocols. The shapely.wkb and shapely.wkt
|
|
@@ -80,8 +80,8 @@ provide the Numpy array interface.::
|
|
|
80
80
|
[ 1.00000000e+01, 0.00000000e+00]])
|
|
81
81
|
|
|
82
82
|
That yields a numpy array of [x, y] arrays. This is not always exactly what one
|
|
83
|
-
wants for plotting shapes with Matplotlib, so Shapely 1.2 adds
|
|
84
|
-
for
|
|
83
|
+
wants for plotting shapes with Matplotlib (for example), so Shapely 1.2 adds
|
|
84
|
+
a `xy` property for obtaining separate arrays of coordinate x and y values.::
|
|
85
85
|
|
|
86
86
|
>>> x, y = patch.exterior.xy
|
|
87
87
|
>>> ax = asarray(x)
|
|
@@ -97,7 +97,7 @@ Numpy arrays can also be adapted to Shapely linestrings::
|
|
|
97
97
|
'LINESTRING (10.0000000000000000 0.0000000000000000, ...)'
|
|
98
98
|
|
|
99
99
|
Testing
|
|
100
|
-
|
|
100
|
+
=======
|
|
101
101
|
|
|
102
102
|
Shapely uses a Zope-stye suite of unittests and doctests, excercised via
|
|
103
103
|
setup.py.::
|
|
@@ -108,16 +108,12 @@ Nosetests won't run the tests properly; Zope doctest suites are not currently
|
|
|
108
108
|
supported well by nose.
|
|
109
109
|
|
|
110
110
|
Support
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
For current information about this project, see the wiki_.
|
|
111
|
+
=======
|
|
114
112
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
http://trac.gispython.org/projects/PCL/wiki/CommunityList
|
|
113
|
+
Bugs may be reported and questions asked via https://github.com/sgillies/shapely.
|
|
118
114
|
|
|
119
115
|
Credits
|
|
120
|
-
|
|
116
|
+
=======
|
|
121
117
|
|
|
122
118
|
Shapely is written by:
|
|
123
119
|
|
|
@@ -128,8 +124,8 @@ Shapely is written by:
|
|
|
128
124
|
Patches contributed by:
|
|
129
125
|
|
|
130
126
|
* Howard Butler
|
|
131
|
-
* Fr |
|
|
132
|
-
*
|
|
127
|
+
* Fr |eacute| d |eacute| ric Junod
|
|
128
|
+
* |Eacute| ric Lemoine
|
|
133
129
|
* Jonathan Tartley
|
|
134
130
|
* Kristian Thy
|
|
135
131
|
* Oliver Tonnhofer
|
|
@@ -150,6 +146,8 @@ U.S. National Endowment for the Humanities (http://www.neh.gov).
|
|
|
150
146
|
.. _example apps: http://trac.gispython.org/lab/wiki/Examples
|
|
151
147
|
.. _wiki: http://trac.gispython.org/lab/wiki/Shapely
|
|
152
148
|
.. _manual: http://gispython.org/shapely/docs/1.2
|
|
153
|
-
.. |
|
|
149
|
+
.. |eacute| unicode:: U+00E9
|
|
150
|
+
:trim:
|
|
151
|
+
.. |Eacute| unicode:: U+00C9
|
|
154
152
|
:trim:
|
|
155
153
|
.. _Pleiades: http://pleiades.stoa.org
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
Metadata-Version: 1.0
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.13
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
|
-
Home-page:
|
|
5
|
+
Home-page: https://github.com/sgillies/shapely
|
|
6
6
|
Author: Sean Gillies
|
|
7
7
|
Author-email: sean.gillies@gmail.com
|
|
8
8
|
License: BSD
|
|
9
|
-
Description:
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
Description: =======
|
|
10
|
+
Shapely
|
|
11
|
+
=======
|
|
12
|
+
|
|
13
|
+
PostGIS-ish operations outside a database context for Pythoneers and Pythonistas
|
|
12
14
|
|
|
13
15
|
.. image:: http://farm3.static.flickr.com/2738/4511827859_b5822043b7_o_d.png
|
|
14
16
|
:width: 800
|
|
15
17
|
:height: 400
|
|
16
18
|
|
|
17
19
|
Shapely is a BSD-licensed Python package for manipulation and analysis of
|
|
18
|
-
planar geometric objects. It is
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
In a nutshell: Shapely lets you do PostGIS-ish stuff outside the context of a
|
|
24
|
-
database using idiomatic Python. For more details, see:
|
|
20
|
+
planar geometric objects. It is based on the widely deployed GEOS_ (the engine
|
|
21
|
+
of PostGIS_) and JTS_ (from which GEOS is ported) libraries. This C dependency
|
|
22
|
+
is traded for the ability to execute with blazing speed. Shapely is not
|
|
23
|
+
concerned with data formats or coordinate systems, but can be readily
|
|
24
|
+
integrated with packages that are. For more details, see:
|
|
25
25
|
|
|
26
26
|
* Shapely wiki_
|
|
27
27
|
* Shapely manual_
|
|
28
28
|
* Shapely `example apps`_
|
|
29
29
|
|
|
30
30
|
Dependencies
|
|
31
|
-
|
|
31
|
+
============
|
|
32
32
|
|
|
33
33
|
Shapely 1.2 depends on:
|
|
34
34
|
|
|
@@ -36,7 +36,7 @@ Description: ======
|
|
|
36
36
|
* libgeos_c >=3.1 (3.0 and below have not been tested, YMMV)
|
|
37
37
|
|
|
38
38
|
Installation
|
|
39
|
-
|
|
39
|
+
============
|
|
40
40
|
|
|
41
41
|
Windows users should use the executable installer, which contains the required
|
|
42
42
|
GEOS DLL. Other users should acquire libgeos_c by any means, make sure that it
|
|
@@ -49,7 +49,7 @@ Description: ======
|
|
|
49
49
|
$ python setup.py install
|
|
50
50
|
|
|
51
51
|
Usage
|
|
52
|
-
|
|
52
|
+
=====
|
|
53
53
|
|
|
54
54
|
Here is the canonical example of building an approximately circular patch by
|
|
55
55
|
buffering a point::
|
|
@@ -65,7 +65,7 @@ Description: ======
|
|
|
65
65
|
intersect.py `example apps`_.
|
|
66
66
|
|
|
67
67
|
Integration
|
|
68
|
-
|
|
68
|
+
===========
|
|
69
69
|
|
|
70
70
|
Shapely does not read or write data files, but it can serialize and deserialize
|
|
71
71
|
using several well known formats and protocols. The shapely.wkb and shapely.wkt
|
|
@@ -88,8 +88,8 @@ Description: ======
|
|
|
88
88
|
[ 1.00000000e+01, 0.00000000e+00]])
|
|
89
89
|
|
|
90
90
|
That yields a numpy array of [x, y] arrays. This is not always exactly what one
|
|
91
|
-
wants for plotting shapes with Matplotlib, so Shapely 1.2 adds
|
|
92
|
-
for
|
|
91
|
+
wants for plotting shapes with Matplotlib (for example), so Shapely 1.2 adds
|
|
92
|
+
a `xy` property for obtaining separate arrays of coordinate x and y values.::
|
|
93
93
|
|
|
94
94
|
>>> x, y = patch.exterior.xy
|
|
95
95
|
>>> ax = asarray(x)
|
|
@@ -105,7 +105,7 @@ Description: ======
|
|
|
105
105
|
'LINESTRING (10.0000000000000000 0.0000000000000000, ...)'
|
|
106
106
|
|
|
107
107
|
Testing
|
|
108
|
-
|
|
108
|
+
=======
|
|
109
109
|
|
|
110
110
|
Shapely uses a Zope-stye suite of unittests and doctests, excercised via
|
|
111
111
|
setup.py.::
|
|
@@ -116,16 +116,12 @@ Description: ======
|
|
|
116
116
|
supported well by nose.
|
|
117
117
|
|
|
118
118
|
Support
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
For current information about this project, see the wiki_.
|
|
122
|
-
|
|
123
|
-
If you have questions, please consider joining our community list:
|
|
119
|
+
=======
|
|
124
120
|
|
|
125
|
-
|
|
121
|
+
Bugs may be reported and questions asked via https://github.com/sgillies/shapely.
|
|
126
122
|
|
|
127
123
|
Credits
|
|
128
|
-
|
|
124
|
+
=======
|
|
129
125
|
|
|
130
126
|
Shapely is written by:
|
|
131
127
|
|
|
@@ -136,8 +132,8 @@ Description: ======
|
|
|
136
132
|
Patches contributed by:
|
|
137
133
|
|
|
138
134
|
* Howard Butler
|
|
139
|
-
* Fr |
|
|
140
|
-
*
|
|
135
|
+
* Fr |eacute| d |eacute| ric Junod
|
|
136
|
+
* |Eacute| ric Lemoine
|
|
141
137
|
* Jonathan Tartley
|
|
142
138
|
* Kristian Thy
|
|
143
139
|
* Oliver Tonnhofer
|
|
@@ -158,7 +154,9 @@ Description: ======
|
|
|
158
154
|
.. _example apps: http://trac.gispython.org/lab/wiki/Examples
|
|
159
155
|
.. _wiki: http://trac.gispython.org/lab/wiki/Shapely
|
|
160
156
|
.. _manual: http://gispython.org/shapely/docs/1.2
|
|
161
|
-
.. |
|
|
157
|
+
.. |eacute| unicode:: U+00E9
|
|
158
|
+
:trim:
|
|
159
|
+
.. |Eacute| unicode:: U+00C9
|
|
162
160
|
:trim:
|
|
163
161
|
.. _Pleiades: http://pleiades.stoa.org
|
|
164
162
|
|
|
@@ -166,6 +164,27 @@ Description: ======
|
|
|
166
164
|
CHANGES
|
|
167
165
|
=======
|
|
168
166
|
|
|
167
|
+
1.2.13 (2011-09-16)
|
|
168
|
+
-------------------
|
|
169
|
+
- Fixed errors in speedups on 32bit systems when GEOS references memory above 2GB.
|
|
170
|
+
- Add shapely.__version__ attribute.
|
|
171
|
+
- Update the manual.
|
|
172
|
+
|
|
173
|
+
1.2.12 (2011-08-15)
|
|
174
|
+
-------------------
|
|
175
|
+
- Build Windows distributions with VC7 or VC9 as appropriate.
|
|
176
|
+
- More verbose report on failure to speed up.
|
|
177
|
+
- Fix for prepared geometries broken in 1.2.11.
|
|
178
|
+
- DO NOT INSTALL 1.2.11
|
|
179
|
+
|
|
180
|
+
1.2.11 (2011-08-04)
|
|
181
|
+
-------------------
|
|
182
|
+
- Ignore AttributeError during exit.
|
|
183
|
+
- PyPy 1.5 support.
|
|
184
|
+
- Prevent operation on prepared geometry crasher (#12).
|
|
185
|
+
- Optional Cython speedups for Windows.
|
|
186
|
+
- Linux 3 platform support.
|
|
187
|
+
|
|
169
188
|
1.2.10 (2011-05-09)
|
|
170
189
|
-------------------
|
|
171
190
|
- Add optional Cython speedups.
|
|
@@ -3,8 +3,8 @@ The Shapely User Manual
|
|
|
3
3
|
=======================
|
|
4
4
|
|
|
5
5
|
:Author: Sean Gillies, <sean.gillies@gmail.com>
|
|
6
|
-
:Revision: 1.2.
|
|
7
|
-
:Date:
|
|
6
|
+
:Revision: 1.2.13
|
|
7
|
+
:Date: 15 September 2011
|
|
8
8
|
:Copyright:
|
|
9
9
|
This work is licensed under a `Creative Commons Attribution 3.0
|
|
10
10
|
United States License`__.
|
|
@@ -1796,19 +1796,19 @@ Performance
|
|
|
1796
1796
|
|
|
1797
1797
|
Shapely uses the GEOS_ library for all operations. GEOS is written in C++ and
|
|
1798
1798
|
used in many applications and you can expect that all operations are highly
|
|
1799
|
-
optimized.
|
|
1800
|
-
might slow down your code
|
|
1801
|
-
of coordinates.
|
|
1799
|
+
optimized. The creation of new geometries with many coordinates, however,
|
|
1800
|
+
involves some overhead that might slow down your code.
|
|
1802
1801
|
|
|
1803
1802
|
.. versionadded:: 1.2.10
|
|
1804
1803
|
|
|
1805
|
-
The :mod:`shapely.speedups` module contains performance enhancements written
|
|
1806
|
-
|
|
1807
|
-
|
|
1804
|
+
The :mod:`shapely.speedups` module contains performance enhancements written in
|
|
1805
|
+
C. They are automaticaly installed when Python has access to a compiler during
|
|
1806
|
+
installation.
|
|
1808
1807
|
|
|
1809
1808
|
You can check if the speedups are installed with the :attr:`available`
|
|
1810
|
-
attribute.
|
|
1811
|
-
|
|
1809
|
+
attribute. The constructor speedups are disabled by default. To enable the
|
|
1810
|
+
speedups call :func:`enable`. You can revert to the default implementation with
|
|
1811
|
+
:func:`disable`.
|
|
1812
1812
|
|
|
1813
1813
|
.. sourcecode:: pycon
|
|
1814
1814
|
|
|
@@ -15,14 +15,15 @@ from setuptools.extension import Extension
|
|
|
15
15
|
from setuptools.command.build_ext import build_ext
|
|
16
16
|
from setuptools import setup, find_packages
|
|
17
17
|
import sys
|
|
18
|
+
import platform
|
|
18
19
|
|
|
19
|
-
readme_text = file('README.
|
|
20
|
+
readme_text = file('README.rst', 'rb').read()
|
|
20
21
|
changes_text = file('CHANGES.txt', 'rb').read()
|
|
21
22
|
|
|
22
23
|
setup_args = dict(
|
|
23
24
|
metadata_version = '1.2',
|
|
24
25
|
name = 'Shapely',
|
|
25
|
-
version = '1.2.
|
|
26
|
+
version = '1.2.13',
|
|
26
27
|
requires_python = '>=2.5,<3',
|
|
27
28
|
requires_external = 'libgeos_c (>=3.1)',
|
|
28
29
|
description = 'Geometric objects, predicates, and operations',
|
|
@@ -32,7 +33,7 @@ setup_args = dict(
|
|
|
32
33
|
author_email = 'sean.gillies@gmail.com',
|
|
33
34
|
maintainer = 'Sean Gillies',
|
|
34
35
|
maintainer_email = 'sean.gillies@gmail.com',
|
|
35
|
-
url = '
|
|
36
|
+
url = 'https://github.com/sgillies/shapely',
|
|
36
37
|
long_description = readme_text + "\n" + changes_text,
|
|
37
38
|
packages = find_packages(),
|
|
38
39
|
test_suite = 'shapely.tests.test_suite',
|
|
@@ -51,11 +52,15 @@ setup_args = dict(
|
|
|
51
52
|
if sys.platform == 'win32':
|
|
52
53
|
if '(AMD64)' in sys.version:
|
|
53
54
|
setup_args.update(
|
|
54
|
-
data_files=[('DLLs', glob.glob('
|
|
55
|
+
data_files=[('DLLs', glob.glob('DLLs_AMD64_VC9/*.dll'))]
|
|
55
56
|
)
|
|
57
|
+
elif platform.python_version().startswith('2.5.'):
|
|
58
|
+
setup_args.update(
|
|
59
|
+
data_files=[('DLLs', glob.glob('DLLs_x86_VC7/*.dll'))]
|
|
60
|
+
)
|
|
56
61
|
else:
|
|
57
62
|
setup_args.update(
|
|
58
|
-
data_files=[('DLLs', glob.glob('
|
|
63
|
+
data_files=[('DLLs', glob.glob('DLLs_x86_VC9/*.dll'))]
|
|
59
64
|
)
|
|
60
65
|
|
|
61
66
|
|
|
@@ -88,6 +93,14 @@ class ve_build_ext(build_ext):
|
|
|
88
93
|
raise BuildFailed(x)
|
|
89
94
|
|
|
90
95
|
if sys.platform == 'win32':
|
|
96
|
+
# geos DLL is geos.dll instead of geos_c.dll on Windows
|
|
97
|
+
ext_modules = [
|
|
98
|
+
Extension("shapely.speedups._speedups",
|
|
99
|
+
["shapely/speedups/_speedups.c"], libraries=['geos']),
|
|
100
|
+
]
|
|
101
|
+
elif (hasattr(platform, 'python_implementation')
|
|
102
|
+
and platform.python_implementation() == 'PyPy'):
|
|
103
|
+
# python_implementation >= 2.6
|
|
91
104
|
ext_modules = []
|
|
92
105
|
else:
|
|
93
106
|
ext_modules = [
|
|
@@ -6,12 +6,17 @@ import ctypes
|
|
|
6
6
|
class allocated_c_char_p(ctypes.c_char_p):
|
|
7
7
|
pass
|
|
8
8
|
|
|
9
|
+
EXCEPTION_HANDLER_FUNCTYPE = ctypes.CFUNCTYPE(None, ctypes.c_char_p, ctypes.c_char_p)
|
|
10
|
+
|
|
9
11
|
def prototype(lgeos, geosVersion):
|
|
10
12
|
|
|
13
|
+
lgeos.initGEOS.argtypes = [EXCEPTION_HANDLER_FUNCTYPE, EXCEPTION_HANDLER_FUNCTYPE]
|
|
11
14
|
lgeos.initGEOS.restype = None
|
|
12
15
|
|
|
16
|
+
lgeos.finishGEOS.argtypes = []
|
|
13
17
|
lgeos.finishGEOS.restype = None
|
|
14
18
|
|
|
19
|
+
lgeos.GEOSversion.argtypes = []
|
|
15
20
|
lgeos.GEOSversion.restype = ctypes.c_char_p
|
|
16
21
|
|
|
17
22
|
lgeos.GEOSGeomFromWKT.restype = ctypes.c_void_p
|
|
@@ -104,7 +104,10 @@ class BaseGeometry(object):
|
|
|
104
104
|
# TODO: defer cleanup to the implementation. We shouldn't be
|
|
105
105
|
# explicitly calling a lgeos method here.
|
|
106
106
|
if not (self._owned or self._is_empty):
|
|
107
|
-
|
|
107
|
+
try:
|
|
108
|
+
self._lgeos.GEOSGeom_destroy(self.__geom__)
|
|
109
|
+
except AttributeError:
|
|
110
|
+
pass # _lgeos might be empty on shutdown
|
|
108
111
|
self.__geom__ = EMPTY
|
|
109
112
|
|
|
110
113
|
def __del__(self):
|