コード例 #1
0
ファイル: test_main.py プロジェクト: mhaberler/pygeoif
 def test_geometrycollection(self):
     self.assertRaises(TypeError, geometry.GeometryCollection)
     self.assertRaises(TypeError, geometry.GeometryCollection, None)
     p = geometry.Polygon([(0, 0), (1, 1), (1, 0), (0, 0)])
     e = [(0, 0), (0, 2), (2, 2), (2, 0), (0, 0)]
     i = [(1, 0), (0.5, 0.5), (1, 1), (1.5, 0.5), (1, 0)]
     ph = geometry.Polygon(e, [i])
     p0 = geometry.Point(0, 0)
     p1 = geometry.Point(-1, -1)
     r = geometry.LinearRing([(0, 0), (1, 1), (1, 0), (0, 0)])
     l = geometry.LineString([(0, 0), (1, 1)])
     gc = geometry.GeometryCollection([p, ph, p0, p1, r, l])
     self.assertEqual(len(list(gc.geoms)), 6)
     self.assertEqual(len(gc), 6)
     self.assertEqual(gc.bounds, (-1.0, -1.0, 2.0, 2.0))
     self.assertEqual(gc.__geo_interface__,
                      geometry.as_shape(gc).__geo_interface__)
     self.assertEqual(
         gc.__geo_interface__,
         geometry.as_shape(gc.__geo_interface__).__geo_interface__)
     f = geometry._Geometry()
     gc1 = geometry.GeometryCollection(
         [p.__geo_interface__, ph, p0, p1, r, l.__geo_interface__])
     self.assertEqual(gc.__geo_interface__, gc1.__geo_interface__)
     self.assertRaises(NotImplementedError, geometry.GeometryCollection,
                       [p, f])
     mp1 = geometry.MultiPoint([p0, p1])
     self.assertRaises(ValueError, geometry.GeometryCollection, [p, mp1])
     self.assertEqual([p, ph, p0, p1, r, l], [geom for geom in gc])
コード例 #2
0
ファイル: test_main.py プロジェクト: mhaberler/pygeoif
 def test_geometrycollection(self):
     p = geometry.Point(0, 1)
     l = geometry.LineString([(0, 0), (1, 1)])
     f = geometry.GeometryCollection([p, l])
     s = geometry.as_shape(f)
     self.assertEqual(f.__geo_interface__, s.__geo_interface__)
     self.assertEqual(f.__geo_interface__['geometries'][0],
                      p.__geo_interface__)
     self.assertEqual(f.__geo_interface__['geometries'][1],
                      l.__geo_interface__)
コード例 #3
0
ファイル: test_parser.py プロジェクト: geopython/pygeofilter
def test_intersects_attr_geometrycollection():
    result = parse('INTERSECTS(geometry, GEOMETRYCOLLECTION(POINT(1 1),'
                   'LINESTRING(1 1,2 2),'
                   'POLYGON((1 1,2 2,0 3,1 1))'
                   '))')
    assert result == ast.GeometryIntersects(
        ast.Attribute('geometry'),
        values.Geometry(
            geometry.GeometryCollection([
                geometry.Point(1, 1),
                geometry.LineString([(1, 1), (2, 2)]),
                geometry.Polygon([(1, 1), (2, 2), (0, 3), (1, 1)])
            ]).__geo_interface__),
    )
コード例 #4
0
ファイル: test_main.py プロジェクト: mhaberler/pygeoif
 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)