Beispiel #1
0
    def test__too_large_interp_dist__raises_runtimeerror(self):
        POLYGON = Polygon([[0, 0], [10, 0], [10, 10], [0, 10]])

        with self.assertRaises(RuntimeError):
            Centerline(POLYGON, 10)

        centerline = Centerline(POLYGON, 5)
        self.assertIsInstance(centerline, Centerline)
Beispiel #2
0
    def test__polygon_with_interior_ring__returns_multilinestring(self):
        EXTERIOR = [(0, 0), (0, 2), (2, 2), (2, 0), (0, 0)]
        INTERIOR = [(1, 0), (0.5, 0.5), (1, 1), (1.5, 0.5), (1, 0)][::-1]
        POLYGON = Polygon(EXTERIOR, [INTERIOR])

        centerline = Centerline(POLYGON)

        self.assertIsInstance(centerline, MultiLineString)
Beispiel #3
0
    def test__object_has_assigned_attributes(self):
        POLYGON = Polygon([[0, 0], [0, 4], [4, 4], [4, 0]])
        ATTRIBUTES = {'id': 1, 'name': 'polygon', 'valid': True}

        centerline = Centerline(POLYGON, **ATTRIBUTES)

        self.assertEqual(centerline.id, ATTRIBUTES.get('id'))
        self.assertEqual(centerline.name, ATTRIBUTES.get('name'))
        self.assertEqual(centerline.valid, ATTRIBUTES.get('valid'))
Beispiel #4
0
    def test__geometry_collection__raises_valueerror(self):
        GEOMETRY_COLLECTION = GeometryCollection(
            (Point(0, 0),
             LineString([(0, 0), (0.8, 0.8), (1.8, 0.95),
                         (2.6, 0.5)]), Polygon([[0, 0], [0, 4], [4, 4], [4,
                                                                         0]])))

        with self.assertRaises(ValueError):
            Centerline(GEOMETRY_COLLECTION)
Beispiel #5
0
    def test__multipolygon__raises_valueerror(self):
        POLYGON_1 = Polygon([[0, 0], [0, 4], [4, 4], [4, 0]])
        POLYGON_2 = Polygon([[5, 5], [5, 9], [9, 9], [9, 5]])

        MULTIPOLYGON = MultiPolygon([POLYGON_1, POLYGON_2])

        centerline = Centerline(MULTIPOLYGON)

        self.assertIsInstance(centerline, MultiLineString)
Beispiel #6
0
    def test__multilinestring__raises_valueerror(self):
        MULTILINESTRING = MultiLineString([((0, 0), (1, 1)),
                                           ((-1, 0), (1, 0))])

        with self.assertRaises(ValueError):
            Centerline(MULTILINESTRING)
Beispiel #7
0
    def test__linestring__raises_valueerror(self):
        LINESTRING = LineString([(0, 0), (0.8, 0.8), (1.8, 0.95), (2.6, 0.5)])

        with self.assertRaises(ValueError):
            Centerline(LINESTRING)
Beispiel #8
0
    def test__multipoint__raises_valueerror(self):
        MULTIPOINT = MultiPoint([Point(0, 0), Point(1, 1)])

        with self.assertRaises(ValueError):
            Centerline(MULTIPOINT)
Beispiel #9
0
    def test__point__raises_valueerror(self):
        POINT = Point(0, 0)

        with self.assertRaises(ValueError):
            Centerline(POINT)
Beispiel #10
0
    def test__polygon__returns_multilinestring(self):
        POLYGON = Polygon([[0, 0], [0, 4], [4, 4], [4, 0]])

        centerline = Centerline(POLYGON)

        self.assertIsInstance(centerline, MultiLineString)
Beispiel #11
0
 def setUpClass(cls):
     EXTERIOR = [(0, 0), (0, 2), (2, 2), (2, 0), (0, 0)]
     INTERIOR = [(1, 0), (0.5, 0.5), (1, 1), (1.5, 0.5), (1, 0)][::-1]
     cls.POLYGON = Polygon(EXTERIOR, [INTERIOR])
     cls.CENTERLINE = Centerline(cls.POLYGON)
Beispiel #12
0
 def setUpClass(cls):
     cls.POLYGON = Polygon([[0, 0], [0, 4], [4, 4], [4, 0]])
     cls.CENTERLINE = Centerline(cls.POLYGON)