Python使用folium excel绘制point


Posted in Python onJanuary 03, 2019

使用folium excel 绘制point

制作内容

  • 根据气象台资料获得的点进行绘制
  • 对一个特殊的点做特别的标注
  • 数据来源
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File : map03.py
# @Author: huifer
# @Date : 2018/6/28
import pandas as pd
import math
import folium
def degree_conversion_decimal(x):
  """
  度分转换成十进制
  :param x: float
  :return: integer float
  """
  integer = int(x)
  integer = integer + (x - integer) * 1.66666667
  return integer
def distance(origin, destination):
  """
  经纬度计算两点距离
  :param origin:
  :param destination:
  :return:
  """
  lat1, lon1 = origin
  lat2, lon2 = destination
  radius = 6371 # km
  dlat = math.radians(lat2 - lat1)
  dlon = math.radians(lon2 - lon1)
  a = math.sin(dlat / 2) * math.sin(dlat / 2) + math.cos(math.radians(lat1)) \
    * math.cos(math.radians(lat2)) * math.sin(dlon / 2) * math.sin(dlon / 2)
  c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a))
  d = radius * c
  return d
# 数据准备
data = pd.read_excel('SURF_CHN_MUL_HOR_STATION.xlsx')
# 修改成十进制 以及保留1一位小数
data['经度'] = data['经度'].apply(degree_conversion_decimal)
data['纬度'] = data['纬度'].apply(degree_conversion_decimal)
data['观测场拔海高度(米)'] = data['观测场拔海高度(米)'].apply(lambda x: round(x, 1))
data['气压传感器拔海高度(米)'] = data['气压传感器拔海高度(米)'].apply(lambda x: round(x, 1))
# 保存新的文件
# data.to_csv('气象站信息十进制.csv')
data["距离杭州(km)"] = data.apply(lambda r: distance((r['纬度'], r['经度']), (30.14, 120.1)), axis=1)
# print(data[data['距离杭州(km)']<100].sort_values('距离杭州(km)'))
# 选择除了杭州以外的内容
selected_st = data[data['距离杭州(km)'] < 100].sort_values('距离杭州(km)').iloc[1::]
# 展示地图
# 提取数据
hzdata = data.ix[data['站名'] == '杭州', ['站名', '纬度', '经度']]
myMap = folium.Map(location=[hzdata.iloc[0]['纬度'], hzdata.iloc[0]['经度']])
icon_hz = dict(
  prefix='fa', color='red', icon_color='darkred', icon='cny'
)
icon = folium.Icon(**icon_hz)
folium.Marker(
  location=[hzdata.iloc[0]['纬度'], hzdata.iloc[0]['经度']],
  popup="杭州",
  icon=icon
).add_to(myMap)
for i in range(len(selected_st)):
  name = selected_st.iloc[i]['站名']
  x = selected_st.iloc[i]['纬度']
  y = selected_st.iloc[i]['经度']
  test = folium.Html(
    '<b>name:{}</b></br> <b>x:{}</b></br> <b>y:{}</b></br>'.format(name, x, y),
    script=True)
  popup = folium.Popup(test, max_width=2650)
  folium.Marker(
    location=[x, y],
    popup=popup,
  ).add_to(myMap)
myMap.save("test.html")

成果展示

Python使用folium excel绘制point

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
王纯业的Python学习笔记 下载
Feb 10 Python
Djang中静态文件配置方法
Jul 30 Python
解决win64 Python下安装PIL出错问题(图解)
Sep 03 Python
python 分离文件名和路径以及分离文件名和后缀的方法
Oct 21 Python
Python功能点实现:函数级/代码块级计时器
Jan 02 Python
python 反编译exe文件为py文件的实例代码
Jun 27 Python
对Python _取log的几种方式小结
Jul 25 Python
django中使用事务及接入支付宝支付功能
Sep 15 Python
python实现的批量分析xml标签中各个类别个数功能示例
Dec 30 Python
Python使用monkey.patch_all()解决协程阻塞问题
Apr 15 Python
使用Python+Appuim 清理微信的方法
Jan 26 Python
Python 中random 库的详细使用
Jun 03 Python
Python获取航线信息并且制作成图的讲解
Jan 03 #Python
Python中GeoJson和bokeh-1的使用讲解
Jan 03 #Python
Python图像滤波处理操作示例【基于ImageFilter类】
Jan 03 #Python
python 调用有道api接口的方法
Jan 03 #Python
对python调用RPC接口的实例详解
Jan 03 #Python
Python图像的增强处理操作示例【基于ImageEnhance类】
Jan 03 #Python
Python多图片合并PDF的方法
Jan 03 #Python
You might like
单位速度在实战中的运用
2020/03/04 星际争霸
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
smarty 原来也不过如此~~呵呵
2006/11/25 PHP
让PHP支持页面回退的两种方法[转]
2007/02/14 PHP
php数组编码转换示例详解
2014/03/11 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
2014/06/19 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
2014/06/23 PHP
php实现的日历程序
2015/06/18 PHP
解析WordPress中的post_class与get_post_class函数
2016/01/04 PHP
PHP获取真实IP及IP模拟方法解析
2020/11/24 PHP
jQuery Validate表单验证入门学习
2015/12/18 Javascript
轻松实现JavaScript图片切换
2016/01/12 Javascript
JavaScript中push(),join() 函数 实例详解
2016/09/06 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
2016/10/27 Javascript
JS实现微信弹出搜索框 多条件查询功能
2016/12/13 Javascript
无阻塞加载js,防止因js加载不了影响页面显示的问题
2016/12/18 Javascript
Node.js中如何合并两个复杂对象详解
2016/12/31 Javascript
JavaScript实现动态生成表格
2020/08/02 Javascript
解决Vue-cli无法编译es6的问题
2020/10/30 Javascript
Python实现mysql数据库更新表数据接口的功能
2017/11/19 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
Python二维数组实现求出3*3矩阵对角线元素的和示例
2019/11/29 Python
Python利用Pillow(PIL)库实现验证码图片的全过程
2020/10/04 Python
python线程池 ThreadPoolExecutor 的用法示例
2020/10/10 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
2020/12/28 Python
英国设计师珠宝网站:Joshua James Jewellery
2020/03/01 全球购物
上课迟到检讨书
2014/01/19 职场文书
财产保全担保书范文
2014/04/01 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
高一课前三分钟演讲稿
2014/09/13 职场文书
2014审计局领导班子民主生活会对照检查材料思想汇报
2014/09/20 职场文书
2014收银员工作总结范文
2014/12/16 职场文书
医院财务人员岗位职责
2015/04/14 职场文书
保险公司2016开门红口号集锦
2015/12/24 职场文书
《詹天佑》教学反思
2016/02/20 职场文书
Vue组件化(ref,props, mixin,.插件)详解
2022/05/15 Vue.js