def test_overlaps_attr_multilinestring(): result = parse( { "op": "s_overlaps", "args": [ {"property": "geometry"}, { "type": "MultiLineString", "coordinates": [[[1, 1], [2, 2]], [[0, 3], [1, 1]]], "bbox": [0.0, 1.0, 2.0, 3.0], }, ], } ) assert result == ast.GeometryOverlaps( ast.Attribute("geometry"), values.Geometry( normalize_geom( geometry.MultiLineString( [ geometry.LineString([(1, 1), (2, 2)]), geometry.LineString([(0, 3), (1, 1)]), ] ).__geo_interface__ ), ), )
def test_multilinestring(self): ml = geometry.MultiLineString([[[0.0, 0.0], [1.0, 2.0]]]) ml1 = geometry.MultiLineString(ml) self.assertEqual(ml.geoms[0].coords, ((0.0, 0.0), (1.0, 2.0))) self.assertEqual(ml.bounds, (0.0, 0.0, 1.0, 2.0)) l = geometry.LineString([(0, 0), (1, 1)]) l1 = geometry.LineString([(0.0, 0.0), (1.0, 1.0), (2.0, 2.0)]) ml2 = geometry.MultiLineString([l, l1]) self.assertEqual(ml2.geoms[0].coords, ((0.0, 0.0), (1.0, 1.0))) self.assertEqual(ml2.geoms[1].coords, ((0.0, 0.0), (1.0, 1.0), (2.0, 2.0))) self.assertEqual(len(ml2), 2) ml3 = geometry.MultiLineString(l) self.assertEqual(ml3.geoms[0].coords, ((0.0, 0.0), (1.0, 1.0))) pt = geometry.Point(0, 1) self.assertRaises(TypeError, geometry.MultiLineString, pt) self.assertRaises(TypeError, geometry.MultiLineString, 0)
def test_overlaps_attr_multilinestring(): result = parse('OVERLAPS(geometry, MULTILINESTRING((1 1,2 2),(0 3,1 1)))') assert result == ast.GeometryOverlaps( ast.Attribute('geometry'), values.Geometry( geometry.MultiLineString([ geometry.LineString([(1, 1), (2, 2)]), geometry.LineString([(0, 3), (1, 1)]), ]).__geo_interface__, ), )
def setUp(self): self.geometry = geometry._Geometry() self.point = geometry.Point(0, 1) self.linestring = geometry.LineString([[0, 0], [1, 0], [1, 1]]) self.linearring = geometry.LinearRing([[0, 0], [1, 0], [1, 1], [0, 0]]) self.coords_1 = ((0., 0.), (0., 1.), (1., 1.), (1., 0.), (0., 0.)) self.polygon = geometry.Polygon(self.coords_1) self.multipoint = geometry.MultiPoint([[0.0, 0.0], [1.0, 2.0]]) self.multiline = geometry.MultiLineString([[[0.0, 0.0], [1.0, 2.0]]]) self.multipoly = geometry.MultiPolygon([ (((0.0, 0.0), (0.0, 1.0), (1.0, 1.0), (1.0, 0.0)), [((0.1, 0.1), (0.1, 0.2), (0.2, 0.2), (0.2, 0.1))]) ]) self.geo_collect = geometry.GeometryCollection( [self.point, self.linestring, self.linearring]) self.feature = geometry.Feature(self.point, {'a': 1, 'b': 2}) self.feature_list = [self.feature, self.feature] self.fc = geometry.FeatureCollection(self.feature_list)
def test_crosses_attr_multilinestring(): result = parse({ "crosses": [ {"property": "geometry"}, { "type": "MultiLineString", "coordinates": [[[1, 1], [2, 2]], [[0, 3], [1, 1]]], "bbox": [0.0, 1.0, 2.0, 3.0] }, ] }) assert result == ast.GeometryCrosses( ast.Attribute('geometry'), values.Geometry( normalize_geom( geometry.MultiLineString([ geometry.LineString([(1, 1), (2, 2)]), geometry.LineString([(0, 3), (1, 1)]), ]).__geo_interface__ ) ), )
def test_dict_asshape(self): f = geometry.MultiLineString([[[0.0, 0.0], [1.0, 2.0]]]) s = geometry.as_shape(f.__geo_interface__) self.assertEqual(f.__geo_interface__, s.__geo_interface__)
def test_multilinestring(self): f = geometry.MultiLineString([[[0.0, 0.0], [1.0, 2.0]]]) s = geometry.as_shape(f) self.assertEqual(f.__geo_interface__, s.__geo_interface__) self.assertEqual((0, 0, 1, 2), f.bounds)