mysql - Python:从数据库输出到 Folium 的错误传输
问题描述
我正在尝试使用 Python 从 MySQL 数据库中读取坐标,并使用 Folium 在地图上重现它们。
但我注意到只有最后 43 条记录被输出并输入到地图中,我不知道为什么。我有一种感觉,我再也看不到树木了。
也许你可以帮助我如何读出所有 43 个数据集?
我有下面的完整代码,包括此代码输出的屏幕截图:
import folium
import mysql
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="",
database="firmen"
)
if(mydb):
print("Verbindung erfolgreich")
else:
print("Verbindung fehlgeschlagen")
cursor = mydb.cursor()
cursor.execute("SELECT * from leipzig")
result = cursor.fetchall()
cursor.close()
#13 = Longitude and 12 = Latitude
for data in result:
ID = data[0]
name = data[1]
lon = data[13]
lat = data[12]
mydb.close()
print("Verbindung geschlossen")
# Create a Map instance
mymap = folium.Map(location=[51.268360, 12.419357], tiles='stamentoner',
zoom_start=10, control_scale=True)
tooltipMeta = ID, name
folium.Marker([lon,lat], tooltip=tooltipMeta).add_to(mymap)
folium.TileLayer('stamenwatercolor').add_to(mymap)
folium.LayerControl().add_to(mymap)
# Display the map
mymap
解决方案
@sentence 和 @borisdonchev 是对的,其中的部分
folium.Marker([lon,lat], tooltip=tooltipMeta).add_to(mymap)
应该成为
for data in result:
ID = data[0]
name = data[1]
lon = data[13]
lat = data[12]
tooltipMeta = ID, name
folium.Marker([lon,lat], tooltip=tooltipMeta).add_to(mymap)
推荐阅读
- c# - 如何从 ac# 控制台应用程序启用 UI 调用?使用 PowerShell 获取凭据
- python - 保持图例远离数据点 matplotlib
- reactjs - 如何将 redux-persist 与自定义中间件一起使用
- node.js - Uncaught SyntaxError: Unexpected token < while deploying to Heroku
- ruby - 捆绑安装失败,Gem 安装成功
- asp.net-mvc - HTML 表单数据未发布到 Web API 控制器
- python - numpy.unpackbits 的懒惰版本
- excel - 尝试在 Range 对象中使用字符串对象时,对象 _global 的方法范围失败
- sql - 截断 SQL 单元格中特定数量的字符
- r - 表单提交时出现 rvest 错误