服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

Python 的那些"地图"神器!

日期: 来源:Python开发者收集编辑:点击关注

本文梳理多个Python优质地理数据可视化工具,有的擅长交互、有的擅长学术研究、有的擅长商用地图展示。

Basemap

Basemap为地理空间数据可视化利器,偏学院派
依赖PROJ.4C,为提供的经纬坐标指定basemap25个投影方式中的一类,每一类都有自己的优缺点,如下文代码中的projection='ortho';
依赖Matplotlib,在PROJ.4C指定的投影方式中绘制海岸线、河流线和政治边界线;
依赖GEOS,将海岸线、河流线和政治边界线裁剪至目的区域;
Basemap创建以来,为了满足地球科学、海洋学、气象学等领域科学家的需求,功能日益强大。但是,自2016年起,Cartopy开始接管了Basemap,至2020年8月7日,后者停止维护,大部分功能转移到Cartopy下,Basemap依旧可以使用,但是安装起来有点麻烦

# 下载源码:https://github.com/matplotlib/basemap/releases/

#解压 
tar -zxvf basemap-1.2.2rel.tar.gz

#修改配置
cd basemap-1.2.2rel/geos-3.3.3/
export GEOS_DIR=/usr/local
./configure --prefix=$GEOS_DIR
make #这一步时间有点久,出现好多warning,
make install
cd ../
python setup.py install

举个栗子,我们生活的蓝色星球全貌,

import pyproj
import geos
from mpl_toolkits.basemap import Basemap
# Basemap依赖pyproj和geos,三者一起导入,不然报错
import matplotlib.pyplot as plt

plt.figure(dpi=150,figsize=(6,6))

m = Basemap(
    projection='ortho',  #指定投影方式ortho
    lat_0=0,
    lon_0=140,  #设置投影中心
    resolution=None  #设置分辨率
)
m.bluemarble(scale=0.5) #设置蓝色弹珠 (The Blue Marble)背景

plt.show();
更多栗子,

深入学习:https://matplotlib.org/basemap/index.html


Folium

Folium是Python数据处理优势和JavaScript地图库Leaflet.js地图可视化优势的完美结合,二者结合后即可绘制优美的交互式地图。「小科普:Folium和Leaf都有叶子的意思,这可能是Folium名称的由来~」
一些栗子~

import folium

whm = folium.Map(
    location=[30.5538, 114.31589],  #武昌区经纬度
    zoom_start=10,  # 默认放大倍数
)

folium.Marker(  #添加位置标示
    location=[30.5538, 114.31589],
    popup="❤️武汉",
    icon=folium.Icon(color="#ba2f2a", icon="info-sign"),
).add_to(whm)

folium.CircleMarker(  #圈地
    location=[30.5538, 114.31589],
    radius=100,  #圈半径
    color="#c72e29",
    fill=True,
    fill_color="#c72e29",
).add_to(whm)

folium.Marker( 
    location=[30.34653, 114.27001],
    popup="❤️",
    icon=folium.Icon(color="blue", icon="info-sign"),
).add_to(whm)

folium.CircleMarker(  
    location=[30.34653, 114.31001],
    radius=100, 
    color="#01a2d9",
    fill=True,
    fill_color="#01a2d9",
).add_to(whm)
whm

再举个栗子,
Heatmap

# Heatmap
import numpy as np
import folium
from folium.plugins import HeatMap

data = (np.random.normal(size=(50, 3)) * np.array([[1, 1, 1]]) +
        np.array([[39.904989, 116.4052859, 1]])).tolist()

m = folium.Map([39.904989, 116.4052859], zoom_start=6)
HeatMap(data, radius=20).add_to(m)
m

MinichartsMarkerImageOverlaychoroplethHeatmap with timeMiniMap除此之外,Folium还有很多的插件,如draw深入学习:http://python-visualization.github.io/folium/index.html


Echarts/pyecharts

pyecharts擅长商业交互可视化,地图是其重要一部分,有大量demo,代码拿来即可用。快速入门

相关阅读

  • 常用统计检验 Python 代码!

  • ↓推荐关注↓作者:Matteo Courthoud 来源:https://medium.com/towards-data-science 转自:数据STUDIO 比较一个变量在不同组中的分布是数据科学中的一个常见问题。当我们想
  • 内网自动化快速打点工具

  • 本文我们介绍一款内网快速扫描工具。基于go语言开发,支持存活IP扫描、集成Xray、弱口令扫描等为一体的工具。安装和使用也比较简单,感兴趣的可以试试。本工具仅面向合法授权的
  • OWASP ZAP使用指南

  • OWASP ZAP是世界上最受欢迎的免费安全工具之一。是一款web application 集成渗透测试和漏洞工具。它可以帮助我们自动发现Web应用程序中的安全漏洞。安装在新版的kali中,此工
  • Windows和Linux下压缩包密码破解工具

  • 在平时的工作中,我们都会遇到过压缩包密码忘记的情况。当我们急需要此文件时,怎么找回压缩包的密码呢?本文让我们一起来学习吧。Linux工具在Linux中,我们常用fcrackzip这款工具
  • WireShark从入门到放弃

  • WireShark是一款网络封包分析工具。用于分析网络数据包,功能十分强大。他的强大之处在于它不仅能捕获数据包,还能对捕获的数据进行进一步的分析。需要注意的是,wireshark能获取
  • tcpdump工具使用教程

  • tcpdump 是一个Linux的网络抓包工具。它允许用户拦截和显示发送或收到过网络连接到该计算机的TCP/IP和其他数据包。tcpdump 适用于大多数的类Unix系统操作系统,如路由器、de
  • 宅男神器IDM YYDS

  • IDM是Internet Download Manager的简称,被誉为地表最强下载器。主要提供在互联网上的下载服务,用于从各个网站如网盘,哔哩哔哩等,下载视频,小电影,图片,文档。还可以对下载进行加速
  • ADB命令知多少?

  • ADB全称为 Android Debug Bridge,起到调试桥的作用,是一个客户端-服务器端程序。其中客户端是用来操作的电脑,服务端是 Android 设备。ADB也是 Android SDK中的一个工具,可以直
  • 路由器固件解包打包与后门防御

  • 路由器已经是我们生活中必不可少的网络设备之一了。有不少的小伙伴喜欢捣腾路由器系统。喜欢在路由器系统中安装各种插件来丰富“网络生活”,但是你知道吗?你的路由固件真的安
  • 浅谈路由固件解包打包与后门防御(二)

  • 在前一篇文章中,我们提到了路由器固件的解包和打包操作。利用的工具是binwalk。但是打包的操作相对比较繁琐。今天我们来讲解另外一款工具的使用。环境说明kali 2022.4firmwa

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • Python 的那些"地图"神器!

  • 本文梳理多个Python优质地理数据可视化工具,有的擅长交互、有的擅长学术研究、有的擅长商用地图展示。BasemapBasemap为地理空间数据可视化利器,偏学院派。依赖PROJ.4C,为提供
  • Python 新一代 HTTP 请求库:httpx

  • 楔子来源:古明地觉的编程教室本次我们来聊一聊 httpx,它是一个 HTTP 请求库。不过说到发送 HTTP 请求,我们首先想到的应该是 requests,但 requests 是一个同步库,目前只能同步发
  • 常用统计检验 Python 代码!

  • ↓推荐关注↓作者:Matteo Courthoud 来源:https://medium.com/towards-data-science 转自:数据STUDIO 比较一个变量在不同组中的分布是数据科学中的一个常见问题。当我们想
  • 7 个流行的强化学习算法及代码实现!

  • ↓推荐关注↓作者:Siddhartha Pramanik 来源:Deephub Imba目前流行的强化学习算法包括 Q-learning、SARSA、DDPG、A2C、PPO、DQN 和 TRPO。这些算法已被用于在游戏、机器人和
  • 内网自动化快速打点工具

  • 本文我们介绍一款内网快速扫描工具。基于go语言开发,支持存活IP扫描、集成Xray、弱口令扫描等为一体的工具。安装和使用也比较简单,感兴趣的可以试试。本工具仅面向合法授权的
  • OWASP ZAP使用指南

  • OWASP ZAP是世界上最受欢迎的免费安全工具之一。是一款web application 集成渗透测试和漏洞工具。它可以帮助我们自动发现Web应用程序中的安全漏洞。安装在新版的kali中,此工