geopandas.read_feather#

geopandas.read_feather(path, columns=None, to_pandas_kwargs=None, **kwargs)[source]#

Load a Feather object from the file path, returning a GeoDataFrame.

You can read a subset of columns in the file using the columns parameter. However, the structure of the returned GeoDataFrame will depend on which columns you read:

  • if no geometry columns are read, this will raise a ValueError - you should use the pandas read_feather method instead.

  • if the primary geometry column saved to this file is not included in columns, the first available geometry column will be set as the geometry column of the returned GeoDataFrame.

Supports versions 0.1.0, 0.4.0, 1.0.0 and 1.1.0 of the GeoParquet specification at: opengeospatial/geoparquet

If ‘crs’ key is not present in the Feather metadata associated with the Parquet object, it will default to “OGC:CRS84” according to the specification.

Requires ‘pyarrow’ >= 0.17.

Added in version 0.8.

Parameters:
pathstr, path object or file-like object

String, path object (implementing os.PathLike[str]) or file-like object implementing a binary read() function.

columnslist-like of strings, default=None

If not None, only these columns will be read from the file. If the primary geometry column is not included, the first secondary geometry read from the file will be set as the geometry column of the returned GeoDataFrame. If no geometry columns are present, a ValueError will be raised.

to_pandas_kwargsdict, optional

Arguments passed to the pa.Table.to_pandas method for non-geometry columns. This can be used to control the behavior of the conversion of the non-geometry columns to a pandas DataFrame. For example, you can use this to control the dtype conversion of the columns. By default, the to_pandas method is called with no additional arguments.

**kwargs

Any additional kwargs passed to pyarrow.feather.read_table().

Returns:
GeoDataFrame

Examples

>>> df = geopandas.read_feather("data.feather")

Specifying columns to read:

>>> df = geopandas.read_feather(
...     "data.feather",
...     columns=["geometry", "pop_est"]
... )

See the read_parquet docs for examples of reading and writing to/from bytes objects.