| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import unittest
- from shapely.geometry import LineString, MultiLineString
- from shapely.ops import linemerge
- class LineMergeTestCase(unittest.TestCase):
- def test_linemerge(self):
- lines = MultiLineString([[(0, 0), (1, 1)], [(2, 0), (2, 1), (1, 1)]])
- result = linemerge(lines)
- assert isinstance(result, LineString)
- assert not result.is_ring
- assert len(result.coords) == 4
- assert result.coords[0] == (0.0, 0.0)
- assert result.coords[3] == (2.0, 0.0)
- lines2 = MultiLineString([((0, 0), (1, 1)), ((0, 0), (2, 0), (2, 1), (1, 1))])
- result = linemerge(lines2)
- assert result.is_ring
- assert len(result.coords) == 5
- lines3 = [
- LineString([(0, 0), (1, 1)]),
- LineString([(0, 0), (0, 1)]),
- ]
- result = linemerge(lines3)
- assert not result.is_ring
- assert len(result.coords) == 3
- assert result.coords[0] == (0.0, 1.0)
- assert result.coords[2] == (1.0, 1.0)
- lines4 = [
- [(0, 0), (1, 1)],
- [(0, 0), (0, 1)],
- ]
- assert result.equals(linemerge(lines4))
- lines5 = [
- ((0, 0), (1, 1)),
- ((1, 0), (0, 1)),
- ]
- result = linemerge(lines5)
- assert result.geom_type == "MultiLineString"
|