shapely 1.2.15__tar.gz → 1.2.17__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 (98) hide show
  1. {Shapely-1.2.15 → Shapely-1.2.17}/CHANGES.txt +24 -3
  2. {Shapely-1.2.15 → Shapely-1.2.17}/CREDITS.txt +7 -0
  3. {Shapely-1.2.15/Shapely.egg-info → Shapely-1.2.17}/PKG-INFO +48 -18
  4. {Shapely-1.2.15 → Shapely-1.2.17}/README.rst +5 -32
  5. {Shapely-1.2.15 → Shapely-1.2.17/Shapely.egg-info}/PKG-INFO +48 -18
  6. {Shapely-1.2.15 → Shapely-1.2.17}/Shapely.egg-info/SOURCES.txt +4 -0
  7. Shapely-1.2.17/VERSION.txt +1 -0
  8. {Shapely-1.2.15 → Shapely-1.2.17}/docs/manual.txt +72 -6
  9. {Shapely-1.2.15 → Shapely-1.2.17}/setup.py +60 -42
  10. Shapely-1.2.17/shapely/__init__.py +1 -0
  11. Shapely-1.2.17/shapely/affinity.py +248 -0
  12. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/ctypes_declarations.py +4 -0
  13. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/base.py +68 -36
  14. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/polygon.py +7 -1
  15. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/proxy.py +1 -3
  16. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geos.py +33 -15
  17. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/ops.py +17 -2
  18. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/speedups/_speedups.c +1 -1
  19. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/__init__.py +4 -1
  20. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/cascaded_union.txt +1 -0
  21. Shapely-1.2.17/shapely/tests/test_affinity.py +239 -0
  22. Shapely-1.2.17/shapely/tests/test_collection.py +26 -0
  23. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_dlls.py +1 -1
  24. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_emptiness.py +5 -0
  25. Shapely-1.2.17/shapely/tests/test_pickle.py +15 -0
  26. Shapely-1.2.17/shapely/tests/test_unary_union.py +40 -0
  27. Shapely-1.2.17/shapely/wkb.py +24 -0
  28. Shapely-1.2.17/shapely/wkt.py +24 -0
  29. Shapely-1.2.15/VERSION.txt +0 -1
  30. Shapely-1.2.15/shapely/__init__.py +0 -1
  31. Shapely-1.2.15/shapely/tests/test_collection.py +0 -11
  32. Shapely-1.2.15/shapely/wkb.py +0 -38
  33. Shapely-1.2.15/shapely/wkt.py +0 -34
  34. {Shapely-1.2.15 → Shapely-1.2.17}/LICENSE.txt +0 -0
  35. {Shapely-1.2.15 → Shapely-1.2.17}/Shapely.egg-info/dependency_links.txt +0 -0
  36. {Shapely-1.2.15 → Shapely-1.2.17}/Shapely.egg-info/top_level.txt +0 -0
  37. {Shapely-1.2.15 → Shapely-1.2.17}/setup.cfg +0 -0
  38. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/algorithms/__init__.py +0 -0
  39. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/algorithms/cga.py +0 -0
  40. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/coords.py +0 -0
  41. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/examples/__init__.py +0 -0
  42. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/examples/dissolve.py +0 -0
  43. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/examples/geoms.py +0 -0
  44. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/examples/intersect.py +0 -0
  45. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/examples/world.py +0 -0
  46. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/ftools.py +0 -0
  47. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/__init__.py +0 -0
  48. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/collection.py +0 -0
  49. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/geo.py +0 -0
  50. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/linestring.py +0 -0
  51. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/multilinestring.py +0 -0
  52. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/multipoint.py +0 -0
  53. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/multipolygon.py +0 -0
  54. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/point.py +0 -0
  55. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/impl.py +0 -0
  56. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/iterops.py +0 -0
  57. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/linref.py +0 -0
  58. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/predicates.py +0 -0
  59. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/prepared.py +0 -0
  60. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/speedups/__init__.py +0 -0
  61. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/Array.txt +0 -0
  62. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/GeoInterface.txt +0 -0
  63. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/IterOps.txt +0 -0
  64. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/LineString.txt +0 -0
  65. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/MultiLineString.txt +0 -0
  66. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/MultiPoint.txt +0 -0
  67. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/MultiPolygon.txt +0 -0
  68. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/Operations.txt +0 -0
  69. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/Persist.txt +0 -0
  70. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/Point.txt +0 -0
  71. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/Polygon.txt +0 -0
  72. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/Predicates.txt +0 -0
  73. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/attribute-chains.txt +0 -0
  74. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/binascii_hex.txt +0 -0
  75. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/dimensions.txt +0 -0
  76. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/invalid_intersection.txt +0 -0
  77. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/linemerge.txt +0 -0
  78. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/polygonize.txt +0 -0
  79. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_box.py +0 -0
  80. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_cga.py +0 -0
  81. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_delegated.py +0 -0
  82. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_doctests.py +0 -0
  83. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_equality.py +0 -0
  84. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_geomseq.py +0 -0
  85. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_getitem.py +0 -0
  86. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_linear_referencing.py +0 -0
  87. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_mapping.py +0 -0
  88. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_ndarrays.py +0 -0
  89. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_prepared.py +0 -0
  90. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_products_z.py +0 -0
  91. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_singularity.py +0 -0
  92. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_speedups.py +0 -0
  93. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_validation.py +0 -0
  94. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_xy.py +0 -0
  95. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/threading_test.py +0 -0
  96. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/wkt_locale.txt +0 -0
  97. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/topology.py +0 -0
  98. {Shapely-1.2.15 → Shapely-1.2.17}/shapely/validation.py +0 -0
@@ -1,9 +1,30 @@
1
- =======
2
1
  Changes
3
2
  =======
4
3
 
5
- 1.2.15 (2012-)
6
- --------------
4
+ 1.2.17 (2013-01-27)
5
+ -------------------
6
+ - Avoid circular import between wkt/wkb and geometry.base by moving calls
7
+ to GEOS serializers to the latter module.
8
+ - Set _ndim when unpickling (issue #6).
9
+ - Don't install DLLs to Python's DLL directory (#37).
10
+ - Add affinity module of affine transformation (#31).
11
+ - Fix NameError that blocked installation with PyPy (#40, #41).
12
+
13
+ 1.2.16 (2012-09-18)
14
+ -------------------
15
+ - Add ops.unary_union function.
16
+ - Alias ops.cascaded_union to ops.unary_union when GEOS CAPI >= (1,7,0).
17
+ - Add geos_version_string attribute to shapely.geos.
18
+ - Ensure parent is set when child geometry is accessed.
19
+ - Generate _speedups.c using Cython when building from repo when missing,
20
+ stale, or the build target is "sdist".
21
+ - The is_simple predicate of invalid, self-intersecting linear rings now
22
+ returns ``False``.
23
+ - Remove VERSION.txt from repo, it's now written by the distutils setup script
24
+ with value of shapely.__version__.
25
+
26
+ 1.2.15 (2012-06-27)
27
+ -------------------
7
28
  - Eliminate numerical sensitivity in a method chaining test (Debian bug
8
29
  #663210).
9
30
  - Account for cascaded union of random buffered test points being a polygon
@@ -1,3 +1,6 @@
1
+ Credits
2
+ =======
3
+
1
4
  Shapely is written by:
2
5
 
3
6
  * Sean Gillies
@@ -13,6 +16,8 @@ Patches contributed by:
13
16
  * Jonathan Tartley
14
17
  * Kristian Thy
15
18
  * Mike Toews (https://github.com/mwtoews)
19
+ * Phil Elson (https://github.com/pelson)
20
+ * Jeethu Rao (https://github.com/jeethu)
16
21
 
17
22
  Additional help from:
18
23
 
@@ -24,4 +29,6 @@ Additional help from:
24
29
  Major portions of this work were supported by a grant (for Pleiades_) from the
25
30
  U.S. National Endowment for the Humanities (http://www.neh.gov).
26
31
 
32
+ .. |eaigue| unicode:: U+00E9
33
+ :trim:
27
34
  .. _Pleiades: http://pleiades.stoa.org
@@ -1,19 +1,19 @@
1
1
  Metadata-Version: 1.0
2
2
  Name: Shapely
3
- Version: 1.2.15
3
+ Version: 1.2.17
4
4
  Summary: Geometric objects, predicates, and operations
5
- Home-page: https://github.com/sgillies/shapely
5
+ Home-page: https://github.com/Toblerity/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
12
 
13
13
  PostGIS-ish operations outside a database context for Pythoneers and
14
14
  Pythonistas.
15
15
 
16
- .. image:: http://farm3.static.flickr.com/2738/4511827859_b5822043b7_o_d.png
16
+ .. image:: http://farm3.staticflickr.com/2738/4511827859_b5822043b7_o_d.png
17
17
  :width: 800
18
18
  :height: 400
19
19
 
@@ -121,6 +121,17 @@ Description: ======
121
121
 
122
122
  Bugs may be reported and questions asked via https://github.com/Toblerity/Shapely.
123
123
 
124
+
125
+
126
+ .. _JTS: http://www.vividsolutions.com/jts/jtshome.htm
127
+ .. _PostGIS: http://postgis.org
128
+ .. _GEOS: http://trac.osgeo.org/geos/
129
+ .. _example apps: http://trac.gispython.org/lab/wiki/Examples
130
+ .. _wiki: http://trac.gispython.org/lab/wiki/Shapely
131
+ .. _manual: http://toblerity.github.com/shapely/manual.html
132
+ .. _Pleiades: http://pleiades.stoa.org
133
+
134
+
124
135
  Credits
125
136
  =======
126
137
 
@@ -134,36 +145,55 @@ Description: ======
134
145
  Patches contributed by:
135
146
 
136
147
  * Howard Butler
137
- * Frédéric Junod
138
- * Éric Lemoine
148
+ * Fr |eaigue| d |eaigue| ric Junod
149
+ * Eric Lemoine
139
150
  * Jonathan Tartley
140
151
  * Kristian Thy
141
152
  * Mike Toews (https://github.com/mwtoews)
153
+ * Phil Elson (https://github.com/pelson)
154
+ * Jeethu Rao (https://github.com/jeethu)
142
155
 
143
156
  Additional help from:
144
157
 
145
158
  * Justin Bronn (GeoDjango) for ctypes inspiration
146
159
  * Martin Davis (JTS)
147
160
  * Jaakko Salli for the Windows distributions
148
- * Sandro Santilli, Mateusz Loskot, Paul Ramsey, et al (GEOS_ Project)
161
+ * Sandro Santilli, Mateusz Loskot, Paul Ramsey, et al (GEOS Project)
149
162
 
150
163
  Major portions of this work were supported by a grant (for Pleiades_) from the
151
164
  U.S. National Endowment for the Humanities (http://www.neh.gov).
152
165
 
153
- .. _JTS: http://www.vividsolutions.com/jts/jtshome.htm
154
- .. _PostGIS: http://postgis.org
155
- .. _GEOS: http://trac.osgeo.org/geos/
156
- .. _example apps: http://trac.gispython.org/lab/wiki/Examples
157
- .. _wiki: http://trac.gispython.org/lab/wiki/Shapely
158
- .. _manual: http://toblerity.github.com/shapely/manual.html
166
+ .. |eaigue| unicode:: U+00E9
167
+ :trim:
159
168
  .. _Pleiades: http://pleiades.stoa.org
160
169
 
161
-
162
170
  Changes
163
171
  =======
164
172
 
165
- 1.2.15 (2012-)
166
- --------------
173
+ 1.2.17 (2013-01-27)
174
+ -------------------
175
+ - Avoid circular import between wkt/wkb and geometry.base by moving calls
176
+ to GEOS serializers to the latter module.
177
+ - Set _ndim when unpickling (issue #6).
178
+ - Don't install DLLs to Python's DLL directory (#37).
179
+ - Add affinity module of affine transformation (#31).
180
+ - Fix NameError that blocked installation with PyPy (#40, #41).
181
+
182
+ 1.2.16 (2012-09-18)
183
+ -------------------
184
+ - Add ops.unary_union function.
185
+ - Alias ops.cascaded_union to ops.unary_union when GEOS CAPI >= (1,7,0).
186
+ - Add geos_version_string attribute to shapely.geos.
187
+ - Ensure parent is set when child geometry is accessed.
188
+ - Generate _speedups.c using Cython when building from repo when missing,
189
+ stale, or the build target is "sdist".
190
+ - The is_simple predicate of invalid, self-intersecting linear rings now
191
+ returns ``False``.
192
+ - Remove VERSION.txt from repo, it's now written by the distutils setup script
193
+ with value of shapely.__version__.
194
+
195
+ 1.2.15 (2012-06-27)
196
+ -------------------
167
197
  - Eliminate numerical sensitivity in a method chaining test (Debian bug
168
198
  #663210).
169
199
  - Account for cascaded union of random buffered test points being a polygon
@@ -1,11 +1,11 @@
1
- ======
2
- README
3
- ======
1
+ =======
2
+ Shapely
3
+ =======
4
4
 
5
5
  PostGIS-ish operations outside a database context for Pythoneers and
6
6
  Pythonistas.
7
7
 
8
- .. image:: http://farm3.static.flickr.com/2738/4511827859_b5822043b7_o_d.png
8
+ .. image:: http://farm3.staticflickr.com/2738/4511827859_b5822043b7_o_d.png
9
9
  :width: 800
10
10
  :height: 400
11
11
 
@@ -113,34 +113,7 @@ Support
113
113
 
114
114
  Bugs may be reported and questions asked via https://github.com/Toblerity/Shapely.
115
115
 
116
- Credits
117
- =======
118
-
119
- Shapely is written by:
120
-
121
- * Sean Gillies
122
- * Aron Bierbaum
123
- * Kai Lautaportti
124
- * Oliver Tonnhofer
125
-
126
- Patches contributed by:
127
-
128
- * Howard Butler
129
- * Frédéric Junod
130
- * Éric Lemoine
131
- * Jonathan Tartley
132
- * Kristian Thy
133
- * Mike Toews (https://github.com/mwtoews)
134
-
135
- Additional help from:
136
-
137
- * Justin Bronn (GeoDjango) for ctypes inspiration
138
- * Martin Davis (JTS)
139
- * Jaakko Salli for the Windows distributions
140
- * Sandro Santilli, Mateusz Loskot, Paul Ramsey, et al (GEOS_ Project)
141
-
142
- Major portions of this work were supported by a grant (for Pleiades_) from the
143
- U.S. National Endowment for the Humanities (http://www.neh.gov).
116
+ .. include:: CREDITS.txt
144
117
 
145
118
  .. _JTS: http://www.vividsolutions.com/jts/jtshome.htm
146
119
  .. _PostGIS: http://postgis.org
@@ -1,19 +1,19 @@
1
1
  Metadata-Version: 1.0
2
2
  Name: Shapely
3
- Version: 1.2.15
3
+ Version: 1.2.17
4
4
  Summary: Geometric objects, predicates, and operations
5
- Home-page: https://github.com/sgillies/shapely
5
+ Home-page: https://github.com/Toblerity/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
12
 
13
13
  PostGIS-ish operations outside a database context for Pythoneers and
14
14
  Pythonistas.
15
15
 
16
- .. image:: http://farm3.static.flickr.com/2738/4511827859_b5822043b7_o_d.png
16
+ .. image:: http://farm3.staticflickr.com/2738/4511827859_b5822043b7_o_d.png
17
17
  :width: 800
18
18
  :height: 400
19
19
 
@@ -121,6 +121,17 @@ Description: ======
121
121
 
122
122
  Bugs may be reported and questions asked via https://github.com/Toblerity/Shapely.
123
123
 
124
+
125
+
126
+ .. _JTS: http://www.vividsolutions.com/jts/jtshome.htm
127
+ .. _PostGIS: http://postgis.org
128
+ .. _GEOS: http://trac.osgeo.org/geos/
129
+ .. _example apps: http://trac.gispython.org/lab/wiki/Examples
130
+ .. _wiki: http://trac.gispython.org/lab/wiki/Shapely
131
+ .. _manual: http://toblerity.github.com/shapely/manual.html
132
+ .. _Pleiades: http://pleiades.stoa.org
133
+
134
+
124
135
  Credits
125
136
  =======
126
137
 
@@ -134,36 +145,55 @@ Description: ======
134
145
  Patches contributed by:
135
146
 
136
147
  * Howard Butler
137
- * Frédéric Junod
138
- * Éric Lemoine
148
+ * Fr |eaigue| d |eaigue| ric Junod
149
+ * Eric Lemoine
139
150
  * Jonathan Tartley
140
151
  * Kristian Thy
141
152
  * Mike Toews (https://github.com/mwtoews)
153
+ * Phil Elson (https://github.com/pelson)
154
+ * Jeethu Rao (https://github.com/jeethu)
142
155
 
143
156
  Additional help from:
144
157
 
145
158
  * Justin Bronn (GeoDjango) for ctypes inspiration
146
159
  * Martin Davis (JTS)
147
160
  * Jaakko Salli for the Windows distributions
148
- * Sandro Santilli, Mateusz Loskot, Paul Ramsey, et al (GEOS_ Project)
161
+ * Sandro Santilli, Mateusz Loskot, Paul Ramsey, et al (GEOS Project)
149
162
 
150
163
  Major portions of this work were supported by a grant (for Pleiades_) from the
151
164
  U.S. National Endowment for the Humanities (http://www.neh.gov).
152
165
 
153
- .. _JTS: http://www.vividsolutions.com/jts/jtshome.htm
154
- .. _PostGIS: http://postgis.org
155
- .. _GEOS: http://trac.osgeo.org/geos/
156
- .. _example apps: http://trac.gispython.org/lab/wiki/Examples
157
- .. _wiki: http://trac.gispython.org/lab/wiki/Shapely
158
- .. _manual: http://toblerity.github.com/shapely/manual.html
166
+ .. |eaigue| unicode:: U+00E9
167
+ :trim:
159
168
  .. _Pleiades: http://pleiades.stoa.org
160
169
 
161
-
162
170
  Changes
163
171
  =======
164
172
 
165
- 1.2.15 (2012-)
166
- --------------
173
+ 1.2.17 (2013-01-27)
174
+ -------------------
175
+ - Avoid circular import between wkt/wkb and geometry.base by moving calls
176
+ to GEOS serializers to the latter module.
177
+ - Set _ndim when unpickling (issue #6).
178
+ - Don't install DLLs to Python's DLL directory (#37).
179
+ - Add affinity module of affine transformation (#31).
180
+ - Fix NameError that blocked installation with PyPy (#40, #41).
181
+
182
+ 1.2.16 (2012-09-18)
183
+ -------------------
184
+ - Add ops.unary_union function.
185
+ - Alias ops.cascaded_union to ops.unary_union when GEOS CAPI >= (1,7,0).
186
+ - Add geos_version_string attribute to shapely.geos.
187
+ - Ensure parent is set when child geometry is accessed.
188
+ - Generate _speedups.c using Cython when building from repo when missing,
189
+ stale, or the build target is "sdist".
190
+ - The is_simple predicate of invalid, self-intersecting linear rings now
191
+ returns ``False``.
192
+ - Remove VERSION.txt from repo, it's now written by the distutils setup script
193
+ with value of shapely.__version__.
194
+
195
+ 1.2.15 (2012-06-27)
196
+ -------------------
167
197
  - Eliminate numerical sensitivity in a method chaining test (Debian bug
168
198
  #663210).
169
199
  - Account for cascaded union of random buffered test points being a polygon
@@ -11,6 +11,7 @@ Shapely.egg-info/dependency_links.txt
11
11
  Shapely.egg-info/top_level.txt
12
12
  docs/manual.txt
13
13
  shapely/__init__.py
14
+ shapely/affinity.py
14
15
  shapely/coords.py
15
16
  shapely/ctypes_declarations.py
16
17
  shapely/ftools.py
@@ -65,6 +66,7 @@ shapely/tests/dimensions.txt
65
66
  shapely/tests/invalid_intersection.txt
66
67
  shapely/tests/linemerge.txt
67
68
  shapely/tests/polygonize.txt
69
+ shapely/tests/test_affinity.py
68
70
  shapely/tests/test_box.py
69
71
  shapely/tests/test_cga.py
70
72
  shapely/tests/test_collection.py
@@ -78,10 +80,12 @@ shapely/tests/test_getitem.py
78
80
  shapely/tests/test_linear_referencing.py
79
81
  shapely/tests/test_mapping.py
80
82
  shapely/tests/test_ndarrays.py
83
+ shapely/tests/test_pickle.py
81
84
  shapely/tests/test_prepared.py
82
85
  shapely/tests/test_products_z.py
83
86
  shapely/tests/test_singularity.py
84
87
  shapely/tests/test_speedups.py
88
+ shapely/tests/test_unary_union.py
85
89
  shapely/tests/test_validation.py
86
90
  shapely/tests/test_xy.py
87
91
  shapely/tests/threading_test.py
@@ -0,0 +1 @@
1
+ 1.2.17
@@ -5,8 +5,8 @@ The Shapely User Manual
5
5
  =======================
6
6
 
7
7
  :Author: Sean Gillies, <sean.gillies@gmail.com>
8
- :Revision: 1.2.14
9
- :Date: 21 January 2012
8
+ :Revision: 1.2.15
9
+ :Date: 8 July 2012
10
10
  :Copyright:
11
11
  This work is licensed under a `Creative Commons Attribution 3.0
12
12
  United States License`__.
@@ -646,7 +646,7 @@ Collections of Lines
646
646
 
647
647
  Figure 1: On the left, a `simple`, disconnected `MultiLineString`, and on the
648
648
  right, a non-simple `MultiLineString`. The points defining the objects are
649
- shownb in gray, the boundaries of the objects in black.
649
+ shown in gray, the boundaries of the objects in black.
650
650
 
651
651
  A `MultiLineString` has zero area and non-zero length.
652
652
 
@@ -771,7 +771,7 @@ longer empty.
771
771
  Linear Referencing Methods
772
772
  --------------------------
773
773
 
774
- It can useful to specify position along linear features such as `LineStrings`
774
+ It can be useful to specify position along linear features such as `LineStrings`
775
775
  and `MultiLineStrings` with a 1-dimensional referencing system. Shapely
776
776
  supports linear referencing based on length or distance, evaluating the
777
777
  distance along a geometric object to the projection of a given point, or the
@@ -943,7 +943,11 @@ meaningless for others.
943
943
  .. attribute:: object.is_simple
944
944
 
945
945
  Returns ``True`` if the feature does not cross itself.
946
-
946
+
947
+ .. note::
948
+
949
+ The simplicity test is meaningful only for `LineStrings` and `LinearRings`.
950
+
947
951
  .. sourcecode:: pycon
948
952
 
949
953
  >>> LineString([(0, 0), (1, 1), (1, -1), (0, 1)]).is_simple
@@ -1482,6 +1486,40 @@ Figure 1. Convex hull (blue) of 2 points (left) and of 6 points (right).
1482
1486
  >>> MultiPoint([(0, 0), (1, 1)]).envelope
1483
1487
  <shapely.geometry.polygon.Polygon object at 0x...>
1484
1488
 
1489
+ .. method:: object.parallel_offset(distance, side, resolution=16, join_style=1, mitre_limit=1.0)
1490
+
1491
+ Returns a LineString or MultiLineString geometry at a distance from the
1492
+ object on its right or its left side.
1493
+
1494
+ Distance must be a positive float value. The side parameter may be 'left' or
1495
+ 'right'. The resolution of the offset around each vertex of the object is
1496
+ parameterized as in the buffer method.
1497
+
1498
+ The styles of joins between offset segments are: 1 (round, the default),
1499
+ 2 (mitre or miter), and 3 (bevel).
1500
+
1501
+ Severely mitered corners can be controlled by the mitre_limit parameter
1502
+ (spelled in British English, en-gb). The ratio of the distance from the
1503
+ corner to the end of the mitred offset corner is the miter ratio. Corners
1504
+ with a ratio which exceed the limit will be beveled.
1505
+
1506
+ .. note::
1507
+
1508
+ This method is only available for `LinearRing`, `LineString`, and
1509
+ `MultiLineString` objects.
1510
+
1511
+ .. plot:: code/parallel_offset.py
1512
+
1513
+ Figure 1. Three styles of parallel offset lines on the left side of a simple
1514
+ line string (its starting point shown as a circle) and one offset on the right
1515
+ side, a multipart.
1516
+
1517
+ The effect of the `mitre_limit` parameter is shown below.
1518
+
1519
+ .. plot:: code/parallel_offset_mitre.py
1520
+
1521
+ Figure 1. Large and small mitre_limit values for left and right offsets.
1522
+
1485
1523
  .. method:: object.simplify(tolerance, preserve_topology=True)
1486
1524
 
1487
1525
  Returns a simplified representation of the geometric object.
@@ -1591,6 +1629,17 @@ The function is particularly useful in dissolving `MultiPolygons`.
1591
1629
  >>> cascaded_union(m).area
1592
1630
  6.6103013551167971
1593
1631
 
1632
+ .. note::
1633
+
1634
+ In 1.2.16 :func:`shapely.ops.cascaded_union` is superceded by
1635
+ :func:`shapely.ops.unary_union` if GEOS 3.2+ is used. The unary union
1636
+ function can operate on different geometry types, not only polygons as is
1637
+ the case for the older cascaded unions.
1638
+
1639
+ .. function:: shapely.ops.unary_union(geoms)
1640
+
1641
+ Returns a representation of the union of the given geometric objects.
1642
+
1594
1643
  Prepared Geometry Operations
1595
1644
  ----------------------------
1596
1645
 
@@ -1632,7 +1681,7 @@ Diagnostics
1632
1681
  The messages may or may not have a representation of a problem point that can
1633
1682
  be parsed out.
1634
1683
 
1635
- .. sourcecode:: python
1684
+ .. sourcecode:: pycon
1636
1685
 
1637
1686
  >>> coords = [(0, 0), (0, 2), (1, 1), (2, 2), (2, 0), (1, 1), (0, 0)]
1638
1687
  >>> p = Polygon(coords)
@@ -1640,6 +1689,23 @@ be parsed out.
1640
1689
  >>> explain_validity(p)
1641
1690
  'Ring Self-intersection[1 1]'
1642
1691
 
1692
+ The Shapely version, GEOS library version, and GEOS C API version are
1693
+ accessible via :attr:`shapely.__version__`,
1694
+ :attr:`shapely.geos.geos_version_string`, and
1695
+ :attr:`shapely.geos.geos_capi_version`.
1696
+
1697
+ .. sourcecode:: pycon
1698
+
1699
+ >>> import shapely
1700
+ >>> shapely.__version__
1701
+ '1.2.16'
1702
+ >>> import shapely.geos
1703
+ >>> shapely.geos.geos_version_string
1704
+ '3.3.0-CAPI-1.7.0'
1705
+ >>> shapely.geos.geos_capi_version
1706
+ (1, 7, 0)
1707
+
1708
+
1643
1709
  Interoperation
1644
1710
  ==============
1645
1711
 
@@ -5,16 +5,19 @@ try:
5
5
  use_setuptools()
6
6
  except:
7
7
  warnings.warn(
8
- "Failed to import distribute_setup, continuing without distribute.",
8
+ "Failed to import distribute_setup, continuing without distribute.",
9
9
  Warning)
10
10
 
11
11
  from distutils.errors import CCompilerError, DistutilsExecError, \
12
12
  DistutilsPlatformError
13
+ import errno
13
14
  import glob
14
15
  import os
15
16
  import platform
16
17
  from setuptools.extension import Extension
17
18
  from setuptools import setup, find_packages
19
+ from setuptools.command.build_ext import build_ext as distutils_build_ext
20
+ import shutil
18
21
  import subprocess
19
22
  import sys
20
23
 
@@ -29,10 +32,12 @@ for line in open('shapely/__init__.py', 'rb'):
29
32
  open('VERSION.txt', 'wb').write(version)
30
33
 
31
34
  readme_text = open('README.rst', 'rb').read()
35
+ readme_text = readme_text.replace(".. include:: CREDITS.txt", "")
36
+
37
+ f = open('CREDITS.txt', 'rb')
38
+ credits = f.read()
32
39
 
33
- # Skip the first line of the changes file to get the right header level
34
40
  f = open('CHANGES.txt', 'rb')
35
- f.readline()
36
41
  changes_text = f.read()
37
42
 
38
43
  setup_args = dict(
@@ -40,7 +45,7 @@ setup_args = dict(
40
45
  name = 'Shapely',
41
46
  version = version,
42
47
  requires_python = '>=2.5,<3',
43
- requires_external = 'libgeos_c (>=3.1)',
48
+ requires_external = 'libgeos_c (>=3.1)',
44
49
  description = 'Geometric objects, predicates, and operations',
45
50
  license = 'BSD',
46
51
  keywords = 'geometry topology gis',
@@ -48,8 +53,8 @@ setup_args = dict(
48
53
  author_email = 'sean.gillies@gmail.com',
49
54
  maintainer = 'Sean Gillies',
50
55
  maintainer_email = 'sean.gillies@gmail.com',
51
- url = 'https://github.com/sgillies/shapely',
52
- long_description = readme_text + "\n" + changes_text,
56
+ url = 'https://github.com/Toblerity/Shapely',
57
+ long_description = readme_text + "\n" + credits + "\n" + changes_text,
53
58
  packages = find_packages(),
54
59
  test_suite = 'shapely.tests.test_suite',
55
60
  classifiers = [
@@ -65,18 +70,23 @@ setup_args = dict(
65
70
 
66
71
  # Add DLLs for Windows
67
72
  if sys.platform == 'win32':
73
+ try:
74
+ os.mkdir('shapely/DLLs')
75
+ except OSError, ex:
76
+ if ex.errno != errno.EEXIST: raise
68
77
  if '(AMD64)' in sys.version:
69
- setup_args.update(
70
- data_files=[('DLLs', glob.glob('DLLs_AMD64_VC9/*.dll'))]
71
- )
78
+ for dll in glob.glob('DLLs_AMD64_VC9/*.dll'):
79
+ shutil.copy(dll, 'shapely/DLLs')
72
80
  elif platform.python_version().startswith('2.5.'):
73
- setup_args.update(
74
- data_files=[('DLLs', glob.glob('DLLs_x86_VC7/*.dll'))]
75
- )
81
+ for dll in glob.glob('DLLs_x86_VC7/*.dll'):
82
+ shutil.copy(dll, 'shapely/DLLs')
76
83
  else:
77
- setup_args.update(
78
- data_files=[('DLLs', glob.glob('DLLs_x86_VC9/*.dll'))]
79
- )
84
+ for dll in glob.glob('DLLs_x86_VC9/*.dll'):
85
+ shutil.copy(dll, 'shapely/DLLs')
86
+ setup_args.update(
87
+ package_data={'shapely': ['shapely/DLLs/*.dll']},
88
+ include_package_data=True,
89
+ )
80
90
 
81
91
 
82
92
  # Optional compilation of speedups
@@ -92,49 +102,57 @@ else:
92
102
  class BuildFailed(Exception):
93
103
  pass
94
104
 
95
- try:
96
- # try to use Cython if present
97
- from Cython.Distutils import build_ext
98
- except ImportError:
99
- # else try to build from existing .c file
100
- from setuptools.command.build_ext import build_ext as distutils_build_ext
101
-
102
- class build_ext(distutils_build_ext):
103
- # This class allows C extension building to fail.
104
-
105
- def run(self):
106
- try:
107
- distutils_build_ext.run(self)
108
- except DistutilsPlatformError, x:
109
- raise BuildFailed(x)
110
-
111
- def build_extension(self, ext):
112
- try:
113
- distutils_build_ext.build_extension(self, ext)
114
- except ext_errors, x:
115
- raise BuildFailed(x)
116
-
117
- if (hasattr(platform, 'python_implementation')
105
+ class build_ext(distutils_build_ext):
106
+ # This class allows C extension building to fail.
107
+
108
+ def run(self):
109
+ try:
110
+ distutils_build_ext.run(self)
111
+ except DistutilsPlatformError, x:
112
+ raise BuildFailed(x)
113
+
114
+ def build_extension(self, ext):
115
+ try:
116
+ distutils_build_ext.build_extension(self, ext)
117
+ except ext_errors, x:
118
+ raise BuildFailed(x)
119
+
120
+ if (hasattr(platform, 'python_implementation')
118
121
  and platform.python_implementation() == 'PyPy'):
119
122
  # python_implementation is only available since 2.6
120
123
  ext_modules = []
121
-
124
+ libraries = []
122
125
  elif sys.platform == 'win32':
123
126
  libraries = ['geos']
124
127
  else:
125
128
  libraries = ['geos_c']
126
129
 
127
130
  if os.path.exists("MANIFEST.in"):
128
- subprocess.check_call(["cython", "shapely/speedups/_speedups.pyx"])
131
+ pyx_file = "shapely/speedups/_speedups.pyx"
132
+ c_file = "shapely/speedups/_speedups.c"
133
+
134
+ force_cython = False
135
+ if 'sdist' in sys.argv:
136
+ force_cython = True
137
+
138
+ try:
139
+ if (force_cython or not os.path.exists(c_file)
140
+ or os.path.getmtime(pyx_file) > os.path.getmtime(c_file)):
141
+ print >>sys.stderr, "Updating C extension with Cython."
142
+ subprocess.check_call(["cython", "shapely/speedups/_speedups.pyx"])
143
+ except (subprocess.CalledProcessError, OSError):
144
+ print >>sys.stderr, "Warning: Could not (re)create C extension with Cython."
145
+ if force_cython:
146
+ raise
129
147
  if not os.path.exists("shapely/speedups/_speedups.c"):
130
- raise RuntimeError("Failed to generate C extension from PYX")
148
+ print >>sys.stderr, "Warning: speedup extension not found"
131
149
 
132
150
  ext_modules = [
133
151
  Extension(
134
152
  "shapely.speedups._speedups",
135
153
  ["shapely/speedups/_speedups.c"],
136
154
  libraries=libraries )]
137
-
155
+
138
156
  try:
139
157
  # try building with speedups
140
158
  setup(
@@ -0,0 +1 @@
1
+ __version__ = "1.2.17"