【发布时间】:2022-01-14 11:55:33
【问题描述】:
我想绘制我的点数据并通过我的 folium 地图上的弹出窗口显示独特的图像。我有 67 个地块,每个地块都分配了不同的图像。
我有一个geopandas 点数据框,其属性Path 链接到相关图像路径,即:C:/Users/Documents/GIS/Untitled Folder/photo1.jpg。
我想创建一个循环来读取“图像路径”并在弹出窗口中为每个位置绘制相关图像。
我已将我的文件导入为.shp。 Photos 是我的数据框。
locations1 = Photos[['Y', 'X']]
locationlist1 = locations1.values.tolist()
path=Photos[['Path']]
pathlist=path.values.tolist()
for point in range(0, len(locationlist1)):
png=Photos[pathlist].format()
encoded = base64.b64encode(open(png, 'rb').read())
html = '<img src="data:image/png;base64,{}">'.format
iframe = IFrame(html(encoded.decode('UTF-8')), width=400, height=350)
popup = folium.Popup(iframe, max_width=400)
folium.Marker(locationlist1[point], tooltip=html, popup = pathlist[popup], icon=folium.Icon(color = 'purple')).add_to(m)
m
我知道在我的 for 循环中我需要指向图像路径,但不确定如何读取每个点的文件路径。
【问题讨论】:
标签: python dataframe popup geopandas folium