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

如何修改kepler.gl地图的默认起始位置使其适配数据所在地

问题描述

无论你的数据位于地图上的哪个位置,每次可视化kepler.gl地图时,默认起始位置均为San Francisco。
示例代码如下:

import pandas as pd
from keplergl import KeplerGl

df = pd.read_csv("<dataset.csv>")
# df 内为法国区域的数据
map_1 = KeplerGl(height=400, data={"data_1": df}, config=config)
map_1

默认渲染时需要手动平移地图到数据所在的法国区域,可通过以下两种方案修改默认起始位置:


解决方案

方法1:手动配置初始视口

在初始化KeplerGl实例的config参数中指定mapState字段,自定义初始经纬度、缩放层级等参数,法国区域的参考代码如下:

import pandas as pd
from keplergl import KeplerGl

df = pd.read_csv("<dataset.csv>")
# 自定义地图配置
custom_config = {
    "version": "v1",
    "config": {
        "mapState": {
            "bearing": 0,
            "dragRotate": False,
            "latitude": 46.2276,
            "longitude": 2.2137,
            "pitch": 0,
            "zoom": 5,
            "isSplit": False
        }
    }
}
map_1 = KeplerGl(height=400, data={"data_1": df}, config=custom_config)
map_1

如果不清楚目标区域的参数,可以先手动调整地图到理想展示状态,调用map_1.config导出当前配置,直接复用即可。

方法2:自动适配数据边界

无需手动查询经纬度,调用fit_bounds方法让地图自动缩放适配所有数据的范围,参考代码:

import pandas as pd
from keplergl import KeplerGl

df = pd.read_csv("<dataset.csv>")
map_1 = KeplerGl(height=400, data={"data_1": df})
# 传入数据的经纬度边界,字段名和你的实际数据保持一致即可
map_1.fit_bounds([
    [df['lon'].min(), df['lat'].min()], 
    [df['lon'].max(), df['lat'].max()]
])
map_1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:06:04