shapely 1.8.3__tar.gz → 1.8.4__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 (146) hide show
  1. {Shapely-1.8.3 → Shapely-1.8.4}/CHANGES.txt +7 -0
  2. {Shapely-1.8.3/Shapely.egg-info → Shapely-1.8.4}/PKG-INFO +8 -1
  3. {Shapely-1.8.3 → Shapely-1.8.4/Shapely.egg-info}/PKG-INFO +8 -1
  4. Shapely-1.8.4/VERSION.txt +1 -0
  5. Shapely-1.8.4/shapely/__init__.py +1 -0
  6. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/ctypes_declarations.py +18 -40
  7. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/geometry/base.py +3 -5
  8. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/geometry/collection.py +1 -2
  9. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/geometry/multilinestring.py +6 -7
  10. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/geometry/multipoint.py +2 -3
  11. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/geometry/multipolygon.py +4 -5
  12. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/geometry/polygon.py +5 -7
  13. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/ops.py +13 -29
  14. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/strtree.py +2 -3
  15. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/topology.py +2 -5
  16. Shapely-1.8.3/VERSION.txt +0 -1
  17. Shapely-1.8.3/shapely/__init__.py +0 -1
  18. {Shapely-1.8.3 → Shapely-1.8.4}/CREDITS.txt +0 -0
  19. {Shapely-1.8.3 → Shapely-1.8.4}/LICENSE.txt +0 -0
  20. {Shapely-1.8.3 → Shapely-1.8.4}/README.rst +0 -0
  21. {Shapely-1.8.3 → Shapely-1.8.4}/Shapely.egg-info/SOURCES.txt +0 -0
  22. {Shapely-1.8.3 → Shapely-1.8.4}/Shapely.egg-info/dependency_links.txt +0 -0
  23. {Shapely-1.8.3 → Shapely-1.8.4}/Shapely.egg-info/requires.txt +0 -0
  24. {Shapely-1.8.3 → Shapely-1.8.4}/Shapely.egg-info/top_level.txt +0 -0
  25. {Shapely-1.8.3 → Shapely-1.8.4}/_vendor/__init__.py +0 -0
  26. {Shapely-1.8.3 → Shapely-1.8.4}/_vendor/packaging/__about__.py +0 -0
  27. {Shapely-1.8.3 → Shapely-1.8.4}/_vendor/packaging/__init__.py +0 -0
  28. {Shapely-1.8.3 → Shapely-1.8.4}/_vendor/packaging/_compat.py +0 -0
  29. {Shapely-1.8.3 → Shapely-1.8.4}/_vendor/packaging/_structures.py +0 -0
  30. {Shapely-1.8.3 → Shapely-1.8.4}/_vendor/packaging/markers.py +0 -0
  31. {Shapely-1.8.3 → Shapely-1.8.4}/_vendor/packaging/requirements.py +0 -0
  32. {Shapely-1.8.3 → Shapely-1.8.4}/_vendor/packaging/specifiers.py +0 -0
  33. {Shapely-1.8.3 → Shapely-1.8.4}/_vendor/packaging/utils.py +0 -0
  34. {Shapely-1.8.3 → Shapely-1.8.4}/_vendor/packaging/version.py +0 -0
  35. {Shapely-1.8.3 → Shapely-1.8.4}/docs/design.rst +0 -0
  36. {Shapely-1.8.3 → Shapely-1.8.4}/docs/index.rst +0 -0
  37. {Shapely-1.8.3 → Shapely-1.8.4}/docs/manual.rst +0 -0
  38. {Shapely-1.8.3 → Shapely-1.8.4}/docs/migration.rst +0 -0
  39. {Shapely-1.8.3 → Shapely-1.8.4}/docs/project.rst +0 -0
  40. {Shapely-1.8.3 → Shapely-1.8.4}/pyproject.toml +0 -0
  41. {Shapely-1.8.3 → Shapely-1.8.4}/setup.cfg +0 -0
  42. {Shapely-1.8.3 → Shapely-1.8.4}/setup.py +0 -0
  43. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/_buildcfg.py +0 -0
  44. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/_geos.pxi +0 -0
  45. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/affinity.py +0 -0
  46. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/algorithms/__init__.py +0 -0
  47. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/algorithms/cga.py +0 -0
  48. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/algorithms/polylabel.py +0 -0
  49. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/coords.py +0 -0
  50. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/errors.py +0 -0
  51. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/examples/__init__.py +0 -0
  52. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/examples/dissolve.py +0 -0
  53. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/examples/geoms.py +0 -0
  54. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/examples/intersect.py +0 -0
  55. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/geometry/__init__.py +0 -0
  56. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/geometry/conftest.py +0 -0
  57. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/geometry/geo.py +0 -0
  58. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/geometry/linestring.py +0 -0
  59. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/geometry/point.py +0 -0
  60. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/geometry/proxy.py +0 -0
  61. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/geos.py +0 -0
  62. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/impl.py +0 -0
  63. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/iterops.py +0 -0
  64. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/linref.py +0 -0
  65. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/predicates.py +0 -0
  66. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/prepared.py +0 -0
  67. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/speedups/__init__.py +0 -0
  68. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/speedups/_speedups.pyx +0 -0
  69. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/validation.py +0 -0
  70. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/vectorized/__init__.py +0 -0
  71. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/vectorized/_vectorized.pyx +0 -0
  72. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/wkb.py +0 -0
  73. {Shapely-1.8.3 → Shapely-1.8.4}/shapely/wkt.py +0 -0
  74. {Shapely-1.8.3 → Shapely-1.8.4}/tests/__init__.py +0 -0
  75. {Shapely-1.8.3 → Shapely-1.8.4}/tests/conftest.py +0 -0
  76. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_affinity.py +0 -0
  77. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_binascii_hex.txt +0 -0
  78. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_box.py +0 -0
  79. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_buffer.py +0 -0
  80. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_cga.py +0 -0
  81. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_clip_by_rect.py +0 -0
  82. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_collection.py +0 -0
  83. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_coords.py +0 -0
  84. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_create_inconsistent_dimensionality.py +0 -0
  85. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_default_impl.py +0 -0
  86. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_delaunay.py +0 -0
  87. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_delegated.py +0 -0
  88. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_dlls.py +0 -0
  89. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_doctests.py +0 -0
  90. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_emptiness.py +0 -0
  91. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_empty_polygons.py +0 -0
  92. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_equality.py +0 -0
  93. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_geointerface.py +0 -0
  94. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_geometry_base.py +0 -0
  95. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_geomseq.py +0 -0
  96. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_geos_err_handler.py +0 -0
  97. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_getitem.py +0 -0
  98. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_hash.py +0 -0
  99. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_invalid_geometries.py +0 -0
  100. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_iterops.py +0 -0
  101. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_linear_referencing.py +0 -0
  102. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_linemerge.py +0 -0
  103. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_linestring.py +0 -0
  104. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_locale.py +0 -0
  105. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_make_valid.py +0 -0
  106. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_mapping.py +0 -0
  107. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_minimum_clearance.py +0 -0
  108. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_minimum_rotated_rectangle.py +0 -0
  109. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_multi.py +0 -0
  110. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_multilinestring.py +0 -0
  111. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_multipoint.py +0 -0
  112. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_multipolygon.py +0 -0
  113. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_ndarrays.py +0 -0
  114. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_nearest.py +0 -0
  115. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_operations.py +0 -0
  116. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_operators.py +0 -0
  117. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_orient.py +0 -0
  118. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_parallel_offset.py +0 -0
  119. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_persist.py +0 -0
  120. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_pickle.py +0 -0
  121. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_point.py +0 -0
  122. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_polygon.py +0 -0
  123. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_polygonize.py +0 -0
  124. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_polylabel.py +0 -0
  125. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_predicates.py +0 -0
  126. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_prepared.py +0 -0
  127. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_products_z.py +0 -0
  128. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_shape.py +0 -0
  129. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_shared_paths.py +0 -0
  130. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_singularity.py +0 -0
  131. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_snap.py +0 -0
  132. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_split.py +0 -0
  133. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_strtree.py +0 -0
  134. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_styles.py +0 -0
  135. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_substring.py +0 -0
  136. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_svg.py +0 -0
  137. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_transform.py +0 -0
  138. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_union.py +0 -0
  139. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_validation.py +0 -0
  140. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_vectorized.py +0 -0
  141. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_voronoi_diagram.py +0 -0
  142. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_wkb.py +0 -0
  143. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_wkt.py +0 -0
  144. {Shapely-1.8.3 → Shapely-1.8.4}/tests/test_xy.py +0 -0
  145. {Shapely-1.8.3 → Shapely-1.8.4}/tests/threading_test.py +0 -0
  146. {Shapely-1.8.3 → Shapely-1.8.4}/tests/unpickle-strtree.py +0 -0
@@ -1,6 +1,13 @@
1
1
  Changes
2
2
  =======
3
3
 
4
+ 1.8.4 (2022-08-17)
5
+ ------------------
6
+
7
+ Bug fixes:
8
+
9
+ - The new c_geom_p type caused a regression and has been removed (#1487).
10
+
4
11
  1.8.3 (2022-08-16)
5
12
  ------------------
6
13
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Shapely
3
- Version: 1.8.3
3
+ Version: 1.8.4
4
4
  Summary: Geometric objects, predicates, and operations
5
5
  Home-page: https://github.com/shapely/shapely
6
6
  Author: Sean Gillies
@@ -331,6 +331,13 @@ U.S. National Endowment for the Humanities (https://www.neh.gov).
331
331
  Changes
332
332
  =======
333
333
 
334
+ 1.8.4 (2022-08-17)
335
+ ------------------
336
+
337
+ Bug fixes:
338
+
339
+ - The new c_geom_p type caused a regression and has been removed (#1487).
340
+
334
341
  1.8.3 (2022-08-16)
335
342
  ------------------
336
343
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Shapely
3
- Version: 1.8.3
3
+ Version: 1.8.4
4
4
  Summary: Geometric objects, predicates, and operations
5
5
  Home-page: https://github.com/shapely/shapely
6
6
  Author: Sean Gillies
@@ -331,6 +331,13 @@ U.S. National Endowment for the Humanities (https://www.neh.gov).
331
331
  Changes
332
332
  =======
333
333
 
334
+ 1.8.4 (2022-08-17)
335
+ ------------------
336
+
337
+ Bug fixes:
338
+
339
+ - The new c_geom_p type caused a regression and has been removed (#1487).
340
+
334
341
  1.8.3 (2022-08-16)
335
342
  ------------------
336
343
 
@@ -0,0 +1 @@
1
+ 1.8.4
@@ -0,0 +1 @@
1
+ __version__ = "1.8.4"
@@ -3,19 +3,8 @@
3
3
  See header file: geos-x.y.z/capi/geos_c.h
4
4
  '''
5
5
 
6
- from ctypes import (
7
- CFUNCTYPE,
8
- POINTER,
9
- Structure,
10
- c_void_p,
11
- c_char_p,
12
- c_size_t,
13
- c_byte,
14
- c_uint,
15
- c_int,
16
- c_double,
17
- py_object,
18
- )
6
+ from ctypes import CFUNCTYPE, POINTER, c_void_p, c_char_p, \
7
+ c_size_t, c_byte, c_uint, c_int, c_double, py_object
19
8
 
20
9
  from .errors import UnsupportedGEOSVersionError
21
10
 
@@ -31,13 +20,6 @@ class allocated_c_char_p(c_char_p):
31
20
  pass
32
21
 
33
22
 
34
- class GEOSGeom_t(Structure):
35
- pass
36
-
37
-
38
- c_geom_p = POINTER(GEOSGeom_t)
39
-
40
-
41
23
  def prototype(lgeos, geos_version):
42
24
  """Protype functions in geos_c.h for different version of GEOS
43
25
 
@@ -173,25 +155,25 @@ def prototype(lgeos, geos_version):
173
155
 
174
156
  # Geometry constructors
175
157
 
176
- lgeos.GEOSGeom_createPoint.restype = c_geom_p
158
+ lgeos.GEOSGeom_createPoint.restype = c_void_p
177
159
  lgeos.GEOSGeom_createPoint.argtypes = [c_void_p]
178
160
 
179
- lgeos.GEOSGeom_createLinearRing.restype = c_geom_p
161
+ lgeos.GEOSGeom_createLinearRing.restype = c_void_p
180
162
  lgeos.GEOSGeom_createLinearRing.argtypes = [c_void_p]
181
163
 
182
- lgeos.GEOSGeom_createLineString.restype = c_geom_p
164
+ lgeos.GEOSGeom_createLineString.restype = c_void_p
183
165
  lgeos.GEOSGeom_createLineString.argtypes = [c_void_p]
184
166
 
185
- lgeos.GEOSGeom_createPolygon.restype = c_geom_p
186
- lgeos.GEOSGeom_createPolygon.argtypes = [c_geom_p, POINTER(c_geom_p), c_uint]
167
+ lgeos.GEOSGeom_createPolygon.restype = c_void_p
168
+ lgeos.GEOSGeom_createPolygon.argtypes = [c_void_p, c_void_p, c_uint]
187
169
 
188
- lgeos.GEOSGeom_createCollection.restype = c_geom_p
189
- lgeos.GEOSGeom_createCollection.argtypes = [c_int, POINTER(c_geom_p), c_uint]
170
+ lgeos.GEOSGeom_createCollection.restype = c_void_p
171
+ lgeos.GEOSGeom_createCollection.argtypes = [c_int, c_void_p, c_uint]
190
172
 
191
- lgeos.GEOSGeom_createEmptyCollection.restype = c_geom_p
173
+ lgeos.GEOSGeom_createEmptyCollection.restype = c_void_p
192
174
  lgeos.GEOSGeom_createEmptyCollection.argtypes = [c_int]
193
175
 
194
- lgeos.GEOSGeom_clone.restype = c_geom_p
176
+ lgeos.GEOSGeom_clone.restype = c_void_p
195
177
  lgeos.GEOSGeom_clone.argtypes = [c_void_p]
196
178
 
197
179
  # Memory management
@@ -243,13 +225,9 @@ def prototype(lgeos, geos_version):
243
225
  lgeos.GEOSPolygonize.restype = c_void_p
244
226
  lgeos.GEOSPolygonize.argtypes = [c_void_p, c_uint]
245
227
 
246
- lgeos.GEOSPolygonize_full.restype = c_geom_p
228
+ lgeos.GEOSPolygonize_full.restype = c_void_p
247
229
  lgeos.GEOSPolygonize_full.argtypes = [
248
- c_geom_p,
249
- POINTER(c_geom_p),
250
- POINTER(c_geom_p),
251
- POINTER(c_geom_p),
252
- ]
230
+ c_void_p, c_void_p, c_void_p, c_void_p]
253
231
 
254
232
  if geos_version >= (3, 4, 0):
255
233
  lgeos.GEOSDelaunayTriangulation.restype = c_void_p
@@ -419,16 +397,16 @@ def prototype(lgeos, geos_version):
419
397
  # Misc functions
420
398
 
421
399
  lgeos.GEOSArea.restype = c_int
422
- lgeos.GEOSArea.argtypes = [c_geom_p, POINTER(c_double)]
400
+ lgeos.GEOSArea.argtypes = [c_void_p, POINTER(c_double)]
423
401
 
424
402
  lgeos.GEOSLength.restype = c_int
425
- lgeos.GEOSLength.argtypes = [c_geom_p, POINTER(c_double)]
403
+ lgeos.GEOSLength.argtypes = [c_void_p, POINTER(c_double)]
426
404
 
427
405
  lgeos.GEOSDistance.restype = c_int
428
- lgeos.GEOSDistance.argtypes = [c_geom_p, c_geom_p, POINTER(c_double)]
406
+ lgeos.GEOSDistance.argtypes = [c_void_p, c_void_p, POINTER(c_double)]
429
407
 
430
408
  lgeos.GEOSHausdorffDistance.restype = c_int
431
- lgeos.GEOSHausdorffDistance.argtypes = [c_geom_p, c_geom_p, POINTER(c_double)]
409
+ lgeos.GEOSHausdorffDistance.argtypes = [c_void_p, c_void_p, POINTER(c_double)]
432
410
 
433
411
  # Reader and Writer APIs
434
412
 
@@ -546,7 +524,7 @@ def prototype(lgeos, geos_version):
546
524
  c_void_p, py_object, c_void_p, lgeos.GEOSDistanceCallback, py_object]
547
525
  lgeos.GEOSSTRtree_nearest_generic.restype = c_void_p
548
526
 
549
- lgeos.GEOSMinimumClearance.argtypes = [c_geom_p, POINTER(c_double)]
527
+ lgeos.GEOSMinimumClearance.argtypes = [c_void_p, POINTER(c_double)]
550
528
  lgeos.GEOSMinimumClearance.restype = c_int
551
529
 
552
530
  if geos_version >= (3, 8, 0):
@@ -7,7 +7,7 @@ different z values may intersect or be equal.
7
7
  """
8
8
 
9
9
  from binascii import a2b_hex
10
- from ctypes import cast, pointer, c_size_t, c_char_p, c_void_p
10
+ from ctypes import pointer, c_size_t, c_char_p, c_void_p
11
11
  from itertools import islice
12
12
  import logging
13
13
  import math
@@ -18,7 +18,6 @@ import warnings
18
18
 
19
19
  from shapely.affinity import affine_transform
20
20
  from shapely.coords import CoordinateSequence
21
- from shapely.ctypes_declarations import c_geom_p
22
21
  from shapely.errors import GeometryTypeError, WKBReadingError, WKTReadingError
23
22
  from shapely.errors import ShapelyDeprecationWarning
24
23
  from shapely.geos import WKBWriter, WKTWriter
@@ -108,11 +107,10 @@ def geos_geom_from_py(ob, create_func=None):
108
107
  This behaviour is useful for converting between LineString and LinearRing
109
108
  objects.
110
109
  """
111
- geom_ptr = cast(ob._geom, c_geom_p)
112
110
  if create_func is None:
113
- geom = lgeos.GEOSGeom_clone(geom_ptr)
111
+ geom = lgeos.GEOSGeom_clone(ob._geom)
114
112
  else:
115
- cs = lgeos.GEOSGeom_getCoordSeq(geom_ptr)
113
+ cs = lgeos.GEOSGeom_getCoordSeq(ob._geom)
116
114
  cs = lgeos.GEOSCoordSeq_clone(cs)
117
115
  geom = create_func(cs)
118
116
 
@@ -3,7 +3,6 @@
3
3
 
4
4
  from ctypes import c_void_p
5
5
 
6
- from shapely.ctypes_declarations import c_geom_p
7
6
  from shapely.geos import lgeos
8
7
  from shapely.geometry.base import BaseGeometry
9
8
  from shapely.geometry.base import BaseMultipartGeometry
@@ -64,7 +63,7 @@ def geos_geometrycollection_from_py(ob):
64
63
  ob = ob.geoms
65
64
  L = len(ob)
66
65
  N = 2
67
- subs = (c_geom_p * L)()
66
+ subs = (c_void_p * L)()
68
67
  for l in range(L):
69
68
  assert(isinstance(ob[l], BaseGeometry))
70
69
  if ob[l].has_z:
@@ -4,7 +4,6 @@
4
4
  from ctypes import c_void_p, cast
5
5
  import warnings
6
6
 
7
- from shapely.ctypes_declarations import c_geom_p
8
7
  from shapely.errors import EmptyPartError, ShapelyDeprecationWarning
9
8
  from shapely.geos import lgeos
10
9
  from shapely.geometry.base import BaseMultipartGeometry, geos_geom_from_py
@@ -117,9 +116,9 @@ def asMultiLineString(context):
117
116
 
118
117
 
119
118
  def geos_multilinestring_from_py(ob):
120
- # ob must be either a MultiLineString, a sequence, or
119
+ # ob must be either a MultiLineString, a sequence, or
121
120
  # array of sequences or arrays
122
-
121
+
123
122
  if isinstance(ob, MultiLineString):
124
123
  return geos_geom_from_py(ob)
125
124
 
@@ -135,8 +134,8 @@ def geos_multilinestring_from_py(ob):
135
134
  raise ValueError("Invalid coordinate dimensionality")
136
135
 
137
136
  # Array of pointers to point geometries
138
- subs = (c_geom_p * L)()
139
-
137
+ subs = (c_void_p * L)()
138
+
140
139
  # add to coordinate sequence
141
140
  for l in range(L):
142
141
  geom, ndims = linestring.geos_linestring_from_py(obs[l])
@@ -144,6 +143,6 @@ def geos_multilinestring_from_py(ob):
144
143
  if lgeos.GEOSisEmpty(geom):
145
144
  raise EmptyPartError("Can't create MultiLineString with empty component")
146
145
 
147
- subs[l] = cast(geom, c_geom_p)
148
-
146
+ subs[l] = cast(geom, c_void_p)
147
+
149
148
  return (lgeos.GEOSGeom_createCollection(5, subs, L), N)
@@ -4,7 +4,6 @@
4
4
  from ctypes import byref, c_double, c_void_p, cast
5
5
  import warnings
6
6
 
7
- from shapely.ctypes_declarations import c_geom_p
8
7
  from shapely.errors import EmptyPartError, ShapelyDeprecationWarning
9
8
  from shapely.geos import lgeos
10
9
  from shapely.geometry.base import (
@@ -195,7 +194,7 @@ def geos_multipoint_from_py(ob):
195
194
  assert n == 2 or n == 3
196
195
 
197
196
  # Array of pointers to point geometries
198
- subs = (c_geom_p * m)()
197
+ subs = (c_void_p * m)()
199
198
 
200
199
  # add to coordinate sequence
201
200
  for i in range(m):
@@ -205,6 +204,6 @@ def geos_multipoint_from_py(ob):
205
204
  if lgeos.GEOSisEmpty(geom):
206
205
  raise EmptyPartError("Can't create MultiPoint with empty component")
207
206
 
208
- subs[i] = cast(geom, c_geom_p)
207
+ subs[i] = cast(geom, c_void_p)
209
208
 
210
209
  return lgeos.GEOSGeom_createCollection(4, subs, m), n
@@ -4,7 +4,6 @@
4
4
  from ctypes import c_void_p, cast
5
5
  import warnings
6
6
 
7
- from shapely.ctypes_declarations import c_geom_p
8
7
  from shapely.errors import ShapelyDeprecationWarning
9
8
  from shapely.geos import lgeos
10
9
  from shapely.geometry.base import BaseMultipartGeometry, geos_geom_from_py
@@ -147,10 +146,10 @@ def geos_multipolygon_from_py(ob):
147
146
  N = len(ob[0][0][0])
148
147
  assert N == 2 or N == 3
149
148
 
150
- subs = (c_geom_p * L)()
149
+ subs = (c_void_p * L)()
151
150
  for l in range(L):
152
151
  geom, ndims = polygon.geos_polygon_from_py(ob[l][0], ob[l][1:])
153
- subs[l] = cast(geom, c_geom_p)
152
+ subs[l] = cast(geom, c_void_p)
154
153
 
155
154
  return (lgeos.GEOSGeom_createCollection(6, subs, L), N)
156
155
 
@@ -193,7 +192,7 @@ def geos_multipolygon_from_polygons(arg):
193
192
 
194
193
  assert N == 2 or N == 3
195
194
 
196
- subs = (c_geom_p * L)()
195
+ subs = (c_void_p * L)()
197
196
 
198
197
  for i, ob in enumerate(obs):
199
198
  if isinstance(ob, polygon.Polygon):
@@ -204,6 +203,6 @@ def geos_multipolygon_from_polygons(arg):
204
203
  holes = ob[1]
205
204
 
206
205
  geom, ndims = polygon.geos_polygon_from_py(shell, holes)
207
- subs[i] = cast(geom, c_geom_p)
206
+ subs[i] = cast(geom, c_void_p)
208
207
 
209
208
  return (lgeos.GEOSGeom_createCollection(6, subs, L), N)
@@ -9,7 +9,6 @@ import weakref
9
9
 
10
10
  from shapely.algorithms.cga import signed_area
11
11
  from shapely.coords import CoordinateSequence
12
- from shapely.ctypes_declarations import c_geom_p
13
12
  from shapely.geos import lgeos
14
13
  from shapely.geometry.base import BaseGeometry, geos_geom_from_py
15
14
  from shapely.geometry.linestring import LineString, LineStringAdapter
@@ -556,17 +555,16 @@ def geos_polygon_from_py(shell, holes=None):
556
555
  raise ValueError("insufficiant coordinate dimension")
557
556
 
558
557
  # Array of pointers to ring geometries
559
- geos_holes = (c_geom_p * L)()
558
+ geos_holes = (c_void_p * L)()
560
559
 
561
560
  # add to coordinate sequence
562
561
  for l in range(L):
563
562
  geom, ndim = geos_linearring_from_py(ob[l])
564
- geos_holes[l] = cast(geom, c_geom_p)
563
+ geos_holes[l] = cast(geom, c_void_p)
565
564
  else:
566
- geos_holes = POINTER(c_geom_p)()
565
+ geos_holes = POINTER(c_void_p)()
567
566
  L = 0
568
567
 
569
568
  return (
570
- lgeos.GEOSGeom_createPolygon(cast(geos_shell, c_geom_p), geos_holes, L),
571
- ndim,
572
- )
569
+ lgeos.GEOSGeom_createPolygon(
570
+ c_void_p(geos_shell), geos_holes, L), ndim)
@@ -1,10 +1,9 @@
1
1
  """Support for various GEOS geometry operations
2
2
  """
3
3
 
4
- from ctypes import byref, cast, c_void_p, c_double
4
+ from ctypes import byref, c_void_p, c_double
5
5
  from warnings import warn
6
6
 
7
- from shapely.ctypes_declarations import c_geom_p
8
7
  from shapely.errors import GeometryTypeError, ShapelyDeprecationWarning
9
8
  from shapely.prepared import prep
10
9
  from shapely.geos import lgeos
@@ -45,16 +44,12 @@ class CollectionOperator:
45
44
  source = [source]
46
45
  finally:
47
46
  obs = [self.shapeup(l) for l in source]
48
-
49
- geom_array_type = c_geom_p * len(obs)
47
+ geom_array_type = c_void_p * len(obs)
50
48
  geom_array = geom_array_type()
51
-
52
49
  for i, line in enumerate(obs):
53
- geom_array[i] = cast(line._geom, c_geom_p)
54
-
50
+ geom_array[i] = line._geom
55
51
  product = lgeos.GEOSPolygonize(byref(geom_array), len(obs))
56
52
  collection = geom_factory(product)
57
-
58
53
  for g in collection.geoms:
59
54
  clone = lgeos.GEOSGeom_clone(g._geom)
60
55
  g = geom_factory(clone)
@@ -83,21 +78,16 @@ class CollectionOperator:
83
78
  source = [source]
84
79
  finally:
85
80
  obs = [self.shapeup(l) for l in source]
86
-
87
81
  L = len(obs)
88
- subs = (c_geom_p * L)()
89
-
82
+ subs = (c_void_p * L)()
90
83
  for i, g in enumerate(obs):
91
- subs[i] = cast(g._geom, c_geom_p)
92
-
84
+ subs[i] = g._geom
93
85
  collection = lgeos.GEOSGeom_createCollection(5, subs, L)
94
- dangles = c_geom_p()
95
- cuts = c_geom_p()
96
- invalids = c_geom_p()
86
+ dangles = c_void_p()
87
+ cuts = c_void_p()
88
+ invalids = c_void_p()
97
89
  product = lgeos.GEOSPolygonize_full(
98
- collection, byref(dangles), byref(cuts), byref(invalids)
99
- )
100
-
90
+ collection, byref(dangles), byref(cuts), byref(invalids))
101
91
  return (
102
92
  geom_factory(product),
103
93
  geom_factory(dangles),
@@ -145,12 +135,9 @@ class CollectionOperator:
145
135
  except TypeError:
146
136
  geoms = [geoms]
147
137
  L = 1
148
-
149
- subs = (c_geom_p * L)()
150
-
138
+ subs = (c_void_p * L)()
151
139
  for i, g in enumerate(geoms):
152
- subs[i] = cast(g._geom, c_geom_p)
153
-
140
+ subs[i] = g._geom
154
141
  collection = lgeos.GEOSGeom_createCollection(6, subs, L)
155
142
  return geom_factory(lgeos.methods['cascaded_union'](collection))
156
143
 
@@ -167,12 +154,9 @@ class CollectionOperator:
167
154
  except TypeError:
168
155
  geoms = [geoms]
169
156
  L = 1
170
-
171
- subs = (c_geom_p * L)()
172
-
157
+ subs = (c_void_p * L)()
173
158
  for i, g in enumerate(geoms):
174
- subs[i] = cast(g._geom, c_geom_p)
175
-
159
+ subs[i] = g._geom
176
160
  collection = lgeos.GEOSGeom_createCollection(6, subs, L)
177
161
  return geom_factory(lgeos.methods['unary_union'](collection))
178
162
 
@@ -24,7 +24,6 @@ from typing import Any, ItemsView, Iterable, Iterator, Optional, Sequence, Tuple
24
24
  import sys
25
25
  from warnings import warn
26
26
 
27
- from shapely.ctypes_declarations import c_geom_p
28
27
  from shapely.errors import ShapelyDeprecationWarning
29
28
  from shapely.geometry.base import BaseGeometry
30
29
  from shapely.geos import lgeos
@@ -264,8 +263,8 @@ class STRtree:
264
263
  dist[0] = sys.float_info.max
265
264
  else:
266
265
  lgeos.GEOSDistance(
267
- ctypes.cast(self._geoms[idx]._geom, c_geom_p),
268
- ctypes.cast(geom2._geom, c_geom_p),
266
+ self._geoms[idx]._geom,
267
+ geom2._geom,
269
268
  dist,
270
269
  )
271
270
  return 1
@@ -9,7 +9,6 @@ These methods return ctypes objects that should be recast by the caller.
9
9
 
10
10
  from ctypes import byref, cast, c_double
11
11
 
12
- from shapely.ctypes_declarations import c_geom_p
13
12
  from shapely.geos import TopologicalError, lgeos
14
13
  from shapely.errors import InvalidGeometryError
15
14
 
@@ -49,9 +48,7 @@ class BinaryRealProperty(Delegating):
49
48
  self._validate(this)
50
49
  self._validate(other, stop_prepared=True)
51
50
  d = c_double()
52
- retval = self.fn(
53
- cast(this._geom, c_geom_p), cast(other._geom, c_geom_p), byref(d)
54
- )
51
+ retval = self.fn(this._geom, other._geom, byref(d))
55
52
  return d.value
56
53
 
57
54
 
@@ -60,7 +57,7 @@ class UnaryRealProperty(Delegating):
60
57
  def __call__(self, this):
61
58
  self._validate(this)
62
59
  d = c_double()
63
- retval = self.fn(cast(this._geom, c_geom_p), byref(d))
60
+ retval = self.fn(this._geom, byref(d))
64
61
  return d.value
65
62
 
66
63
 
Shapely-1.8.3/VERSION.txt DELETED
@@ -1 +0,0 @@
1
- 1.8.3
@@ -1 +0,0 @@
1
- __version__ = "1.8.3"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes