shapely 1.6.4.post2__tar.gz → 1.7.0__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.6.4.post2 → Shapely-1.7.0}/CHANGES.txt +84 -5
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/CREDITS.txt +80 -37
- {Shapely-1.6.4.post2/Shapely.egg-info → Shapely-1.7.0}/PKG-INFO +224 -98
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/README.rst +52 -52
- {Shapely-1.6.4.post2 → Shapely-1.7.0/Shapely.egg-info}/PKG-INFO +224 -98
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/Shapely.egg-info/SOURCES.txt +8 -1
- Shapely-1.7.0/VERSION.txt +1 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/_vendor/packaging/markers.py +1 -1
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/_vendor/packaging/requirements.py +3 -3
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/_vendor/packaging/specifiers.py +3 -3
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/_vendor/packaging/version.py +8 -8
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/docs/manual.rst +232 -79
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/docs/project.rst +1 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/setup.py +45 -35
- Shapely-1.7.0/shapely/__init__.py +1 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/_buildcfg.py +15 -11
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/_geos.pxi +2 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/affinity.py +23 -15
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/algorithms/cga.py +2 -2
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/algorithms/polylabel.py +8 -1
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/ctypes_declarations.py +33 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/examples/dissolve.py +3 -3
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/examples/intersect.py +2 -2
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/geometry/base.py +66 -30
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/geometry/geo.py +4 -1
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/geometry/linestring.py +10 -3
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/geometry/multilinestring.py +1 -1
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/geometry/multipoint.py +2 -3
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/geometry/multipolygon.py +17 -5
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/geometry/point.py +7 -2
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/geometry/polygon.py +31 -16
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/geometry/proxy.py +1 -1
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/geos.py +81 -37
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/impl.py +4 -2
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/iterops.py +0 -1
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/ops.py +128 -18
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/predicates.py +1 -1
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/prepared.py +15 -9
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/speedups/__init__.py +1 -2
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/speedups/_speedups.c +2605 -2040
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/speedups/_speedups.pyx +49 -16
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/strtree.py +22 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/topology.py +1 -1
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/validation.py +0 -2
- Shapely-1.7.0/shapely/vectorized/_vectorized.c +22895 -0
- Shapely-1.7.0/shapely/wkb.py +55 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/__init__.py +1 -5
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/conftest.py +10 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_affinity.py +59 -0
- Shapely-1.7.0/tests/test_buffer.py +80 -0
- Shapely-1.7.0/tests/test_clip_by_rect.py +109 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_delaunay.py +3 -6
- Shapely-1.7.0/tests/test_geometry_base.py +17 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_geos_err_handler.py +13 -1
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_linear_referencing.py +3 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_linestring.py +12 -4
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_mapping.py +5 -2
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_multipolygon.py +13 -2
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_operations.py +16 -3
- Shapely-1.7.0/tests/test_orient.py +82 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_point.py +10 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_polygon.py +23 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_polylabel.py +12 -0
- Shapely-1.7.0/tests/test_prepared.py +67 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_split.py +24 -0
- Shapely-1.7.0/tests/test_strtree_nearest.py +27 -0
- Shapely-1.7.0/tests/test_substring.py +81 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_union.py +1 -1
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_vectorized.py +5 -5
- Shapely-1.7.0/tests/test_wkb.py +51 -0
- Shapely-1.6.4.post2/VERSION.txt +0 -1
- Shapely-1.6.4.post2/shapely/__init__.py +0 -1
- Shapely-1.6.4.post2/shapely/ftools.py +0 -78
- Shapely-1.6.4.post2/shapely/wkb.py +0 -37
- Shapely-1.6.4.post2/tests/test_prepared.py +0 -51
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/LICENSE.txt +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/Shapely.egg-info/dependency_links.txt +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/Shapely.egg-info/requires.txt +1 -1
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/Shapely.egg-info/top_level.txt +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/_vendor/__init__.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/_vendor/packaging/__about__.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/_vendor/packaging/__init__.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/_vendor/packaging/_compat.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/_vendor/packaging/_structures.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/_vendor/packaging/utils.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/docs/design.rst +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/docs/index.rst +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/setup.cfg +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/algorithms/__init__.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/coords.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/errors.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/examples/__init__.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/examples/geoms.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/geometry/__init__.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/geometry/collection.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/linref.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/vectorized/__init__.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/vectorized/_vectorized.pyx +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/shapely/wkt.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/binascii_hex.txt +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_box.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_cga.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_collection.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_coords.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_default_impl.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_delegated.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_dlls.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_doctests.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_emptiness.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_empty_polygons.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_equality.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_geointerface.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_geomseq.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_getitem.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_hash.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_invalid_geometries.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_iterops.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_linemerge.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_locale.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_minimum_rotated_rectangle.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_multi.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_multilinestring.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_multipoint.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_ndarrays.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_nearest.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_operators.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_parallel_offset.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_persist.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_pickle.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_polygonize.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_predicates.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_products_z.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_shared_paths.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_singularity.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_snap.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_strtree.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_styles.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_svg.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_transform.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_validation.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_wkt.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/test_xy.py +0 -0
- {Shapely-1.6.4.post2 → Shapely-1.7.0}/tests/threading_test.py +0 -0
|
@@ -1,11 +1,91 @@
|
|
|
1
1
|
Changes
|
|
2
2
|
=======
|
|
3
3
|
|
|
4
|
-
1.
|
|
5
|
-
|
|
4
|
+
1.7.0 (2019-01-28)
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
This is the final 1.7.0 release. There have been no changes since 1.7b1.
|
|
8
|
+
|
|
9
|
+
1.7b1 (2019-01-13)
|
|
10
|
+
------------------
|
|
11
|
+
|
|
12
|
+
First beta release.
|
|
13
|
+
|
|
14
|
+
1.7a3 (2019-12-31)
|
|
15
|
+
------------------
|
|
16
|
+
|
|
17
|
+
New features:
|
|
6
18
|
|
|
7
|
-
|
|
8
|
-
|
|
19
|
+
- The buffer operation can now be single-sides (#806, #727).
|
|
20
|
+
|
|
21
|
+
Bug fixes:
|
|
22
|
+
|
|
23
|
+
- Add /usr/local/lib to the list of directories to be searched for the GEOS
|
|
24
|
+
shared library (#795).
|
|
25
|
+
- ops.substring now returns a line with coords in end-to-front order when given
|
|
26
|
+
a start position that is greater than the end position (#628).
|
|
27
|
+
- Implement ``__bool__()`` for geometry base classes so that ``bool(geom)``
|
|
28
|
+
returns the logical complement of ``geom.is_empty`` (#754).
|
|
29
|
+
- Remove assertion on the number of version-like strings found in the GEOS
|
|
30
|
+
version string. It could be 2 or 3.
|
|
31
|
+
|
|
32
|
+
1.7a2 (2019-06-21)
|
|
33
|
+
------------------
|
|
34
|
+
|
|
35
|
+
- Nearest neighbor search has been added to STRtree (#668).
|
|
36
|
+
- Disallow sequences of MultiPolygons as arguments to the MultiPolygon
|
|
37
|
+
constructor, resolving #588.
|
|
38
|
+
- Removed vendorized `functools` functions previously used to support
|
|
39
|
+
Python 2.5.
|
|
40
|
+
|
|
41
|
+
Bug fixes:
|
|
42
|
+
|
|
43
|
+
- Avoid reloading the GEOS shared library when using an installed binary wheel
|
|
44
|
+
on OS X (#735), resolving issue #553.
|
|
45
|
+
- The shapely.ops.orient function can now orient multi polygons and geometry
|
|
46
|
+
collections as well as polygons (#733).
|
|
47
|
+
- Polygons can now be constructed from sequences of point objects as well as
|
|
48
|
+
sequences of x, y sequences (#732).
|
|
49
|
+
- The exterior of an empty polygon is now equal to an empty linear ring (#731).
|
|
50
|
+
- The bounds property of an empty point object now returns an empty tuple,
|
|
51
|
+
consistent with other geometry types (#723).
|
|
52
|
+
- Segmentation faults when non-string values are passed to the WKT loader are
|
|
53
|
+
avoided by #700.
|
|
54
|
+
- Failure of ops.substring when the sub linestring coincides with the beginning
|
|
55
|
+
of the linestring has been fixed (#658).
|
|
56
|
+
- Segmentation faults from interpolating on an empty linestring are prevented
|
|
57
|
+
by #655.
|
|
58
|
+
- A missing special case for rectangular polygons has been added to the
|
|
59
|
+
polylabel algorithm (#644).
|
|
60
|
+
- LinearRing can be created from a LineString (#638).
|
|
61
|
+
- The prepared geoemtry validation condition has been tightened in #632 to fix
|
|
62
|
+
the bug reported in #631.
|
|
63
|
+
- Attempting to interpolate an empty geometry no longer results in a
|
|
64
|
+
segmentation fault, raising `ValueError` instead (#653).
|
|
65
|
+
|
|
66
|
+
1.7a1 (2018-07-29)
|
|
67
|
+
------------------
|
|
68
|
+
|
|
69
|
+
New features:
|
|
70
|
+
|
|
71
|
+
- A Python version check is made by the package setup script. Shapely 1.7
|
|
72
|
+
supports only Python versions 2.7 and 3.4+ (#610).
|
|
73
|
+
- Added a new `EmptyGeometry` class to support GeoPandas (#514).
|
|
74
|
+
- Added new `shapely.ops.substring` function (#459).
|
|
75
|
+
- Added new `shapely.ops.clip_by_rect` function (#583).
|
|
76
|
+
- Use DLLs indicated in sys._MEIPASS' to support PyInstaller frozen apps
|
|
77
|
+
(#523).
|
|
78
|
+
- `shapely.wkb.dumps` now accepts an `srid` integer keyword argument to write
|
|
79
|
+
WKB data including a spatial reference ID in the output data (#593).
|
|
80
|
+
|
|
81
|
+
Bug fixes:
|
|
82
|
+
|
|
83
|
+
- `shapely.geometry.shape` can now marshal empty GeoJSON representations
|
|
84
|
+
(#573).
|
|
85
|
+
- An exception is raised when an attempt is made to `prepare`
|
|
86
|
+
a `PreparedGeometry` (#577, #595).
|
|
87
|
+
- Keyword arguments have been removed from a geometry object's `wkt` property
|
|
88
|
+
getter (#581, #594).
|
|
9
89
|
|
|
10
90
|
1.6.4.post1 (2018-01-24)
|
|
11
91
|
------------------------
|
|
@@ -612,4 +692,3 @@ TODO: fill gap here
|
|
|
612
692
|
1.0 RC1 (2008-01-14)
|
|
613
693
|
--------------------
|
|
614
694
|
- First release candidate
|
|
615
|
-
|
|
@@ -3,55 +3,98 @@ Credits
|
|
|
3
3
|
|
|
4
4
|
Shapely is written by:
|
|
5
5
|
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* Jacob Wasserman <jwasserman@gmail.com>
|
|
6
|
+
* Allan Adair <allan.m.adair@gmail.com>
|
|
7
|
+
* Andrew Blakey <ablakey@gmail.com>
|
|
8
|
+
* Andy Freeland <andy@andyfreeland.net>
|
|
9
|
+
* Ariel Kadouri <ariel@arielsartistry.com>
|
|
11
10
|
* Aron Bierbaum <aronbierbaum@gmail.com>
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* Phil Elson <pelson.pub@gmail.com>
|
|
16
|
-
* Howard Butler <hobu.inc@gmail.com>
|
|
17
|
-
* Kelsey Jordahl <kjordahl@enthought.com>
|
|
18
|
-
* dokai <dokai@b426a367-1105-0410-b9ff-cdf4ab011145>
|
|
19
|
-
* Kevin Wurster <kevin@skytruth.org>
|
|
20
|
-
* Gabi Davar <grizzly.nyo@gmail.com>
|
|
21
|
-
* Thibault Deutsch <thibault.deutsch@gmail.com>
|
|
22
|
-
* Dave Collins <dave@hopest.net>
|
|
23
|
-
* fredj <frederic.junod@camptocamp.com>
|
|
11
|
+
* Bas Couwenberg <sebastic@xs4all.nl>
|
|
12
|
+
* Benjamin Root <ben.v.root@gmail.com>
|
|
13
|
+
* BertrandGervais <bertrand.gervais.pro@gmail.com>
|
|
24
14
|
* Brad Hards <bradh@frogmouth.net>
|
|
15
|
+
* Brandon Wood <btwood@geometeor.com>
|
|
16
|
+
* Chad Hawkins <cwh@chadwhawkins.com>
|
|
17
|
+
* Christian Prior <cprior@gmail.com>
|
|
18
|
+
* Christian Quest <github@cquest.org>
|
|
19
|
+
* Daniele Esposti <expobrain@users.noreply.github.com>
|
|
20
|
+
* Dave Collins <dave@hopest.net>
|
|
25
21
|
* David Baumgold <david@davidbaumgold.com>
|
|
22
|
+
* David Swinkels <davidswinkelss@gmail.com>
|
|
23
|
+
* Denis Rykov <rykovd@gmail.com>
|
|
24
|
+
* Erwin Sterrenburg <e.w.sterrenburg@gmail.com>
|
|
25
|
+
* Felix Yan <felixonmars@archlinux.org>
|
|
26
|
+
* Filipe Fernandes <ocefpaf@gmail.com>
|
|
27
|
+
* Gabi Davar <grizzly.nyo@gmail.com>
|
|
28
|
+
* Gerrit Holl <gerrit.holl@dwd.de>
|
|
29
|
+
* Hannes <kannes@users.noreply.github.com>
|
|
30
|
+
* Hao Zheng <Furioushaozheng@gmail.com>
|
|
26
31
|
* Henry Walshaw <henry.walshaw@gmail.com>
|
|
32
|
+
* Howard Butler <hobu.inc@gmail.com>
|
|
33
|
+
* Hugo <hugovk@users.noreply.github.com>
|
|
34
|
+
* Jacob Wasserman <jwasserman@gmail.com>
|
|
35
|
+
* James Douglass <jamesdouglassusa@gmail.com>
|
|
36
|
+
* James Gaboardi <jgaboardi@gmail.com>
|
|
37
|
+
* James Lamb <jaylamb20@gmail.com>
|
|
38
|
+
* James McBride <jdmcbr@gmail.com>
|
|
39
|
+
* James Spencer <james.s.spencer@gmail.com>
|
|
40
|
+
* Jamie Hall <jamie1212@gmail.com>
|
|
41
|
+
* Jason Sanford <jason.sanford@mapmyfitness.com>
|
|
42
|
+
* Jeethu Rao <jeethu@jeethurao.com>
|
|
27
43
|
* Jinkun Wang <mejkunw@gmail.com>
|
|
44
|
+
* Johan Euphrosine <proppy@aminche.com>
|
|
45
|
+
* Johannes Schönberger <jschoenberger@demuc.de>
|
|
46
|
+
* Jonathan Schoonhoven <jschoonhoven@lyft.com>
|
|
47
|
+
* Joris Van den Bossche <jorisvandenbossche@gmail.com>
|
|
48
|
+
* Joshua Arnott <josh@snorfalorpagus.net>
|
|
49
|
+
* Juan Luis Cano Rodríguez <juanlu@satellogic.com>
|
|
50
|
+
* Kelsey Jordahl <kjordahl@enthought.com>
|
|
51
|
+
* Kevin Wurster <wursterk@gmail.com>
|
|
52
|
+
* Kristian Evers <kristianevers@gmail.com>
|
|
53
|
+
* Leandro Lima <leandro@limaesilva.com.br>
|
|
54
|
+
* Lukasz <uhho@users.noreply.github.com>
|
|
55
|
+
* Luke Lee <durdenmisc@gmail.com>
|
|
56
|
+
* Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
|
|
28
57
|
* Marc Jansen <jansen@terrestris.de>
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
58
|
+
* Marco De Nadai <me@marcodena.it>
|
|
59
|
+
* Matt Amos <matt.amos@mapzen.com>
|
|
60
|
+
* Michel Blancard <michel.blancard@data.gouv.fr>
|
|
61
|
+
* Mike Taves <mwtoews@gmail.com>
|
|
32
62
|
* Morris Tweed <tweed.morris@gmail.com>
|
|
33
63
|
* Naveen Michaud-Agrawal <naveen.michaudagrawal@gmail.com>
|
|
34
|
-
*
|
|
64
|
+
* Oliver Tonnhofer <olt@bogosoft.com>
|
|
65
|
+
* Paveł Tyślacki <tbicr@users.noreply.github.com>
|
|
35
66
|
* Peter Sagerson <psagers.github@ignorare.net>
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
67
|
+
* Phil Elson <pelson.pub@gmail.com>
|
|
68
|
+
* Pierre PACI <villerupt@gmail.com>
|
|
69
|
+
* Ricardo Zilleruelo <51384295+zetaatlyft@users.noreply.github.com>
|
|
70
|
+
* Sampo Syrjanen <sampo.syrjanen@here.com>
|
|
71
|
+
* Samuel Chin <samuelchin91@gmail.com>
|
|
72
|
+
* Sean Gillies <sean.gillies@gmail.com>
|
|
73
|
+
* Sobolev Nikita <mail@sobolevn.me>
|
|
40
74
|
* Stephan Hügel <urschrei@gmail.com>
|
|
41
|
-
*
|
|
42
|
-
*
|
|
75
|
+
* Steve M. Kim <steve@climate.com>
|
|
76
|
+
* Taro Matsuzawa aka. btm <btm@tech.email.ne.jp>
|
|
77
|
+
* Thibault Deutsch <thibault.deutsch@gmail.com>
|
|
78
|
+
* Thomas Kluyver <takowl@gmail.com>
|
|
43
79
|
* Tobias Sauerwein <tobias.sauerwein@camptocamp.com>
|
|
80
|
+
* Tom Clancy <17627475+clncy@users.noreply.github.com>
|
|
44
81
|
* WANG Aiyong <gepcelway@gmail.com>
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
82
|
+
* Will May <williamcmay@live.com>
|
|
83
|
+
* Zachary Ware <zachary.ware@gmail.com>
|
|
84
|
+
* cclauss <cclauss@me.com>
|
|
85
|
+
* clefrks <33859587+clefrks@users.noreply.github.com>
|
|
86
|
+
* davidh-ssec <david.hoese@ssec.wisc.edu>
|
|
87
|
+
* dokai <dokai@b426a367-1105-0410-b9ff-cdf4ab011145>
|
|
88
|
+
* fredj <frederic.junod@camptocamp.com>
|
|
89
|
+
* georgeouzou <geothrock@gmail.com>
|
|
49
90
|
* giumas <gmasetti@ccom.unh.edu>
|
|
50
|
-
* Leandro Lima <leandro@limaesilva.com.br>
|
|
51
|
-
* Maarten Vermeyen <maarten.vermeyen@rwo.vlaanderen.be>
|
|
52
91
|
* joelostblom <joelostblom@users.noreply.github.com>
|
|
53
|
-
*
|
|
54
|
-
*
|
|
92
|
+
* ljwolf <levi.john.wolf@gmail.com>
|
|
93
|
+
* mindw <grizzly.nyo@gmail.com>
|
|
94
|
+
* rsmb <rsmb@users.noreply.github.com>
|
|
95
|
+
* shongololo <garethsimons@me.com>
|
|
96
|
+
* solarjoe <walterwhite666@googlemail.com>
|
|
97
|
+
* stephenworsley <49274989+stephenworsley@users.noreply.github.com>
|
|
55
98
|
|
|
56
99
|
See also: https://github.com/Toblerity/Shapely/graphs/contributors.
|
|
57
100
|
|
|
@@ -62,6 +105,6 @@ Additional help from:
|
|
|
62
105
|
* Sandro Santilli, Mateusz Loskot, Paul Ramsey, et al (GEOS Project)
|
|
63
106
|
|
|
64
107
|
Major portions of this work were supported by a grant (for Pleiades_) from the
|
|
65
|
-
U.S. National Endowment for the Humanities (
|
|
108
|
+
U.S. National Endowment for the Humanities (https://www.neh.gov).
|
|
66
109
|
|
|
67
|
-
.. _Pleiades:
|
|
110
|
+
.. _Pleiades: https://pleiades.stoa.org
|