爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 175318|回复: 171

[经验总结] 使用shp文件对数据进行mask

  [复制链接]

新浪微博达人勋

发表于 2021-5-15 13:47:22 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 iovedys 于 2022-3-18 10:21 编辑







小白画图,研究了很久如何抠出一个省的数据,网上很多教程是先画图再对地图白化而不是处理数据,笔者研究了很久找到一个可以用shp来直接对数组进行mask的方法。


主要用到的库:使用geopandas来读取shp文件,再使用salem库来mask数据。


这两个库的安装比较麻烦,笔者参考以下链接后成功安装geopandas和salem,总结如下:

首先使用 pip uninstall (包名)清理Shapely、GDAL、Fiona、pyproj、rasterio、geopandas、regionmask、salem。

从这里Python Extension Packages for Windows - Christoph Gohlke (uci.edu)下载自己python版本对应的上述包的whl文件,如64位Windows和python3.8需要对应下载Shapely-1.7.1-cp38-cp38-win_amd64.whl等(放在文末附件中)。

下载好后使用 pip install D:\xxx\xxx.whl 依次安装Shapely、GDAL、Fiona、pyproj、rasterio。

最后使用 pip install geopandas , pip install regionmask, pip install salem。



注:第一次 import salem 会自动下载一个约40M的salem-example文件,需要耐心等待。







程序中以某月降水为例,可以看到江苏省省外的数据都被mask成了nan值:
QQ截图20210515132844.png
绘图效果:
unmaskdata.png maskdata.png

MaskoutProvince.rar (45.94 MB, 下载次数: 1414)

评分

参与人数 1金钱 +20 贡献 +5 收起 理由
qq492947833 + 20 + 5 很给力!

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2021-5-16 08:34:05 | 显示全部楼层

回帖奖励 +5 金钱

学习一下。不过我更好奇有没有什么原生的、不用安装太多库的方法。
密码修改失败请联系微信:mofangbao
回复 支持 2 反对 0

使用道具 举报

新浪微博达人勋

发表于 2021-5-15 14:20:24 | 显示全部楼层

回帖奖励 +5 金钱

不错,学习了~~
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-5-15 16:22:47 | 显示全部楼层

回帖奖励 +5 金钱

优秀 应该和maskout是异曲同工之妙
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-5-15 16:24:59 | 显示全部楼层

回帖奖励 +5 金钱

学习学习{:eb512:}
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-5-15 17:39:12 | 显示全部楼层

回帖奖励 +5 金钱

不错,学习了~~
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-5-16 07:14:17 来自手机 | 显示全部楼层

回帖奖励 +5 金钱

来看看学习一下
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-5-16 09:05:59 | 显示全部楼层

回帖奖励 +5 金钱

灭火器 发表于 2021-5-16 08:34
学习一下。不过我更好奇有没有什么原生的、不用安装太多库的方法。

我这篇可以参考,基本只要装gdal:
http://bbs.06climate.com/forum.php?mod=viewthread&tid=96376
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-5-16 11:42:38 | 显示全部楼层

回帖奖励 +5 金钱

感谢分享~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2021-5-16 17:38:39 | 显示全部楼层

回帖奖励 +5 金钱

不错,学习了。。。。。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表