shapely 1.6b4__tar.gz → 1.6.1__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 (133) hide show
  1. {Shapely-1.6b4 → Shapely-1.6.1}/CHANGES.txt +43 -0
  2. {Shapely-1.6b4 → Shapely-1.6.1}/CREDITS.txt +9 -7
  3. {Shapely-1.6b4/Shapely.egg-info → Shapely-1.6.1}/PKG-INFO +79 -34
  4. {Shapely-1.6b4 → Shapely-1.6.1}/README.rst +26 -26
  5. {Shapely-1.6b4 → Shapely-1.6.1/Shapely.egg-info}/PKG-INFO +79 -34
  6. Shapely-1.6.1/VERSION.txt +1 -0
  7. {Shapely-1.6b4 → Shapely-1.6.1}/docs/manual.rst +8 -4
  8. Shapely-1.6.1/shapely/__init__.py +1 -0
  9. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/geometry/base.py +6 -0
  10. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/geometry/linestring.py +2 -0
  11. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/geos.py +2 -2
  12. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/speedups/_speedups.c +358 -167
  13. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/strtree.py +3 -0
  14. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_emptiness.py +5 -1
  15. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_strtree.py +19 -0
  16. Shapely-1.6b4/VERSION.txt +0 -1
  17. Shapely-1.6b4/shapely/__init__.py +0 -1
  18. {Shapely-1.6b4 → Shapely-1.6.1}/LICENSE.txt +0 -0
  19. {Shapely-1.6b4 → Shapely-1.6.1}/Shapely.egg-info/SOURCES.txt +0 -0
  20. {Shapely-1.6b4 → Shapely-1.6.1}/Shapely.egg-info/dependency_links.txt +0 -0
  21. {Shapely-1.6b4 → Shapely-1.6.1}/Shapely.egg-info/requires.txt +0 -0
  22. {Shapely-1.6b4 → Shapely-1.6.1}/Shapely.egg-info/top_level.txt +0 -0
  23. {Shapely-1.6b4 → Shapely-1.6.1}/_vendor/__init__.py +0 -0
  24. {Shapely-1.6b4 → Shapely-1.6.1}/_vendor/packaging/__about__.py +0 -0
  25. {Shapely-1.6b4 → Shapely-1.6.1}/_vendor/packaging/__init__.py +0 -0
  26. {Shapely-1.6b4 → Shapely-1.6.1}/_vendor/packaging/_compat.py +0 -0
  27. {Shapely-1.6b4 → Shapely-1.6.1}/_vendor/packaging/_structures.py +0 -0
  28. {Shapely-1.6b4 → Shapely-1.6.1}/_vendor/packaging/markers.py +0 -0
  29. {Shapely-1.6b4 → Shapely-1.6.1}/_vendor/packaging/requirements.py +0 -0
  30. {Shapely-1.6b4 → Shapely-1.6.1}/_vendor/packaging/specifiers.py +0 -0
  31. {Shapely-1.6b4 → Shapely-1.6.1}/_vendor/packaging/utils.py +0 -0
  32. {Shapely-1.6b4 → Shapely-1.6.1}/_vendor/packaging/version.py +0 -0
  33. {Shapely-1.6b4 → Shapely-1.6.1}/docs/design.rst +0 -0
  34. {Shapely-1.6b4 → Shapely-1.6.1}/docs/index.rst +0 -0
  35. {Shapely-1.6b4 → Shapely-1.6.1}/docs/project.rst +0 -0
  36. {Shapely-1.6b4 → Shapely-1.6.1}/setup.cfg +0 -0
  37. {Shapely-1.6b4 → Shapely-1.6.1}/setup.py +0 -0
  38. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/_buildcfg.py +0 -0
  39. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/_geos.pxi +0 -0
  40. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/affinity.py +0 -0
  41. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/algorithms/__init__.py +0 -0
  42. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/algorithms/cga.py +0 -0
  43. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/algorithms/polylabel.py +0 -0
  44. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/coords.py +0 -0
  45. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/ctypes_declarations.py +0 -0
  46. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/errors.py +0 -0
  47. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/examples/__init__.py +0 -0
  48. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/examples/dissolve.py +0 -0
  49. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/examples/geoms.py +0 -0
  50. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/examples/intersect.py +0 -0
  51. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/ftools.py +0 -0
  52. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/geometry/__init__.py +0 -0
  53. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/geometry/collection.py +0 -0
  54. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/geometry/geo.py +0 -0
  55. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/geometry/multilinestring.py +0 -0
  56. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/geometry/multipoint.py +0 -0
  57. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/geometry/multipolygon.py +0 -0
  58. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/geometry/point.py +0 -0
  59. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/geometry/polygon.py +0 -0
  60. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/geometry/proxy.py +0 -0
  61. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/impl.py +0 -0
  62. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/iterops.py +0 -0
  63. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/linref.py +0 -0
  64. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/ops.py +0 -0
  65. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/predicates.py +0 -0
  66. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/prepared.py +0 -0
  67. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/speedups/__init__.py +0 -0
  68. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/speedups/_speedups.pyx +0 -0
  69. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/topology.py +0 -0
  70. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/validation.py +0 -0
  71. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/vectorized/__init__.py +0 -0
  72. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/vectorized/_vectorized.pyx +0 -0
  73. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/wkb.py +0 -0
  74. {Shapely-1.6b4 → Shapely-1.6.1}/shapely/wkt.py +0 -0
  75. {Shapely-1.6b4 → Shapely-1.6.1}/tests/__init__.py +0 -0
  76. {Shapely-1.6b4 → Shapely-1.6.1}/tests/binascii_hex.txt +0 -0
  77. {Shapely-1.6b4 → Shapely-1.6.1}/tests/conftest.py +0 -0
  78. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_affinity.py +0 -0
  79. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_box.py +0 -0
  80. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_cga.py +0 -0
  81. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_collection.py +0 -0
  82. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_coords.py +0 -0
  83. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_default_impl.py +0 -0
  84. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_delaunay.py +0 -0
  85. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_delegated.py +0 -0
  86. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_dlls.py +0 -0
  87. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_doctests.py +0 -0
  88. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_empty_polygons.py +0 -0
  89. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_equality.py +0 -0
  90. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_geointerface.py +0 -0
  91. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_geomseq.py +0 -0
  92. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_geos_err_handler.py +0 -0
  93. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_getitem.py +0 -0
  94. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_hash.py +0 -0
  95. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_invalid_geometries.py +0 -0
  96. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_iterops.py +0 -0
  97. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_linear_referencing.py +0 -0
  98. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_linemerge.py +0 -0
  99. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_linestring.py +0 -0
  100. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_locale.py +0 -0
  101. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_mapping.py +0 -0
  102. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_minimum_rotated_rectangle.py +0 -0
  103. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_multi.py +0 -0
  104. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_multilinestring.py +0 -0
  105. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_multipoint.py +0 -0
  106. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_multipolygon.py +0 -0
  107. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_ndarrays.py +0 -0
  108. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_nearest.py +0 -0
  109. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_operations.py +0 -0
  110. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_operators.py +0 -0
  111. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_parallel_offset.py +0 -0
  112. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_persist.py +0 -0
  113. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_pickle.py +0 -0
  114. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_point.py +0 -0
  115. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_polygon.py +0 -0
  116. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_polygonize.py +0 -0
  117. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_polylabel.py +0 -0
  118. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_predicates.py +0 -0
  119. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_prepared.py +0 -0
  120. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_products_z.py +0 -0
  121. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_shared_paths.py +0 -0
  122. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_singularity.py +0 -0
  123. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_snap.py +0 -0
  124. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_split.py +0 -0
  125. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_styles.py +0 -0
  126. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_svg.py +0 -0
  127. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_transform.py +0 -0
  128. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_union.py +0 -0
  129. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_validation.py +0 -0
  130. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_vectorized.py +0 -0
  131. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_wkt.py +0 -0
  132. {Shapely-1.6b4 → Shapely-1.6.1}/tests/test_xy.py +0 -0
  133. {Shapely-1.6b4 → Shapely-1.6.1}/tests/threading_test.py +0 -0
@@ -1,6 +1,49 @@
1
1
  Changes
2
2
  =======
3
3
 
4
+ 1.6.1 (2017-09-01)
5
+ ------------------
6
+
7
+ - Avoid ``STRTree`` crashes due to dangling references (#505) by maintaining
8
+ references to added geometries.
9
+ - Reduce log level to debug when reporting on calls to ctypes ``CDLL()`` that
10
+ don't succeed and are retried (#515).
11
+ - Clarification: applications like GeoPandas that need an empty geometry object
12
+ should use ``BaseGeometry()`` instead of ``Point()`` or ``Polygon()``. An
13
+ ``EmptyGeometry`` class has been added in the master development branch and
14
+ will be available in the next non-bugfix release.
15
+
16
+ 1.6.0 (2017-08-21)
17
+ ------------------
18
+
19
+ Shapely 1.6.0 adds new attributes to existing geometry classes and new
20
+ functions (``split()`` and ``polylabel()``) to the shapely.ops module.
21
+ Exceptions are consolidated in a shapely.errors module and logging practices
22
+ have been improved. Shapely's optional features depending on Numpy are now
23
+ gathered into a requirements set named "vectorized" and these may be installed
24
+ like ``pip install shapely[vectorized]``.
25
+
26
+ Much of the work on 1.6.0 was aimed to improve the project's build and
27
+ packaging scripts and to minimize run-time dependencies. Shapely now vendorizes
28
+ packaging to use during builds only and never again invokes the geos-config
29
+ utility at run-time.
30
+
31
+ In addition to the changes listed under the alpha and beta pre-releases below,
32
+ the following change has been made to the project:
33
+
34
+ - Project documentation is now hosted at
35
+ https://shapely.readthedocs.io/en/latest/.
36
+
37
+ Thank you all for using, promoting, and contributing to the Shapely project.
38
+
39
+ 1.6b5 (2017-08-18)
40
+ ------------------
41
+
42
+ Bug fixes:
43
+
44
+ - Passing a single coordinate to ``LineString()`` with speedups disabled now
45
+ raises a ValueError as happens with speedups enabled. This resolves #509.
46
+
4
47
  1.6b4 (2017-02-15)
5
48
  ------------------
6
49
 
@@ -8,16 +8,17 @@ Shapely is written by:
8
8
  * Joshua Arnott <josh@snorfalorpagus.net>
9
9
  * Mike Toews <mwtoews@gmail.com>
10
10
  * Jacob Wasserman <jwasserman@gmail.com>
11
- * aronbierbaum <aronbierbaum@b426a367-1105-0410-b9ff-cdf4ab011145>
11
+ * Aron Bierbaum <aronbierbaum@gmail.com>
12
12
  * Allan Adair <allan@rfspot.com>
13
13
  * Johannes Schönberger <jschoenberger@demuc.de>
14
14
  * georgeouzou <geothrock@gmail.com>
15
15
  * Phil Elson <pelson.pub@gmail.com>
16
16
  * Howard Butler <hobu.inc@gmail.com>
17
+ * Kelsey Jordahl <kjordahl@enthought.com>
17
18
  * dokai <dokai@b426a367-1105-0410-b9ff-cdf4ab011145>
18
- * Gabi Davar <grizzly.nyo@gmail.com>
19
19
  * Kevin Wurster <kevin@skytruth.org>
20
- * Kelsey Jordahl <kjordahl@enthought.com>
20
+ * Gabi Davar <grizzly.nyo@gmail.com>
21
+ * Thibault Deutsch <thibault.deutsch@gmail.com>
21
22
  * Dave Collins <dave@hopest.net>
22
23
  * fredj <frederic.junod@camptocamp.com>
23
24
  * Brad Hards <bradh@frogmouth.net>
@@ -33,16 +34,18 @@ Shapely is written by:
33
34
  * Jeethu Rao <jeethu@jeethurao.com>
34
35
  * Peter Sagerson <psagers.github@ignorare.net>
35
36
  * Jason Sanford <jason.sanford@mapmyfitness.com>
37
+ * mindw <grizzly.nyo@gmail.com>
36
38
  * Jamie Hall <jamie1212@gmail.com>
37
39
  * James Spencer <james.s.spencer@gmail.com>
38
40
  * Stephan Hügel <urschrei@gmail.com>
39
- * Benjamin Root <ben.v.root@gmail.com>
41
+ * Bas Couwenberg <sebastic@xs4all.nl>
42
+ * James Douglass <jamesdouglassusa@gmail.com>
40
43
  * Tobias Sauerwein <tobias.sauerwein@camptocamp.com>
41
44
  * WANG Aiyong <gepcelway@gmail.com>
42
- * James Douglass <jamesdouglassusa@gmail.com>
43
45
  * Brandon Wood <btwood@geometeor.com>
44
- * Andy Freeland <andy@andyfreeland.net>
45
46
  * BertrandGervais <bertrand.gervais.pro@gmail.com>
47
+ * Andy Freeland <andy@andyfreeland.net>
48
+ * Benjamin Root <ben.v.root@gmail.com>
46
49
  * giumas <gmasetti@ccom.unh.edu>
47
50
  * Leandro Lima <leandro@limaesilva.com.br>
48
51
  * Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
@@ -56,7 +59,6 @@ Additional help from:
56
59
 
57
60
  * Justin Bronn (GeoDjango) for ctypes inspiration
58
61
  * Martin Davis (JTS)
59
- * Jaakko Salli for the Windows distributions
60
62
  * Sandro Santilli, Mateusz Loskot, Paul Ramsey, et al (GEOS Project)
61
63
 
62
64
  Major portions of this work were supported by a grant (for Pleiades_) from the
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: Shapely
3
- Version: 1.6b4
3
+ Version: 1.6.1
4
4
  Summary: Geometric objects, predicates, and operations
5
5
  Home-page: https://github.com/Toblerity/Shapely
6
6
  Author: Sean Gillies
@@ -30,58 +30,61 @@ Description: =======
30
30
  libraries. Shapely is not concerned with data formats or coordinate systems,
31
31
  but can be readily integrated with packages that are. For more details, see:
32
32
 
33
- * Shapely on `GitHub <https://github.com/Toblerity/Shapely>`__
34
- * The Shapely `manual <http://toblerity.github.com/shapely/manual.html>`__
33
+ * `Shapely GitHub repository <https://github.com/Toblerity/Shapely>`__
34
+ * `Shapely documentation and manual <https://shapely.readthedocs.io/en/latest/>`__
35
35
 
36
36
  Requirements
37
37
  ============
38
38
 
39
- Shapely 1.6.x requires
39
+ Shapely 1.6 requires
40
40
 
41
41
  * Python >=2.6 (including Python 3.x)
42
42
  * GEOS >=3.3
43
43
 
44
- Installing Shapely (1.6b2)
45
- ==========================
44
+ Installing Shapely 1.6
45
+ ======================
46
+
47
+ Shapely may be installed from a source distribution or one of several kinds
48
+ of built distribution.
49
+
50
+ Built distributions
51
+ -------------------
46
52
 
47
53
  Windows users have two good installation options: the wheels at
48
54
  http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely and the
49
55
  Anaconda platform's [conda-forge](https://conda-forge.github.io/)
50
56
  channel.
51
57
 
52
- OS X users can get Shapely wheels with GEOS included from the
58
+ OS X and Linux users can get Shapely wheels with GEOS included from the
53
59
  Python Package Index with a recent version of pip (8+):
54
60
 
55
61
  .. code-block:: console
56
62
 
57
- $ pip install shapely==1.6b2
63
+ $ pip install shapely
58
64
 
59
65
  A few extra speedups that require Numpy can be had by running
60
66
 
61
67
  .. code-block:: console
62
68
 
63
- $ pip install shapely[vectorized]==1.6b2
64
-
65
- If you want to build Shapely from source for compatibility with
66
- other modules that depend on GEOS (such as cartopy or osgeo.ogr)
67
- you may ignore the binary wheels.
69
+ $ pip install shapely[vectorized]
68
70
 
69
- .. code-block:: console
71
+ Shapely is available via system package management tools like apt, yum, and
72
+ Homebrew, and is also provided by popular Python distributions like Canopy and
73
+ Anaconda.
70
74
 
71
- $ pip install shapely --no-binary shapely
72
-
73
- Binary wheels are also available for Linux. To get them, use `pip shapely
74
- shapely==1.6b2`. To avoid them, use `pip install shapely --no-binary
75
- shapely==1.6b2`.
75
+ Source distributions
76
+ --------------------
76
77
 
77
- In other situations, install `geos_c` libs and headers by any means
78
- (for example, `brew install geos` on OS X or
79
- `apt-get install libgeos-dev` on Debian/Ubuntu) and install Shapely
80
- from the Python package index.
78
+ If you want to build Shapely from source for compatibility with
79
+ other modules that depend on GEOS (such as cartopy or osgeo.ogr) or want to
80
+ use a different version of GEOS than the one included in the project wheels
81
+ you should first install the GEOS library, Cython, and Numpy on your system
82
+ (using apt, yum, brew, or other means) and then direct pip to ignore the binary
83
+ wheels.
81
84
 
82
85
  .. code-block:: console
83
86
 
84
- $ pip install shapely
87
+ $ pip install shapely --no-binary shapely
85
88
 
86
89
  If you've installed GEOS to a standard location, the geos-config program
87
90
  will be used to get compiler and linker options. If geos-config is not on
@@ -92,9 +95,6 @@ Description: =======
92
95
 
93
96
  $ GEOS_CONFIG=/path/to/geos-config pip install shapely
94
97
 
95
- Shapely is also provided by popular Python distributions like Canopy
96
- (Enthought) and Anaconda (Continuum Analytics).
97
-
98
98
  Usage
99
99
  =====
100
100
 
@@ -179,16 +179,17 @@ Description: =======
179
179
  * Joshua Arnott <josh@snorfalorpagus.net>
180
180
  * Mike Toews <mwtoews@gmail.com>
181
181
  * Jacob Wasserman <jwasserman@gmail.com>
182
- * aronbierbaum <aronbierbaum@b426a367-1105-0410-b9ff-cdf4ab011145>
182
+ * Aron Bierbaum <aronbierbaum@gmail.com>
183
183
  * Allan Adair <allan@rfspot.com>
184
184
  * Johannes Schönberger <jschoenberger@demuc.de>
185
185
  * georgeouzou <geothrock@gmail.com>
186
186
  * Phil Elson <pelson.pub@gmail.com>
187
187
  * Howard Butler <hobu.inc@gmail.com>
188
+ * Kelsey Jordahl <kjordahl@enthought.com>
188
189
  * dokai <dokai@b426a367-1105-0410-b9ff-cdf4ab011145>
189
- * Gabi Davar <grizzly.nyo@gmail.com>
190
190
  * Kevin Wurster <kevin@skytruth.org>
191
- * Kelsey Jordahl <kjordahl@enthought.com>
191
+ * Gabi Davar <grizzly.nyo@gmail.com>
192
+ * Thibault Deutsch <thibault.deutsch@gmail.com>
192
193
  * Dave Collins <dave@hopest.net>
193
194
  * fredj <frederic.junod@camptocamp.com>
194
195
  * Brad Hards <bradh@frogmouth.net>
@@ -204,16 +205,18 @@ Description: =======
204
205
  * Jeethu Rao <jeethu@jeethurao.com>
205
206
  * Peter Sagerson <psagers.github@ignorare.net>
206
207
  * Jason Sanford <jason.sanford@mapmyfitness.com>
208
+ * mindw <grizzly.nyo@gmail.com>
207
209
  * Jamie Hall <jamie1212@gmail.com>
208
210
  * James Spencer <james.s.spencer@gmail.com>
209
211
  * Stephan Hügel <urschrei@gmail.com>
210
- * Benjamin Root <ben.v.root@gmail.com>
212
+ * Bas Couwenberg <sebastic@xs4all.nl>
213
+ * James Douglass <jamesdouglassusa@gmail.com>
211
214
  * Tobias Sauerwein <tobias.sauerwein@camptocamp.com>
212
215
  * WANG Aiyong <gepcelway@gmail.com>
213
- * James Douglass <jamesdouglassusa@gmail.com>
214
216
  * Brandon Wood <btwood@geometeor.com>
215
- * Andy Freeland <andy@andyfreeland.net>
216
217
  * BertrandGervais <bertrand.gervais.pro@gmail.com>
218
+ * Andy Freeland <andy@andyfreeland.net>
219
+ * Benjamin Root <ben.v.root@gmail.com>
217
220
  * giumas <gmasetti@ccom.unh.edu>
218
221
  * Leandro Lima <leandro@limaesilva.com.br>
219
222
  * Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
@@ -227,7 +230,6 @@ Description: =======
227
230
 
228
231
  * Justin Bronn (GeoDjango) for ctypes inspiration
229
232
  * Martin Davis (JTS)
230
- * Jaakko Salli for the Windows distributions
231
233
  * Sandro Santilli, Mateusz Loskot, Paul Ramsey, et al (GEOS Project)
232
234
 
233
235
  Major portions of this work were supported by a grant (for Pleiades_) from the
@@ -239,6 +241,49 @@ Description: =======
239
241
  Changes
240
242
  =======
241
243
 
244
+ 1.6.1 (2017-09-01)
245
+ ------------------
246
+
247
+ - Avoid ``STRTree`` crashes due to dangling references (#505) by maintaining
248
+ references to added geometries.
249
+ - Reduce log level to debug when reporting on calls to ctypes ``CDLL()`` that
250
+ don't succeed and are retried (#515).
251
+ - Clarification: applications like GeoPandas that need an empty geometry object
252
+ should use ``BaseGeometry()`` instead of ``Point()`` or ``Polygon()``. An
253
+ ``EmptyGeometry`` class has been added in the master development branch and
254
+ will be available in the next non-bugfix release.
255
+
256
+ 1.6.0 (2017-08-21)
257
+ ------------------
258
+
259
+ Shapely 1.6.0 adds new attributes to existing geometry classes and new
260
+ functions (``split()`` and ``polylabel()``) to the shapely.ops module.
261
+ Exceptions are consolidated in a shapely.errors module and logging practices
262
+ have been improved. Shapely's optional features depending on Numpy are now
263
+ gathered into a requirements set named "vectorized" and these may be installed
264
+ like ``pip install shapely[vectorized]``.
265
+
266
+ Much of the work on 1.6.0 was aimed to improve the project's build and
267
+ packaging scripts and to minimize run-time dependencies. Shapely now vendorizes
268
+ packaging to use during builds only and never again invokes the geos-config
269
+ utility at run-time.
270
+
271
+ In addition to the changes listed under the alpha and beta pre-releases below,
272
+ the following change has been made to the project:
273
+
274
+ - Project documentation is now hosted at
275
+ https://shapely.readthedocs.io/en/latest/.
276
+
277
+ Thank you all for using, promoting, and contributing to the Shapely project.
278
+
279
+ 1.6b5 (2017-08-18)
280
+ ------------------
281
+
282
+ Bug fixes:
283
+
284
+ - Passing a single coordinate to ``LineString()`` with speedups disabled now
285
+ raises a ValueError as happens with speedups enabled. This resolves #509.
286
+
242
287
  1.6b4 (2017-02-15)
243
288
  ------------------
244
289
 
@@ -22,58 +22,61 @@ planar geometric objects. It is based on the widely deployed `GEOS
22
22
  libraries. Shapely is not concerned with data formats or coordinate systems,
23
23
  but can be readily integrated with packages that are. For more details, see:
24
24
 
25
- * Shapely on `GitHub <https://github.com/Toblerity/Shapely>`__
26
- * The Shapely `manual <http://toblerity.github.com/shapely/manual.html>`__
25
+ * `Shapely GitHub repository <https://github.com/Toblerity/Shapely>`__
26
+ * `Shapely documentation and manual <https://shapely.readthedocs.io/en/latest/>`__
27
27
 
28
28
  Requirements
29
29
  ============
30
30
 
31
- Shapely 1.6.x requires
31
+ Shapely 1.6 requires
32
32
 
33
33
  * Python >=2.6 (including Python 3.x)
34
34
  * GEOS >=3.3
35
35
 
36
- Installing Shapely (1.6b2)
37
- ==========================
36
+ Installing Shapely 1.6
37
+ ======================
38
+
39
+ Shapely may be installed from a source distribution or one of several kinds
40
+ of built distribution.
41
+
42
+ Built distributions
43
+ -------------------
38
44
 
39
45
  Windows users have two good installation options: the wheels at
40
46
  http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely and the
41
47
  Anaconda platform's [conda-forge](https://conda-forge.github.io/)
42
48
  channel.
43
49
 
44
- OS X users can get Shapely wheels with GEOS included from the
50
+ OS X and Linux users can get Shapely wheels with GEOS included from the
45
51
  Python Package Index with a recent version of pip (8+):
46
52
 
47
53
  .. code-block:: console
48
54
 
49
- $ pip install shapely==1.6b2
55
+ $ pip install shapely
50
56
 
51
57
  A few extra speedups that require Numpy can be had by running
52
58
 
53
59
  .. code-block:: console
54
60
 
55
- $ pip install shapely[vectorized]==1.6b2
56
-
57
- If you want to build Shapely from source for compatibility with
58
- other modules that depend on GEOS (such as cartopy or osgeo.ogr)
59
- you may ignore the binary wheels.
60
-
61
- .. code-block:: console
61
+ $ pip install shapely[vectorized]
62
62
 
63
- $ pip install shapely --no-binary shapely
63
+ Shapely is available via system package management tools like apt, yum, and
64
+ Homebrew, and is also provided by popular Python distributions like Canopy and
65
+ Anaconda.
64
66
 
65
- Binary wheels are also available for Linux. To get them, use `pip shapely
66
- shapely==1.6b2`. To avoid them, use `pip install shapely --no-binary
67
- shapely==1.6b2`.
67
+ Source distributions
68
+ --------------------
68
69
 
69
- In other situations, install `geos_c` libs and headers by any means
70
- (for example, `brew install geos` on OS X or
71
- `apt-get install libgeos-dev` on Debian/Ubuntu) and install Shapely
72
- from the Python package index.
70
+ If you want to build Shapely from source for compatibility with
71
+ other modules that depend on GEOS (such as cartopy or osgeo.ogr) or want to
72
+ use a different version of GEOS than the one included in the project wheels
73
+ you should first install the GEOS library, Cython, and Numpy on your system
74
+ (using apt, yum, brew, or other means) and then direct pip to ignore the binary
75
+ wheels.
73
76
 
74
77
  .. code-block:: console
75
78
 
76
- $ pip install shapely
79
+ $ pip install shapely --no-binary shapely
77
80
 
78
81
  If you've installed GEOS to a standard location, the geos-config program
79
82
  will be used to get compiler and linker options. If geos-config is not on
@@ -84,9 +87,6 @@ variable, e.g.:
84
87
 
85
88
  $ GEOS_CONFIG=/path/to/geos-config pip install shapely
86
89
 
87
- Shapely is also provided by popular Python distributions like Canopy
88
- (Enthought) and Anaconda (Continuum Analytics).
89
-
90
90
  Usage
91
91
  =====
92
92
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: Shapely
3
- Version: 1.6b4
3
+ Version: 1.6.1
4
4
  Summary: Geometric objects, predicates, and operations
5
5
  Home-page: https://github.com/Toblerity/Shapely
6
6
  Author: Sean Gillies
@@ -30,58 +30,61 @@ Description: =======
30
30
  libraries. Shapely is not concerned with data formats or coordinate systems,
31
31
  but can be readily integrated with packages that are. For more details, see:
32
32
 
33
- * Shapely on `GitHub <https://github.com/Toblerity/Shapely>`__
34
- * The Shapely `manual <http://toblerity.github.com/shapely/manual.html>`__
33
+ * `Shapely GitHub repository <https://github.com/Toblerity/Shapely>`__
34
+ * `Shapely documentation and manual <https://shapely.readthedocs.io/en/latest/>`__
35
35
 
36
36
  Requirements
37
37
  ============
38
38
 
39
- Shapely 1.6.x requires
39
+ Shapely 1.6 requires
40
40
 
41
41
  * Python >=2.6 (including Python 3.x)
42
42
  * GEOS >=3.3
43
43
 
44
- Installing Shapely (1.6b2)
45
- ==========================
44
+ Installing Shapely 1.6
45
+ ======================
46
+
47
+ Shapely may be installed from a source distribution or one of several kinds
48
+ of built distribution.
49
+
50
+ Built distributions
51
+ -------------------
46
52
 
47
53
  Windows users have two good installation options: the wheels at
48
54
  http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely and the
49
55
  Anaconda platform's [conda-forge](https://conda-forge.github.io/)
50
56
  channel.
51
57
 
52
- OS X users can get Shapely wheels with GEOS included from the
58
+ OS X and Linux users can get Shapely wheels with GEOS included from the
53
59
  Python Package Index with a recent version of pip (8+):
54
60
 
55
61
  .. code-block:: console
56
62
 
57
- $ pip install shapely==1.6b2
63
+ $ pip install shapely
58
64
 
59
65
  A few extra speedups that require Numpy can be had by running
60
66
 
61
67
  .. code-block:: console
62
68
 
63
- $ pip install shapely[vectorized]==1.6b2
64
-
65
- If you want to build Shapely from source for compatibility with
66
- other modules that depend on GEOS (such as cartopy or osgeo.ogr)
67
- you may ignore the binary wheels.
69
+ $ pip install shapely[vectorized]
68
70
 
69
- .. code-block:: console
71
+ Shapely is available via system package management tools like apt, yum, and
72
+ Homebrew, and is also provided by popular Python distributions like Canopy and
73
+ Anaconda.
70
74
 
71
- $ pip install shapely --no-binary shapely
72
-
73
- Binary wheels are also available for Linux. To get them, use `pip shapely
74
- shapely==1.6b2`. To avoid them, use `pip install shapely --no-binary
75
- shapely==1.6b2`.
75
+ Source distributions
76
+ --------------------
76
77
 
77
- In other situations, install `geos_c` libs and headers by any means
78
- (for example, `brew install geos` on OS X or
79
- `apt-get install libgeos-dev` on Debian/Ubuntu) and install Shapely
80
- from the Python package index.
78
+ If you want to build Shapely from source for compatibility with
79
+ other modules that depend on GEOS (such as cartopy or osgeo.ogr) or want to
80
+ use a different version of GEOS than the one included in the project wheels
81
+ you should first install the GEOS library, Cython, and Numpy on your system
82
+ (using apt, yum, brew, or other means) and then direct pip to ignore the binary
83
+ wheels.
81
84
 
82
85
  .. code-block:: console
83
86
 
84
- $ pip install shapely
87
+ $ pip install shapely --no-binary shapely
85
88
 
86
89
  If you've installed GEOS to a standard location, the geos-config program
87
90
  will be used to get compiler and linker options. If geos-config is not on
@@ -92,9 +95,6 @@ Description: =======
92
95
 
93
96
  $ GEOS_CONFIG=/path/to/geos-config pip install shapely
94
97
 
95
- Shapely is also provided by popular Python distributions like Canopy
96
- (Enthought) and Anaconda (Continuum Analytics).
97
-
98
98
  Usage
99
99
  =====
100
100
 
@@ -179,16 +179,17 @@ Description: =======
179
179
  * Joshua Arnott <josh@snorfalorpagus.net>
180
180
  * Mike Toews <mwtoews@gmail.com>
181
181
  * Jacob Wasserman <jwasserman@gmail.com>
182
- * aronbierbaum <aronbierbaum@b426a367-1105-0410-b9ff-cdf4ab011145>
182
+ * Aron Bierbaum <aronbierbaum@gmail.com>
183
183
  * Allan Adair <allan@rfspot.com>
184
184
  * Johannes Schönberger <jschoenberger@demuc.de>
185
185
  * georgeouzou <geothrock@gmail.com>
186
186
  * Phil Elson <pelson.pub@gmail.com>
187
187
  * Howard Butler <hobu.inc@gmail.com>
188
+ * Kelsey Jordahl <kjordahl@enthought.com>
188
189
  * dokai <dokai@b426a367-1105-0410-b9ff-cdf4ab011145>
189
- * Gabi Davar <grizzly.nyo@gmail.com>
190
190
  * Kevin Wurster <kevin@skytruth.org>
191
- * Kelsey Jordahl <kjordahl@enthought.com>
191
+ * Gabi Davar <grizzly.nyo@gmail.com>
192
+ * Thibault Deutsch <thibault.deutsch@gmail.com>
192
193
  * Dave Collins <dave@hopest.net>
193
194
  * fredj <frederic.junod@camptocamp.com>
194
195
  * Brad Hards <bradh@frogmouth.net>
@@ -204,16 +205,18 @@ Description: =======
204
205
  * Jeethu Rao <jeethu@jeethurao.com>
205
206
  * Peter Sagerson <psagers.github@ignorare.net>
206
207
  * Jason Sanford <jason.sanford@mapmyfitness.com>
208
+ * mindw <grizzly.nyo@gmail.com>
207
209
  * Jamie Hall <jamie1212@gmail.com>
208
210
  * James Spencer <james.s.spencer@gmail.com>
209
211
  * Stephan Hügel <urschrei@gmail.com>
210
- * Benjamin Root <ben.v.root@gmail.com>
212
+ * Bas Couwenberg <sebastic@xs4all.nl>
213
+ * James Douglass <jamesdouglassusa@gmail.com>
211
214
  * Tobias Sauerwein <tobias.sauerwein@camptocamp.com>
212
215
  * WANG Aiyong <gepcelway@gmail.com>
213
- * James Douglass <jamesdouglassusa@gmail.com>
214
216
  * Brandon Wood <btwood@geometeor.com>
215
- * Andy Freeland <andy@andyfreeland.net>
216
217
  * BertrandGervais <bertrand.gervais.pro@gmail.com>
218
+ * Andy Freeland <andy@andyfreeland.net>
219
+ * Benjamin Root <ben.v.root@gmail.com>
217
220
  * giumas <gmasetti@ccom.unh.edu>
218
221
  * Leandro Lima <leandro@limaesilva.com.br>
219
222
  * Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
@@ -227,7 +230,6 @@ Description: =======
227
230
 
228
231
  * Justin Bronn (GeoDjango) for ctypes inspiration
229
232
  * Martin Davis (JTS)
230
- * Jaakko Salli for the Windows distributions
231
233
  * Sandro Santilli, Mateusz Loskot, Paul Ramsey, et al (GEOS Project)
232
234
 
233
235
  Major portions of this work were supported by a grant (for Pleiades_) from the
@@ -239,6 +241,49 @@ Description: =======
239
241
  Changes
240
242
  =======
241
243
 
244
+ 1.6.1 (2017-09-01)
245
+ ------------------
246
+
247
+ - Avoid ``STRTree`` crashes due to dangling references (#505) by maintaining
248
+ references to added geometries.
249
+ - Reduce log level to debug when reporting on calls to ctypes ``CDLL()`` that
250
+ don't succeed and are retried (#515).
251
+ - Clarification: applications like GeoPandas that need an empty geometry object
252
+ should use ``BaseGeometry()`` instead of ``Point()`` or ``Polygon()``. An
253
+ ``EmptyGeometry`` class has been added in the master development branch and
254
+ will be available in the next non-bugfix release.
255
+
256
+ 1.6.0 (2017-08-21)
257
+ ------------------
258
+
259
+ Shapely 1.6.0 adds new attributes to existing geometry classes and new
260
+ functions (``split()`` and ``polylabel()``) to the shapely.ops module.
261
+ Exceptions are consolidated in a shapely.errors module and logging practices
262
+ have been improved. Shapely's optional features depending on Numpy are now
263
+ gathered into a requirements set named "vectorized" and these may be installed
264
+ like ``pip install shapely[vectorized]``.
265
+
266
+ Much of the work on 1.6.0 was aimed to improve the project's build and
267
+ packaging scripts and to minimize run-time dependencies. Shapely now vendorizes
268
+ packaging to use during builds only and never again invokes the geos-config
269
+ utility at run-time.
270
+
271
+ In addition to the changes listed under the alpha and beta pre-releases below,
272
+ the following change has been made to the project:
273
+
274
+ - Project documentation is now hosted at
275
+ https://shapely.readthedocs.io/en/latest/.
276
+
277
+ Thank you all for using, promoting, and contributing to the Shapely project.
278
+
279
+ 1.6b5 (2017-08-18)
280
+ ------------------
281
+
282
+ Bug fixes:
283
+
284
+ - Passing a single coordinate to ``LineString()`` with speedups disabled now
285
+ raises a ValueError as happens with speedups enabled. This resolves #509.
286
+
242
287
  1.6b4 (2017-02-15)
243
288
  ------------------
244
289
 
@@ -0,0 +1 @@
1
+ 1.6.1
@@ -5,7 +5,7 @@ The Shapely User Manual
5
5
  =======================
6
6
 
7
7
  :Author: Sean Gillies, <sean.gillies@gmail.com>
8
- :Version: 1.2 and 1.3
8
+ :Version: 1.6
9
9
  :Date: |today|
10
10
  :Copyright:
11
11
  This work is licensed under a `Creative Commons Attribution 3.0
@@ -1521,8 +1521,10 @@ With a `resolution` of 1, the buffer is a square patch.
1521
1521
  >>> q.area
1522
1522
  200.0
1523
1523
 
1524
- Passed a `distance` of 0, :meth:`buffer` can be used to "clean" self-touching
1525
- or self-crossing polygons such as the classic "bowtie".
1524
+ Passed a `distance` of 0, :meth:`buffer` can sometimes be used to "clean" self-touching
1525
+ or self-crossing polygons such as the classic "bowtie". Users have reported
1526
+ that very small distance values sometimes produce cleaner results than 0. Your
1527
+ mileage may vary when cleaning surfaces.
1526
1528
 
1527
1529
  .. code-block:: pycon
1528
1530
 
@@ -1662,7 +1664,9 @@ Figure 14. Simplification of a nearly circular polygon using a tolerance of 0.2
1662
1664
  .. note::
1663
1665
 
1664
1666
  `Invalid` geometric objects may result from simplification that does not
1665
- preserve topology.
1667
+ preserve topology and simplification may be sensitive to the order of
1668
+ coordinates: two geometries differing only in order of coordinates may be
1669
+ simplified differently.
1666
1670
 
1667
1671
 
1668
1672
  Affine Transformations
@@ -0,0 +1 @@
1
+ __version__ = "1.6.1"
@@ -943,6 +943,12 @@ class HeterogeneousGeometrySequence(GeometrySequence):
943
943
  return g
944
944
 
945
945
 
946
+ class EmptyGeometry(BaseGeometry):
947
+ def __init__(self):
948
+ """Create an empty geometry."""
949
+ BaseGeometry.__init__(self)
950
+
951
+
946
952
  def _test():
947
953
  """Test runner"""
948
954
  import doctest
@@ -210,6 +210,8 @@ def geos_linestring_from_py(ob, update_geom=None, update_ndim=0):
210
210
 
211
211
  if m == 0:
212
212
  return None
213
+ elif m == 1:
214
+ raise ValueError("LineStrings must have at least 2 coordinate tuples")
213
215
 
214
216
  def _coords(o):
215
217
  if isinstance(o, Point):