基于folium做地图可视化

2024-04-09 08:36
文章标签 可视化 地图 folium

本文主要是介绍基于folium做地图可视化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

由于内网环境,缺少地图~所以就考虑了使用folium+geojson来做简单的可视化.

import json
import folium
with open('天津市.json', 'r', encoding='utf-8') as f:china_geojson = json.load(f)# 创建一个没有背景瓦片的地图对象
m = folium.Map(location=[35, 105], zoom_start=4, tiles=None)# 添加geojson数据到地图中
folium.GeoJson(china_geojson,style_function=lambda feature: {'fillColor': '#ffff00','color': 'black','weight': 2,'dashArray': '5, 5'}
).add_to(m)# 在notebook中展示地图
m

使用pandas读取位置数据,然后可视化.

def visualize_trajectory(data):# 创建一个Folium地图对象with open('天津市.json', 'r', encoding='utf-8') as f:china_geojson = json.load(f)# 创建一个没有背景瓦片的地图对象m = folium.Map(location=[35, 105], zoom_start=4, tiles=None)# 添加geojson数据到地图中folium.GeoJson(china_geojson,style_function=lambda feature: {'fillColor': '#ffff00','color': 'black','weight': 2,'dashArray': '5, 5'}).add_to(m)# 对于每个轨迹点,添加标记for i in range(len(data)):folium.Marker(location=[data['Latitude'].iloc[i], data['Longitude'].iloc[i]], popup=data['User_ID'].iloc[i]).add_to(m)# 使用轨迹点创建一条线,表示移动路径for i in range(len(data) - 1):folium.PolyLine([[data['Latitude'].iloc[i], data['Longitude'].iloc[i]], [data['Latitude'].iloc[i + 1], data['Longitude'].iloc[i + 1]]], color='blue', weight=2).add_to(m)# 返回可视化的地图return m

模拟:

visualized_map = visualize_trajectory(example_df)
visualized_map

在这里插入图片描述

模拟数据生成脚本:
import pandas as pd
import random
import timedef generate_user_ids(num_users):"""生成指定数量的用户ID"""return [f"User_{i}" for i in range(num_users)]def generate_timestamps(start_time, num_points):"""生成一系列连续的时间戳"""return [start_time + i for i in range(num_points)]def generate_random_point(center_lat, center_lon, max_distance):"""生成在给定经纬度为中心,指定距离范围内的随机经纬度点"""# 将距离转换为角度max_distance_angle = max_distance / 6371.0# 生成随机角度dlat = random.uniform(-max_distance_angle, max_distance_angle)dlon = random.uniform(-max_distance_angle, max_distance_angle)# 计算新的经纬度new_lat = center_lat + dlatnew_lon = center_lon + dlonreturn (new_lat, new_lon)def simulate_trajectory(num_users, start_time, num_points, center_lat, center_lon, max_distance):"""生成轨迹数据"""user_ids = generate_user_ids(num_users)all_data = []for user_id in user_ids:timestamps = generate_timestamps(start_time, num_points)current_point = (center_lat, center_lon)for timestamp in timestamps:current_point = generate_random_point(*current_point, max_distance)all_data.append([user_id, timestamp] + list(current_point))# 创建DataFramecolumns = ['User_ID', 'Timestamp', 'Latitude', 'Longitude']df = pd.DataFrame(all_data, columns=columns)return df
# #############
#example_df = simulate_trajectory(122, int(time.time()), 10, 39.129484,117.220074, 1000)

这篇关于基于folium做地图可视化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/887665

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

Python:豆瓣电影商业数据分析-爬取全数据【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】

**爬取豆瓣电影信息,分析近年电影行业的发展情况** 本文是完整的数据分析展现,代码有完整版,包含豆瓣电影爬取的具体方式【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】   最近MBA在学习《商业数据分析》,大实训作业给了数据要进行数据分析,所以先拿豆瓣电影练练手,网络上爬取豆瓣电影TOP250较多,但对于豆瓣电影全数据的爬取教程很少,所以我自己做一版。 目

基于SSM+Vue+MySQL的可视化高校公寓管理系统

系统展示 管理员界面 宿管界面 学生界面 系统背景   当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这样的大环境让那些止步不前,不接受信息改革带来的信息技术的企业随时面临被淘汰,被取代的风险。所以当今,各个行业领域,不管是传统的教育行业

全英文地图/天地图和谷歌瓦片地图杂交/设备分布和轨迹回放/无需翻墙离线使用

一、前言说明 随着风云局势的剧烈变化,对我们搞软件开发的人员来说,影响也是越发明显,比如之前对美对欧的软件居多,现在慢慢的变成了对大鹅和中东以及非洲的居多,这两年明显问有没有俄语或者阿拉伯语的输入法的增多,这要是放在2019年以前,一年也遇不到一个人问这种需求场景的。 地图应用这块也是,之前的应用主要在国内,现在慢慢的多了一些外国的应用场景,这就遇到一个大问题,我们平时主要开发用的都是国内的地

Imageview在百度地图中实现点击事件

1.首先第一步,需要声明的全局有关类的引用 private BMapManager mBMapMan; private MapView mMapView; private MapController mMapController; private RadioGroup radiogroup; private RadioButton normalview; private RadioBu

MMO地图传送

本篇由以下四个点讲解: 创建传送点 传送点配置 编辑器扩展:传送点数据生成 传送协议与实现 创建传送点 建碰撞器触发 //位置归零 建一个传送门cube放到要传送的位置(这个teleporter1是传出的区域 这是从另一张地图传入时的传送门 创建一个脚本TeleporterObject给每个传送cube都绑上脚本 通过脚本,让传送门在编辑器下面还能绘制出来

「大数据分析」图形可视化,如何选择大数据可视化图形?

​图形可视化技术,在大数据分析中,是一个非常重要的关键部分。我们前期通过数据获取,数据处理,数据分析,得出结果,这些过程都是比较抽象的。如果是非数据分析专业人员,很难清楚我们这些工作,到底做了些什么事情。即使是专业人员,在不清楚项目,不了解业务规则,不熟悉技术细节的情况下。要搞清楚我们的大数据分析,这一系列过程,也是比较困难的。 我们在数据处理和分析完成后,一般来说,都需要形成结论报告。怎样让大

11Python的Pandas:可视化

Pandas本身并没有直接的可视化功能,但它与其他Python库(如Matplotlib和Seaborn)无缝集成,允许你快速创建各种图表和可视化。这里是一些使用Pandas数据进行可视化的常见方法: 1. 使用Matplotlib Pandas中的plot()方法实际上是基于Matplotlib的,你可以使用它来绘制各种基本图表,例如折线图、柱状图、散点图等。 import pandas

【全网最全】2024年数学建模国赛A题30页完整建模文档+17页成品论文+保奖matla代码+可视化图表等(后续会更新)

您的点赞收藏是我继续更新的最大动力! 一定要点击如下的卡片,那是获取资料的入口! 【全网最全】2024年数学建模国赛A题30页完整建模文档+17页成品论文+保奖matla代码+可视化图表等(后续会更新)「首先来看看目前已有的资料,还会不断更新哦~一次购买,后续不会再被收费哦,保证是全网最全资源,随着后续内容更新,价格会上涨,越早购买,价格越低,让大家再也不需要到处买断片资料啦~💰💸👋」�

Python利用pyecharts实现数据可视化

小编会持续更新知识笔记,如果感兴趣可以三连支持。闲来无事,水文一篇,不过上手实践一下倒还是挺好玩的,这一块知识说不定以后真可以尝试拿来做数据库的报表显示。         有梦别怕苦,想赢别喊累。 目录 前言 JSON数据格式的转换 pyecharts简介和入门使用 前言       小编我今天闲来无事,打算学习一下py,结果你猜怎么着,竟然看到py可以将数据