shapely 1.6.2__tar.gz → 1.6.3__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.2 → Shapely-1.6.3}/CHANGES.txt +17 -0
- {Shapely-1.6.2/Shapely.egg-info → Shapely-1.6.3}/PKG-INFO +18 -1
- {Shapely-1.6.2 → Shapely-1.6.3/Shapely.egg-info}/PKG-INFO +18 -1
- Shapely-1.6.3/VERSION.txt +1 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/docs/manual.rst +15 -3
- Shapely-1.6.3/shapely/__init__.py +1 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/geometry/base.py +15 -3
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/geometry/polygon.py +16 -5
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/geometry/proxy.py +2 -1
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/speedups/_speedups.c +809 -730
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/speedups/_speedups.pyx +3 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/strtree.py +3 -1
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_emptiness.py +10 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_geointerface.py +17 -1
- Shapely-1.6.3/tests/test_pickle.py +28 -0
- Shapely-1.6.2/VERSION.txt +0 -1
- Shapely-1.6.2/shapely/__init__.py +0 -1
- Shapely-1.6.2/tests/test_pickle.py +0 -22
- {Shapely-1.6.2 → Shapely-1.6.3}/CREDITS.txt +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/LICENSE.txt +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/README.rst +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/Shapely.egg-info/SOURCES.txt +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/Shapely.egg-info/dependency_links.txt +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/Shapely.egg-info/requires.txt +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/Shapely.egg-info/top_level.txt +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/_vendor/__init__.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/_vendor/packaging/__about__.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/_vendor/packaging/__init__.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/_vendor/packaging/_compat.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/_vendor/packaging/_structures.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/_vendor/packaging/markers.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/_vendor/packaging/requirements.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/_vendor/packaging/specifiers.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/_vendor/packaging/utils.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/_vendor/packaging/version.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/docs/design.rst +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/docs/index.rst +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/docs/project.rst +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/setup.cfg +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/setup.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/_buildcfg.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/_geos.pxi +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/affinity.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/algorithms/__init__.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/algorithms/cga.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/algorithms/polylabel.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/coords.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/ctypes_declarations.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/errors.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/examples/__init__.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/examples/dissolve.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/examples/geoms.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/examples/intersect.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/ftools.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/geometry/__init__.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/geometry/collection.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/geometry/geo.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/geometry/linestring.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/geometry/multilinestring.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/geometry/multipoint.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/geometry/multipolygon.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/geometry/point.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/geos.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/impl.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/iterops.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/linref.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/ops.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/predicates.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/prepared.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/speedups/__init__.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/topology.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/validation.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/vectorized/__init__.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/vectorized/_vectorized.pyx +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/wkb.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/shapely/wkt.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/__init__.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/binascii_hex.txt +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/conftest.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_affinity.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_box.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_cga.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_collection.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_coords.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_default_impl.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_delaunay.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_delegated.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_dlls.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_doctests.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_empty_polygons.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_equality.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_geomseq.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_geos_err_handler.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_getitem.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_hash.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_invalid_geometries.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_iterops.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_linear_referencing.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_linemerge.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_linestring.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_locale.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_mapping.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_minimum_rotated_rectangle.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_multi.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_multilinestring.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_multipoint.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_multipolygon.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_ndarrays.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_nearest.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_operations.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_operators.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_parallel_offset.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_persist.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_point.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_polygon.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_polygonize.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_polylabel.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_predicates.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_prepared.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_products_z.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_shared_paths.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_singularity.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_snap.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_split.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_strtree.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_styles.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_svg.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_transform.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_union.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_validation.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_vectorized.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_wkt.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/test_xy.py +0 -0
- {Shapely-1.6.2 → Shapely-1.6.3}/tests/threading_test.py +0 -0
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
Changes
|
|
2
2
|
=======
|
|
3
3
|
|
|
4
|
+
1.6.3 (2017-12-09)
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
- AttributeError is no longer raised when accessing __geo_interface__ of an
|
|
8
|
+
empty polygon (#450).
|
|
9
|
+
- ``asShape`` now handles empty coordinates in mappings as ``shape`` does
|
|
10
|
+
(#542). Please note that ``asShape`` is likely to be deprecated in a future
|
|
11
|
+
version of Shapely.
|
|
12
|
+
- Check for length of LineString coordinates in speed mode, preventing crashes
|
|
13
|
+
when using LineStrings with only one coordinate (#546).
|
|
14
|
+
|
|
15
|
+
1.6.2 (2017-10-30)
|
|
16
|
+
------------------
|
|
17
|
+
|
|
18
|
+
- A 1.6.2.post1 release has been made to fix a problem with macosx wheels
|
|
19
|
+
uploaded to PyPI.
|
|
20
|
+
|
|
4
21
|
1.6.2 (2017-10-26)
|
|
5
22
|
------------------
|
|
6
23
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.6.
|
|
3
|
+
Version: 1.6.3
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -242,6 +242,23 @@ Description: =======
|
|
|
242
242
|
Changes
|
|
243
243
|
=======
|
|
244
244
|
|
|
245
|
+
1.6.3 (2017-12-09)
|
|
246
|
+
------------------
|
|
247
|
+
|
|
248
|
+
- AttributeError is no longer raised when accessing __geo_interface__ of an
|
|
249
|
+
empty polygon (#450).
|
|
250
|
+
- ``asShape`` now handles empty coordinates in mappings as ``shape`` does
|
|
251
|
+
(#542). Please note that ``asShape`` is likely to be deprecated in a future
|
|
252
|
+
version of Shapely.
|
|
253
|
+
- Check for length of LineString coordinates in speed mode, preventing crashes
|
|
254
|
+
when using LineStrings with only one coordinate (#546).
|
|
255
|
+
|
|
256
|
+
1.6.2 (2017-10-30)
|
|
257
|
+
------------------
|
|
258
|
+
|
|
259
|
+
- A 1.6.2.post1 release has been made to fix a problem with macosx wheels
|
|
260
|
+
uploaded to PyPI.
|
|
261
|
+
|
|
245
262
|
1.6.2 (2017-10-26)
|
|
246
263
|
------------------
|
|
247
264
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: Shapely
|
|
3
|
-
Version: 1.6.
|
|
3
|
+
Version: 1.6.3
|
|
4
4
|
Summary: Geometric objects, predicates, and operations
|
|
5
5
|
Home-page: https://github.com/Toblerity/Shapely
|
|
6
6
|
Author: Sean Gillies
|
|
@@ -242,6 +242,23 @@ Description: =======
|
|
|
242
242
|
Changes
|
|
243
243
|
=======
|
|
244
244
|
|
|
245
|
+
1.6.3 (2017-12-09)
|
|
246
|
+
------------------
|
|
247
|
+
|
|
248
|
+
- AttributeError is no longer raised when accessing __geo_interface__ of an
|
|
249
|
+
empty polygon (#450).
|
|
250
|
+
- ``asShape`` now handles empty coordinates in mappings as ``shape`` does
|
|
251
|
+
(#542). Please note that ``asShape`` is likely to be deprecated in a future
|
|
252
|
+
version of Shapely.
|
|
253
|
+
- Check for length of LineString coordinates in speed mode, preventing crashes
|
|
254
|
+
when using LineStrings with only one coordinate (#546).
|
|
255
|
+
|
|
256
|
+
1.6.2 (2017-10-30)
|
|
257
|
+
------------------
|
|
258
|
+
|
|
259
|
+
- A 1.6.2.post1 release has been made to fix a problem with macosx wheels
|
|
260
|
+
uploaded to PyPI.
|
|
261
|
+
|
|
245
262
|
1.6.2 (2017-10-26)
|
|
246
263
|
------------------
|
|
247
264
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.6.3
|
|
@@ -157,7 +157,7 @@ themselves as instance factories. A few of their intrinsic properties will be
|
|
|
157
157
|
discussed in this sections, others in the following sections on operations and
|
|
158
158
|
serializations.
|
|
159
159
|
|
|
160
|
-
Instances of
|
|
160
|
+
Instances of ``Point``, ``LineString``, and ``LinearRing`` have as their most
|
|
161
161
|
important attribute a finite sequence of coordinates that determines their
|
|
162
162
|
interior, boundary, and exterior point sets. A line string can be determined by
|
|
163
163
|
as few as 2 points, but contains an infinite number of points. Coordinate
|
|
@@ -169,8 +169,20 @@ In all constructors, numeric values are converted to type ``float``. In other
|
|
|
169
169
|
words, ``Point(0, 0)`` and ``Point(0.0, 0.0)`` produce geometrically equivalent
|
|
170
170
|
instances. Shapely does not check the topological simplicity or validity of
|
|
171
171
|
instances when they are constructed as the cost is unwarranted in most cases.
|
|
172
|
-
Validating factories are
|
|
173
|
-
predicate
|
|
172
|
+
Validating factories are easily implemented using the :attr:``is_valid``
|
|
173
|
+
predicate by users that require them.
|
|
174
|
+
|
|
175
|
+
.. note::
|
|
176
|
+
|
|
177
|
+
Shapely is a planar geometry library and `z`, the height
|
|
178
|
+
above or below the plane, is ignored in geometric analysis. There is
|
|
179
|
+
a potential pitfall for users here: coordinate tuples that differ only in
|
|
180
|
+
`z` are not distinguished from each other and their application can result
|
|
181
|
+
in suprisingly invalid geometry objects. For example, ``LineString([(0, 0,
|
|
182
|
+
0), (0, 0, 1)])`` does not return a vertical line of unit length, but an invalid line
|
|
183
|
+
in the plane with zero length. Similarly, ``Polygon([(0, 0, 0), (0, 0, 1),
|
|
184
|
+
(1, 1, 1)])`` is not bounded by a closed ring and is invalid.
|
|
185
|
+
|
|
174
186
|
|
|
175
187
|
General Attributes and Methods
|
|
176
188
|
------------------------------
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.6.3"
|
|
@@ -699,7 +699,11 @@ class BaseGeometry(object):
|
|
|
699
699
|
return bool(self.impl['disjoint'](self, other))
|
|
700
700
|
|
|
701
701
|
def equals(self, other):
|
|
702
|
-
"""Returns True if geometries are equal, else False
|
|
702
|
+
"""Returns True if geometries are equal, else False
|
|
703
|
+
|
|
704
|
+
Refers to point-set equality (or topological equality), and is equivalent to
|
|
705
|
+
(self.within(other) & self.contains(other))
|
|
706
|
+
"""
|
|
703
707
|
return bool(self.impl['equals'](self, other))
|
|
704
708
|
|
|
705
709
|
def intersects(self, other):
|
|
@@ -720,12 +724,20 @@ class BaseGeometry(object):
|
|
|
720
724
|
|
|
721
725
|
def equals_exact(self, other, tolerance):
|
|
722
726
|
"""Returns True if geometries are equal to within a specified
|
|
723
|
-
tolerance
|
|
727
|
+
tolerance
|
|
728
|
+
|
|
729
|
+
Refers to coordinate equality, which requires coordinates to be equal
|
|
730
|
+
and in the same order for all components of a geometry
|
|
731
|
+
"""
|
|
724
732
|
return bool(self.impl['equals_exact'](self, other, tolerance))
|
|
725
733
|
|
|
726
734
|
def almost_equals(self, other, decimal=6):
|
|
727
735
|
"""Returns True if geometries are equal at all coordinates to a
|
|
728
|
-
specified decimal place
|
|
736
|
+
specified decimal place
|
|
737
|
+
|
|
738
|
+
Refers to approximate coordinate equality, which requires coordinates be
|
|
739
|
+
approximately equal and in the same order for all components of a geometry.
|
|
740
|
+
"""
|
|
729
741
|
return self.equals_exact(other, 0.5 * 10**(-decimal))
|
|
730
742
|
|
|
731
743
|
def relate_pattern(self, other, pattern):
|
|
@@ -71,6 +71,15 @@ class LinearRing(LineString):
|
|
|
71
71
|
|
|
72
72
|
coords = property(_get_coords, _set_coords)
|
|
73
73
|
|
|
74
|
+
def __setstate__(self, state):
|
|
75
|
+
"""WKB doesn't differentiate between LineString and LinearRing so we
|
|
76
|
+
need to move the coordinate sequence into the correct geometry type"""
|
|
77
|
+
super(LinearRing, self).__setstate__(state)
|
|
78
|
+
cs = lgeos.GEOSGeom_getCoordSeq(self.__geom__)
|
|
79
|
+
cs_clone = lgeos.GEOSCoordSeq_clone(cs)
|
|
80
|
+
lgeos.GEOSGeom_destroy(self.__geom__)
|
|
81
|
+
self.__geom__ = lgeos.GEOSGeom_createLinearRing(cs_clone)
|
|
82
|
+
|
|
74
83
|
@property
|
|
75
84
|
def is_ccw(self):
|
|
76
85
|
"""True is the ring is oriented counter clock-wise"""
|
|
@@ -303,13 +312,15 @@ class Polygon(BaseGeometry):
|
|
|
303
312
|
|
|
304
313
|
@property
|
|
305
314
|
def __geo_interface__(self):
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
315
|
+
if not self.exterior:
|
|
316
|
+
coords = []
|
|
317
|
+
else:
|
|
318
|
+
coords = [tuple(self.exterior.coords)]
|
|
319
|
+
for hole in self.interiors:
|
|
320
|
+
coords.append(tuple(hole.coords))
|
|
309
321
|
return {
|
|
310
322
|
'type': 'Polygon',
|
|
311
|
-
'coordinates': tuple(coords)
|
|
312
|
-
}
|
|
323
|
+
'coordinates': tuple(coords)}
|
|
313
324
|
|
|
314
325
|
def svg(self, scale_factor=1., fill_color=None):
|
|
315
326
|
"""Returns SVG path element for the Polygon geometry.
|
|
@@ -30,7 +30,8 @@ class CachingGeometryProxy(object):
|
|
|
30
30
|
gtag = self.gtag()
|
|
31
31
|
if gtag != self._gtag or self._is_empty:
|
|
32
32
|
self.empty()
|
|
33
|
-
|
|
33
|
+
if len(self.context) > 0:
|
|
34
|
+
self.__geom__, n = self.factory(self.context)
|
|
34
35
|
self._gtag = gtag
|
|
35
36
|
return self.__geom__
|
|
36
37
|
|