为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类之间并发性不一致的HashMap   插件如何在JavaSwing中使用UIManager和Classloader从外部jar安装外观?   java JasperReports:找不到子报表   在项目中找不到java生成的Javadoc文件   java BigDecimal。multiply()和divide()方法返回十六进制数。为什么?   java统计出现次数并从字符串中删除重复项   调用运算符时发生java NullPointerException   Spring和Hibernate之间的java配置错误   JavaZK将用户重定向回上一页   Javasocket为传出连接指定特定的网络接口   如果拖动到某个区域外,java Make按钮操作将被取消   如何在Eclipse for selenium 3.141.59中添加Java文档链接   java从匹配条件的数组中获取所有索引   docker未连接到RemoteWebDriver的java Gitlab ci selenium测试   java重写run方法   utf 8如何使用java解码UTF8编码的字符串?   java如何从eclipse调试部署在tomcat上的web应用程序?   将字母字符与前面没有百分号的Java正则表达式匹配