为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Python 将唯一的弹出窗口添加到作品集中的每个 GeoJSON 多边形

如何使用 Python 将唯一的弹出窗口添加到作品集中的每个 GeoJSON 多边形

慕容3067478 2022-09-13 19:12:56
我正在尝试创建一个带有建筑物的对开页地图。我想根据每个建筑物的相应属性向其添加一个弹出窗口。但是,我编写的代码会向所有建筑物添加相同的弹出窗口。openbare_ruimte我已经咨询了有关此问题的几个线程(#1023,#1060,#popups,#popups2),但无法使其正常工作。有谁知道如何将每个建筑物的属性添加到其弹出窗口中?openbare_ruimteimport jsonimport requestsimport foliumurl = "http://geodata.nationaalgeoregister.nl/bag/wfs?service=wfs&version=2.0.0&request=GetFeature&outputFormat=json&count=25&srsName=epsg:4326&typeName=bag:verblijfsobject&cql_filter=%28bag:woonplaats=%27Groningen%27%29"js_data = json.loads(requests.get(url).text)m = folium.Map(location=[53.2193835, 6.5665018], zoom_start=13)fg = folium.map.FeatureGroup(name='Buildings').add_to(m)#Add the polygons features to the FeatureGroup layerfor feature in js_data['features']:    fg.add_child(folium.GeoJson(feature['properties']['pandgeometrie']))#Add popups to the FeatureGroup layerfor feature in js_data['features']:    fg.add_child(folium.Popup(feature['properties']['openbare_ruimte']))folium.LayerControl().add_to(m)m
查看完整描述

1 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

如果我理解正确,您希望每个建筑物都提供一个显示其地址(我想是街道)的弹出窗口。


此代码似乎可以执行您想要的操作:


import json

import requests

import folium


url = "http://geodata.nationaalgeoregister.nl/bag/wfs?service=wfs&version=2.0.0&request=GetFeature&outputFormat=json&count=25&srsName=epsg:4326&typeName=bag:verblijfsobject&cql_filter=%28bag:woonplaats=%27Groningen%27%29"

js_data = json.loads(requests.get(url).text)



m = folium.Map(location=[53.2193835, 6.5665018], zoom_start=13)


fg = folium.map.FeatureGroup(name='Buildings').add_to(m)


for feature in js_data['features']:

    b = folium.GeoJson(feature['properties']['pandgeometrie'])

    b.add_child(folium.Popup(feature['properties']['openbare_ruimte']))

    fg.add_child(b)



folium.LayerControl().add_to(m)


m

例如,你会得到:

//img1.sycdn.imooc.com//632065db000177fe09660579.jpg

查看完整回答
反对 回复 2022-09-13
  • 1 回答
  • 0 关注
  • 166 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号