python folium 实现地图平台制作

news2025/7/26 14:16:51

python实现泸定地震点观测平台制作

数据来自[走天涯徐小洋地理数据科学],原始数据来自微博@中国地震台网 的正式测定数据。

以下是地震点的数据:

MagnitudeDateTimeLongitudeLatitudeDepth
6.82022-9-512:52102.0829.5916
3.12022-9-65:28102.0729.6411
32022-9-65:15102.1529.429
3.12022-9-61:24102.1729.3916
32022-9-521:00102.1629.3915
3.12022-9-513:03102.0429.619
4.22022-9-512:56102.1729.415
2.92022-9-513:10102.1429.4610
2.82022-9-513:15102.1129.518
3.22022-9-513:28102.0629.5812
2.92022-9-513:28102.1729.4910

先来看看最终的效果:

直接上代码,这次是依赖于python的folium的地图包,folium是基于leaflet的经典js地图库,在python中重写使之能适用于python。

  • 代码的主要原理是将面板文档转为geojson,之后导入
import json
import pandas as pd
import folium
from folium.plugins import MarkerCluster
from folium.plugins import Search
from folium import plugins
#选择待用的列
df4 = pd.read_csv('earthquake.csv')
useful_cols = ['Magnitude', 'Date', 'Time',  'Longitude', 'Latitude', 'Depth']
#将dataframe数据转换为 geojson数据
def df_to_geojson(df_json, properties, lat='Latitude', lng='Longitude'):
    geojson = {'type': 'FeatureCollection', 'features': []}

    # 遍历dataframe的每一行,并转换为json格式
    for _, row in df_json.iterrows():
        # create a feature template to fill in
        feature = {'type': 'Feature',
                   'properties': {},
                   'geometry': {'type': 'Point', 'coordinates': []}}

        # 填写坐标
        feature['geometry']['coordinates'] = [row[lng], row[lat]]

        # for each column, get the value and add it as a new feature property
        for prop in properties:
            feature['properties'][prop] = row[prop]

        # add this feature (aka, converted dataframe row) to the list of features inside our dict
        geojson['features'].append(feature)

    return geojson

geojson_dict = df_to_geojson(df4, properties=useful_cols)

# 添加站点
m = folium.Map(location=[29.57, 102.13],  zoom_start=8,  
               tiles='http://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}', attr='default')
geojson_obj = folium.GeoJson(geojson_dict, name='FLUX', show=False,
                             tooltip=folium.GeoJsonTooltip(
                                 fields=['Magnitude', 'Date', 'Time',  'Longitude', 'Latitude', 'Depth'],
                                 localize=True)
                             ).add_to(m)

# 搜索框
factorysearch = folium.plugins.Search(layer=geojson_obj,
                       geom_type='Point',
                       placeholder="Search",
                       collapsed=False,
                       search_label='Date',
                       search_zoom=14,
                       position='topright'
).add_to(m)

# location function
folium.LatLngPopup().add_to(m)
  • 上述代码添加了高德的影像底图,可更换其它源,如百度地图
  • .LatLngPopup()方法用于在地图上点按能显示经纬度,可以不添加
  • 搜索框功能锦上添花,数据较少时可以不用

最终效果,并能够实现对站点的简单查询:

  • .LatLngPopup()方法用于在地图上点按能显示经纬度,可以不添加
  • 搜索框功能锦上添花,数据较少时可以不用

最终效果,并能够实现对站点的简单查询:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/16781.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]java毕业设计览宏公司会议管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

01. 信息搜集:Web 1~10

Web 1~10web1知识点题解web2知识点题解web3知识点题解web4知识点题解web5知识点题解web6知识点题解web7知识点题解web8知识点题解web9知识点题解web10知识点题解web1 知识点 查看网页源码:ctrl u 或 F12 开发注释未及时删除 题解 查看网页源码即可。 web2 知识…

学习UI设计,哪些软件是必学的

UI设计软件的学习并不重要。许多设计软件功能相似,操作相似,设计效果相似,此时我们只需要选择相同类型的软件进行深入学习,当我们掌握软件时,使用其他类型的软件基本上不会有太大的困难。 ​一、位图软件: …

spring-data-mongodb生成的Query语句order字段顺序错误

前言: 最近在实现一个需求的时候,需求要求查询的数据需要根据播放量倒叙、创建时间倒叙来排序,考虑到播放量、创建时间都有可能是相同的,就会出现排序不稳定的情况,于是就加入了"_id"作为第三个排序字段&am…

Unity程序在VR一体机(Android)上卡死(闪退)后怎么办?——用adb查看android上某Unity app的debug信息

一、之前面临的困境 Unity的程序build到android一体机后,仿佛进入了一个黑箱子,你既看不到脚本的debug报错信息,也看不到任务管理器里的内存和CPU使用情况?如果黑屏、闪屏、花屏怎么办? 最近面临的一个问题就是&…

【快速上手系列】使用七牛云+webuploader实现对象云存储(OSS)

【快速上手系列】使用七牛云webuploader实现对象云存储(OSS) 步骤 一、七牛云配置 1、新建存储空间 进入七牛云,注册登录,进入控制台,选择对象存储 Kodo 选择空间管理——新建空间(免费30天&#xff0…

[附源码]java毕业设计企业人力资源管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【Bio】基础生物学 - 基因 gene

文章目录1. DNA 脱氧核糖核酸、RNA 核糖核酸1.1 核苷酸1.2 脱氧核糖核酸1.3 核糖核酸2. 基因2.1 基因组2.2 染色体2.3 基因与脱氧核苷酸的牵连2.4 基因与DNA的牵连2.5 基因与染色体的牵连Ref1. DNA 脱氧核糖核酸、RNA 核糖核酸 1.1 核苷酸 核苷酸 (Nucleotide)\blue{\text{核苷…

如何使用家庭网络运行Aleo Prover

目前ALEO三测第二阶段太卷了,虽然现阶段没有激-励,但是仍然有不少人卷进去,导致现在8核的云服务器一天才只能跑出三四个scores,可见大家的热情还是非常高的,但是这对于之前购买云服务器的用户来说,就比较难…

全网营销如何落地?全网营销的途径有哪些?

随着移动互联网的遍及,如今企业的经营发展越来越离不开全网营销。有些小伙伴可能对全网营销的具体操作方法有些不解,这里小马识途营销顾问系统解读下全网营销。 一、 什么是全网营销? 全网营销是全网整合营销的简称,即从产品规划、…

同花顺_代码解析_技术指标_D

本文通过对同花顺中现成代码进行解析,用以了解同花顺相关策略设计的思想 目录 DBCD DDI DMAFS DMI DMI_QL DPO DBCD 异同离差乖离率 公式描述: 先计算乖离率BIAS,然后计算不同日的乖离率之间的离差, 最后对离差进行指数移…

ArcGIS pro求点线最短距离Near

ArcGIS pro求点线最短距离Near 如果是ArcGIS经典版,可以从以下路径找到: ArcGIS pro就更简单了,在Analysis面板: 打开之后来介绍一下各参数意义: 按照ArcGIS帮助,该工具可求点、线、面之间的最短距离。 其…

React-Mobx(入门)

目录 1. Mobx介绍 优势 社区评价 ​编辑 2.配置开发环境 3.基础使用 1)初始化mobx 2)React使用store 4.计算属性(衍生状态) 5.异步数据处理 6. 模块化 1)定义task模块 2)定义counterStore 3&am…

配置错误的smb共享

介绍 Windows 是当今最流行的操作系统,不仅由个人用户使用,而且在大公司中也广泛使用。由于其操作简单性以及使用图形界面,如今,大量实体的公司网络充满了运行Windows操作系统的主机和服务器。无论这些机器针对的是最终用户、我们…

XSS-labs靶场实战(一)——第1-3关

今天继续给大家介绍渗透测试相关知识,本文主要内容是XSS-labs靶场实战。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未授权设备…

Linux安全--iptables详解

目录 1、iptables介绍 2、iptables四表五链详解 3、iptables基本语法 4、实际操作 4.1 增加规则 4.2 删除规则 4.3 修改规则 5、命令语法总结 6、基本匹配条件 7、iptables进阶用法 7.1 iprange扩展模块 7.2 string扩展模块 8、iptables进行端口转发 1、iptables介绍 …

【Python】面向Sqli-Labs Less15的布尔盲注二分法脚本

前言 其实写这个python脚本是为了完成我某节课的某个实验 代码里有一堆一堆的for循环,导致程序整个运行下来起码需要一个小时,而且还是基于二分法的qwq。本来想说去学一学python的多线程提升一下效率,但我发现我这代码一环扣一环&#xff0c…

基于PHP+MySQL的在线学习网站系统

随着我国教育体制的改革,我国大学生的数量越来越多。相对应的对我国的教育质量也提出了新的要求。如果仅仅是在课堂上学习那些有限的知识已经不能够再满足大学生对知识的渴望了。为了能够让大学生学习到更多的内容需要一个在线学习系统来辅助大学生进行学习。 PHP在线学习网站系…

点阵 LED 显示设计实验

一、实验目的: 1.了解LED点阵的基本结构。 2.学习LED点阵扫描显示程序的设计方法。 二、实验内容与要求: 编写程序,控制点阵向上卷动显示“原来如此是这样呀”。 实验系统中的1616 LED点阵由四块88LED点阵组成,如图1所示&…

[附源码]SSM计算机毕业设计作业自动评阅系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…