当前位置: 首页 > news >正文

校园网站系统的建设秦皇岛市属于哪个省

校园网站系统的建设,秦皇岛市属于哪个省,新乡网站建设哪家专业,论坛seo教程文章目录 地形图重载绘图函数绘图特征 Python中有很多用于地图绘制的模块,比如老牌的pyGMT,曾经主流的basemap。相比之下,cartopy是英国气象局开发的一款用于地理空间数据处理的python库,支持创建并发布高质量地图,随着…

文章目录

    • 地形图
    • 重载绘图函数
    • 绘图特征

Python中有很多用于地图绘制的模块,比如老牌的pyGMT,曾经主流的basemap。相比之下,cartopy是英国气象局开发的一款用于地理空间数据处理的python库,支持创建并发布高质量地图,随着basemap的停止维护,cartopy已成Python中地理绘图的首选模块。

海岸线

在cartopy中,最简单的地图即为海岸线的线条图,如下图所示

在这里插入图片描述

代码为

import cartopy.crs as ccrs
import matplotlib.pyplot as plt
ax = plt.subplot(projection=ccrs.PlateCarree())
type(ax)    # <class 'cartopy.mpl.geoaxes.GeoAxes'>
ax.coastlines()
plt.show()

【PlateCarree】是可利投影,圆柱投影的原理是将地物投影到圆柱面上再展开,将这种投影作为一种坐标映射提供给坐标轴,便可得到一个cartopy定义的坐标轴对象GeoAxes。

【GeoAxes】显然继承自Axes,是绘图窗口中的坐标映射,并且在Axes的基础之上,封装了一些用于地图绘制的函数。

更多投影,可见projections.

地形图

【coastlines】即海岸线,由此得到的地图是极致的线条风格,光秃秃得什么都没有,并不好看。相比之下,下面这张图看上去十分不错

在这里插入图片描述

其绘图代码如下,【stock_img】为其生成函数,其功能是为地图添加低分辨率的地形图背景,但美中不足的是这个图就只有这一张。

ax = plt.subplot(projection=ccrs.PlateCarree())
ax.stock_img()
plt.show()

重载绘图函数

得益于cartopy中的图窗继承了matplotlib,从而后者封装的诸多函数也可以为其所用,例如在地形图上绘制风场,如下图所示。

在这里插入图片描述

其中风场数据通过下面的代码创建

import numpy as np
def sample_data(shape=(20, 30)):crs = ccrs.RotatedPole(pole_longitude=177.5, pole_latitude=37.5)x = np.linspace(311.9, 391.1, shape[1])y = np.linspace(-23.6, 24.8, shape[0])X, Y = np.deg2rad(np.meshgrid(x, y))u = 10 * (2 * np.cos(2 * X + 3 * (Y + 30)) ** 2)v = 20 * np.cos(6 * np.deg2rad(X))return x, y, u, v, crs

绘图代码如下

ax = plt.subplot(projection=ccrs.PlateCarree())
ax.set_extent([-90, 80, 10, 85], crs=ccrs.PlateCarree())
ax.stock_img()
ax.coastlines()x, y, u, v, vector_crs = sample_data(shape=(10, 14))
ax.barbs(x, y, u, v, length=5,sizes=dict(emptybarb=0.25, spacing=0.2, height=0.5),lw=0.95, transform=vector_crs)
plt.show()

首先,在窗口中新建一个坐标映射,然后通过【set_extent】设置一个元组 ( x 0 , x 1 , y 0 , y 1 ) (x_0, x_1, y_0, y_1) (x0,x1,y0,y1),以限制地图的显示范围。

【barbs】是plt中用于绘制风场的函数,但在cartopy中进行了重载,其中transform参数就是重载之后新增的,其目的自然是为了适应新的坐标映射。类似的重载图像如下表所示。

绘图函数图形类别绘图函数图形类别
scatter散点图hexbin钻石图
barbs风场图
quiver向量场图streamplot流场图
contour等高线contourf填充等高线
pcolor矩阵伪彩图pcolormesh矩阵伪彩图

绘图特征

陆地和海洋的边缘,是最清晰的地理特征,所以海岸线图也是cartopy中最基础的地图。但除此之外,地图中还有其他地理特征,cartopy提供了相应的add_feature,均被封装在cartopy.feature中,如下表所示

BORDERSCOASTLINELAKESLANDOCEANRIVERS
陆地国界海岸线湖泊岛屿海洋河流

这六种地图的区别如下

在这里插入图片描述

绘图代码如下

from cartopy.feature import *proj = ccrs.PlateCarree()feaDct = {"BORDERS":BORDERS,"COASTLINE":COASTLINE,"LAKES":LAKES,"LAND":LAND,"OCEAN":OCEAN,"RIVERS":RIVERS
}fig = plt.figure()
for i,key in enumerate(feaDct, 1):ax = fig.add_subplot(2,3,i,projection=proj)ax.add_feature(feaDct[key])plt.title(key)plt.show()

这些不同的特征,如果单挑出来,其实并不好看,其组合在一起之后,效果如下。这是一张非洲地图,途中给出了海岸线、国界线以及河流湖泊等地图元素。

在这里插入图片描述

绘图代码如下。

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection=ccrs.PlateCarree())
ax.set_extent([-20, 60, -40, 40], crs=ccrs.PlateCarree())ax.add_feature(LAND)
ax.add_feature(OCEAN)
ax.add_feature(COASTLINE)
ax.add_feature(BORDERS, linestyle=':')
ax.add_feature(LAKES, alpha=0.5)
ax.add_feature(RIVERS, color='blue')plt.show()
http://www.dtcms.com/a/519150.html

相关文章:

  • 站长申论拖拽网站开发
  • 淮安网站seowordpress app插件
  • 广告公司网站设计策划建立网站 营业执照
  • 哪个网站可以做彩经专家人个做外贸用什么网站好
  • 怎样用代码建设一个网站如何搭建一个公司网站
  • 网站关键词重复安徽索凯特建设工程有限公司网站
  • wordpress后台无法打开开鲁网站seo
  • 网站建设银川传奇网络游戏
  • 大型网站的建设包括那些内容app设计尺寸规范
  • 平面设计网站排行榜请人做网站卖东西好吗
  • 苏州建设局网站首页比特币做空网站
  • 江门网站推广技巧方法莆田制作公司网站
  • 电商网站建设试题自己怎么建网站
  • 国内网页设计网站建设保山公司网站建设
  • 开发网站的步骤校园网站集群建设
  • 网站改版建设 有哪些内容网站怎么做现场直播视频
  • 微信网站和手机网站的区别房地产政策政策最新消息
  • 怎么创立自己的网站写安卓软件用什么工具
  • 做APP必须要有网站么山东省建设监理协会网站
  • 有做销售产品的网站有哪些内容怎么制作动画视频教程
  • 北京建设部网站职称哈尔滨专业的制作网页
  • 做哪方面的网站西安网站定制
  • 如何提高网站seo排名现在那个网站做推广效果会好点
  • 手机网站支付如何制作wordpress转html
  • 什么网站可以做动画网站开发接口文档模板
  • 做类似淘宝一样的网站深圳网课
  • 建设网站需要花钱吗韩国企业网站模板下载
  • 建设网站什么软件好做静态网站多少钱
  • 中国循环经济网站开发与设计wordpress特效主题免费
  • 重庆建设厂招工信息网站阿里巴巴1688官网