def test_infer_schema_mixed_3D_shape_type(): df = GeoDataFrame(geometry=[ MultiPolygon((city_hall_boundaries, vauquelin_place)), city_hall_boundaries, MultiLineString(city_hall_walls), city_hall_walls[0], MultiPoint([city_hall_entrance, city_hall_balcony]), city_hall_balcony, point_3D, ]) if _FIONA18: assert infer_schema(df) == { "geometry": [ "3D Point", "MultiPolygon", "Polygon", "MultiLineString", "LineString", "MultiPoint", "Point", ], "properties": OrderedDict(), } else: assert infer_schema(df) == { "geometry": ["3D Polygon", "3D LineString", "3D Point"], "properties": OrderedDict(), }
def test_infer_schema_mixed_3D_shape_type(): df = GeoDataFrame( geometry=[ MultiPolygon((city_hall_boundaries, vauquelin_place)), city_hall_boundaries, MultiLineString(city_hall_walls), city_hall_walls[0], MultiPoint([city_hall_entrance, city_hall_balcony]), city_hall_balcony, point_3D ] ) if _FIONA18: assert infer_schema(df) == { 'geometry': [ '3D Point', 'MultiPolygon', 'Polygon', 'MultiLineString', 'LineString', 'MultiPoint', 'Point' ], 'properties': OrderedDict() } else: assert infer_schema(df) == { 'geometry': ['3D Polygon', '3D LineString', '3D Point'], 'properties': OrderedDict() }
def test_infer_schema_mixed_3D_linestring(): df = GeoDataFrame(geometry=[city_hall_walls[0], linestring_3D]) if _FIONA18: assert infer_schema(df) == { 'geometry': ['3D LineString', 'LineString'], 'properties': OrderedDict() } else: assert infer_schema(df) == { 'geometry': '3D LineString', 'properties': OrderedDict() }
def test_infer_schema_mixed_3D_Polygon(): df = GeoDataFrame(geometry=[city_hall_boundaries, polygon_3D]) if _FIONA18: assert infer_schema(df) == { "geometry": ["3D Polygon", "Polygon"], "properties": OrderedDict(), } else: assert infer_schema(df) == { "geometry": "3D Polygon", "properties": OrderedDict(), }
def test_infer_schema_mixed_3D_Polygon(): df = GeoDataFrame(geometry=[city_hall_boundaries, polygon_3D]) if _FIONA18: assert infer_schema(df) == { 'geometry': ['3D Polygon', 'Polygon'], 'properties': OrderedDict() } else: assert infer_schema(df) == { 'geometry': '3D Polygon', 'properties': OrderedDict() }
def test_infer_schema_mixed_3D_linestring(): df = GeoDataFrame(geometry=[city_hall_walls[0], linestring_3D]) if _FIONA18: assert infer_schema(df) == { "geometry": ["3D LineString", "LineString"], "properties": OrderedDict(), } else: assert infer_schema(df) == { "geometry": "3D LineString", "properties": OrderedDict(), }
def test_infer_schema_mixed_3D_Point(): df = GeoDataFrame(geometry=[city_hall_balcony, point_3D]) if _FIONA18: assert infer_schema(df) == { "geometry": ["3D Point", "Point"], "properties": OrderedDict(), } else: assert infer_schema(df) == { "geometry": "3D Point", "properties": OrderedDict() }
def test_infer_schema_mixed_3D_Point(): df = GeoDataFrame(geometry=[city_hall_balcony, point_3D]) if _FIONA18: assert infer_schema(df) == { 'geometry': ['3D Point', 'Point'], 'properties': OrderedDict() } else: assert infer_schema(df) == { 'geometry': '3D Point', 'properties': OrderedDict() }
def test_infer_schema_linestrings_and_multilinestrings(): df = GeoDataFrame( geometry=[MultiLineString(city_hall_walls), city_hall_walls[0]]) if _FIONA18: assert infer_schema(df) == { "geometry": ["MultiLineString", "LineString"], "properties": OrderedDict(), } else: assert infer_schema(df) == { "geometry": "LineString", "properties": OrderedDict(), }
def test_infer_schema_linestrings_and_multilinestrings(): df = GeoDataFrame( geometry=[MultiLineString(city_hall_walls), city_hall_walls[0]]) if _FIONA18: assert infer_schema(df) == { 'geometry': ['MultiLineString', 'LineString'], 'properties': OrderedDict() } else: assert infer_schema(df) == { 'geometry': 'LineString', 'properties': OrderedDict() }
def test_infer_schema_points_and_multipoints(): df = GeoDataFrame(geometry=[ MultiPoint([city_hall_entrance, city_hall_balcony]), city_hall_balcony ]) if _FIONA18: assert infer_schema(df) == { 'geometry': ['MultiPoint', 'Point'], 'properties': OrderedDict() } else: assert infer_schema(df) == { 'geometry': 'Point', 'properties': OrderedDict() }
def test_infer_schema_mixed_3D_linestring(): df = GeoDataFrame( geometry=[city_hall_walls[0], linestring_3D] ) if _FIONA18: assert infer_schema(df) == { 'geometry': ['3D LineString', 'LineString'], 'properties': OrderedDict() } else: assert infer_schema(df) == { 'geometry': '3D LineString', 'properties': OrderedDict() }
def test_infer_schema_only_multilinestrings(): df = GeoDataFrame(geometry=[MultiLineString(city_hall_walls)]) assert infer_schema(df) == { "geometry": "MultiLineString", "properties": OrderedDict(), }
def test_infer_schema_only_points(): df = GeoDataFrame(geometry=[city_hall_entrance, city_hall_balcony]) assert infer_schema(df) == { "geometry": "Point", "properties": OrderedDict() }
def test_infer_schema_only_3D_linestrings(): df = GeoDataFrame(geometry=[linestring_3D, linestring_3D]) assert infer_schema(df) == { "geometry": "3D LineString", "properties": OrderedDict(), }
def test_infer_schema_polygons_and_multipolygons(): df = GeoDataFrame(geometry=[ MultiPolygon((city_hall_boundaries, vauquelin_place)), city_hall_boundaries, ]) if _FIONA18: assert infer_schema(df) == { "geometry": ["MultiPolygon", "Polygon"], "properties": OrderedDict(), } else: assert infer_schema(df) == { "geometry": "Polygon", "properties": OrderedDict() }
def test_infer_schema_only_3D_linestrings(): df = GeoDataFrame(geometry=[linestring_3D, linestring_3D]) assert infer_schema(df) == { 'geometry': '3D LineString', 'properties': OrderedDict() }
def test_infer_schema_only_3D_Polygons(): df = GeoDataFrame(geometry=[polygon_3D, polygon_3D]) assert infer_schema(df) == { "geometry": "3D Polygon", "properties": OrderedDict() }
def test_infer_schema_points_and_multipoints(): df = GeoDataFrame(geometry=[ MultiPoint([city_hall_entrance, city_hall_balcony]), city_hall_balcony, ]) if _FIONA18: assert infer_schema(df) == { "geometry": ["MultiPoint", "Point"], "properties": OrderedDict(), } else: assert infer_schema(df) == { "geometry": "Point", "properties": OrderedDict() }
def test_infer_schema_polygons_and_multipolygons(): df = GeoDataFrame(geometry=[ MultiPolygon((city_hall_boundaries, vauquelin_place)), city_hall_boundaries ]) if _FIONA18: assert infer_schema(df) == { 'geometry': ['MultiPolygon', 'Polygon'], 'properties': OrderedDict() } else: assert infer_schema(df) == { 'geometry': 'Polygon', 'properties': OrderedDict() }
def test_infer_schema_only_polygons(): df = GeoDataFrame(geometry=[city_hall_boundaries, vauquelin_place]) assert infer_schema(df) == { 'geometry': 'Polygon', 'properties': OrderedDict() }
def test_infer_schema_only_points(): df = GeoDataFrame(geometry=[city_hall_entrance, city_hall_balcony]) assert infer_schema(df) == { 'geometry': 'Point', 'properties': OrderedDict() }
def test_infer_schema_only_3D_Polygons(): df = GeoDataFrame(geometry=[polygon_3D, polygon_3D]) assert infer_schema(df) == { 'geometry': '3D Polygon', 'properties': OrderedDict() }
def test_infer_schema_only_linestrings(): df = GeoDataFrame(geometry=city_hall_walls) assert infer_schema(df) == { "geometry": "LineString", "properties": OrderedDict() }
def test_infer_schema_only_multilinestrings(): df = GeoDataFrame(geometry=[MultiLineString(city_hall_walls)]) assert infer_schema(df) == { 'geometry': 'MultiLineString', 'properties': OrderedDict() }
def test_infer_schema_only_linestrings(): df = GeoDataFrame(geometry=city_hall_walls) assert infer_schema(df) == { 'geometry': 'LineString', 'properties': OrderedDict() }
def test_infer_schema_only_multipolygons(): df = GeoDataFrame( geometry=[MultiPolygon((city_hall_boundaries, vauquelin_place))]) assert infer_schema(df) == { "geometry": "MultiPolygon", "properties": OrderedDict() }
def test_infer_schema_null_geometry_and_2D_point(): df = GeoDataFrame(geometry=[None, city_hall_entrance]) # None geometry type is then omitted assert infer_schema(df) == { 'geometry': 'Point', 'properties': OrderedDict() }
def test_infer_schema_null_geometry_and_3D_point(): df = GeoDataFrame(geometry=[None, point_3D]) # None geometry type is then omitted assert infer_schema(df) == { 'geometry': '3D Point', 'properties': OrderedDict() }
def test_infer_schema_int64(): int64col = pd.array([1, np.nan], dtype=pd.Int64Dtype()) df = GeoDataFrame(geometry=[city_hall_entrance, city_hall_balcony]) df["int64"] = int64col assert infer_schema(df) == { "geometry": "Point", "properties": OrderedDict([("int64", "int")]), }
def test_infer_schema_polygons_and_multipolygons(): df = GeoDataFrame( geometry=[ MultiPolygon((city_hall_boundaries, vauquelin_place)), city_hall_boundaries ] ) if _FIONA18: assert infer_schema(df) == { 'geometry': ['MultiPolygon', 'Polygon'], 'properties': OrderedDict() } else: assert infer_schema(df) == { 'geometry': 'Polygon', 'properties': OrderedDict() }
def test_infer_schema_only_polygons(): df = GeoDataFrame( geometry=[city_hall_boundaries, vauquelin_place] ) assert infer_schema(df) == { 'geometry': 'Polygon', 'properties': OrderedDict() }
def test_infer_schema_linestrings_and_multilinestrings(): df = GeoDataFrame( geometry=[ MultiLineString(city_hall_walls), city_hall_walls[0] ] ) if _FIONA18: assert infer_schema(df) == { 'geometry': ['MultiLineString', 'LineString'], 'properties': OrderedDict() } else: assert infer_schema(df) == { 'geometry': 'LineString', 'properties': OrderedDict() }
def _get_schema(self, df): from geopandas.io.file import infer_schema if df is None or len(df) == 0: # write empty dataframe to file anyway # TODO: if empty df will be written initially, the schema may have incorrect geometry type schema = {'geometry': 'Point', 'properties': OrderedDict()} else: schema = infer_schema(df) return schema
def test_infer_schema_null_geometry_all(): df = GeoDataFrame(geometry=[None, None]) # None geometry type in then replaced by 'Unknown' # (default geometry type supported by Fiona) assert infer_schema(df) == { 'geometry': 'Unknown', 'properties': OrderedDict() }
def test_infer_schema_points_and_multipoints(): df = GeoDataFrame( geometry=[ MultiPoint([city_hall_entrance, city_hall_balcony]), city_hall_balcony ] ) if _FIONA18: assert infer_schema(df) == { 'geometry': ['MultiPoint', 'Point'], 'properties': OrderedDict() } else: assert infer_schema(df) == { 'geometry': 'Point', 'properties': OrderedDict() }
def test_infer_schema_only_points(): df = GeoDataFrame( geometry=[city_hall_entrance, city_hall_balcony] ) assert infer_schema(df) == { 'geometry': 'Point', 'properties': OrderedDict() }
def test_infer_schema_only_multipoints(): df = GeoDataFrame(geometry=[ MultiPoint( [city_hall_entrance, city_hall_balcony, city_hall_council_chamber]) ]) assert infer_schema(df) == { 'geometry': 'MultiPoint', 'properties': OrderedDict() }
def test_infer_schema_only_multipoints(): df = GeoDataFrame( geometry=[MultiPoint([ city_hall_entrance, city_hall_balcony, city_hall_council_chamber ])] ) assert infer_schema(df) == { 'geometry': 'MultiPoint', 'properties': OrderedDict() }