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.
Files changed (89) hide show
  1. {Shapely-1.2.10 → Shapely-1.2.13}/CHANGES.txt +21 -0
  2. {Shapely-1.2.10 → Shapely-1.2.13}/CREDITS.txt +3 -1
  3. {Shapely-1.2.10/Shapely.egg-info → Shapely-1.2.13}/PKG-INFO +48 -29
  4. Shapely-1.2.10/README.txt → Shapely-1.2.13/README.rst +25 -27
  5. {Shapely-1.2.10 → Shapely-1.2.13/Shapely.egg-info}/PKG-INFO +48 -29
  6. {Shapely-1.2.10 → Shapely-1.2.13}/Shapely.egg-info/SOURCES.txt +1 -1
  7. {Shapely-1.2.10 → Shapely-1.2.13}/docs/manual.txt +10 -10
  8. {Shapely-1.2.10 → Shapely-1.2.13}/setup.py +18 -5
  9. Shapely-1.2.13/shapely/__init__.py +2 -0
  10. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/ctypes_declarations.py +5 -0
  11. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/base.py +4 -1
  12. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/linestring.py +8 -13
  13. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/multilinestring.py +0 -3
  14. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/multipoint.py +3 -2
  15. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/polygon.py +19 -39
  16. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geos.py +7 -6
  17. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/predicates.py +2 -2
  18. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/prepared.py +4 -1
  19. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/speedups/__init__.py +3 -0
  20. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/speedups/_speedups.c +66 -57
  21. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/speedups/_speedups.pyx +11 -11
  22. Shapely-1.2.13/shapely/tests/test_prepared.py +28 -0
  23. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/topology.py +6 -8
  24. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/wkb.py +2 -2
  25. Shapely-1.2.10/shapely/__init__.py +0 -1
  26. Shapely-1.2.10/shapely/tests/test_prepared.py +0 -15
  27. {Shapely-1.2.10 → Shapely-1.2.13}/LICENSE.txt +0 -0
  28. {Shapely-1.2.10 → Shapely-1.2.13}/Shapely.egg-info/dependency_links.txt +0 -0
  29. {Shapely-1.2.10 → Shapely-1.2.13}/Shapely.egg-info/top_level.txt +0 -0
  30. {Shapely-1.2.10 → Shapely-1.2.13}/setup.cfg +0 -0
  31. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/algorithms/__init__.py +0 -0
  32. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/algorithms/cga.py +0 -0
  33. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/coords.py +0 -0
  34. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/examples/__init__.py +0 -0
  35. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/examples/dissolve.py +0 -0
  36. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/examples/geoms.py +0 -0
  37. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/examples/intersect.py +0 -0
  38. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/examples/world.py +0 -0
  39. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/ftools.py +0 -0
  40. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/__init__.py +0 -0
  41. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/collection.py +0 -0
  42. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/geo.py +0 -0
  43. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/multipolygon.py +0 -0
  44. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/point.py +0 -0
  45. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/geometry/proxy.py +0 -0
  46. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/impl.py +0 -0
  47. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/iterops.py +0 -0
  48. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/linref.py +0 -0
  49. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/ops.py +0 -0
  50. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/Array.txt +0 -0
  51. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/GeoInterface.txt +0 -0
  52. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/IterOps.txt +0 -0
  53. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/LineString.txt +0 -0
  54. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/MultiLineString.txt +0 -0
  55. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/MultiPoint.txt +0 -0
  56. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/MultiPolygon.txt +0 -0
  57. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/Operations.txt +0 -0
  58. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/Persist.txt +0 -0
  59. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/Point.txt +0 -0
  60. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/Polygon.txt +0 -0
  61. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/Predicates.txt +0 -0
  62. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/__init__.py +0 -0
  63. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/attribute-chains.txt +0 -0
  64. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/binascii_hex.txt +0 -0
  65. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/cascaded_union.txt +0 -0
  66. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/dimensions.txt +0 -0
  67. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/invalid_intersection.txt +0 -0
  68. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/linemerge.txt +0 -0
  69. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/polygonize.txt +0 -0
  70. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_box.py +0 -0
  71. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_cga.py +0 -0
  72. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_collection.py +0 -0
  73. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_delegated.py +0 -0
  74. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_dlls.py +0 -0
  75. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_doctests.py +0 -0
  76. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_emptiness.py +0 -0
  77. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_equality.py +0 -0
  78. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_geomseq.py +0 -0
  79. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_linear_referencing.py +0 -0
  80. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_mapping.py +0 -0
  81. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_products_z.py +0 -0
  82. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_singularity.py +0 -0
  83. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_speedups.py +0 -0
  84. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_validation.py +0 -0
  85. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/test_xy.py +0 -0
  86. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/threading_test.py +0 -0
  87. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/tests/wkt_locale.txt +0 -0
  88. {Shapely-1.2.10 → Shapely-1.2.13}/shapely/validation.py +0 -0
  89. {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.10
3
+ Version: 1.2.13
4
4
  Summary: Geometric objects, predicates, and operations
5
- Home-page: http://trac.gispython.org/lab/wiki/Shapely
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
- README
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 not concerned with data formats or coordinate
19
- systems. It is based on the widely deployed GEOS_ (the engine of PostGIS_) and
20
- JTS_ (from which GEOS is ported) libraries. This C dependency is traded for the
21
- ability to execute with blazing speed.
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 a `xy` property
92
- for getting separate arrays of coordinate x and y values.::
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
- http://trac.gispython.org/projects/PCL/wiki/CommunityList
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 |eaigue| d |eaigue| ric Junod
140
- * Eric Lemoine
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
- .. |eaigue| unicode:: U+00E9
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
- README
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 not concerned with data formats or coordinate
11
- systems. It is based on the widely deployed GEOS_ (the engine of PostGIS_) and
12
- JTS_ (from which GEOS is ported) libraries. This C dependency is traded for the
13
- ability to execute with blazing speed.
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 a `xy` property
84
- for getting separate arrays of coordinate x and y values.::
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
- If you have questions, please consider joining our community list:
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 |eaigue| d |eaigue| ric Junod
132
- * Eric Lemoine
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
- .. |eaigue| unicode:: U+00E9
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.10
3
+ Version: 1.2.13
4
4
  Summary: Geometric objects, predicates, and operations
5
- Home-page: http://trac.gispython.org/lab/wiki/Shapely
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
- README
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 not concerned with data formats or coordinate
19
- systems. It is based on the widely deployed GEOS_ (the engine of PostGIS_) and
20
- JTS_ (from which GEOS is ported) libraries. This C dependency is traded for the
21
- ability to execute with blazing speed.
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 a `xy` property
92
- for getting separate arrays of coordinate x and y values.::
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
- http://trac.gispython.org/projects/PCL/wiki/CommunityList
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 |eaigue| d |eaigue| ric Junod
140
- * Eric Lemoine
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
- .. |eaigue| unicode:: U+00E9
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,7 +1,7 @@
1
1
  CHANGES.txt
2
2
  CREDITS.txt
3
3
  LICENSE.txt
4
- README.txt
4
+ README.rst
5
5
  setup.cfg
6
6
  setup.py
7
7
  Shapely.egg-info/PKG-INFO
@@ -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.10
7
- :Date: 2 May 2011
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. Only the creation of new geometries involves some overhead that
1800
- might slow down your code, if you create lots of geometries with a large number
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
- in C. They are automaticaly installed when Python has access to a compiler
1807
- during installation.
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. To enable the speedups call :func:`enable`. You can revert to the
1811
- default implementation with :func:`disable`.
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.txt', 'rb').read()
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.10',
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 = 'http://trac.gispython.org/lab/wiki/Shapely',
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('DLLs_AMD64/*.dll'))]
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('DLLs_x86/*.dll'))]
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 = [
@@ -0,0 +1,2 @@
1
+ __version__ = "1.2.13"
2
+
@@ -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
- self._lgeos.GEOSGeom_destroy(self.__geom__)
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):