如何使用 .explore() 显示 geopandas 交互式地图

Bux*_*ert 4 python geopandas folium

我制作了一个 geopandas 数据框,我想用它geopandas_dataframe.explore()来创建交互式地图。这是我的代码。首先,我创建 geopandas 数据框,检查 dtypes 并尝试使用gdf.explore(). 不幸的是,我的代码刚刚完成,没有错误,并且没有显示地图。

代码:

geometry = [Point(xy) for xy in zip(df[1], df[0])]
gdf = geopandas.GeoDataFrame(df, geometry=geometry)
print(gdf.head())
print(gdf.dtypes)
gdf.explore()
Run Code Online (Sandbox Code Playgroud)

输出:

           0         1                  geometry
0  51.858306  5.778404  POINT (5.77840 51.85831)
1  51.858322  5.778410  POINT (5.77841 51.85832)
2  51.858338  5.778416  POINT (5.77842 51.85834)
3  51.858354  5.778422  POINT (5.77842 51.85835)
4  51.858370  5.778429  POINT (5.77843 51.85837)
0            float64
1            float64
geometry    geometry
dtype: object

Process finished with exit code 0
Run Code Online (Sandbox Code Playgroud)

为什么我拿不到地图?我已经尝试过了gdf.show(),但那不存在。我需要做什么才能显示 geopandas 地图?

Mat*_*ish 5

你使用什么IDE?在 Jupyter Notebook 中,您的代码(稍作修改)适合我。然而,当我在 PyCharm 中运行它时,我得到“进程已完成,退出代码 0”,但没有绘图。

import geopandas as gpd
import pandas as pd
from shapely.geometry import Point

data_dict = {'x': {0: -110.1, 1: -110.2, 2: -110.3, 3: -110.4, 4: -110.5},
 'y': {0: 40.1, 1: 40.2, 2: 40.3, 3: 40.4, 4: 40.5}}

df = pd.DataFrame(data_dict)

geometry = [Point(xy) for xy in zip(df['x'], df['y'])]
gdf = gpd.GeoDataFrame(df, geometry=geometry, crs=4326)
print(gdf.head())
print(gdf.dtypes)
gdf.explore()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

编辑:看起来你可以将你的 folium 图保存到 html 中。这对我来说来自 PyCharm 有用。

m = gdf.explore()

outfp = r"<your dir path>\base_map.html"

m.save(outfp)
Run Code Online (Sandbox Code Playgroud)