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.
- {Shapely-1.2.15 → Shapely-1.2.17}/CHANGES.txt +24 -3
- {Shapely-1.2.15 → Shapely-1.2.17}/CREDITS.txt +7 -0
- {Shapely-1.2.15/Shapely.egg-info → Shapely-1.2.17}/PKG-INFO +48 -18
- {Shapely-1.2.15 → Shapely-1.2.17}/README.rst +5 -32
- {Shapely-1.2.15 → Shapely-1.2.17/Shapely.egg-info}/PKG-INFO +48 -18
- {Shapely-1.2.15 → Shapely-1.2.17}/Shapely.egg-info/SOURCES.txt +4 -0
- Shapely-1.2.17/VERSION.txt +1 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/docs/manual.txt +72 -6
- {Shapely-1.2.15 → Shapely-1.2.17}/setup.py +60 -42
- Shapely-1.2.17/shapely/__init__.py +1 -0
- Shapely-1.2.17/shapely/affinity.py +248 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/ctypes_declarations.py +4 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/base.py +68 -36
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/polygon.py +7 -1
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/proxy.py +1 -3
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geos.py +33 -15
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/ops.py +17 -2
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/speedups/_speedups.c +1 -1
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/__init__.py +4 -1
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/cascaded_union.txt +1 -0
- Shapely-1.2.17/shapely/tests/test_affinity.py +239 -0
- Shapely-1.2.17/shapely/tests/test_collection.py +26 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_dlls.py +1 -1
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_emptiness.py +5 -0
- Shapely-1.2.17/shapely/tests/test_pickle.py +15 -0
- Shapely-1.2.17/shapely/tests/test_unary_union.py +40 -0
- Shapely-1.2.17/shapely/wkb.py +24 -0
- Shapely-1.2.17/shapely/wkt.py +24 -0
- Shapely-1.2.15/VERSION.txt +0 -1
- Shapely-1.2.15/shapely/__init__.py +0 -1
- Shapely-1.2.15/shapely/tests/test_collection.py +0 -11
- Shapely-1.2.15/shapely/wkb.py +0 -38
- Shapely-1.2.15/shapely/wkt.py +0 -34
- {Shapely-1.2.15 → Shapely-1.2.17}/LICENSE.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/Shapely.egg-info/dependency_links.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/Shapely.egg-info/top_level.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/setup.cfg +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/algorithms/__init__.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/algorithms/cga.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/coords.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/examples/__init__.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/examples/dissolve.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/examples/geoms.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/examples/intersect.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/examples/world.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/ftools.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/__init__.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/collection.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/geo.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/linestring.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/multilinestring.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/multipoint.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/multipolygon.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/geometry/point.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/impl.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/iterops.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/linref.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/predicates.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/prepared.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/speedups/__init__.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/Array.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/GeoInterface.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/IterOps.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/LineString.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/MultiLineString.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/MultiPoint.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/MultiPolygon.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/Operations.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/Persist.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/Point.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/Polygon.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/Predicates.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/attribute-chains.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/binascii_hex.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/dimensions.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/invalid_intersection.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/linemerge.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/polygonize.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_box.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_cga.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_delegated.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_doctests.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_equality.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_geomseq.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_getitem.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_linear_referencing.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_mapping.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_ndarrays.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_prepared.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_products_z.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_singularity.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_speedups.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_validation.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/test_xy.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/threading_test.py +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/tests/wkt_locale.txt +0 -0
- {Shapely-1.2.15 → Shapely-1.2.17}/shapely/topology.py +0 -0
- {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.
|
|
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.
|
|
3
|
+
Version: 1.2.17
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
|
-
Home-page: https://github.com/
|
|
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
|
-
|
|
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.
|
|
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
|
-
*
|
|
138
|
-
*
|
|
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 (
|
|
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
|
-
..
|
|
154
|
-
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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.
|
|
3
|
+
Version: 1.2.17
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
|
-
Home-page: https://github.com/
|
|
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
|
-
|
|
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.
|
|
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
|
-
*
|
|
138
|
-
*
|
|
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 (
|
|
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
|
-
..
|
|
154
|
-
|
|
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.
|
|
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.
|
|
9
|
-
:Date:
|
|
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
|
-
|
|
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::
|
|
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/
|
|
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
|
-
|
|
70
|
-
|
|
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
|
-
|
|
74
|
-
|
|
75
|
-
)
|
|
81
|
+
for dll in glob.glob('DLLs_x86_VC7/*.dll'):
|
|
82
|
+
shutil.copy(dll, 'shapely/DLLs')
|
|
76
83
|
else:
|
|
77
|
-
|
|
78
|
-
|
|
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
|
-
|
|
96
|
-
#
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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"
|