首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python空间绘图--Cartopy简介

三、初识Cartopy 由于地球是球体,而我们使用的地图是平面的,将球型展开为平面进行绘制时有距离、面积的失真。所以地图学家们提出了各种各样的投影方式,来尽量减小某方面的失真。...,这种情况下其变形基本无法看出(内蒙古的meteoer请走开);兰勃脱投影适合中纬度大范围绘制,比如绘制全中国大公鸡、东亚形势、西北太平洋等;墨卡托投影适合低纬度赤道附近的绘制,一般研究台风、纬向环流等...(如何绘制完美中国地图会在后续文章推送) 先等一等,这幅地图是不是缺点什么东西。没错,作为专业地图,竟然没有经纬度,这是对cartopy库包的侮辱。...Cartopy提供了extent(范围、长度)命令来调整地图的绘制: extent=[100,140,30,55]##经纬度范围 ax.set_extent(extent) ?...完美,中国偏东北地区的区域地图就绘制出来了。不过似乎图形线条都比较僵硬,缺乏美感,也不符合一个专业制图软件的表现。 不要慌,库包开发者们已经提前准备好了,通过提高精度的方式来绘制更加完美的地图。

3.4K33

这份Cartopy绘图入门指南,请查收

前言 嗨,你好,我是来自点点GIS的南南 我与Cartopy的认识起源于“气象水文科研猫”的这个推文,那时候的我觉得,用代码画地图好酷,arcgis就感觉low爆了。但是一直没有时间学习。...Lambert 默认投影适合单独省份或者地级市的绘制,兰勃脱投影适合中纬度大范围绘制,比如绘制全中国大公鸡、东亚形势、西北太平洋等;墨卡托投影适合低纬度赤道附近的绘制,一般研究台风、纬向环流等 绘制地图示例...因此用 Cartopy 画地图的基本流程并不复杂: 创建画布。 通过指定 projection 参数,创建 GeoAxes 对象。 调用 GeoAxes 的方法画图。...Cartopy中国地图绘制方法 方法一 用 Cartopy 的 shapereader 读取后即可绘制。...在之前的的学习中我们知道,cartopy绘制的地图称为子图,在绘制中国地图时候,有时候由于地图大小的限制,我们无法展示部分地区如南海,常规的方法是绘制两幅地图,比如一张为全国地图,一张为局部地图,也就是常说的南海小地图

5.7K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用Matplotlib & Cartopy绘制我国台风路径图

    ❝cartopy:基于matplotlib的python地理数据处理和可视化库,本文会用来展示地图 shapely: 是一个对几何对象进行操作和分析的Python库,本文用来处理点线数据 ❞ cartopy...台风路径数据 本文用到的数据是我国2017年所有台风路径,包含了时间、经纬度、强度等关键信息。...:m/s ❞ 绘制地图 台风路径需要在地图上展示,那么如何获取地图呢?...方式有很多种,既可以用离线的GeoJson数据,也可以用JPG图片,或者第三方库提供的地图。 我这里用的是cartopy内置的地图数据,可以很方便的修改配置属性。...首先导入本次会用到的所有库: # cartopy:用来获取地图 import cartopy.crs as ccrs import cartopy.feature as cfeature # matplotlib

    3.2K20

    捍卫祖国领土从每一张地图开始

    前几日自然资源部表示要强化国家版图意识的教育,引导大家使用正确的地图。MeteoAI作为又红又专的中国特色社会主义接班人决定积极响应号召,引导大家正确绘制中国地图。...这回我们就教大家如何用python的地图库Cartopy来加载自制shp文件来绘制出正确的中国地图。...Cartopy Cartopy是用来绘制地图和地理空间信息分析的python库,主要介绍一下几个主要功能: 1.设置投影2.增加地图特征3.显示自定义shp 设置投影 Cartopy提供了大量的投影方式...('50m')) # 加载分辨率为50的河流 ax.add_feature(cfeat.LAKES.with_scale('110m')) # 加载分辨率为110的湖泊 这些地图特征有些是可以直接用的比如河流和湖泊...对于正确的地图绘制我们是认真的,包教包会,一定要手把手教到你完全掌握。 因为中国一点都不能少!!!

    6.1K41

    用python在地球投影中轻松添加图形标注

    当无地图投影时 在 python 的 matplotlib.pyplot 和 matplotlib.patches中,有很多内置的函数可以帮助我们绘制矩形、圆形、椭圆等图案。...其他可选参数如下,包括常见的线宽linewidth, 线型linestyle=, 颜色color等。此外,还可以接收地图投影transform参数。...绘制椭圆、用matplotlib.patches.Rectangle绘制矩形、用matplotlib.patches.Arrow绘制箭头、用matplotlib.patches.Polygon绘制任意形状的多边形等...1、非极地投影 以lat-lon投影为例,令纬度0°、经度0°为圆心,15°为半径,绘制圆形: code import matplotlib.pyplot as plt from cartopy import...plt.show() result 2、极地投影 以极射赤平投影为例,绘制75°N的纬度圈(黄色标注),gridlines有很多可选参数,大家可以官网了解一下: code import matplotlib.pyplot

    98820

    python可视化 | 地理桑基图的绘制方法

    (这就很鸡肋了)其本质是生成的带颜色映射的Line2D。其实如果不能修改线宽,还不如直接用matplotlib和cartopy硬画。...] plt.rcParams['font.sans-serif']=['SimHei'] 接下来,读取地图文件,并转换投影使经纬度显示正常(还是费弗里大佬厉害 ?...fig=plt.figure(figsize=(2,2),dpi=500) ax=fig.add_axes([0,0,1,1]) 接下来绘制桑基图和地图以及末端的散点: gplt.sankey(ax=ax...封装好的地理桑基图的绘制可定制化效果比较差,matplotlib自带的桑基命令不能和cartopy一起用。只能迂回到注释语句annotate或者arrow来画比较像的地理桑基图。...不知道费弗里大佬将来会不会推出这类地图的完全geopandas的绘制方法。 欢迎关注云台书使公众号获取更多资讯

    1.8K10

    台风路径可视化 | 强台风“天兔”移动轨迹图(Chiikawa版)

    Image Name 为了更好地理解和展示这次台风的路径,我们决定用 Python 可视化台风“天兔”的路径,并且用《Chiikawa》漫画中的乌萨奇头像作为台风图标,为数据可视化增添一些趣味性。...让我们一起动手吧 项目目标 我们的目标是: 收集台风“天兔”的历史路径数据。 使用 Python 的 Matplotlib 和 cartopy 工具包绘制台风路径图。...将《Chiikawa》漫画中的角色“乌萨奇”头像用作台风图标,让地图更加生动有趣。 将乌萨奇头像的图片进行抠图处理 通过本文档,帮助大家掌握使用 Python 进行地理信息数据可视化的基础方法。...数据准备 首先,我们需要收集台风“天兔”的路径数据。这些数据通常可以从气象网站或相关机构提供的公开数据集中获得。数据应包含日期、时间、经度、纬度等关键信息。...,我们不仅学会了如何使用 Python 的 Matplotlib 和cartopy库来绘制地图和台风路径,还学会了如何将外部图像(如《Chiikawa》漫画中的乌萨奇头像)添加到地图中,让地图更加生动有趣

    60210

    如何使用 Python 更加精确地计算两地距离

    使用 Python 进行大圆计算:基于 Vincenty 公式的应用 项目概述 在地理信息处理中,计算两点之间的距离、方位角以及从一个点出发给定距离和方位角求解另一个点的位置等问题是非常常见的需求。...packages: pygc Successfully installed pygc-2.0.0 大圆计算实例 根据初始点、距离和方位角创建新点 我们可以利用 great_circle 函数来根据给定的起始点...(纬度和经度)、距离(单位:米)和方位角(角度)来计算到达的新点的位置。...as ccrs import cartopy.feature as cfeature # 设置参数 distance_km = 111# 假设距离为111公里(大约等于一度纬度) start_latitude...计算台风移动速度 假设我们有一个台风的轨迹数据,包含一系列时间戳以及相应的经纬度位置。我们可以使用 pygc 库来计算两个连续观测点之间的距离,并结合时间差来估算台风的移动速度。

    21310

    【ProPlot库】初识ProPlot(一)

    它对Basemap、cartopy、xarray、pandas等气象常用的绘图库进行导入和封装,使组图、子图的绘制变得简单,对于气象人来说十分便捷。...地球科学的科研工作常需要添加地图背景,python一般使用matplotlib和cartopy画地图,画一个简单地图可以使用如下代码,绘制结果如图。...经度设置的每20度显示一次,如图(100°E,120°E),纬度设置每15度显示一次(15°N,30°N,45°N),同意也有lonminorlocator等 abc=True:让每幅图左上角显示abcd...由于ticks、formatter等参数难以直接在format里设置,于是采用proplot、matplotlib、cartopy混用的方式。...以下步骤虽然看着略微复杂,但是在实际画图中,如果要画整个地图,便可以直接复制下面的代码绘制底图,之后的图层可以慢慢叠加。

    2.8K40

    Python可视化 | 三维地图可视化实例

    本节提要:关于如何利用matplotlib+cartopy绘制酷炫的三维地图。 ---- ---- 这是我在比较久远之前看到的问题。...所以我在s站上查到了cartopy库包的开发人员直接给出的回答。我们不直接开讲怎么绘制,而先回忆在不久之前的推文中,我们使用过的一个功能。...由于shp文件中的geometry信息众多,所以使用的是polycollection(多边形集合)功能,这个功能能够存储全部polygon,并一次性绘制。...而且,我们还可以引入cartopy中的经纬度格式化器来格式化3d地图中的经纬度。...如果用面绘图命令能够更清楚的看出等值线代表的实际意义: ax.plot_surface(X,Y,Z,cmap='viridis') ? 这大概就是天气学上高度场的槽的立体模型。

    4.5K21

    如何用wrfout计算水汽通量散度

    同时会对计算结果进行可视化展示,以便更好地理解和分析水汽通量散度的空间分布和变化规律。 概念简介 水汽通量散度是衡量水汽输送量变化的一个指标。 水汽通量散度表示单位时间内和单位面积上的水汽通量变化率。...读取数据 # 用 netCDF4 包读取 WRF 模拟数据 wrf_file = Dataset('/home/mw/input/wrfout3385/wrfout_d02_2022-07-14_0600...timeidx=0) v = getvar(wrf_file, 'va', timeidx=0) q = getvar(wrf_file, 'QVAPOR', timeidx=0)*1000 # 提取WRF模拟的经纬度数组...lats, lons = latlon_coords(u) # 提取WRF模拟的地图投影 wrf_proj = get_cartopy(u) 03 3....封面由ai绘制 /imagine prompt: color photo of water vapor flux, depicting the movement and exchange of moisture

    64711

    python计算与绘制WRF降水量

    关于三个降水变量的区别可以参考 WRF后处理:降雨量的说明以及降雨的绘制_wrf模拟降水量偏小-CSDN博客 https://blog.csdn.net/islandowner2017/article/...figsize=(10,8)) # 设置地图投影 ax = plt.axes(projection=wrf_proj) # 设置地图范围 ax.set_xlim(cartopy_xlim(RAINC))...ax.set_ylim(cartopy_ylim(RAINC)) # 绘制降雨量分布(pcolormesh方法进行格点绘制) #im = ax.pcolormesh(to_np(lons), #...为了代码不繁琐直接利用xarray的plot作图,更多细致的作图敬请自己实现,以下示例小时降水量的组图绘制 此处使用了xarray的data.diff计算每小时的降水量 wrfout中的降水变量都是累计降水量...#小练习:绘制小时降雨量与累积降雨量(用组图形式展示) import os import numpy as np import matplotlib.pyplot as plt from netCDF4

    88011

    如何在一张图上同时绘制云图和降水

    通过gamma校正等方法将这种线性关系转换为非线性,使较暗的区域变亮,较亮的区域保持不变。这样可以增加整个图像的对比度,使颜色更加饱和丰富 为什么修改单位km为m 图投影坐标系一般使用的是米为单位。...直接拿千米单位的影像坐标去绘制地图,会造成非常严重的坐标错位。 因此需要提前将影像的坐标单位换算为与地图投影匹配的米单位,然后再传入投影变换,进行坐标转换到地图上。...为什么使用pcolorfast 对于绘制地图影像,pcolorfast能够提供更快速和直接的解决方案。它适合直接可视化大规模的不规则网格数据,比如常见的卫星影像等。...是地图绘制过程中的一种非常有效和高效的方法 2.绘制era5小时降水 import matplotlib.pyplot as plt import cartopy.crs as ccrs import...# 关闭右侧标签 gl.xformatter = LONGITUDE_FORMATTER # x轴设为经度格式 gl.yformatter = LATITUDE_FORMATTER # y轴设为纬度格式

    34210

    Python 空间绘图 - Cartopy 经纬度添加

    本节提要:尽量符合实际应用要求的刻度与经纬度 ---- ---- 基于很多同志询问添加经纬度办法,系统性重编了地图的经纬度添加方式。...各种投影中以矩形投影PlateCarree最为方便,可以套用matplotlib.mticker的形式。在最新的0.18版本的cartopy中,虽然还不完善,但是终于能直接绘制兰勃脱下的标签了。...一、PlateCarree投影下的两种投影方式 (1)gridlines方式 这个方式是cartopy自带的,也只能在cartopy中使用。需要引入cartopy的经纬度格式部件,然后正常添加。...三、墨卡托下经纬度的添加 在官网上提供了墨卡托下添加经纬度标签的样例。...cartopy的维护人员还要更新,目前看来还会支持更多投影下的经纬度添加。

    8.6K11

    WRF domain 绘制改进

    版本:python3.7 参考了气象备忘录的WRF模拟区域绘制和局地放大 改进点: 1. 增加了经纬度刻度 2. 根据现有的资料,针对部分设置进行删改(在绘图方面) 3....as mtransforms import cartopy.crs as ccrs from cartopy.io.shapereader import BasicReader import cmaps...: https://gist.github.com/ajdawson/dd536f786741e987ae4e ''' # 给出一个假定为矩形的LineString,返回对应于矩形给定边的直线。...mark_inset(ax, ax_inset, loc1a=2, loc1b=1, loc2a=3, loc2b=4, fc="none", ec='k', lw=0.75) plt.show() 04 小结 不适合绘制区域过大的...domian,不然像上面的框变形 , 模拟区域较小是不会发生以上的变形(最外层像d02这么大没问题) 想要加上地图白化效果可以参考往期推文 地图白化(一) 地图白化(二) 绘图速度慢,可尝试优化

    24810

    一瞬又一瞬,累积起来便是一生 | ERA5数据计算垂直积分整层水汽通量散度

    它综合考虑了从地表到特定高度范围内的水汽输送情况,对研究降水形成机制和气候变化有着重要意义。本文将基于ERA5再分析数据,利用Python编程语言计算整层水汽通量散度,并进行相关图形绘制。...项目目标 本项目的主要目标包括: 计算整层水汽通量散度:使用ERA5再分析数据,结合metpy、xarray等库,计算从地面至一定高度(例如1000 hPa至300 hPa)之间的整层水汽通量散度。...绘制整层水汽通量散度分布图:将计算结果可视化,以图形方式展示整层水汽通量散度的空间分布特征。 详细解析单位转换:确保每个步骤中的物理单位清晰明了,保证计算结果的准确性。 项目功能 1....绘制整层水汽通量散度图 最后,我们将计算结果绘制成地图形式,以便直观地观察整层水汽通量散度的空间分布。...对各个计算步骤进行了详细的单位分析,确保了物理意义的准确性和计算结果的有效性。 利用matplotlib和cartopy库将整层水汽通量散度的结果进行了可视化,帮助更好地理解大气中水分输送的模式。

    74621

    Python气象绘图教程(十三)—Cartopy_4

    本节提要:关于子图的一些问题、使用path添加示意框线、Cartopy台风实例本土化 一、关于子图的一些问题 在某些时候,我们需要展示某个地区在整个地图中的位置,常规的方法是绘制两幅地图,比如一张为全国地图...常见的subplot和subplot2grid函数一般来说绘制的地图大小是一样的,不容易展示比例大小,所以我们选择add_axes()命令来绘制两个大小不一样的子图。...二、使用path添加框线 在某些时候,需要在一幅地图中框选出比较重要的区域,很多同学使用plt.plot()命令绘制,是比较简便的。...在第二张图中,设置了在黑线相交的地市填充为红色,在一个经纬度影响范围内填为橙色,在两个经纬度范围内填成绿色。...下期预告:Legend与Colorbar等

    9.9K82

    Python气象绘图教程—(十九)剖面图

    本节提要:简要谈谈地形剖面图、纬度高度剖面图、时间纬度图的绘制方法。...提要中提到的这几种图形都是在气象上比较常用的,地形剖面主要研究地貌对降雨、气流的影响作用;纬度高度剖面图可以用来分析降雨的某些条件,如湿层深厚、上干下湿、风向风速等;时间纬度图研究某个固定经度上的值随时间的演变...能画出地图,那就足够了,我们不从地理学和美学的角度再去探讨他。现在你能明白,这个图和你绘制的等温图其实是一个原理的,都是ax.contourf这个命令出来的。...显然是不需要的,我们只想知道沿某个经度(或纬度)的地形变化如何,用ax.plot命令结合fill_between命令即可。而这两个命令,只需要传入一个一维的横坐标,和一维的纵坐标即可。...,我们现在要绘制一个某个经度的垂直剖面图,说明我们的横坐标应该是纬度,纵坐标应该是高度,但是在气象上一般不使用高度,而是气压层,如925hPa、850hPa、700hPa、500hPa、200hPa等,

    15.8K76
    领券