首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏气象学家

    气象编程 | 使用Python处理SRTM(.hgt)文件

    使用Python处理SRTM(.hgt)文件 引言 最近在做美赛时,使用了高精度的地形文件(海拔高度),因此在网站上下载了高精度的.hgt文件,并学习了处理。于是记录下来,有了这一篇笔记。 SRTM以.hgt为结尾,文件的名字解释了hgt文件的范围。比如,文件名字为N30E11,表示范围时30°N11°E到31°N12°E的正方形网格范围。 因此使用Numpy打开hgt文件的代码下面所示: import numpy as np SAMPLES = 1201 # Change this to 3601 for SRTM1 def read_hgt (f_name, lat, lon): with open(f_name, 'rb') as hgt_data: elevations = np.fromfile(hgt_data /I55/S{}E{}.hgt'.format(lat, lon) with open(f_name, 'rb') as hgt_data: elevations = np.fromfile

    1.8K10编辑于 2022-01-13
  • 来自专栏气象学家

    Python编程 | T-N波作用通量水平分量

    ) # 也有用300hPa的 mon = 1 # 目标月 time_target = f'2015-{mon:02d}-08' # 目标日期 p0 = 1000 * units('hPa') hgt_day_path = './2015年/hgt.2015.nc' hgt_mon_path = './2015年/hgt.mon.mean.nc' uwnd_day_path = './2015年/uwnd.2015. uwnd.mon.mean.nc' vwnd_day_path = './2015年/vwnd.2015.nc' vwnd_mon_path = './2015年/vwnd.mon.mean.nc' hgt_day = xr.open_dataset(hgt_day_path)['hgt'] * units('m') hgt_mon = xr.open_dataset(hgt_mon_path)['hgt'] * # 位势高度转位势 Φ_day = mpcalc.height_to_geopotential(hgt_day) Φ_mon = mpcalc.height_to_geopotential(hgt_mon

    6.9K51发布于 2021-05-20
  • 来自专栏气python风雨

    WRF domain 绘制改进

    = future_d01.result() lon_1, lat_1,proj, hgt_1 = future_d02.result() lon_2, lat_2,proj , hgt_2 = future_d03.result() return lon, lat, proj, hgt, lon_1, lat_1, hgt_1 ,lon_2, lat_2,hgt meta=False) lat = getvar(f, 'lat', meta=False) proj = get_cartopy(wrfin=f) hgt = getvar(f, 'HGT_M', meta=False) hgt[hgt < 0] = 0 return lon, lat, proj, hgt lon, lat, proj, hgt, lon_1, lat_1, hgt_1 ,lon_2, lat_2,hgt_2= process_data() 03 绘图部分 两层嵌套示例 provinces = BasicReader

    85510编辑于 2024-06-20
  • 来自专栏GIS与遥感开发平台

    数据集 | SRTM数字高程数据

    一个省份会有大约几十个hgt文件(用ArcGIS就可以打开)。 同时,也已经帮大家用arcpy写好了批量拼接的代码。 import arcpy from arcpy import env from glob import glob # *号之前替换为某个省的文件夹,如‘E:\影像\dem\SRTM1 v3.0 贵州\*.hgt file=glob(r'E:\dem\*.hgt') #目标文件夹 merge_location=r'E:\dem' arcpy.MosaicToNewRaster_management(input_rasters

    2.5K20编辑于 2022-04-29
  • 来自专栏气象学家

    用Python绘制《天气学原理和方法》插图

    " def Draw500HgtJulyG(): # 打开文件 Hgt = xr.open_dataset(fLoc)["hgt"] # 选定数据 time_label = (Hgt['time'].dt.year >= 1990) & (Hgt['time'].dt.year <= 2019) & \ (Hgt["time"].dt.month == 7) Hgt500Mean = Hgt[time_label].loc[dict(level=500.0)].mean("time").loc[:0, :] # 设置画布 fig = plt.figure(figsize=(16, 10)) # 选定经纬度 lat = np.array(Hgt500Mean['lat']) lon = np.array (Hgt500Mean["lon"]) # 创建一个投影 proj = ccrs.NorthPolarStereo(central_longitude=90) # 创建一个画纸,

    2.1K62编辑于 2022-01-18
  • 来自专栏气python风雨

    在WRF中怎么算风能密度

    神奇海螺说有两种办法,那我们就都试试 方法一 ph = getvar(ncfile, "PH") phb = getvar(ncfile, "PHB") hgt = getvar(ncfile, "HGT ") P=ph+phb P = destagger(P,0,meta=True) gmp=P/9.81-hgt we1 = interplevel(we, gmp ,100) we1 绘图效果如下 方法二 gmp1 = z - hgt we2 = interplevel(we, gmp1 ,100) we2 绘图效果如下 小结 绘图可见两种方法相差非常小,作差之后也是如此。

    56210编辑于 2024-06-20
  • 来自专栏自学气象人

    wrf-python库插值到指定离地高度层并绘图

    getvar(ncfile, "PH",timeidx=0)[:,10:140,10:140] phb=getvar(ncfile, "PHB",timeidx=0)[:,10:140,10:140] hgt =getvar(ncfile, "HGT",timeidx=0)[10:140,10:140] o3 = getvar(ncfile, "o3",timeidx=0)[:,10:140,10:140] P=ph+phb P = destagger(P,0,meta=True) gmp=P/9.81-hgt z_list=[10000.,5000.,3000.,1000.]

    3.6K10编辑于 2022-11-14
  • 来自专栏气象学家

    推荐|Python绘制3D动态对流层顶(Tropopause)

    =hgt_in[:,iy1:iy2,ix1:ix2] pres2pv=pres2pv_in[iy1:iy2,ix1:ix2] pressfc=pressfc_in[iy1:iy2,ix1:ix2] # ') lev = np.array(lev, dtype='float') u = np.array(u, dtype='float') v = np.array(v, dtype='float') hgt = np.array(hgt, dtype='float') pres2pv = np.array(pres2pv, dtype='float') pressfc = np.array(pressfc [iy,ix]=( ((lev[iz]-tp[iy,ix])*hgt[iz+1,iy,ix]+ (tp[iy,ix]-lev [iz+1])*hgt[iz,iy,ix])/ (lev[iz]-lev[iz+1]) ) # calculate PV

    1.7K30发布于 2020-02-17
  • 来自专栏GEE数据专栏,GEE学习专栏,GEE错误集等专栏

    Google Earth Engine——NASA DEM是对STRM数据的再处理,通过纳入ASTER GDEM、ICESat GLAS和PRISM数据集的辅助数据,提高了精度

    02-22T00:00:00 Dataset Provider NASA / USGS / JPL-Caltech Collection Snippet ee.Image("NASA/NASADEM_HGT Accessed 2020-12-30 from LP DAAC - NASADEM_HGT 代码: var dataset = ee.Image('NASA/NASADEM_HGT/001'); var

    51210编辑于 2024-02-02
  • 来自专栏科技记者

    文献解读-全球土壤抗生素抗性基因与风险增高及其与人类耐药基因库(resistome)的连通性(connectivity)增强有关

    对 4,500 万对基因组配对的比较表明,跨生境的水平基因转移(HGT)是人类与土壤 ARG 连通性的关键驱动因素。 对共享 ARG 片段上下游 ±5 kb 的注释显示,多数与可移动遗传元件(MGE)共定位,支持其为水平基因转移(HGT)所致。 95%的参与HGT的Rank I ARGs在其上下游5kb范围内检测到移动遗传元件,证实了移动性在ARGs传播中的关键作用。 机制解析与科学意义 ARGs传播的双重机制 研究揭示了ARGs跨栖息地传播的两种主要机制:垂直基因转移(VGT)和水平基因转移(HGT)。 HGT则通过广宿主范围的通用类群(如污水处理厂中的气单胞菌属和生物气溶胶中的约翰逊不动杆菌)实现跨栖息地传播。

    70410编辑于 2025-08-09
  • 来自专栏微生态与微进化

    Nature综述:噬菌体多样性、基因组学与系统发育

    由于温和噬菌体可以整合进宿主基因组成为前噬菌体,他们可以成为病毒序列资源从而在HGT中起到关键作用(温和型噬菌体更容易形成共侵染)。 生物信息学的分析表明,温和噬菌体发生HGT的频率要远大于烈性噬菌体。假如根据基因共享来构建一个噬菌体的关系网,那么温和型噬菌体将居于网络的中间,而烈性噬菌体居于网络的外围。 温和性噬菌体所起的作用类似于HGT的基因池。(如上图中lambda是温和型的,T7、T4等是裂解型的)。 根据基因组的共享基因情况,可以绘制噬菌体的网络联系。 前面讲了生活史(温和型或者裂解型)对HGT有影响,但并不能解释全部,即使是温和型噬菌体,也有部分基因流通速率较低,可能宿主和环境等因素对HGT也有影响。 事实上,相同taxonomy宿主的也可以形成不同类群的phage cluster,但是彼此之间也有遗传上的联系,不同宿主噬菌体之间联系的程度不一样,暗示了不同的HGT速率。

    4.1K61编辑于 2022-05-05
  • 来自专栏web三维

    【零梯】使用blosm+GIS数据制作杭州市三维地形模型,地形贴图,高程地形建筑

    1、准备地形数据 将地形tif文件转换为hgt地形。地形数据使用的开放的12.5米地形。使用右侧【gis工具】-tif转hgt2、将地形文件复制到 blosm插件临时目录中。没有目录的可以手工创建。

    71310编辑于 2024-11-13
  • 来自专栏东隅已逝

    zabbix的boot.log占满根目录不能ssh连接

    1 11:24:02 2019 BJ-YZ-DS-SW1&2 %%10DRVPLAT/4/Log Info: -DevIP=172.16.32.5-Slot=2; Slot 2,unit 0 DLB_HGT_FLOWSET_TIMESTAMP_PAGE_X 1 11:24:02 2019 BJ-YZ-DS-SW1&2 %%10DRVPLAT/4/Log Info: -DevIP=172.16.32.5-Slot=2; Slot 2,unit 0 DLB_HGT_FLOWSET_TIMESTAMP_PAGE_X 1 11:24:02 2019 BJ-YZ-DS-SW1&2 %%10DRVPLAT/4/Log Info: -DevIP=172.16.32.5-Slot=2; Slot 2,unit 0 DLB_HGT_FLOWSET_TIMESTAMP_PAGE_X 1 11:24:02 2019 BJ-YZ-DS-SW1&2 %%10DRVPLAT/4/Log Info: -DevIP=172.16.32.5-Slot=2; Slot 2,unit 0 DLB_HGT_FLOWSET_TIMESTAMP_PAGE_X

    98830发布于 2019-12-12
  • 来自专栏气python风雨

    WRFOUT计算风速Weibull分布

    一般都是以年月风速进行计算的,此处简化为wrfout小时100m处的风速数据 z = getvar(ncfile,"z") ws = getvar(ncfile, "wspd_wdir", units="m s-1")[0] hgt = getvar(ncfile, "HGT") gmp = z - hgt ws100 = interplevel(ws, gmp ,100) # 将数组展平为1D数组 ws100fl = ws100

    72410编辑于 2024-06-20
  • 来自专栏气python风雨

    WRFOUT风向变量逐时次作差绘图

    wspd_wdir', timeidx=ALL_TIMES, method='cat')[1] z = getvar(wrf_list, 'z', timeidx=ALL_TIMES, method='cat') hgt = getvar(wrf_list,'HGT', timeidx=ALL_TIMES, method='cat') gmp = z - hgt wdir100= interplevel(wdir, gmp

    61210编辑于 2024-06-20
  • 来自专栏东隅已逝

    zabbix-server添加了网络设备模板导致boot.log占满根目录不能ssh登陆

    1 11:24:02 2019 BJ-YZ-DS-SW1&2 %%10DRVPLAT/4/Log Info: -DevIP=172.16.32.5-Slot=2; Slot 2,unit 0 DLB_HGT_FLOWSET_TIMESTAMP_PAGE_X 1 11:24:02 2019 BJ-YZ-DS-SW1&2 %%10DRVPLAT/4/Log Info: -DevIP=172.16.32.5-Slot=2; Slot 2,unit 0 DLB_HGT_FLOWSET_TIMESTAMP_PAGE_X 1 11:24:02 2019 BJ-YZ-DS-SW1&2 %%10DRVPLAT/4/Log Info: -DevIP=172.16.32.5-Slot=2; Slot 2,unit 0 DLB_HGT_FLOWSET_TIMESTAMP_PAGE_X 1 11:24:02 2019 BJ-YZ-DS-SW1&2 %%10DRVPLAT/4/Log Info: -DevIP=172.16.32.5-Slot=2; Slot 2,unit 0 DLB_HGT_FLOWSET_TIMESTAMP_PAGE_X

    59250发布于 2019-12-13
  • 来自专栏数据 学术 商业 新闻

    ggmice | 小众且常用的生物学可视化神器..

    ggmice主要可视化绘制函数 我们还是查看ggmice工具中的数据可视化绘制函数,详细介绍如下: ggmice()绘制不完整数据或估算数据 ggmice(dat, aes(age, hgt)) + geom_point() ggmice(imp, aes(x = .imp, y = hgt)) + geom_jitter(height = 0, width = 0.25) + geom_boxplot plot_pred(pred) plot_trace()绘制 MICE 算法的跟踪线,用于收敛性评估 # create traceplot for one variable plot_trace(imp, "hgt

    35110编辑于 2024-06-17
  • 来自专栏C语言入门到精通

    11.6 C++构造函数重载

    这种方法不在函数体内对数据成员初始化,而是在函数首部实现,例如定义构造函数可以采用如下形式: Box::Box(int hgt,int wid,int len):height(hgt),width(wid

    2K80发布于 2021-06-01
  • 来自专栏web三维

    嗯,这样在cesium地形上加载白模建筑物贴图模型

    在软件右侧【gis工具】中将地形tif文件转换为 hgt地形序列文件接着点击导出---模型文件导出在模型文件导出对话框中,开启地形。选择hgt地形数据文件夹。并开始导出。

    1.4K00编辑于 2024-12-06
  • 来自专栏数据 学术 商业 新闻

    Python 空间绘图 - 等值线绘制

    12_00.nc')#读取再分析资料 lon=f['lon_0'][:]#读取经度 lat=f['lat_0'][:]#读取纬度 lons,lats=np.meshgrid(lon,lat)#网格化 HGT_P0 _L100_GLL0=f['HGT_P0_L100_GLL0'][21][:][:]*0.1#我们常用的是位势十米,所以要乘0.1 RH_P0_L100_GLL0=f['RH_P0_L100_GLL0' ) create_map(ax3) ###########首先是将数据全部绘制出来,不做取舍################### a=ax3.contour(lons[:,:],lats[:,:],HGT_P0 ##########然后是仅仅截取要绘制的部分数据来绘图################## c=ax2.contour(lons[40:81,90:140],lats[40:81,90:140],HGT_P0 第三种方法强制指定标签位置################################## m=ax1.contour(lons[40:81,90:140],lats[40:81,90:140],HGT_P0

    6.7K31发布于 2021-02-22
领券