folium底图本地化处理

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,5000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 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文件

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

目录
相关文章
|
人工智能 NoSQL 定位技术
标准地图的矢量模板,ArcGIS可打开
标准地图的矢量模板,ArcGIS可打开
161 0
|
搜索推荐 定位技术
百度地图开发mapStyle个性化地图styleJson的配色解决方案
百度地图开发mapStyle个性化地图styleJson的配色解决方案
662 0
|
定位技术 API 网络架构
地图图层接入:从mapbox转向cesium
由于地图坐标系的不统一,地图图商提供的图层服务也各有特色,在图层对接的开发过程中常会遇到许多坑,从二维图层到三维图层,地图引擎mapbox再到cesium,本文将分享笔者在近期地图图层接入过程中总结的一些经验。
3644 10
干货在线 | ArcGIS三种底图影像调色技巧
干货在线 | ArcGIS三种底图影像调色技巧
498 0
|
定位技术
高德地图开发:英文地图的实现方式
高德地图开发:英文地图的实现方式
205 0
|
JSON 数据可视化 定位技术
GIS开发:Maputnik地图样式编辑器
GIS开发:Maputnik地图样式编辑器
772 0
|
数据可视化 定位技术
GIS开发:客户端控制的地图样式
GIS开发:客户端控制的地图样式
105 0
|
Java
OFFICE技术讲座:由-(减号)的绘制差异,看不同字体引擎的处理
OFFICE技术讲座:由-(减号)的绘制差异,看不同字体引擎的处理
110 0
OFFICE技术讲座:由-(减号)的绘制差异,看不同字体引擎的处理
SwiftUI—借助sizeCategory预览不同字体下的文本视图
SwiftUI—借助sizeCategory预览不同字体下的文本视图
161 0
SwiftUI—借助sizeCategory预览不同字体下的文本视图
|
物联网 开发者
LittlevGL图形框架扩展 - 条形码的支持
条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成图案。条形码可以标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等许多信息,因而在商品、图书管理、邮政管理、银行系统等许多领域都得到广泛的应用,如今在我们的日常生活中也是随处可见。
374 15
LittlevGL图形框架扩展 - 条形码的支持