> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wherobots.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GeoDataFrame.from_features

> Construct a GeoDataFrame from GeoJSON-like features.

Construct a GeoDataFrame from GeoJSON-like features.

*Added in version 2.0.0.*

## Signature

```python theme={"system"}
GeoDataFrame.from_features(
    features,
    crs: Any | None = None,
    columns: typing.Iterable[str] | None = None,
) -> GeoDataFrame
```

## Parameters

<ParamField path="features" required>
  An iterable of feature mappings or objects implementing
  `__geo_interface__`; a FeatureCollection dictionary; or an object
  whose `__geo_interface__` is a FeatureCollection.
</ParamField>

<ParamField path="crs" type="Any | None" default="None">
  Coordinate reference system to assign to the resulting frame. The
  coordinates are not transformed.
</ParamField>

<ParamField path="columns" type="typing.Iterable[str] | None" default="None">
  Column names to include and their order in the resulting frame.
</ParamField>

## Returns

<ResponseField name="return" type="GeoDataFrame" />

<Note>
  This constructor first materializes all features in a local GeoPandas
  GeoDataFrame on the driver. It is intended for small in-memory feature
  collections. For large datasets, use Sedona's distributed GeoJSON or
  GeoParquet Spark data source instead.

  GeoPandas controls feature parsing and column selection; feature `id`,
  `bbox`, and collection metadata are not added as columns. Once the
  result is distributed, property values follow Spark schema inference:
  nested mappings become structs, and columns with incompatible mixed
  types are not supported.
</Note>

## Examples

```python theme={"system"}
>>> from sedona.spark.geopandas import GeoDataFrame
>>> feature_collection = {
...     "type": "FeatureCollection",
...     "features": [
...         {
...             "type": "Feature",
...             "properties": {"name": "first"},
...             "geometry": {
...                 "type": "Point",
...                 "coordinates": (1.0, 2.0),
...             },
...         },
...         {
...             "type": "Feature",
...             "properties": {"name": "second"},
...             "geometry": {
...                 "type": "Point",
...                 "coordinates": (2.0, 1.0),
...             },
...         },
...     ],
... }
>>> GeoDataFrame.from_features(feature_collection)
      geometry    name
0  POINT (1 2)   first
1  POINT (2 1)  second
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.