风向条件下的气体扩散模型计算得到的数据,相当于等值线需要在地图上展示。如下图,可以看到,离中心最近的多边形毛糙锯齿严重。
使用滑动窗口平均方法可以平滑多边形,而且滑动窗口大小根据每一个多边形的点数量动态计算,效果如下。
对比如下图
代码如下:
代码语言:python代码运行次数:0复制import numpy as np
import matplotlib.pyplot as plt
for i,vvL in enumerate(v):
w=i 3
ids=list(range(len(vvL)))
vvA=np.array(vvL)
vvA=np.vstack((vvA[-w:],vvA,vvA[:w]))
vvA=list(map(lambda x:vvA[x:x 1 w w].mean(axis=0).tolist(),ids))
vvA=np.array(vvA)
vvA=np.vstack((vvA,vvA[0]))
plt.plot(vvA[:,0],vvA[:,1])