def test_translate_geojson_gc(self): """ load and dump GeoJSON GeometryCollection """ geom = Geometry.from_geojson(geojson_gc) self.assertEquals(geom.srid, 4326) self.assertEquals(GeometryCollection, type(geom)) geojson = geom.geojson self.assertEquals(geojson, geojson_gc)
def test_translate_geojson_mpg(self): """ load and dump GeoJSON multipolygon """ geom = Geometry.from_geojson(geojson_mpg) self.assertEquals(geom.srid, 4326) self.assertEquals(MultiPolygon, type(geom)) geojson = geom.geojson self.assertEquals(geojson, geojson_mpg)
def test_translate_geojson_mln(self): """ load and dump GeoJSON multiline """ geom = Geometry.from_geojson(geojson_mln) self.assertEquals(geom.srid, 4326) self.assertEquals(MultiLineString, type(geom)) geojson = geom.geojson self.assertEquals(geojson, geojson_mln)
def test_translate_geojson_pt(self): """ load and dump GeoJSON point """ geom = Geometry.from_geojson(geojson_pt) self.assertEquals(geom.srid, 4326) self.assertEquals(Point, type(geom)) geojson = geom.geojson self.assertEquals(geojson, geojson_pt)
def test_bounds_geomcollection(self): """ check bounds of GeometryCollection """ geom = Geometry.from_geojson(geojson_gc) bounds = geom.bounds self.assertEquals(bounds[0], 10) self.assertEquals(bounds[1], 0) self.assertEquals(bounds[2], 12) self.assertEquals(bounds[3], 1)
def test_bounds_multipolygon(self): """ check bounds of MultiPolygon """ geom = Geometry.from_geojson(geojson_mpg) bounds = geom.bounds self.assertEquals(bounds[0], 1) self.assertEquals(bounds[1], 0) self.assertEquals(bounds[2], 111) self.assertEquals(bounds[3], 1)
def test_bounds_multilinestring(self): """ check bounds of MultiLineString """ geom = Geometry.from_geojson(geojson_mln) bounds = geom.bounds self.assertEquals(bounds[0], 0) self.assertEquals(bounds[1], 0) self.assertEquals(bounds[2], 3) self.assertEquals(bounds[3], 3)
def test_bounds_polygon(self): """ check bounds of Polygon """ geom = Geometry.from_geojson(geojson_pg) bounds = geom.bounds self.assertEquals(bounds[0], 100) self.assertEquals(bounds[1], 0) self.assertEquals(bounds[2], 101) self.assertEquals(bounds[3], 1)
def test_bounds_linestring(self): """ check bounds of LineString """ geom = Geometry.from_geojson(geojson_ln) bounds = geom.bounds self.assertEquals(bounds[0], 102) self.assertEquals(bounds[1], 59) self.assertEquals(bounds[2], 107) self.assertEquals(bounds[3], 60)
def test_bounds_point(self): """ check bounds of Point """ geom = Geometry.from_geojson(geojson_pt) bounds = geom.bounds self.assertEquals(bounds[0], 0.0) self.assertEquals(bounds[1], 0.0) self.assertEquals(bounds[2], 0.0) self.assertEquals(bounds[3], 0.0)
def test_bounds_multipoint(self): """ check bounds of MultiPoint """ geom = Geometry.from_geojson(geojson_mpt) bounds = geom.bounds self.assertEqual(bounds[0], 0) self.assertEqual(bounds[1], 0) self.assertEqual(bounds[2], 1) self.assertEqual(bounds[3], 1)
def test_bounds_linestring(self): """ check bounds of LineString """ geom = Geometry.from_geojson(geojson_pt) bounds = geom.bounds self.assertEqual(bounds[0], 0.0) self.assertEqual(bounds[1], 0.0) self.assertEqual(bounds[2], 0.0) self.assertEqual(bounds[3], 0.0)
def _execute(self, features, columns): if "geom" in columns: columns.remove("geom") use_geom = True else: use_geom = False for feat in features: row = {} if use_geom: gj = feat["geometry"] geom = Geometry.from_geojson(gj, srid=self.srid) row["geom"] = geom.wkb properties = feat["properties"] for p in properties.keys(): for col in columns: if col == p or col == p.lower(): row[col] = properties.get(p) break yield row
def test_geo_interface(self): """ access using __geo_interface__ """ geom = Geometry.from_geojson(geojson_pt) self.assertEquals(geojson_pt, geom.__geo_interface__)