为LAT-Lon网格单元检索Workclim气候和其他信息

latlon-utils的Python项目详细描述


TravisCoveragePyPI Package latest releaseLatest github releaseSupported versionsSupported implementations

此存储库包含用于检索给定 纬度和经度。

安装

强烈建议使用conda进行安装。首先,安装 必要的依赖项,即netCDF4shapelypandas

conda install netcdf4 shapely pandas

要启用worldclim数据的下载,还需要rasterioxarray(如果您已经下载了数据,可以跳过此步骤)通过:

conda install rasterio xarray

然后安装latlon_utilsvia:

pip install latlon_utils

或从源目录通过:

pip install .

用法

到目前为止,该软件包有两个功能:获取气候和获取国家。 功能。像这样使用

北纬50度,东经10度到达该国:

>>> from latlon_utils import get_country

>>> get_country(50, 10)
'Germany'

获得北纬50度和东经10度的气候:

>>> from latlon_utils import get_climate

# limit the number of columns printed by pandas
>>> import pandas; pandas.options.display.max_columns = 5

>>> get_climate(50, 10)
tavg  jan     0.044739
      feb     0.974976
      mar     4.705505
      apr     8.232239
      mai    13.150024
      jun    16.012268
      jul    17.958984
      aug    17.828735
      sep    13.779480
      oct     8.787476
      nov     4.039001
      dec     1.430237
      djf     0.816650
      mam     8.695923
      jja    17.266663
      son     8.868652
      ann     8.911972
prec  jan    48.000000
      feb    42.000000
      mar    44.000000
      apr    44.000000
      mai    56.000000
      jun    68.000000
      jul    65.000000
      aug    52.000000
      sep    47.000000
      oct    52.000000
      nov    52.000000
      dec    59.000000
      djf    49.666667
      mam    48.000000
      jja    61.666667
      son    50.333333
      ann    52.416667
Name: (50, 10), dtype: float64


>>> get_climate(50, 10)['tavg', 'djf']
0.816650390625

>>> get_climate([10, 11], [50, 51])
            tavg             ...       prec
             jan        feb  ...        son       ann
lat lon                        ...
10  50   21.810730  22.687988  ...  10.666667  6.833333
11  51   24.617249  24.678040  ...   7.666667  3.750000
<BLANKLINE>
[2 rows x 34 columns]

数据下载

这个包建立在免费提供的数据集上,但不包含任何 数据。此数据根据请求下载(请参阅下一节)。特别地, get climate方法使用来自[WorldClim2.0],get country的数据。 函数使用datasets/geo-countries存储库。

下载目录

要下载并处理必要的数据集,请运行:

python -m latlon_utils.download

(有关可用选项,请参见python -m latlon_utils.download --help)。

我们从WorldClim下载geotiff文件并将其转换为netcdf 数据集。存储数据的默认目录是 $HOME/.local/share/latlon_utils,其中$HOME表示用户主页 目录。如果要使用其他目录,请设置LATLONDATA 变量,例如:

export LATLONDATA=$HOME/my_data
python download.py $LATLONDATA

LATLONDATA环境变量是确保python 包稍后再次查找数据。

WorldClim分辨率

我们使用的默认分辨率是10m。但是,也可以指定 python函数中或通过LATLONRES环境的其他解析 变量。要使用5分钟分辨率,只需运行:

export LATLONRES='5m'

参考文献

[WorldClim2.0]Fick, S.E. and R.J. Hijmans, 2017. Worldclim 2: New 1-km spatial resolution climate surfaces for global land areas. International Journal of Climatology. http://worldclim.org/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
内存Java正在运行。jar heapdump错误   java如何在安卓画布中弯曲文本区域?   java如何在Gdx 安卓游戏编程中获得矩形的真实触碰位置?   找不到java Spring MVC控制器   在Java中使用双重检查锁定单例扩展类   java在高效的时间和内存中动态执行insert(索引、数据)、delete(索引)、getAt(索引)操作。   java 安卓 Toast和视图帮助   java协议缓冲区:从文件中读取所有序列化消息   java如何在Jackson中为参数化接口类型执行通用自定义反序列化程序   与简单的空检查相比,使用(平面)映射的java优势是什么?   异步方法seam中的java Get contextparam   jar使用相同的java运行时运行另一个java程序   java访问Spring批处理中的作业参数   java给定字符串为空或null   在h2数据库1.4中找不到java类“org.h2.fulltext.FullTextLucene”。*不适用于Lucene Core 4*   java Spring Boot在使用@enableSync时不响应任何请求   java错误:在bash上找不到或加载主类pj2   “返回对象”和“返回(对象)”之间的Java差异   java Android开发:如何使用onKeyUp?