shapely 1.5.17__tar.gz → 1.6a1__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.5.17 → Shapely-1.6a1}/CHANGES.txt +37 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/CREDITS.txt +23 -17
- {Shapely-1.5.17/Shapely.egg-info → Shapely-1.6a1}/PKG-INFO +64 -18
- {Shapely-1.5.17 → Shapely-1.6a1}/README.rst +3 -0
- {Shapely-1.5.17 → Shapely-1.6a1/Shapely.egg-info}/PKG-INFO +64 -18
- {Shapely-1.5.17 → Shapely-1.6a1}/Shapely.egg-info/SOURCES.txt +23 -0
- Shapely-1.6a1/Shapely.egg-info/requires.txt +12 -0
- Shapely-1.6a1/VERSION.txt +1 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/docs/manual.rst +118 -12
- Shapely-1.6a1/packaging/__about__.py +21 -0
- Shapely-1.6a1/packaging/__init__.py +14 -0
- Shapely-1.6a1/packaging/_compat.py +30 -0
- Shapely-1.6a1/packaging/_structures.py +68 -0
- Shapely-1.6a1/packaging/markers.py +287 -0
- Shapely-1.6a1/packaging/requirements.py +127 -0
- Shapely-1.6a1/packaging/specifiers.py +774 -0
- Shapely-1.6a1/packaging/utils.py +14 -0
- Shapely-1.6a1/packaging/version.py +393 -0
- Shapely-1.6a1/packaging-15.3.dist-info/DESCRIPTION.rst +121 -0
- Shapely-1.6a1/packaging-15.3.dist-info/METADATA +141 -0
- Shapely-1.6a1/packaging-15.3.dist-info/RECORD +13 -0
- Shapely-1.6a1/packaging-15.3.dist-info/WHEEL +6 -0
- Shapely-1.6a1/packaging-15.3.dist-info/metadata.json +1 -0
- Shapely-1.6a1/packaging-15.3.dist-info/pbr.json +1 -0
- Shapely-1.6a1/packaging-15.3.dist-info/top_level.txt +1 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/setup.cfg +4 -1
- {Shapely-1.5.17 → Shapely-1.6a1}/setup.py +116 -44
- Shapely-1.6a1/shapely/__init__.py +1 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/_buildcfg.py +1 -1
- Shapely-1.6a1/shapely/algorithms/polylabel.py +128 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/ctypes_declarations.py +55 -79
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/__init__.py +3 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/base.py +57 -4
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/linestring.py +5 -4
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/polygon.py +24 -3
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geos.py +58 -28
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/impl.py +1 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/ops.py +174 -2
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/speedups/__init__.py +32 -1
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/speedups/_speedups.c +535 -497
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/speedups/_speedups.pyx +7 -3
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/vectorized/_vectorized.pyx +7 -5
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/conftest.py +8 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_emptiness.py +10 -0
- Shapely-1.6a1/tests/test_minimum_rotated_rectangle.py +33 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_operations.py +11 -2
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_polygon.py +12 -0
- Shapely-1.6a1/tests/test_polylabel.py +63 -0
- Shapely-1.6a1/tests/test_shared_paths.py +50 -0
- Shapely-1.6a1/tests/test_split.py +192 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_vectorized.py +4 -4
- Shapely-1.5.17/VERSION.txt +0 -1
- Shapely-1.5.17/shapely/__init__.py +0 -1
- {Shapely-1.5.17 → Shapely-1.6a1}/LICENSE.txt +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/Shapely.egg-info/dependency_links.txt +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/Shapely.egg-info/top_level.txt +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/docs/design.rst +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/docs/index.rst +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/docs/project.rst +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/_geos.pxi +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/affinity.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/algorithms/__init__.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/algorithms/cga.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/coords.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/examples/__init__.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/examples/dissolve.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/examples/geoms.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/examples/intersect.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/ftools.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/collection.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/geo.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/multilinestring.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/multipoint.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/multipolygon.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/point.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/geometry/proxy.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/iterops.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/linref.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/predicates.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/prepared.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/strtree.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/topology.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/validation.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/vectorized/__init__.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/wkb.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/shapely/wkt.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/__init__.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/binascii_hex.txt +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_affinity.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_box.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_cga.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_collection.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_coords.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_default_impl.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_delaunay.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_delegated.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_dlls.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_doctests.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_empty_polygons.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_equality.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_geointerface.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_geomseq.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_geos_err_handler.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_getitem.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_hash.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_invalid_geometries.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_iterops.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_linear_referencing.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_linemerge.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_linestring.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_locale.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_mapping.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_multi.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_multilinestring.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_multipoint.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_multipolygon.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_ndarrays.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_nearest.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_operators.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_parallel_offset.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_persist.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_pickle.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_point.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_polygonize.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_predicates.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_prepared.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_products_z.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_singularity.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_snap.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_strtree.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_styles.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_svg.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_transform.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_union.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_validation.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_wkt.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/test_xy.py +0 -0
- {Shapely-1.5.17 → Shapely-1.6a1}/tests/threading_test.py +0 -0
|
@@ -1,6 +1,43 @@
|
|
|
1
1
|
Changes
|
|
2
2
|
=======
|
|
3
3
|
|
|
4
|
+
1.6a1 (2016-09-14)
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
New features:
|
|
8
|
+
|
|
9
|
+
- A new error derived from NotImplementedError, with a more useful message, is
|
|
10
|
+
raised when the GEOS backend doesn't support a called method (#216).
|
|
11
|
+
- The ``project()`` method of LineString has been extended to LinearRing
|
|
12
|
+
geometries (#286).
|
|
13
|
+
- A new ``minimum_rotated_rectangle`` attribute has been added to the base
|
|
14
|
+
geometry class (#354).
|
|
15
|
+
- A new ``shapely.ops.polylabel()`` function has been added. It
|
|
16
|
+
computes a point suited for labeling concave polygons (#395).
|
|
17
|
+
- A new ``shapely.ops.split()`` function has been added. It splits a
|
|
18
|
+
geometry by another geometry of lesser dimension: polygon by line, line by
|
|
19
|
+
point (#293, #371).
|
|
20
|
+
- ``Polygon.from_bounds()`` constructs a Polygon from bounding coordinates
|
|
21
|
+
(#392).
|
|
22
|
+
- Support for testing with Numpy 1.4.1 has been added (#301).
|
|
23
|
+
- Support creating all kinds of empty geometries from empty lists of Python
|
|
24
|
+
objects (#397, #404).
|
|
25
|
+
|
|
26
|
+
Refactoring:
|
|
27
|
+
|
|
28
|
+
- Switch from ``SingleSidedBuffer()`` to ``OffsetCurve()`` for GEOS >= 3.3
|
|
29
|
+
(#270).
|
|
30
|
+
- Cython speedups are now enabled by defualt (#252).
|
|
31
|
+
|
|
32
|
+
Packaging:
|
|
33
|
+
|
|
34
|
+
- Packaging 16.7, a setup dependency, is vendorized (#314).
|
|
35
|
+
- Infrastructure for building manylinux1 wheels has been added (#391).
|
|
36
|
+
- The system's ``geos-config`` program is now only checked when ``setup.py``
|
|
37
|
+
is executed, never during normal use of the module (#244).
|
|
38
|
+
- Added new library search paths to assist PyInstaller (#382) and Windows
|
|
39
|
+
(#343).
|
|
40
|
+
|
|
4
41
|
1.5.17 (2016-08-31)
|
|
5
42
|
-------------------
|
|
6
43
|
- Bug fix: eliminate memory leak in geom_factory() (#408).
|
|
@@ -5,44 +5,50 @@ Shapely is written by:
|
|
|
5
5
|
|
|
6
6
|
* Sean Gillies <sean.gillies@gmail.com>
|
|
7
7
|
* Oliver Tonnhofer <olt@bogosoft.com>
|
|
8
|
-
* Mike Toews <mwtoews@gmail.com>
|
|
9
8
|
* Joshua Arnott <josh@snorfalorpagus.net>
|
|
9
|
+
* Mike Toews <mwtoews@gmail.com>
|
|
10
10
|
* Jacob Wasserman <jwasserman@gmail.com>
|
|
11
|
-
*
|
|
11
|
+
* aronbierbaum <aronbierbaum@b426a367-1105-0410-b9ff-cdf4ab011145>
|
|
12
|
+
* Allan Adair <allan@rfspot.com>
|
|
12
13
|
* Johannes Schönberger <jschoenberger@demuc.de>
|
|
14
|
+
* georgeouzou <geothrock@gmail.com>
|
|
13
15
|
* Phil Elson <pelson.pub@gmail.com>
|
|
14
16
|
* Howard Butler <hobu.inc@gmail.com>
|
|
15
17
|
* dokai <dokai@b426a367-1105-0410-b9ff-cdf4ab011145>
|
|
16
18
|
* Gabi Davar <grizzly.nyo@gmail.com>
|
|
19
|
+
* Kevin Wurster <kevin@skytruth.org>
|
|
17
20
|
* Kelsey Jordahl <kjordahl@enthought.com>
|
|
18
21
|
* Dave Collins <dave@hopest.net>
|
|
22
|
+
* fredj <frederic.junod@camptocamp.com>
|
|
23
|
+
* Brad Hards <bradh@frogmouth.net>
|
|
24
|
+
* David Baumgold <david@davidbaumgold.com>
|
|
25
|
+
* Henry Walshaw <henry.walshaw@gmail.com>
|
|
19
26
|
* Jinkun Wang <mejkunw@gmail.com>
|
|
20
27
|
* Marc Jansen <jansen@terrestris.de>
|
|
21
|
-
* Henry Walshaw <henry.walshaw@gmail.com>
|
|
22
|
-
* David Baumgold <david@davidbaumgold.com>
|
|
23
28
|
* Sampo Syrjanen <sampo.syrjanen@here.com>
|
|
24
29
|
* Steve M. Kim <steve@climate.com>
|
|
25
30
|
* Thomas Kluyver <takowl@gmail.com>
|
|
26
|
-
*
|
|
27
|
-
* Allan Adair <allan.m.adair@gmail.com>
|
|
28
|
-
* fredj <frederic.junod@camptocamp.com>
|
|
31
|
+
* Morris Tweed <tweed.morris@gmail.com>
|
|
29
32
|
* Naveen Michaud-Agrawal <naveen.michaudagrawal@gmail.com>
|
|
30
|
-
* Peter Sagerson <psagers.github@ignorare.net>
|
|
31
|
-
* BertrandGervais <bertrand.gervais.pro@gmail.com>
|
|
32
33
|
* Jeethu Rao <jeethu@jeethurao.com>
|
|
34
|
+
* Peter Sagerson <psagers.github@ignorare.net>
|
|
33
35
|
* Jason Sanford <jason.sanford@mapmyfitness.com>
|
|
34
|
-
*
|
|
35
|
-
* Stephan Hügel <urschrei@gmail.com>
|
|
36
|
-
* Johan Euphrosine <proppy@aminche.com>
|
|
37
|
-
* mindw <grizzly.nyo@gmail.com>
|
|
36
|
+
* Jamie Hall <jamie1212@gmail.com>
|
|
38
37
|
* James Spencer <james.s.spencer@gmail.com>
|
|
38
|
+
* Stephan Hügel <urschrei@gmail.com>
|
|
39
39
|
* Benjamin Root <ben.v.root@gmail.com>
|
|
40
|
-
* Leandro Lima <leandro@limaesilva.com.br>
|
|
41
|
-
* Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
|
|
42
40
|
* Tobias Sauerwein <tobias.sauerwein@camptocamp.com>
|
|
43
|
-
* James Douglass <jamesdouglassusa@gmail.com>
|
|
44
|
-
* Morris Tweed <tweed.morris@gmail.com>]
|
|
45
41
|
* WANG Aiyong <gepcelway@gmail.com>
|
|
42
|
+
* James Douglass <jamesdouglassusa@gmail.com>
|
|
43
|
+
* Brandon Wood <btwood@geometeor.com>
|
|
44
|
+
* Andy Freeland <andy@andyfreeland.net>
|
|
45
|
+
* BertrandGervais <bertrand.gervais.pro@gmail.com>
|
|
46
|
+
* giumas <gmasetti@ccom.unh.edu>
|
|
47
|
+
* Leandro Lima <leandro@limaesilva.com.br>
|
|
48
|
+
* Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
|
|
49
|
+
* joelostblom <joelostblom@users.noreply.github.com>
|
|
50
|
+
* Marco De Nadai <me@marcodena.it>
|
|
51
|
+
* Johan Euphrosine <proppy@aminche.com>
|
|
46
52
|
|
|
47
53
|
See also: https://github.com/Toblerity/Shapely/graphs/contributors.
|
|
48
54
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.6a1
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -15,6 +15,9 @@ Description: =======
|
|
|
15
15
|
.. image:: https://travis-ci.org/Toblerity/Shapely.png?branch=master
|
|
16
16
|
:target: https://travis-ci.org/Toblerity/Shapely
|
|
17
17
|
|
|
18
|
+
.. image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
|
|
19
|
+
:target: https://coveralls.io/github/Toblerity/Shapely?branch=master
|
|
20
|
+
|
|
18
21
|
.. image:: http://farm3.staticflickr.com/2738/4511827859_b5822043b7_o_d.png
|
|
19
22
|
:width: 800
|
|
20
23
|
:height: 400
|
|
@@ -165,44 +168,50 @@ Description: =======
|
|
|
165
168
|
|
|
166
169
|
* Sean Gillies <sean.gillies@gmail.com>
|
|
167
170
|
* Oliver Tonnhofer <olt@bogosoft.com>
|
|
168
|
-
* Mike Toews <mwtoews@gmail.com>
|
|
169
171
|
* Joshua Arnott <josh@snorfalorpagus.net>
|
|
172
|
+
* Mike Toews <mwtoews@gmail.com>
|
|
170
173
|
* Jacob Wasserman <jwasserman@gmail.com>
|
|
171
|
-
*
|
|
174
|
+
* aronbierbaum <aronbierbaum@b426a367-1105-0410-b9ff-cdf4ab011145>
|
|
175
|
+
* Allan Adair <allan@rfspot.com>
|
|
172
176
|
* Johannes Schönberger <jschoenberger@demuc.de>
|
|
177
|
+
* georgeouzou <geothrock@gmail.com>
|
|
173
178
|
* Phil Elson <pelson.pub@gmail.com>
|
|
174
179
|
* Howard Butler <hobu.inc@gmail.com>
|
|
175
180
|
* dokai <dokai@b426a367-1105-0410-b9ff-cdf4ab011145>
|
|
176
181
|
* Gabi Davar <grizzly.nyo@gmail.com>
|
|
182
|
+
* Kevin Wurster <kevin@skytruth.org>
|
|
177
183
|
* Kelsey Jordahl <kjordahl@enthought.com>
|
|
178
184
|
* Dave Collins <dave@hopest.net>
|
|
185
|
+
* fredj <frederic.junod@camptocamp.com>
|
|
186
|
+
* Brad Hards <bradh@frogmouth.net>
|
|
187
|
+
* David Baumgold <david@davidbaumgold.com>
|
|
188
|
+
* Henry Walshaw <henry.walshaw@gmail.com>
|
|
179
189
|
* Jinkun Wang <mejkunw@gmail.com>
|
|
180
190
|
* Marc Jansen <jansen@terrestris.de>
|
|
181
|
-
* Henry Walshaw <henry.walshaw@gmail.com>
|
|
182
|
-
* David Baumgold <david@davidbaumgold.com>
|
|
183
191
|
* Sampo Syrjanen <sampo.syrjanen@here.com>
|
|
184
192
|
* Steve M. Kim <steve@climate.com>
|
|
185
193
|
* Thomas Kluyver <takowl@gmail.com>
|
|
186
|
-
*
|
|
187
|
-
* Allan Adair <allan.m.adair@gmail.com>
|
|
188
|
-
* fredj <frederic.junod@camptocamp.com>
|
|
194
|
+
* Morris Tweed <tweed.morris@gmail.com>
|
|
189
195
|
* Naveen Michaud-Agrawal <naveen.michaudagrawal@gmail.com>
|
|
190
|
-
* Peter Sagerson <psagers.github@ignorare.net>
|
|
191
|
-
* BertrandGervais <bertrand.gervais.pro@gmail.com>
|
|
192
196
|
* Jeethu Rao <jeethu@jeethurao.com>
|
|
197
|
+
* Peter Sagerson <psagers.github@ignorare.net>
|
|
193
198
|
* Jason Sanford <jason.sanford@mapmyfitness.com>
|
|
194
|
-
*
|
|
195
|
-
* Stephan Hügel <urschrei@gmail.com>
|
|
196
|
-
* Johan Euphrosine <proppy@aminche.com>
|
|
197
|
-
* mindw <grizzly.nyo@gmail.com>
|
|
199
|
+
* Jamie Hall <jamie1212@gmail.com>
|
|
198
200
|
* James Spencer <james.s.spencer@gmail.com>
|
|
201
|
+
* Stephan Hügel <urschrei@gmail.com>
|
|
199
202
|
* Benjamin Root <ben.v.root@gmail.com>
|
|
200
|
-
* Leandro Lima <leandro@limaesilva.com.br>
|
|
201
|
-
* Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
|
|
202
203
|
* Tobias Sauerwein <tobias.sauerwein@camptocamp.com>
|
|
203
|
-
* James Douglass <jamesdouglassusa@gmail.com>
|
|
204
|
-
* Morris Tweed <tweed.morris@gmail.com>]
|
|
205
204
|
* WANG Aiyong <gepcelway@gmail.com>
|
|
205
|
+
* James Douglass <jamesdouglassusa@gmail.com>
|
|
206
|
+
* Brandon Wood <btwood@geometeor.com>
|
|
207
|
+
* Andy Freeland <andy@andyfreeland.net>
|
|
208
|
+
* BertrandGervais <bertrand.gervais.pro@gmail.com>
|
|
209
|
+
* giumas <gmasetti@ccom.unh.edu>
|
|
210
|
+
* Leandro Lima <leandro@limaesilva.com.br>
|
|
211
|
+
* Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
|
|
212
|
+
* joelostblom <joelostblom@users.noreply.github.com>
|
|
213
|
+
* Marco De Nadai <me@marcodena.it>
|
|
214
|
+
* Johan Euphrosine <proppy@aminche.com>
|
|
206
215
|
|
|
207
216
|
See also: https://github.com/Toblerity/Shapely/graphs/contributors.
|
|
208
217
|
|
|
@@ -222,6 +231,43 @@ Description: =======
|
|
|
222
231
|
Changes
|
|
223
232
|
=======
|
|
224
233
|
|
|
234
|
+
1.6a1 (2016-09-14)
|
|
235
|
+
------------------
|
|
236
|
+
|
|
237
|
+
New features:
|
|
238
|
+
|
|
239
|
+
- A new error derived from NotImplementedError, with a more useful message, is
|
|
240
|
+
raised when the GEOS backend doesn't support a called method (#216).
|
|
241
|
+
- The ``project()`` method of LineString has been extended to LinearRing
|
|
242
|
+
geometries (#286).
|
|
243
|
+
- A new ``minimum_rotated_rectangle`` attribute has been added to the base
|
|
244
|
+
geometry class (#354).
|
|
245
|
+
- A new ``shapely.ops.polylabel()`` function has been added. It
|
|
246
|
+
computes a point suited for labeling concave polygons (#395).
|
|
247
|
+
- A new ``shapely.ops.split()`` function has been added. It splits a
|
|
248
|
+
geometry by another geometry of lesser dimension: polygon by line, line by
|
|
249
|
+
point (#293, #371).
|
|
250
|
+
- ``Polygon.from_bounds()`` constructs a Polygon from bounding coordinates
|
|
251
|
+
(#392).
|
|
252
|
+
- Support for testing with Numpy 1.4.1 has been added (#301).
|
|
253
|
+
- Support creating all kinds of empty geometries from empty lists of Python
|
|
254
|
+
objects (#397, #404).
|
|
255
|
+
|
|
256
|
+
Refactoring:
|
|
257
|
+
|
|
258
|
+
- Switch from ``SingleSidedBuffer()`` to ``OffsetCurve()`` for GEOS >= 3.3
|
|
259
|
+
(#270).
|
|
260
|
+
- Cython speedups are now enabled by defualt (#252).
|
|
261
|
+
|
|
262
|
+
Packaging:
|
|
263
|
+
|
|
264
|
+
- Packaging 16.7, a setup dependency, is vendorized (#314).
|
|
265
|
+
- Infrastructure for building manylinux1 wheels has been added (#391).
|
|
266
|
+
- The system's ``geos-config`` program is now only checked when ``setup.py``
|
|
267
|
+
is executed, never during normal use of the module (#244).
|
|
268
|
+
- Added new library search paths to assist PyInstaller (#382) and Windows
|
|
269
|
+
(#343).
|
|
270
|
+
|
|
225
271
|
1.5.17 (2016-08-31)
|
|
226
272
|
-------------------
|
|
227
273
|
- Bug fix: eliminate memory leak in geom_factory() (#408).
|
|
@@ -7,6 +7,9 @@ Manipulation and analysis of geometric objects in the Cartesian plane.
|
|
|
7
7
|
.. image:: https://travis-ci.org/Toblerity/Shapely.png?branch=master
|
|
8
8
|
:target: https://travis-ci.org/Toblerity/Shapely
|
|
9
9
|
|
|
10
|
+
.. image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
|
|
11
|
+
:target: https://coveralls.io/github/Toblerity/Shapely?branch=master
|
|
12
|
+
|
|
10
13
|
.. image:: http://farm3.staticflickr.com/2738/4511827859_b5822043b7_o_d.png
|
|
11
14
|
:width: 800
|
|
12
15
|
:height: 400
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.6a1
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -15,6 +15,9 @@ Description: =======
|
|
|
15
15
|
.. image:: https://travis-ci.org/Toblerity/Shapely.png?branch=master
|
|
16
16
|
:target: https://travis-ci.org/Toblerity/Shapely
|
|
17
17
|
|
|
18
|
+
.. image:: https://coveralls.io/repos/github/Toblerity/Shapely/badge.svg?branch=master
|
|
19
|
+
:target: https://coveralls.io/github/Toblerity/Shapely?branch=master
|
|
20
|
+
|
|
18
21
|
.. image:: http://farm3.staticflickr.com/2738/4511827859_b5822043b7_o_d.png
|
|
19
22
|
:width: 800
|
|
20
23
|
:height: 400
|
|
@@ -165,44 +168,50 @@ Description: =======
|
|
|
165
168
|
|
|
166
169
|
* Sean Gillies <sean.gillies@gmail.com>
|
|
167
170
|
* Oliver Tonnhofer <olt@bogosoft.com>
|
|
168
|
-
* Mike Toews <mwtoews@gmail.com>
|
|
169
171
|
* Joshua Arnott <josh@snorfalorpagus.net>
|
|
172
|
+
* Mike Toews <mwtoews@gmail.com>
|
|
170
173
|
* Jacob Wasserman <jwasserman@gmail.com>
|
|
171
|
-
*
|
|
174
|
+
* aronbierbaum <aronbierbaum@b426a367-1105-0410-b9ff-cdf4ab011145>
|
|
175
|
+
* Allan Adair <allan@rfspot.com>
|
|
172
176
|
* Johannes Schönberger <jschoenberger@demuc.de>
|
|
177
|
+
* georgeouzou <geothrock@gmail.com>
|
|
173
178
|
* Phil Elson <pelson.pub@gmail.com>
|
|
174
179
|
* Howard Butler <hobu.inc@gmail.com>
|
|
175
180
|
* dokai <dokai@b426a367-1105-0410-b9ff-cdf4ab011145>
|
|
176
181
|
* Gabi Davar <grizzly.nyo@gmail.com>
|
|
182
|
+
* Kevin Wurster <kevin@skytruth.org>
|
|
177
183
|
* Kelsey Jordahl <kjordahl@enthought.com>
|
|
178
184
|
* Dave Collins <dave@hopest.net>
|
|
185
|
+
* fredj <frederic.junod@camptocamp.com>
|
|
186
|
+
* Brad Hards <bradh@frogmouth.net>
|
|
187
|
+
* David Baumgold <david@davidbaumgold.com>
|
|
188
|
+
* Henry Walshaw <henry.walshaw@gmail.com>
|
|
179
189
|
* Jinkun Wang <mejkunw@gmail.com>
|
|
180
190
|
* Marc Jansen <jansen@terrestris.de>
|
|
181
|
-
* Henry Walshaw <henry.walshaw@gmail.com>
|
|
182
|
-
* David Baumgold <david@davidbaumgold.com>
|
|
183
191
|
* Sampo Syrjanen <sampo.syrjanen@here.com>
|
|
184
192
|
* Steve M. Kim <steve@climate.com>
|
|
185
193
|
* Thomas Kluyver <takowl@gmail.com>
|
|
186
|
-
*
|
|
187
|
-
* Allan Adair <allan.m.adair@gmail.com>
|
|
188
|
-
* fredj <frederic.junod@camptocamp.com>
|
|
194
|
+
* Morris Tweed <tweed.morris@gmail.com>
|
|
189
195
|
* Naveen Michaud-Agrawal <naveen.michaudagrawal@gmail.com>
|
|
190
|
-
* Peter Sagerson <psagers.github@ignorare.net>
|
|
191
|
-
* BertrandGervais <bertrand.gervais.pro@gmail.com>
|
|
192
196
|
* Jeethu Rao <jeethu@jeethurao.com>
|
|
197
|
+
* Peter Sagerson <psagers.github@ignorare.net>
|
|
193
198
|
* Jason Sanford <jason.sanford@mapmyfitness.com>
|
|
194
|
-
*
|
|
195
|
-
* Stephan Hügel <urschrei@gmail.com>
|
|
196
|
-
* Johan Euphrosine <proppy@aminche.com>
|
|
197
|
-
* mindw <grizzly.nyo@gmail.com>
|
|
199
|
+
* Jamie Hall <jamie1212@gmail.com>
|
|
198
200
|
* James Spencer <james.s.spencer@gmail.com>
|
|
201
|
+
* Stephan Hügel <urschrei@gmail.com>
|
|
199
202
|
* Benjamin Root <ben.v.root@gmail.com>
|
|
200
|
-
* Leandro Lima <leandro@limaesilva.com.br>
|
|
201
|
-
* Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
|
|
202
203
|
* Tobias Sauerwein <tobias.sauerwein@camptocamp.com>
|
|
203
|
-
* James Douglass <jamesdouglassusa@gmail.com>
|
|
204
|
-
* Morris Tweed <tweed.morris@gmail.com>]
|
|
205
204
|
* WANG Aiyong <gepcelway@gmail.com>
|
|
205
|
+
* James Douglass <jamesdouglassusa@gmail.com>
|
|
206
|
+
* Brandon Wood <btwood@geometeor.com>
|
|
207
|
+
* Andy Freeland <andy@andyfreeland.net>
|
|
208
|
+
* BertrandGervais <bertrand.gervais.pro@gmail.com>
|
|
209
|
+
* giumas <gmasetti@ccom.unh.edu>
|
|
210
|
+
* Leandro Lima <leandro@limaesilva.com.br>
|
|
211
|
+
* Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
|
|
212
|
+
* joelostblom <joelostblom@users.noreply.github.com>
|
|
213
|
+
* Marco De Nadai <me@marcodena.it>
|
|
214
|
+
* Johan Euphrosine <proppy@aminche.com>
|
|
206
215
|
|
|
207
216
|
See also: https://github.com/Toblerity/Shapely/graphs/contributors.
|
|
208
217
|
|
|
@@ -222,6 +231,43 @@ Description: =======
|
|
|
222
231
|
Changes
|
|
223
232
|
=======
|
|
224
233
|
|
|
234
|
+
1.6a1 (2016-09-14)
|
|
235
|
+
------------------
|
|
236
|
+
|
|
237
|
+
New features:
|
|
238
|
+
|
|
239
|
+
- A new error derived from NotImplementedError, with a more useful message, is
|
|
240
|
+
raised when the GEOS backend doesn't support a called method (#216).
|
|
241
|
+
- The ``project()`` method of LineString has been extended to LinearRing
|
|
242
|
+
geometries (#286).
|
|
243
|
+
- A new ``minimum_rotated_rectangle`` attribute has been added to the base
|
|
244
|
+
geometry class (#354).
|
|
245
|
+
- A new ``shapely.ops.polylabel()`` function has been added. It
|
|
246
|
+
computes a point suited for labeling concave polygons (#395).
|
|
247
|
+
- A new ``shapely.ops.split()`` function has been added. It splits a
|
|
248
|
+
geometry by another geometry of lesser dimension: polygon by line, line by
|
|
249
|
+
point (#293, #371).
|
|
250
|
+
- ``Polygon.from_bounds()`` constructs a Polygon from bounding coordinates
|
|
251
|
+
(#392).
|
|
252
|
+
- Support for testing with Numpy 1.4.1 has been added (#301).
|
|
253
|
+
- Support creating all kinds of empty geometries from empty lists of Python
|
|
254
|
+
objects (#397, #404).
|
|
255
|
+
|
|
256
|
+
Refactoring:
|
|
257
|
+
|
|
258
|
+
- Switch from ``SingleSidedBuffer()`` to ``OffsetCurve()`` for GEOS >= 3.3
|
|
259
|
+
(#270).
|
|
260
|
+
- Cython speedups are now enabled by defualt (#252).
|
|
261
|
+
|
|
262
|
+
Packaging:
|
|
263
|
+
|
|
264
|
+
- Packaging 16.7, a setup dependency, is vendorized (#314).
|
|
265
|
+
- Infrastructure for building manylinux1 wheels has been added (#391).
|
|
266
|
+
- The system's ``geos-config`` program is now only checked when ``setup.py``
|
|
267
|
+
is executed, never during normal use of the module (#244).
|
|
268
|
+
- Added new library search paths to assist PyInstaller (#382) and Windows
|
|
269
|
+
(#343).
|
|
270
|
+
|
|
225
271
|
1.5.17 (2016-08-31)
|
|
226
272
|
-------------------
|
|
227
273
|
- Bug fix: eliminate memory leak in geom_factory() (#408).
|
|
@@ -3,15 +3,33 @@ CREDITS.txt
|
|
|
3
3
|
LICENSE.txt
|
|
4
4
|
README.rst
|
|
5
5
|
VERSION.txt
|
|
6
|
+
setup.cfg
|
|
6
7
|
setup.py
|
|
7
8
|
Shapely.egg-info/PKG-INFO
|
|
8
9
|
Shapely.egg-info/SOURCES.txt
|
|
9
10
|
Shapely.egg-info/dependency_links.txt
|
|
11
|
+
Shapely.egg-info/requires.txt
|
|
10
12
|
Shapely.egg-info/top_level.txt
|
|
11
13
|
docs/design.rst
|
|
12
14
|
docs/index.rst
|
|
13
15
|
docs/manual.rst
|
|
14
16
|
docs/project.rst
|
|
17
|
+
packaging/__about__.py
|
|
18
|
+
packaging/__init__.py
|
|
19
|
+
packaging/_compat.py
|
|
20
|
+
packaging/_structures.py
|
|
21
|
+
packaging/markers.py
|
|
22
|
+
packaging/requirements.py
|
|
23
|
+
packaging/specifiers.py
|
|
24
|
+
packaging/utils.py
|
|
25
|
+
packaging/version.py
|
|
26
|
+
packaging-15.3.dist-info/DESCRIPTION.rst
|
|
27
|
+
packaging-15.3.dist-info/METADATA
|
|
28
|
+
packaging-15.3.dist-info/RECORD
|
|
29
|
+
packaging-15.3.dist-info/WHEEL
|
|
30
|
+
packaging-15.3.dist-info/metadata.json
|
|
31
|
+
packaging-15.3.dist-info/pbr.json
|
|
32
|
+
packaging-15.3.dist-info/top_level.txt
|
|
15
33
|
shapely/__init__.py
|
|
16
34
|
shapely/_buildcfg.py
|
|
17
35
|
shapely/_geos.pxi
|
|
@@ -33,6 +51,7 @@ shapely/wkb.py
|
|
|
33
51
|
shapely/wkt.py
|
|
34
52
|
shapely/algorithms/__init__.py
|
|
35
53
|
shapely/algorithms/cga.py
|
|
54
|
+
shapely/algorithms/polylabel.py
|
|
36
55
|
shapely/examples/__init__.py
|
|
37
56
|
shapely/examples/dissolve.py
|
|
38
57
|
shapely/examples/geoms.py
|
|
@@ -81,6 +100,7 @@ tests/test_linemerge.py
|
|
|
81
100
|
tests/test_linestring.py
|
|
82
101
|
tests/test_locale.py
|
|
83
102
|
tests/test_mapping.py
|
|
103
|
+
tests/test_minimum_rotated_rectangle.py
|
|
84
104
|
tests/test_multi.py
|
|
85
105
|
tests/test_multilinestring.py
|
|
86
106
|
tests/test_multipoint.py
|
|
@@ -95,11 +115,14 @@ tests/test_pickle.py
|
|
|
95
115
|
tests/test_point.py
|
|
96
116
|
tests/test_polygon.py
|
|
97
117
|
tests/test_polygonize.py
|
|
118
|
+
tests/test_polylabel.py
|
|
98
119
|
tests/test_predicates.py
|
|
99
120
|
tests/test_prepared.py
|
|
100
121
|
tests/test_products_z.py
|
|
122
|
+
tests/test_shared_paths.py
|
|
101
123
|
tests/test_singularity.py
|
|
102
124
|
tests/test_snap.py
|
|
125
|
+
tests/test_split.py
|
|
103
126
|
tests/test_strtree.py
|
|
104
127
|
tests/test_styles.py
|
|
105
128
|
tests/test_svg.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.6a1
|
|
@@ -207,6 +207,23 @@ General Attributes and Methods
|
|
|
207
207
|
>>> Point(0,0).distance(Point(1,1))
|
|
208
208
|
1.4142135623730951
|
|
209
209
|
|
|
210
|
+
.. method:: object.hausdorff_distance(other)
|
|
211
|
+
|
|
212
|
+
Returns the Hausdorff distance (``float``) to the `other` geometric object.
|
|
213
|
+
The Hausdorff distance is the furthest distance from any point on the first
|
|
214
|
+
geometry to any point on the second geometry.
|
|
215
|
+
|
|
216
|
+
`New in Shapely 1.6.0`
|
|
217
|
+
|
|
218
|
+
.. code-block:: pycon
|
|
219
|
+
|
|
220
|
+
>>> point = Point(1, 1)
|
|
221
|
+
>>> line = LineString([(2, 0), (2, 4), (3, 4)])
|
|
222
|
+
>>> point.hausdorff_distance(line)
|
|
223
|
+
3.605551275463989
|
|
224
|
+
>>> point.distance(Point(3, 4))
|
|
225
|
+
3.605551275463989
|
|
226
|
+
|
|
210
227
|
.. method:: object.representative_point()
|
|
211
228
|
|
|
212
229
|
Returns a cheaply computed point that is guaranteed to be within the
|
|
@@ -1122,7 +1139,7 @@ This predicate applies to all types and is the inverse of :meth:`intersects`.
|
|
|
1122
1139
|
|
|
1123
1140
|
.. method:: object.intersects(other)
|
|
1124
1141
|
|
|
1125
|
-
Returns ``True`` if the `boundary`
|
|
1142
|
+
Returns ``True`` if the `boundary` or `interior` of the object intersect in
|
|
1126
1143
|
any way with those of the other.
|
|
1127
1144
|
|
|
1128
1145
|
In other words, geometric objects intersect if they have any boundary or
|
|
@@ -1559,6 +1576,27 @@ Figure 10. Convex hull (blue) of 2 points (left) and of 6 points (right).
|
|
|
1559
1576
|
>>> MultiPoint([(0, 0), (1, 1)]).envelope
|
|
1560
1577
|
<shapely.geometry.polygon.Polygon object at 0x...>
|
|
1561
1578
|
|
|
1579
|
+
.. attribute:: object.minimum_rotated_rectangle
|
|
1580
|
+
|
|
1581
|
+
Returns the general minimum bounding rectangle that contains the object.
|
|
1582
|
+
Unlike envelope this rectangle is not constrained to be parallel to the
|
|
1583
|
+
coordinate axes. If the convex hull of the object is a degenerate (line or point)
|
|
1584
|
+
this degenerate is returned.
|
|
1585
|
+
|
|
1586
|
+
`New in Shapely 1.6.0`
|
|
1587
|
+
|
|
1588
|
+
.. code-block:: pycon
|
|
1589
|
+
|
|
1590
|
+
>>> Point(0, 0).minimum_rotated_rectangle
|
|
1591
|
+
<shapely.geometry.point.Point object at 0x...>
|
|
1592
|
+
>>> MultiPoint([(0,0),(1,1),(2,0.5)]).minimum_rotated_rectangle
|
|
1593
|
+
<shapely.geometry.polygon.Polygon object at 0x...>
|
|
1594
|
+
|
|
1595
|
+
.. plot:: code/minimum_rotated_rectangle.py
|
|
1596
|
+
|
|
1597
|
+
Figure 11. Minimum rotated rectangle for a multipoint feature (left) and a
|
|
1598
|
+
linestring feature (right).
|
|
1599
|
+
|
|
1562
1600
|
.. method:: object.parallel_offset(distance, side, resolution=16, join_style=1, mitre_limit=5.0)
|
|
1563
1601
|
|
|
1564
1602
|
Returns a LineString or MultiLineString geometry at a distance from the
|
|
@@ -1583,7 +1621,7 @@ Figure 10. Convex hull (blue) of 2 points (left) and of 6 points (right).
|
|
|
1583
1621
|
|
|
1584
1622
|
.. plot:: code/parallel_offset.py
|
|
1585
1623
|
|
|
1586
|
-
Figure
|
|
1624
|
+
Figure 12. Three styles of parallel offset lines on the left side of a simple
|
|
1587
1625
|
line string (its starting point shown as a circle) and one offset on the right
|
|
1588
1626
|
side, a multipart.
|
|
1589
1627
|
|
|
@@ -1591,7 +1629,7 @@ The effect of the `mitre_limit` parameter is shown below.
|
|
|
1591
1629
|
|
|
1592
1630
|
.. plot:: code/parallel_offset_mitre.py
|
|
1593
1631
|
|
|
1594
|
-
Figure
|
|
1632
|
+
Figure 13. Large and small mitre_limit values for left and right offsets.
|
|
1595
1633
|
|
|
1596
1634
|
.. method:: object.simplify(tolerance, preserve_topology=True)
|
|
1597
1635
|
|
|
@@ -1618,7 +1656,7 @@ Douglas-Peucker algorithm [6]_ is used.
|
|
|
1618
1656
|
|
|
1619
1657
|
.. plot:: code/simplify.py
|
|
1620
1658
|
|
|
1621
|
-
Figure
|
|
1659
|
+
Figure 14. Simplification of a nearly circular polygon using a tolerance of 0.2
|
|
1622
1660
|
(left) and 0.5 (right).
|
|
1623
1661
|
|
|
1624
1662
|
.. note::
|
|
@@ -1726,7 +1764,7 @@ preserved or supported by 3D affine transformations.
|
|
|
1726
1764
|
|
|
1727
1765
|
.. plot:: code/rotate.py
|
|
1728
1766
|
|
|
1729
|
-
Figure
|
|
1767
|
+
Figure 15. Rotation of a `LineString` (gray) by an angle of 90°
|
|
1730
1768
|
counter-clockwise (blue) using different origins.
|
|
1731
1769
|
|
|
1732
1770
|
.. function:: shapely.affinity.scale(geom, xfact=1.0, yfact=1.0, zfact=1.0, origin='center')
|
|
@@ -1768,7 +1806,7 @@ preserved or supported by 3D affine transformations.
|
|
|
1768
1806
|
|
|
1769
1807
|
.. plot:: code/scale.py
|
|
1770
1808
|
|
|
1771
|
-
Figure
|
|
1809
|
+
Figure 16. Scaling of a gray triangle to blue result: a) by a factor of 1.5
|
|
1772
1810
|
along x-direction, with reflection across y-axis; b) by a factor of 2 along
|
|
1773
1811
|
x-direction with custom origin at (1, 1).
|
|
1774
1812
|
|
|
@@ -1800,7 +1838,7 @@ preserved or supported by 3D affine transformations.
|
|
|
1800
1838
|
|
|
1801
1839
|
.. plot:: code/skew.py
|
|
1802
1840
|
|
|
1803
|
-
Figure
|
|
1841
|
+
Figure 17. Skewing of a gray "R" to blue result: a) by a shear angle of 20°
|
|
1804
1842
|
along the x-direction and an origin at (1, 1); b) by a shear angle of 30°
|
|
1805
1843
|
along the y-direction, using default origin.
|
|
1806
1844
|
|
|
@@ -2080,6 +2118,65 @@ one geometry to the vertices in a second geometry with a given tolerance.
|
|
|
2080
2118
|
>>> result.wkt
|
|
2081
2119
|
'LINESTRING (0 0, 1 1, 2 1, 2.6 0.5)'
|
|
2082
2120
|
|
|
2121
|
+
Shared paths
|
|
2122
|
+
------------
|
|
2123
|
+
|
|
2124
|
+
The :func:`~shapely.ops.shared_paths` function in `shapely.ops` finds the shared
|
|
2125
|
+
paths between two lineal geometries.
|
|
2126
|
+
|
|
2127
|
+
.. function:: shapely.ops.shared_paths(geom1, geom2)
|
|
2128
|
+
|
|
2129
|
+
Finds the shared paths between `geom1` and `geom2`, where both geometries
|
|
2130
|
+
are `LineStrings`.
|
|
2131
|
+
|
|
2132
|
+
A `GeometryCollection` is returned with two elements. The first element is a
|
|
2133
|
+
`MultiLineString` containing shared paths with the same direction for both
|
|
2134
|
+
inputs. The second element is a MultiLineString containing shared paths with
|
|
2135
|
+
the opposite direction for the two inputs.
|
|
2136
|
+
|
|
2137
|
+
`New in version 1.6.0`
|
|
2138
|
+
|
|
2139
|
+
.. code-block:: pycon
|
|
2140
|
+
|
|
2141
|
+
>>> from shapely.ops import shared_paths
|
|
2142
|
+
>>> g1 = LineString([(0, 0), (10, 0), (10, 5), (20, 5)])
|
|
2143
|
+
>>> g2 = LineString([(5, 0), (30, 0), (30, 5), (0, 5)])
|
|
2144
|
+
>>> forward, backward = shared_paths(g1, g2)
|
|
2145
|
+
>>> forward.wkt
|
|
2146
|
+
'MULTILINESTRING ((5 0, 10 0))'
|
|
2147
|
+
>>> backward.wkt
|
|
2148
|
+
'MULTILINESTRING ((10 5, 20 5))'
|
|
2149
|
+
|
|
2150
|
+
Splitting
|
|
2151
|
+
---------
|
|
2152
|
+
|
|
2153
|
+
The :func:`~shapely.ops.split` function in `shapely.ops` splits a geometry by another geometry.
|
|
2154
|
+
|
|
2155
|
+
.. function:: shapely.ops.split(geom, splitter)
|
|
2156
|
+
|
|
2157
|
+
Splits a geometry by another geometry and returns a collection of geometries. This function is the theoretical
|
|
2158
|
+
opposite of the union of the split geometry parts. If the splitter does not split the geometry, a collection with a single geometry equal to the input geometry is returned.
|
|
2159
|
+
|
|
2160
|
+
The function supports:
|
|
2161
|
+
|
|
2162
|
+
* Splitting a (Multi)LineString by a (Multi)Point or (Multi)LineString or (Multi)Polygon boundary
|
|
2163
|
+
|
|
2164
|
+
* Splitting a (Multi)Polygon by a LineString
|
|
2165
|
+
|
|
2166
|
+
It may be convenient to snap the splitter with low tolerance to the geometry. For example in the case of splitting a line by a point, the point must be exactly on the line, for the line to be correctly split.
|
|
2167
|
+
When splitting a line by a polygon, the boundary of the polygon is used for the operation.
|
|
2168
|
+
When splitting a line by another line, a ValueError is raised if the two overlap at some segment.
|
|
2169
|
+
|
|
2170
|
+
`New in version 1.6.0`
|
|
2171
|
+
|
|
2172
|
+
.. code-block:: pycon
|
|
2173
|
+
|
|
2174
|
+
>>> pt = Point((1, 1))
|
|
2175
|
+
>>> line = LineString([(0,0), (2,2)])
|
|
2176
|
+
>>> result = split(line, pt)
|
|
2177
|
+
>>> result.wkt
|
|
2178
|
+
'GEOMETRYCOLLECTION (LINESTRING (0 0, 1 1), LINESTRING (1 1, 2 2))'
|
|
2179
|
+
|
|
2083
2180
|
Prepared Geometry Operations
|
|
2084
2181
|
----------------------------
|
|
2085
2182
|
|
|
@@ -2370,13 +2467,12 @@ involves some overhead that might slow down your code.
|
|
|
2370
2467
|
.. versionadded:: 1.2.10
|
|
2371
2468
|
|
|
2372
2469
|
The :mod:`shapely.speedups` module contains performance enhancements written in
|
|
2373
|
-
C. They are
|
|
2374
|
-
GEOS development headers during installation.
|
|
2470
|
+
C. They are automatically installed when Python has access to a compiler and
|
|
2471
|
+
GEOS development headers during installation.
|
|
2375
2472
|
|
|
2376
2473
|
You can check if the speedups are installed with the :attr:`available`
|
|
2377
|
-
attribute.
|
|
2378
|
-
|
|
2379
|
-
:func:`disable`.
|
|
2474
|
+
attribute. To enable the speedups call :func:`enable`. You can revert to the
|
|
2475
|
+
default implementation with :func:`disable`.
|
|
2380
2476
|
|
|
2381
2477
|
.. code-block:: pycon
|
|
2382
2478
|
|
|
@@ -2385,6 +2481,16 @@ speedups call :func:`enable`. You can revert to the default implementation with
|
|
|
2385
2481
|
True
|
|
2386
2482
|
>>> speedups.enable()
|
|
2387
2483
|
|
|
2484
|
+
.. versionadded:: 1.6.0
|
|
2485
|
+
|
|
2486
|
+
Speedups are now enabled by default if they are available. You can check if
|
|
2487
|
+
speedups are enabled with the :attr:`enabled` attribute.
|
|
2488
|
+
|
|
2489
|
+
.. code-block:: pycon
|
|
2490
|
+
|
|
2491
|
+
>>> from shapely import speedups
|
|
2492
|
+
>>> speedups.enabled
|
|
2493
|
+
True
|
|
2388
2494
|
|
|
2389
2495
|
Conclusion
|
|
2390
2496
|
==========
|