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

使用Python与ArcGIS在Power BI中创建自定义地图的可行性及脚本咨询

关于在Power BI中通过Python可视化渲染ArcGIS地图的解决方案

你此前在Jupyter notebooks中可正常运行的ArcGIS API for Python代码无法直接在Power BI的Python可视化中运行,核心原因是Jupyter原生支持ArcGIS API的ipywidget交互式部件渲染,而Power BI的Python可视化环境仅支持渲染静态图像,无法直接识别并渲染my_gis.map()生成的交互式部件对象。

你可以通过将ArcGIS地图先导出为临时静态图片、再通过matplotlib渲染的方式实现需求,操作步骤及参考代码如下:

  • 首先确认Power BI关联的Python环境已安装arcgis、matplotlib、pillow依赖包,建议直接使用你此前开发用的Anaconda环境作为Power BI的Python运行环境,避免依赖版本冲突。
  • 将原代码替换为如下脚本即可实现地图渲染:
from arcgis.gis import GIS
import matplotlib.pyplot as plt
from PIL import Image
import tempfile
import os

# 初始化GIS对象
my_gis = GIS()
m = my_gis.map()

# 此处可添加你原有逻辑,比如设置地图中心点、缩放级别、加载自定义图层、配置样式等
# 示例:设置中心点为北京、缩放级别10
# m.center = [39.9042, 116.4074]
# m.zoom = 10

# 将地图导出为临时PNG文件
temp_file_path = os.path.join(tempfile.gettempdir(), "arcgis_pbi_temp.png")
m.export(temp_file_path, width=800, height=600)

# 读取临时图片并渲染到Power BI
map_img = Image.open(temp_file_path)
plt.figure(figsize=(10, 7), dpi=120)
plt.imshow(map_img)
plt.axis("off")
plt.show()

注意:上述方案仅支持生成静态地图可视化,如果你需要保留ArcGIS地图的交互式缩放、点选查询等能力,当前Power BI的Python可视化暂不支持该需求,可选择将自定义配置好的地图发布为ArcGIS在线web地图,再通过Power BI内置的ArcGIS可视化组件加载使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 16:57:04