folium底图本地化处理

简介: folium底图本地化处理

folium是生成的地图,会连接到开源链接,每次打开生成的地图文件都需要链接到开源链接,有时候会出现地图空白、地图打开链接过慢等问题。

查找原因

分析一下folium生成的地图html文件的源码。

从源码里面能看到有不少外部链接,css和js文件,这些链接都是外网开源的。每次打开html文件都需要缓冲这些外部链接。

解决办法

1.下载css、js文件存放本地

2.生成html文件后,替换原链接

使用re包正则表达式替换原生成的html的链接到本地。

###更新地图,name是地图的地址路桥
def update_mymap(name):
    ###   'mapnew方案1.html'##文件名
    import re
    # 读取生成的HTML文件
    with open(name, 'r',encoding='utf-8') as f:
        html = f.read()
    ###替换链接,r禁止转义,
    rep_dict = {
        r'https://.+/leaflet.js': 'mymap/js/leaflet.js',
        r'https://.+/jquery.+.min.js': 'mymap/js/jquery.min.js',
        r'https://.+/bootstrap.min.js': 'mymap/js/bootstrap.bundle.min.js',
        r'https://.+/bootstrap.bundle.min.js': 'mymap/js/bootstrap.bundle.min.js',
        r'https://.+/leaflet.awesome-markers.js': 'mymap/js/leaflet.awesome-markers.js',
        r'https://.+/leaflet.css': 'mymap/css/leaflet.css',
        r'https://.+css/bootstrap.min.css': 'mymap/css/bootstrap.min.css',
        r'https://.+all.min.css': 'css/all.min.css',
        r'https://.+css/bootstrap-theme.min.css': 'mymap/css/bootstrap-theme.min.css',
        r'https://.+css/font-awesome.min.css': 'mymap/css/fontawesome.min.css',
        r'https://.+/leaflet.awesome-markers.css': 'mymap/css/leaflet.awesome-markers.css',
        r'https://.+/leaflet.awesome.rotate.min.css': 'mymap/css/leaflet.awesome.rotate.css',
        r'https://.+/leaflet.textpath.min.js': 'mymap/js/leaflet.textpath.min.js',
        r'https://.+/leaflet-ant-path.min.js': 'mymap/js/leaflet-ant-path.min.js',
    }
    pattern=list(rep_dict.keys())
    for i in range(len(pattern)):
        html = re.sub(pattern[i],rep_dict[pattern[i]], html)
    # 将修改后的HTML写入新文件
    with open(name, 'w', encoding='utf-8') as f:#w是清空原文件,新的文件替换源文件
        f.write(html)

3.查看新的html文件

链接已经替换到本地了,地图打开很顺利,

目录
相关文章
|
XML 存储 数据处理
python绘制热力图-数据处理-VOC数据类别标签分布及数量统计(附代码)
python绘制热力图-数据处理-VOC数据类别标签分布及数量统计(附代码)
|
3月前
|
数据采集 资源调度 算法
雷达目标航迹跟踪与数据处理
雷达目标航迹跟踪与数据处理
220 2
|
12月前
|
数据可视化 前端开发 数据挖掘
使用Folium在Python中进行地图可视化:全面指南
Folium是基于Python的交互式地图可视化库,依托Leaflet.js实现地理空间数据展示。本文从安装、基础使用到高级功能全面解析Folium:包括创建地图、添加标记、保存文件,以及绘制热力图、多边形和Choropleth地图等高级操作。通过展示北京市景点与全球地震数据的实际案例,结合性能优化、自定义样式和交互性增强技巧,帮助用户掌握Folium的核心功能与应用潜力,为数据分析提供直观支持。
1283 3
|
7月前
|
消息中间件 前端开发 Java
如何开发人事管理系统中的离职管理板块?(附架构图+流程图+代码参考)
在数字化时代,企业人力资源管理趋向全流程、闭环化、数据驱动。人事管理系统(HRMS)涵盖招聘、入职到离职的全生命周期管理,其中离职管理是关键环节,涉及流程规范、交接透明、反馈收集等,能有效降低风险、提升效率。本文以简道云HRMS为例,解析离职管理模块的设计与实现,包括系统架构、核心功能、开发技巧与最佳实践,助力企业优化人力资源管理流程,实现高效、合规、数据驱动的离职管理。
|
Java 图形学 Python
用Python和Pygame打造绚丽烟花效果+节日祝福语
本文介绍了一款基于Python和Pygame库实现的烟花效果程序,模拟烟花发射、爆炸及粒子轨迹,结合动态文本显示祝福语,营造逼真的节日氛围。程序包括烟花类、粒子类、痕迹类和动态文本显示功能,通过随机化颜色、速度和粒子数量增加效果多样性。用户可以看到烟花从屏幕底部发射、上升并在空中爆炸,伴随粒子轨迹和动态祝福语“蛇年大吉”、“Happy Spring Festival”。文章详细解析了核心代码逻辑和技术要点,帮助读者理解如何利用Pygame库实现复杂视觉效果,并提供了未来改进方向,如优化性能、增加特效和增强交互性。
1246 20
用Python和Pygame打造绚丽烟花效果+节日祝福语
|
自然语言处理 前端开发 安全
指南:Claude 3.7 怎么样?国内如何使用Claude 3.7 Sonnet?
本文主要介绍了Claude 3.7 Sonnet模型的发布教你如何订阅使用Claude 3.7 Sonnect及其新功能,特别是Claude Code工具的推出。
5138 7
|
机器学习/深度学习 缓存 人工智能
《DeepSeek在高并发下的性能秘籍:稳定性与速度保障》
DeepSeek是一款基于Transformer架构的大语言模型,专为高并发场景设计。通过自注意力机制、分布式系统和负载均衡技术,DeepSeek能高效处理多请求,确保稳定性和快速响应。其缓存机制加速数据获取,模型优化提升计算效率,动态资源调配灵活应对流量波动。这些技术共同作用,使DeepSeek在智能客服、内容推荐等场景中表现出色,成为高并发应用的理想选择。
1150 10
|
数据可视化 定位技术 Python
Folium在地图上展示数据
【10月更文挑战第17天】本文介绍了如何使用Python中的Folium库进行地理可视化。Folium是一个基于Leaflet.js的库,可以轻松创建交互式地图。文章从安装Folium开始,逐步讲解了如何创建地图、添加标记点、展示热力图、自定义图层样式、绘制形状、添加图例和文本标签等内容。通过这些示例,读者可以学会如何利用Folium进行地理数据的可视化,从而更好地理解和展示数据的空间分布。
|
C# 索引
C# 一分钟浅谈:接口与抽象类的区别及使用
【9月更文挑战第2天】本文详细对比了面向对象编程中接口与抽象类的概念及区别。接口定义了行为规范,强制实现类提供具体实现;抽象类则既能定义抽象方法也能提供具体实现。文章通过具体示例介绍了如何使用接口和抽象类,并探讨了其实现方式、继承限制及实例化差异。最后总结了选择接口或抽象类应基于具体设计需求。掌握这两者有助于编写高质量的面向对象程序。
905 5