Closed ybmy001 closed 6 months ago
(1) 用 Polygon.union
方法合并两个多边形,或者 unary_union
函数合并一堆多边形。
sichuan, chongqing = fshp.get_cn_province(['四川省', '重庆市'])
polygon = sichuan.union(chongqing)
下面是 unary_union
的例子
import frykit.plot as fplt
import frykit.shp as fshp
from shapely.ops import unary_union
data = fplt.load_test_data()
lon = data['longitude']
lat = data['latitude']
t2m = data['t2m']
polygon = unary_union(fshp.get_cn_province(['四川省', '重庆市', '贵州省', '云南省']))
ax = fplt.quick_cn_map()
fplt.label_cn_province(ax)
cf = ax.contourf(lon, lat, t2m, levels=20, cmap='rainbow')
fplt.clip_by_polygon(cf, polygon)
plt.show()
(2) frykit 用的是高德地图的行政区划数据,一是下载处理方便,二是数据比较精细,三是大厂的互联网地图肯定是通过了测绘部审核的。至于能不能过期刊的要求我就不知道了……暂时没考虑换用别的数据。
(3) 网上带审图号的 shp 一般是用 标准地图服务网 的 EPS 矢量图处理得到的。你链接里的 shp 我不知道来源是哪,你可以私信公众号去要一份,看看精度如何,然后用 PyShp、Cartopy、Fiona、GeoPandas 等读一下再画。另外标准地图网上的审图号还停留在 GS(2023),你这个都 GS(2024) 了,我也好奇数据是哪来的。
PS:真要追求“标准”的地图的话,就按 B 站上那些教程 直接把自己的数据叠在标准地图上,这样一来无论是中塔边境的未定国界线,蓝色海岸线、海上省界线等就全有了,期刊的人除了真要求你申请审图外,找不了别的茬了。但好像这种效果单用 shp 无法表达,并且用起来也很麻烦?这段也是我的疑惑,可以忽略。
非常感谢!!!已解决
一直在追踪更新最新版本,不知道在哪里提问合适,就在这里吧。很感谢作者一直持续的更新,我也从你的博客学到了不少!
(1)chuan_yu = fshp.get_cn_province([四川省', '重庆市']),获得四川和重庆后,如何对这2个整体进行白化?看到说合并,这个不会,有简单示例代码吗?我自己测试画了2次,分别先画contourf,再白化四川,然后再画contourf,再白化重庆,这个方法倒是可行获得四川+重庆,但是感觉绘图2次,想进一步优化下。 (2)今天看到一个公众号,https://mp.weixin.qq.com/s/adKM2pmvy4ia393hwgH-EQ,这里提到了“2024年中国标准地图【审图号:GS(2024)0650号】”,像这种最新的审图号shp如何获得呢?可否加入到fshp里?方便后续出这种带审图号的图