initial commit
This commit is contained in:
78
billinglayer/python/shapely/tests/common.py
Normal file
78
billinglayer/python/shapely/tests/common.py
Normal file
@@ -0,0 +1,78 @@
|
||||
from contextlib import contextmanager
|
||||
|
||||
import numpy as np
|
||||
import pytest
|
||||
|
||||
import shapely
|
||||
|
||||
shapely20_todo = pytest.mark.xfail(
|
||||
strict=False, reason="Not yet implemented for Shapely 2.0"
|
||||
)
|
||||
|
||||
point_polygon_testdata = (
|
||||
shapely.points(np.arange(6), np.arange(6)),
|
||||
shapely.box(2, 2, 4, 4),
|
||||
)
|
||||
point = shapely.Point(2, 3)
|
||||
line_string = shapely.LineString([(0, 0), (1, 0), (1, 1)])
|
||||
linear_ring = shapely.LinearRing([(0, 0), (1, 0), (1, 1), (0, 1), (0, 0)])
|
||||
polygon = shapely.Polygon([(0, 0), (2, 0), (2, 2), (0, 2), (0, 0)])
|
||||
multi_point = shapely.MultiPoint([(0, 0), (1, 2)])
|
||||
multi_line_string = shapely.MultiLineString([[(0, 0), (1, 2)]])
|
||||
multi_polygon = shapely.multipolygons(
|
||||
[
|
||||
[(0, 0), (1, 0), (1, 1), (0, 1), (0, 0)],
|
||||
[(2.1, 2.1), (2.2, 2.1), (2.2, 2.2), (2.1, 2.2), (2.1, 2.1)],
|
||||
]
|
||||
)
|
||||
geometry_collection = shapely.GeometryCollection(
|
||||
[shapely.Point(51, -1), shapely.LineString([(52, -1), (49, 2)])]
|
||||
)
|
||||
point_z = shapely.Point(2, 3, 4)
|
||||
line_string_z = shapely.LineString([(0, 0, 4), (1, 0, 4), (1, 1, 4)])
|
||||
polygon_z = shapely.Polygon([(0, 0, 4), (2, 0, 4), (2, 2, 4), (0, 2, 4), (0, 0, 4)])
|
||||
geometry_collection_z = shapely.GeometryCollection([point_z, line_string_z])
|
||||
polygon_with_hole = shapely.Polygon(
|
||||
[(0, 0), (0, 10), (10, 10), (10, 0), (0, 0)],
|
||||
holes=[[(2, 2), (2, 4), (4, 4), (4, 2), (2, 2)]],
|
||||
)
|
||||
empty_point = shapely.from_wkt("POINT EMPTY")
|
||||
empty_point_z = shapely.from_wkt("POINT Z EMPTY")
|
||||
empty_line_string = shapely.from_wkt("LINESTRING EMPTY")
|
||||
empty_line_string_z = shapely.from_wkt("LINESTRING Z EMPTY")
|
||||
empty_polygon = shapely.from_wkt("POLYGON EMPTY")
|
||||
empty = shapely.from_wkt("GEOMETRYCOLLECTION EMPTY")
|
||||
line_string_nan = shapely.LineString([(np.nan, np.nan), (np.nan, np.nan)])
|
||||
multi_point_z = shapely.MultiPoint([(0, 0, 4), (1, 2, 4)])
|
||||
multi_line_string_z = shapely.MultiLineString([[(0, 0, 4), (1, 2, 4)]])
|
||||
multi_polygon_z = shapely.multipolygons(
|
||||
[
|
||||
[(0, 0, 4), (1, 0, 4), (1, 1, 4), (0, 1, 4), (0, 0, 4)],
|
||||
[(2.1, 2.1, 4), (2.2, 2.1, 4), (2.2, 2.2, 4), (2.1, 2.2, 4), (2.1, 2.1, 4)],
|
||||
]
|
||||
)
|
||||
polygon_with_hole_z = shapely.Polygon(
|
||||
[(0, 0, 4), (0, 10, 4), (10, 10, 4), (10, 0, 4), (0, 0, 4)],
|
||||
holes=[[(2, 2, 4), (2, 4, 4), (4, 4, 4), (4, 2, 4), (2, 2, 4)]],
|
||||
)
|
||||
|
||||
all_types = (
|
||||
point,
|
||||
line_string,
|
||||
linear_ring,
|
||||
polygon,
|
||||
multi_point,
|
||||
multi_line_string,
|
||||
multi_polygon,
|
||||
geometry_collection,
|
||||
empty,
|
||||
)
|
||||
|
||||
|
||||
@contextmanager
|
||||
def ignore_invalid(condition=True):
|
||||
if condition:
|
||||
with np.errstate(invalid="ignore"):
|
||||
yield
|
||||
else:
|
||||
yield
|
||||
Reference in New Issue
Block a user