斯潘8
斯潘4
我有成千上万的薄多边形和它们的中心线。我可以用多边形面积除以中心线的长度来计算每一个的平均宽度。我想根据平均宽度生成一些随机宽度数字,这些数字介于多边形的最大宽度和最小宽度之间。
我的第一个想法是沿着中心线创建点,间隔很小,比如1米,并基于点创建桩号线。然后用多边形裁剪这些站线,最短和最长的站线长度将是最大和最小范围。所以我可以在Excel中生成随机宽度数字。
我已经用了高桥LineDivider,以及一些关于计算线角和创建轴承线的文章。我只想知道有没有更简单的方法,只有在FME中。为了让我的思想工作,我必须在FME和ARCGIS之间切换,以及Arcgis中的一些第三方附加组件。这对其他人来说太复杂了,无法使用。
我假设你要生成垂直于中心线的剖面线,以一定的间隔。如果我正确理解你的要求,此工作流可亚搏在线能对您有所帮助。
#pythoncaller脚本示例:在指定范围内生成伪随机数,并将其存储到名为“随机数”的列表属性中。随机数的平均值将等于指定的平均值。假设输入功能具有这些属性。u num:要生成的随机数的数量u min:最小值range u max:范围的最大值u average:平均值(_min<u average<u max)def generaterAndomNumbers(feature):rmin=float(feature.getattribute(‘‘u min’)rmax=float(feature.getattribute(‘‘u max’)n=int(feature.getattribute(‘‘u num’)a=float(feature.getattribute(‘‘u average’)if 0<n and rmin<a and a<rmax:rands=[]生成(rmin,RmaxnARands)对于我,枚举(rands)中的r:feature.setattribute(''随机%d'%i,r)def生成(rmin,RmaxnArands):如果n==1:rands.append(a)else:from random import uniform r=uniform(a,rmin if(a-rmin<rmax-a)else rmax)if n%2==1:rands.append(r)n-=1 generate(rmin,RmaxnA+(A-R)/N,rands)其他:n/=2生成(rmin,Rmaxnrrands)生成(rmin,RmaxnA+(A -R),兰兹)
?2019安全亚搏在线软件公司|合法的