我在尝试使用v.generalize简化大小和结构与美国县或州相似的多边形时遇到了一个难题。通常,在对它们运行简化或平滑方法后,它们会从数据集中丢失多边形。让我麻烦的是,这种行为似乎没有任何一致的模式。在某些情况下,应用于不同数据集的同一组命令会导致完全不同的结果。结果,我无法开发可重复的工作流程,并且很不情愿地开始寻找其他可以保留拓扑的简化工具。这是一个例子:
# LOAD AND CLEAN
v.in.ogr dsn=counties.shp output=county
v.build.polylines input=county output=county_polylines
v.clean input=county_polylines output=county_clean tool=bpol,rmdupl type=boundary
# SMOOTH AND GENERALIZE
v.generalize input=county_clean output=county_smooth method=sliding_averaging look_ahead=7 slide=1
v.generalize input=county_smooth output=county_general method=douglas threshold=.005
每个v.generalize步骤都会导致某些多边形消失。我想了解为什么会这样。是由于功能加载到内存不足吗?我的参数“紧密”是否足以使要素被排除,因为它们已满足某种几何标准?(请注意,我失去了一些非常大的功能。)放置的功能的拓扑是否存在问题,导致它们被擦除?与最后一个问题有关,我认为最初应该执行的build.polylines和clean操作应解决此问题,但我不确定,似乎找不到解决此问题的好方法。有吗
欣赏人们可以提供的任何见解,尤其是基于v.generalize工具的个人经验的见解。
罗杰
看来您的数据可能已经滞后。这足以丢失.005阈值的数据。您可以验证您使用的是平面CS吗?
—
布莱德·尼索姆
我实际上对此很纳闷,在执行以上操作之前,已经将其重新投影为Albers等面积投影。以下是投影参数:USER:100002(+ proj = aea + lat_1 = 20 + lat_2 = -23 + lat_0 = 0 + lon_0 = 25 + x_0 = 0 + y_0 = 0 + ellps = WGS84 + units = m + no_defs) 。仍然有同样的问题。
—
lagerratrobe 2011年
我想知道为什么将多边形转换为折线。为什么不直接简化多边形有特定的原因吗?
—
黑暗
好的,我取出了v.build.polylines部分,因此“ county_clean”现在是一个多边形图层。仍然失去了很多领域。最初,我曾以为它可能使简化变得容易,但是由于v.clean中的“ bpol”也破坏了多边形,所以也许没关系。
—
lagerratrobe 2011年
只是一个愚蠢的问题。您确定要使用v.generalize而不是v.clean来丢失数据吗?
—
simo