> ## 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.

# Maps (Kepler.gl and pydeck)

> Plot Spark DataFrames on Kepler.gl and pydeck maps in a Jupyter notebook.

```python theme={"system"}
from sedona.spark import SedonaKepler, SedonaPyDeck
```

## SedonaKepler

```python theme={"system"}
SedonaKepler()
```

Plot Sedona DataFrames on Kepler.gl maps in a Jupyter notebook.

Requires the `keplergl` package, installed with `apache-sedona[kepler-map]`.

### add\_df()

```python theme={"system"}
SedonaKepler.add_df(kepler_map, df, name='unnamed')
```

Adds a SedonaDataFrame to a given map object. Raster columns are left out.

#### Parameters

<ParamField path="kepler_map" required>
  Map object to add SedonaDataFrame to
</ParamField>

<ParamField path="df" required>
  SedonaDataFrame to add
</ParamField>

<ParamField path="name" default="'unnamed'">
  \[Optional] Name to assign to the dataframe, default name assigned is 'unnamed'
</ParamField>

#### Returns

<ResponseField name="return">
  Does not return anything, adds df directly to the given map object
</ResponseField>

### create\_map()

```python theme={"system"}
SedonaKepler.create_map(
    df=None,
    name='unnamed',
    config=None,
    height=600,
    use_arrow=False,
    show_docs=False,
)
```

Creates a map visualization using kepler, optionally taking a sedona dataFrame as data input

#### Parameters

<ParamField path="df" default="None">
  \[Optional] SedonaDataFrame to plot on the map
</ParamField>

<ParamField path="name" default="'unnamed'">
  \[Optional] Name to be associated with the given
  dataframe, if a df is passed with no name, a default name of 'unnamed' is set for it.
</ParamField>

<ParamField path="config" default="None">
  \[Optional] A Kepler.gl map config to be applied to the rendered map
</ParamField>

<ParamField path="height" default="600">
  \[Optional] Height of the map in pixels, default is 600
</ParamField>

<ParamField path="use_arrow" default="False">
  \[Optional] Whether to use Arrow to transfer the data to the map, default is False
</ParamField>

<ParamField path="show_docs" default="False">
  \[Optional] Whether to show the Kepler.gl documentation, default is False
</ParamField>

#### Returns

<ResponseField name="return">
  A `keplergl.KeplerGl` map object
</ResponseField>

## SedonaPyDeck

Import from `sedona.spark.maps.SedonaPyDeck`.

```python theme={"system"}
SedonaPyDeck()
```

Plot Sedona DataFrames on pydeck maps in a Jupyter notebook.

Requires the `pydeck` package, installed with `apache-sedona[pydeck-map]`.

### create\_choropleth\_map()

```python theme={"system"}
SedonaPyDeck.create_choropleth_map(
    df,
    fill_color=None,
    plot_col=None,
    initial_view_state=None,
    map_style=None,
    map_provider=None,
    elevation_col=0,
    api_keys=None,
    stroked=True,
)
```

Create a pydeck map with a choropleth layer added

#### Parameters

<ParamField path="df" required>
  SedonaDataFrame to plot on the choropleth map.
</ParamField>

<ParamField path="fill_color" default="None">
  color scheme to fill the map with.
  If no color scheme is given, a default color scheme is created using the 'plot\_col' column as the quantizing column
</ParamField>

<ParamField path="plot_col" default="None">
  Column to be used to create a default color scheme. If fill\_color is provided, this parameter is ignored.
</ParamField>

<ParamField path="initial_view_state" default="None">
  Initial view state for the map
</ParamField>

<ParamField path="map_style" default="None">
  Map style to use
</ParamField>

<ParamField path="map_provider" default="None">
  Map provider to use
</ParamField>

<ParamField path="elevation_col" default="0">
  Optional elevation for the polygons
</ParamField>

<ParamField path="api_keys" default="None">
  Optional dictionary of API keys for Map providers
</ParamField>

<ParamField path="stroked" default="True">
  Whether to stroke the polygons
</ParamField>

#### Returns

<ResponseField name="return">
  A pydeck Map object with choropleth layer added
</ResponseField>

### create\_geometry\_map()

```python theme={"system"}
SedonaPyDeck.create_geometry_map(
    df,
    fill_color='[85, 183, 177, 255]',
    line_color='[85, 183, 177, 255]',
    elevation_col=0,
    initial_view_state=None,
    map_style=None,
    map_provider=None,
    api_keys=None,
    stroked=True,
)
```

Create a pydeck map with a GeoJsonLayer added for plotting given geometries.

#### Parameters

<ParamField path="df" required>
  SedonaDataFrame with polygons
</ParamField>

<ParamField path="fill_color" default="'[85, 183, 177, 255]'">
  Optional color for the plotted polygons
</ParamField>

<ParamField path="line_color" default="'[85, 183, 177, 255]'">
  Optional color for the outlines of the plotted geometries
</ParamField>

<ParamField path="elevation_col" default="0">
  Optional column/numeric value to determine elevation for plotted polygons
</ParamField>

<ParamField path="initial_view_state" default="None">
  optional initial view state of the pydeck map
</ParamField>

<ParamField path="map_style" default="None">
  optional map\_style of the pydeck map
</ParamField>

<ParamField path="map_provider" default="None">
  optional map\_provider of the pydeck map
</ParamField>

<ParamField path="api_keys" default="None">
  Optional dictionary of API keys for Map providers
</ParamField>

<ParamField path="stroked" default="True">
  Whether to draw the outlines of the polygons
</ParamField>

#### Returns

<ResponseField name="return">
  A pydeck map with a GeoJsonLayer map added
</ResponseField>

### create\_heatmap()

```python theme={"system"}
SedonaPyDeck.create_heatmap(
    df,
    color_range=None,
    weight=1,
    aggregation='SUM',
    initial_view_state=None,
    map_style=None,
    map_provider=None,
    api_keys=None,
)
```

Create a pydeck map with a heatmap layer added

#### Parameters

<ParamField path="df" required>
  SedonaDataFrame to be used to plot the heatmap
</ParamField>

<ParamField path="color_range" default="None">
  Optional color\_range for the heatmap
</ParamField>

<ParamField path="weight" default="1">
  Optional column to determine weight of each point while plotting the heatmap
</ParamField>

<ParamField path="aggregation" default="'SUM'">
  Optional aggregation to use for the heatmap (used when rendering a zoomed out heatmap)
</ParamField>

<ParamField path="initial_view_state" default="None">
  Optional initial view state of the pydeck map
</ParamField>

<ParamField path="map_style" default="None">
  Optional map\_style of the pydeck map
</ParamField>

<ParamField path="map_provider" default="None">
  Optional map\_provider for the pydeck map
</ParamField>

<ParamField path="api_keys" default="None">
  Optional dictionary of API keys for Map providers
</ParamField>

#### Returns

<ResponseField name="return">
  A pydeck map with a heatmap layer added
</ResponseField>

### create\_scatterplot\_map()

```python theme={"system"}
SedonaPyDeck.create_scatterplot_map(
    df,
    fill_color='[255, 140, 0]',
    radius_col=1,
    radius_min_pixels=1,
    radius_max_pixels=10,
    radius_scale=1,
    initial_view_state=None,
    map_style=None,
    map_provider=None,
    api_keys=None,
)
```

Create a pydeck map with a scatterplot layer

#### Parameters

<ParamField path="df" required>
  SedonaDataFrame to plot
</ParamField>

<ParamField path="fill_color" default="'[255, 140, 0]'">
  color of the points
</ParamField>

<ParamField path="radius_col" default="1">
  Column holding the radius of each point in meters, or a
  number to use as the radius of every point
</ParamField>

<ParamField path="radius_min_pixels" default="1">
  Minimum radius of a point on screen, in pixels
</ParamField>

<ParamField path="radius_max_pixels" default="10">
  Maximum radius of a point on screen, in pixels
</ParamField>

<ParamField path="radius_scale" default="1">
  Multiplier applied to every radius
</ParamField>

<ParamField path="initial_view_state" default="None">
  optional initial view state of a pydeck map
</ParamField>

<ParamField path="map_style" default="None">
  optional map\_style to be added to the pydeck map
</ParamField>

<ParamField path="map_provider" default="None">
  optional map\_provider to be added to the pydeck map
</ParamField>

<ParamField path="api_keys" default="None">
  Optional dictionary of API keys for Map providers
</ParamField>

#### Returns

<ResponseField name="return">
  A pydeck map object with a scatterplot layer added
</ResponseField>


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