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

用Ensaio下载GIS数据

文章目录

    • 简介
    • 重力场绘制

简介

Ensaio在葡萄牙语中是随笔的意思,是一个用于下载开源数据集的python库。其底层基于Pooch来下载和管理数据。

Ensaio可通过pip或者conda来安装

pip isntall ensaio
conda install ensaio --channel conda-forge

由于这个库功能较为单一,所以其内容也较少,除了用于定位系统缓存文件夹的locate函数之外,剩下的几乎都是下载专门数据集的函数了,这些函数的参数只有一个,即数据版本,列表如下

函数数据名称数据地址
fetch_alps_gpsAlpine的GPS速度数据集Sánchez et al. (2018)
fetch_britain_magnetic英国数字化航空磁测British Geological Survey
fetch_british_columbia_lidar加拿大Trail群岛的点云数据LidarBC
fetch_earth_geoid地球大地水准面高度,分辨率为 1 0 ′ 10' 10EIGEN-6C4 model
fetch_earth_gravity地球重力场,分辨率为 1 0 ′ 10' 10EIGEN-6C4 model
fetch_lightning_creek_magnetic澳大利亚磁异常网格Carr, B…
fetch_osborne_magnetic澳大利亚奥斯本矿附近的磁航测量Geophysical…
fetch_sierra_negra_topography2018年厄瓜多尔塞拉内格拉火山熔岩流的地形Geophysical…
fetch_caribbean_bathymetry加勒比海的单波束测深NOAA NCEI
fetch_southern_africa_gravity非洲南部重力的地面勘测NOAA NCEI
fetch_bushveld_gravity非洲南部Bushveld基地的地面重力数据重力:NOAA NCEI
拓扑:ETOPO1
fetch_earth_topography地形数据,分辨率为 1 0 ′ 10' 10ETOPO1
fetch_southern_africa_topography非洲南部地形和测深数据ETOPO1

这些数据的预处理方法可以在github上找到:fatiando-data。

重力场绘制

以重力场数据为例,下载方法如下,需要科学上网。

import ensaio
fname = ensaio.fetch_earth_gravity(version=1)
ensaio.locate()

其中,【locate】可查看缓存文件夹。

下面绘制一下地球的重力场数据。

在这里插入图片描述

import cartopy.crs as ccrs
import matplotlib.pyplot as plt
import ensaio
import xarray as xr# 下载并加载全球重力场数据
fname = ensaio.fetch_earth_gravity(version=1)
data = xr.load_dataset(fname)# 提取重力数据
gravity = data["gravity"]/1e5# 创建绘图
ax = plt.subplot(111, projection=ccrs.Robinson())
ax.set_global()  # 设置为全球范围# 绘制重力数据
img = ax.contourf(gravity.longitude,gravity.latitude,gravity,transform=ccrs.PlateCarree(),cmap="jet",levels=100,
)# 添加海岸线
ax.coastlines(resolution="110m", color="black", linewidth=0.8)
plt.colorbar(img, pad=0.05, aspect=50)
plt.show()

相关文章:

  • 论微服务架构及其应用
  • C++ STL vector容器详解:从原理到实践
  • # 基于词袋模型(BoW)的猫狗图像分类实践
  • 项目管理进阶:深入学习企业软件研发管理体系架构方案【附全文阅读】
  • 基于 JSP 和 Servlet 的数字信息分析小应用
  • 算法笔记。质数筛算法
  • 琴生不等式 (Jensen‘s Inequality)
  • 【quantity】7 角度单位模块(angle.rs)
  • 论系统安全架构设计及其应用
  • Vibe Coding 新时代:AI 辅助编程完全指南
  • 从融智学视域快速回顾世界历史和主要语言文字最初历史证据(列表对照分析比较)
  • JavaScript中的AES加密与解密:原理、代码与实战
  • 一篇文章看懂web服务
  • C与指针4——指针
  • 04 基于 STM32 的时钟展示程序
  • js单调栈解题模板
  • [UVM]UVM中reg_map的作用及多个rem_map的使用案例
  • QNAP Duplicati 备份 123云盘
  • Learning vtkjs之Cutter
  • Spring AI 实战:第一章、Spring AI入门之DeepSeek调用
  • 巴菲特再谈投资日本:希望持有日本五大商社至少50年
  • 泽连斯基拒绝普京72小时停火提议,坚持应尽快实现30天停火
  • 我的诗歌阅读史
  • 国际观察|韩国在政局多重不确定性中迎接总统选举
  • 日产淡水10万吨、全自动运行,万华化学蓬莱海水淡化厂投产
  • 讲座预告|政府在人工智能研究和应用领域的作用