标签:种子 shape range 导入 show 算法 pandas 上下 映射
#### 基于Douglas-Peucker算法对矢量数据简化 #### # 当原始的矢量数据因为形状复杂,包含的点较多时,会导致其文件体积较大, # 如果我们需要在在线地图上叠加它们,太大体积的矢量数据不仅会拖慢网络传输速度, # 也会给图形的渲染带来更大的压力,这时对矢量数据进行简化就非常有必要。 # 基于Douglas-Peucker算法,基于预先设定的阈值?,在递归判断的过程中删掉所有小于?的点 # 例如: 基于-1到1之间的均匀分布,创建一条上下波动的折线,然后进行简化 import numpy as np import shapely import geopandas as gpd from matplotlib import pyplot as plt import matplotlib.patches as mpatches np.random.seed(10)# 固定随机数种子 # 创建线 line = shapely.geometry.LineString([(_, np.random.uniform(-1, 1)) for _ in range(10)]) # 绘制简化前 ax = gpd.GeoSeries([line]).plot(color=‘red‘) # 绘制简化后 ax = gpd.GeoSeries([line]).simplify(tolerance=0.5).plot(color=‘blue‘, ax=ax, linestyle=‘--‘) # 制作图例映射对象列表 LegendElement = [plt.Line2D([], [], color=‘red‘, label=‘Uu-Simplified‘), plt.Line2D([], [], color=‘blue‘, linestyle=‘--‘, label=‘Simplified‘)] # 将制作好的图例映射对象列表导入legend()中,并配置相关参数 ax.legend(handles=LegendElement, loc=‘lower left‘, fontsize=10) ax.set_ylim((-2.5, 1)) ax.axis(‘off‘) plt.savefig(‘VectorLineSimplify.png‘, dpi=300, bbox_inches=‘tight‘, pad_inches=0) plt.show()#展示
标签:种子 shape range 导入 show 算法 pandas 上下 映射
原文地址:https://www.cnblogs.com/jeshy/p/14853810.html