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(),
        }
Пример #2
0
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()
        }
Пример #3
0
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(),
        }
Пример #5
0
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()
        }
Пример #8
0
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()
        }
Пример #9
0
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()
        }
Пример #10
0
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()
        }
Пример #11
0
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(),
        }
Пример #12
0
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()
        }
Пример #13
0
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()
        }
Пример #14
0
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()
        }
Пример #15
0
def test_infer_schema_only_multilinestrings():
    df = GeoDataFrame(geometry=[MultiLineString(city_hall_walls)])

    assert infer_schema(df) == {
        "geometry": "MultiLineString",
        "properties": OrderedDict(),
    }
Пример #16
0
def test_infer_schema_only_points():
    df = GeoDataFrame(geometry=[city_hall_entrance, city_hall_balcony])

    assert infer_schema(df) == {
        "geometry": "Point",
        "properties": OrderedDict()
    }
Пример #17
0
def test_infer_schema_only_3D_linestrings():
    df = GeoDataFrame(geometry=[linestring_3D, linestring_3D])

    assert infer_schema(df) == {
        "geometry": "3D LineString",
        "properties": OrderedDict(),
    }
Пример #18
0
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()
        }
Пример #19
0
def test_infer_schema_only_3D_linestrings():
    df = GeoDataFrame(geometry=[linestring_3D, linestring_3D])

    assert infer_schema(df) == {
        'geometry': '3D LineString',
        'properties': OrderedDict()
    }
Пример #20
0
def test_infer_schema_only_3D_Polygons():
    df = GeoDataFrame(geometry=[polygon_3D, polygon_3D])

    assert infer_schema(df) == {
        "geometry": "3D Polygon",
        "properties": OrderedDict()
    }
Пример #21
0
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()
        }
Пример #22
0
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()
        }
Пример #23
0
def test_infer_schema_only_polygons():
    df = GeoDataFrame(geometry=[city_hall_boundaries, vauquelin_place])

    assert infer_schema(df) == {
        'geometry': 'Polygon',
        'properties': OrderedDict()
    }
Пример #24
0
def test_infer_schema_only_points():
    df = GeoDataFrame(geometry=[city_hall_entrance, city_hall_balcony])

    assert infer_schema(df) == {
        'geometry': 'Point',
        'properties': OrderedDict()
    }
Пример #25
0
def test_infer_schema_only_3D_Polygons():
    df = GeoDataFrame(geometry=[polygon_3D, polygon_3D])

    assert infer_schema(df) == {
        'geometry': '3D Polygon',
        'properties': OrderedDict()
    }
Пример #26
0
def test_infer_schema_only_3D_Polygons():
    df = GeoDataFrame(geometry=[polygon_3D, polygon_3D])

    assert infer_schema(df) == {
        'geometry': '3D Polygon',
        'properties': OrderedDict()
    }
Пример #27
0
def test_infer_schema_only_linestrings():
    df = GeoDataFrame(geometry=city_hall_walls)

    assert infer_schema(df) == {
        "geometry": "LineString",
        "properties": OrderedDict()
    }
Пример #28
0
def test_infer_schema_only_3D_linestrings():
    df = GeoDataFrame(geometry=[linestring_3D, linestring_3D])

    assert infer_schema(df) == {
        'geometry': '3D LineString',
        'properties': OrderedDict()
    }
Пример #29
0
def test_infer_schema_only_multilinestrings():
    df = GeoDataFrame(geometry=[MultiLineString(city_hall_walls)])

    assert infer_schema(df) == {
        'geometry': 'MultiLineString',
        'properties': OrderedDict()
    }
Пример #30
0
def test_infer_schema_only_linestrings():
    df = GeoDataFrame(geometry=city_hall_walls)

    assert infer_schema(df) == {
        'geometry': 'LineString',
        'properties': OrderedDict()
    }
Пример #31
0
def test_infer_schema_only_multipolygons():
    df = GeoDataFrame(
        geometry=[MultiPolygon((city_hall_boundaries, vauquelin_place))])

    assert infer_schema(df) == {
        "geometry": "MultiPolygon",
        "properties": OrderedDict()
    }
Пример #32
0
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()
    }
Пример #33
0
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()
    }
Пример #34
0
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()
    }
Пример #35
0
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()
    }
Пример #36
0
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")]),
    }
Пример #37
0
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()
        }
Пример #38
0
def test_infer_schema_only_polygons():
    df = GeoDataFrame(
        geometry=[city_hall_boundaries, vauquelin_place]
    )

    assert infer_schema(df) == {
        'geometry': 'Polygon',
        'properties': OrderedDict()
    }
Пример #39
0
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()
        }
Пример #40
0
	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
Пример #41
0
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()
    }
Пример #42
0
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()
        }
Пример #43
0
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()
    }
Пример #44
0
def test_infer_schema_only_points():
    df = GeoDataFrame(
        geometry=[city_hall_entrance, city_hall_balcony]
    )

    assert infer_schema(df) == {
        'geometry': 'Point',
        'properties': OrderedDict()
    }
Пример #45
0
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()
    }
Пример #46
0
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()
    }