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

书画网站建设方案策划丰县做淘宝网站

书画网站建设方案策划,丰县做淘宝网站,wordpress漏洞复现,工商官网查询企业信息之前的一篇文章介绍了如何在终端/命令行窗口使用ccplot绘制后向散射图,只需要一行简单的代码即可,但是,这样不好二创啊,所以还是回归python吧~ 好在ccplot官网提供了代码,下面简单讲解一下,嘻嘻。 首先导…

之前的一篇文章介绍了如何在终端/命令行窗口使用ccplot绘制后向散射图,只需要一行简单的代码即可,但···是···,这样不好二创啊,所以还是回归python吧~

好在ccplot官网提供了代码,下面简单讲解一下,嘻嘻。

首先导入必要的包,成功安装ccplot后这些包都会有的,就算不安装ccplot,理清了思路应该也是可以实现的(应该吧哈哈)!

x1和x2是横坐标的索引,下述代码也就是说要取前1000个点进行绘图。

import os
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
from ccplot.hdf import HDF
from ccplot.algorithms import interp2d_12
import ccplot.utils
import ccplot.configfilename = 'CAL_LID_L1-ValStage1-V3-01.2007-06-12T03-42-18ZN.hdf'
name = 'Total_Attenuated_Backscatter_532'
label = 'Total Attenuated Backscatter 532nm (km$^{-1}$ sr$^{-1}$)'
colormap = os.path.join(ccplot.config.sharepath, 'cmap', 'calipso-backscatter.cmap')
x1 = 0
x2 = 1000
h1 = 0  # km
h2 = 20  # km
nz = 500  # Number of pixels in the vertical.

下述代码就是打开文件,获取时间、高度以及后向散射数据,这里可能会报错:TypeError: expected bytes, str found,意思就是说传入的期望类型是bytes,但实际上是str,解决方法就是在每个str后面加上.enconde()就解决了。

获取完数据后根据x和height构建一个均匀网格,并将后向散射数据插值进去,也就是interp2d_12这个方法的功能。

if __name__ == '__main__':with HDF(filename) as product:# Import datasets.time = product['Profile_UTC_Time'][x1:x2, 0]height = product['metadata']['Lidar_Data_Altitudes']dataset = product[name][x1:x2]# Convert time to datetime.time = np.array([ccplot.utils.calipso_time2dt(t) for t in time])# Mask missing values.dataset = np.ma.masked_equal(dataset, -9999)# Interpolate data on a regular grid.X = np.arange(x1, x2, dtype=np.float32)Z, null = np.meshgrid(height, X)data = interp2d_12(dataset[::],X.astype(np.float32),Z.astype(np.float32),x1, x2, x2 - x1,h2, h1, nz,)

之后的代码就是绘图了,也是比较容易理解的。

 # Import colormap.cmap = ccplot.utils.cmap(colormap)cm = mpl.colors.ListedColormap(cmap['colors']/255.0)cm.set_under(cmap['under']/255.0)cm.set_over(cmap['over']/255.0)cm.set_bad(cmap['bad']/255.0)norm = mpl.colors.BoundaryNorm(cmap['bounds'], cm.N)# Plot figure.fig = plt.figure(figsize=(12, 6))TIME_FORMAT = '%e %b %Y %H:%M:%S UTC'im = plt.imshow(data.T,extent=(mpl.dates.date2num(time[0]), mpl.dates.date2num(time[-1]), h1, h2),cmap=cm,norm=norm,aspect='auto',interpolation='nearest',)ax = im.axesax.set_title('CALIPSO %s - %s' % (time[0].strftime(TIME_FORMAT),time[-1].strftime(TIME_FORMAT)))ax.set_xlabel('Time')ax.set_ylabel('Altitude (km)')ax.xaxis.set_major_locator(mpl.dates.AutoDateLocator())ax.xaxis.set_major_formatter(mpl.dates.DateFormatter('%H:%M:%S'))cbar = plt.colorbar(extend='both',use_gridspec=True)cbar.set_label(label)fig.tight_layout()plt.savefig('calipso-plot.png')plt.show()

以上就是绘制后向散射的代码,还是比较简单的。但是···上述代码以横坐标索引(0,1000)进行绘图的,并不是以经纬度,这样就不是很方便,因此要进行修改。

简单说一下思路,我们在原来的基础上,在获取经纬度数据,这样就可以对时间进行掩膜处理,处理好的时间范围也就是卫星经过研究区的时间范围,这样(0,len(time))的索引既是研究区域的索引!问题解决!

if __name__ == '__main__':with HDF(filename.encode()) as product:# Import datasets.time = product['Profile_UTC_Time'.encode()][:, 0]lat = product['Latitude'.encode()][:,0]lon = product['Longitude'.encode()][:,0]height = product['metadata'.encode()]['Lidar_Data_Altitudes'.encode()]tab = product[name.encode()][:]mask = (lon >= 72.5) & (lon <= 97.5) & (lat >= 32.5) & (lat <= 50)lat = lat[mask]lon = lon[mask]time = time[mask]tab = tab[mask, :]print(time.shape,tab.shape)# Mask missing values.dataset = np.ma.masked_equal(tab, -9999)# Interpolate data on a regular grid.X = np.arange(0,len(time),dtype=np.float32)Z,null = np.meshgrid(height, X)data = interp2d_12(dataset[::],X.astype(np.float32),Z.astype(np.float32),0, len(time),len(time),h2, h1, nz,)

最后附上一张综合了L1B和VFM的图吧!(红、蓝、黑三线是自己画的,用于标明研究区!)

http://www.dtcms.com/a/443319.html

相关文章:

  • 三北防护林体系建设网站网站开发补充合同范本
  • Linux发生信号send_signal函数以及配套工具函数的实现
  • 禅城网站制作产品营销方案案例范文
  • 网站建设需要什么系统wordpress 速度变慢
  • 选择适合的服装管理信息系统提升业务效率
  • 企业建设网站找网站公司吗企业官方网站制作推广软件
  • 建设网站实验活动小结青海建设网站价格低
  • 力扣hot100做题整理(21-30)
  • 建设网站招聘织梦网站档目管理空白
  • 进口网站建设简述jsp网站开发的环境配置过程
  • 2015年做那些网站致富广州网站制作开发公司
  • 有域名了怎么建立网站杭州市网站seo
  • 题解:P14041 [PAIO 2025] Towers
  • 城乡建设学校官方网站wordpress定时失败
  • 许昌长葛网站建设制作设计做外汇上什么网站看新闻
  • 案例学网页设计和网站建设网站建设百度不通过
  • 有哪些做外贸网站ps怎样做网站首页图
  • 网站建设论文设计网站开发软件成本
  • 丽水网站建设哪家好专业团队建设方案
  • 连云港做网站制作型云网站建设
  • 【Docker-Day 38】Kubernetes 核心调度:深入解析资源请求 (Requests) 与限制 (Limits) 的奥秘
  • 2328. 网格图中递增路径的数目 2001 关于灵神解法的消化
  • 网站数据库有哪些中企动力官网 网站
  • 正则表达式入门与进阶(优化版)
  • 服装销售网站建设策划书wordpress time()
  • 1.7 巴特沃斯滤波器
  • 在线做试卷网站网页设计作业代做
  • 个人网站免费的吗网站开发的体会
  • 做安防在哪个网站做广告呢保网微商城官网登录
  • 中国建设银行网站如何注册品牌网站建设 蝌蚪小7