You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将含GeoJSON几何的API返回pois数据转换为GeoDataFrame?

解决方法

有两种简单方式可以将你的JSON数据转换为带有效几何列的GeoDataFrame:

方法一:直接用GeoPandas的from_features(推荐)

这个方法能直接读取GeoJSON格式的特征数组,无需先转成普通Pandas DataFrame,一步到位:

import geopandas as gpd

# 直接从pois生成GeoDataFrame,指定坐标参考系(这里用通用的WGS84坐标系EPSG:4326)
gdf = gpd.GeoDataFrame.from_features(pois, crs="EPSG:4326")

执行后,gdf会自动包含id、name列,以及标准的geometry列(存储Shapely Point对象),可直接用于空间分析。

方法二:处理已归一化的DataFrame

如果你已经通过pd.json_normalize(pois)得到了带geometry_geojson.type和geometry_geojson.coordinates列的DataFrame,可以手动构建几何列:

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

# 先得到归一化的普通DataFrame
df = pd.json_normalize(pois)

# 从坐标列生成Shapely Point对象,创建标准geometry列
df['geometry'] = df['geometry_geojson.coordinates'].apply(lambda coord: Point(coord))

# 转换为GeoDataFrame,指定几何列和坐标参考系
gdf = gpd.GeoDataFrame(df, geometry='geometry', crs="EPSG:4326")

# 可选:删除不需要的原始几何拆分列
gdf = gdf.drop(columns=['geometry_geojson.type', 'geometry_geojson.coordinates'])

处理完成后,你就得到了符合空间分析要求的GeoDataFrame。

内容的提问来源于stack exchange,提问作者ElTitoFranki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 13:52:42