爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索

[经验总结] Python完美白化

  [复制链接]

新浪微博达人勋

 楼主| 发表于 2020-4-24 08:29:17 | 显示全部楼层
kikichan 发表于 2020-4-23 16:48
楼主您好,请问如何做到反向白化呢?我现在有高原的shapefile,按您这个做法可以抠除高原以外的数据,但这 ...

原理是一样的哦,把maskout.py里的if shape_rec.record[n] in region,改成if shape_rec.record[n] not in region,就好了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-4-24 09:57:20 | 显示全部楼层
平流层的萝卜 发表于 2020-4-24 08:29
原理是一样的哦,把maskout.py里的if shape_rec.record[n] in region,改成if shape_rec.record[n] not i ...

这么做的前提是想mask的区域包含在shape文件内吧,我现在只有高原的shape文件,这样调试报错了。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-4-24 10:26:33 | 显示全部楼层
QQ图片20200424102426.png 大佬,我运行自己的shp文件生成的图片是这个样的,可以请您帮忙看一下这是什么原因么?D:/文档/桌面/QQ图片20200424102426.png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-4-24 11:35:18 | 显示全部楼层
以及,在把投影方式调整为lcc兰博特投影后,图片显示不出来,大佬可以帮忙解答一下吗非常感谢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-4-24 19:57:15 | 显示全部楼层
kikichan 发表于 2020-4-24 09:57
这么做的前提是想mask的区域包含在shape文件内吧,我现在只有高原的shape文件,这样调试报错了。

我明白你的意思了,确实我的帖子是只针对“mask的区域包含在shape文件内而不是shp的全部”这种情况。想了一下,如果想反向白化,确实用我的代码不好实现,但是我提供另一个思路:

1.先把全部的图画出来,作为底图。
2.再把一片灰的高原区域画上去,作为顶图。
3.顶图和底图以这种方式叠加,以此来实现这种视觉效果。

画顶图时,可以用我的maskout方法,只把高原内部画成灰色,高原外部不画。另外,顶图和底图的设置可以通过zorder的不同值来调控。

我觉得我的方案肯定不是最优的。我觉得最优解可能还需要再深入了解path的用法,待以后有空了再研究一下。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-4-24 20:00:35 | 显示全部楼层
EddyLiu 发表于 2020-4-24 10:26
大佬,我运行自己的shp文件生成的图片是这个样的,可以请您帮忙看一下这是什么原因么?

这个和自己的shp文件的格式是有关系的,如果你想要实现全国以外的地区被maskout,直接用我提供的shp文件即可。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-4-24 20:02:49 | 显示全部楼层
EddyLiu 发表于 2020-4-24 11:35
以及,在把投影方式调整为lcc兰博特投影后,图片显示不出来,大佬可以帮忙解答一下吗非常感谢

至于这个问题,你没有贴出错误信息,我无从判断。如果你不了解你自己的shp文件格式,直接照搬我的代码是容易出错的。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-4-27 12:34:14 | 显示全部楼层
平流层的萝卜 发表于 2020-4-24 19:57
我明白你的意思了,确实我的帖子是只针对“mask的区域包含在shape文件内而不是shp的全部”这种情况。想了 ...

万分感谢楼主的帮助
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-4-28 16:24:55 | 显示全部楼层
young89 发表于 2019-4-15 11:13
clip=maskout.shp2clip(im,ax,'D:\\world(WGS1984)\\country\\country1.shp','China')

  File "D:\Ancon ...

我也是这个错误,请问你解决了吗
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-4-28 16:29:21 | 显示全部楼层
young89 发表于 2020-4-28 16:24
我也是这个错误,请问你解决了吗

啊,我发现用pcolormesh就不可以,contourf可以
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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