斯潘8
斯潘4
嗨,伙计们,
我有一个文本文件,其中包含标题信息和必要的属性字段,以及一组固定宽度的序列坐标,其中包含创建地籍图多边形的方位和距离。我需要创建附加属性的多边形。
如果我像猫一样在文件里读,我找不到在顶部检索属性信息的方法
如果我把它当作文本文件读,然后在……上分开,我可以将头信息作为属性来检索,但之后就无法找出如何将固定宽度的内容提取到列表中。
也,所有空白区域都在创建一组标题时引起了我的问题,尤其是当定义的第一行是空白的,直到你到达径向,或者E/N。
我打算把这些作为一个连续的列表读出来。每个特性也引用了之前和之后的特性…这应该是相对容易做到的!
有没有想过最好的办法?附加了示例文本文件。
(定义:我认为轴承是测线的支柱,距离就是弦长,弧是弧距离,半径是圆弧圆部分的半径,径向是弧的起点/终点的角度,tp代表切点-但不确定为什么tp应用不一致)
谢谢您!!
您好!@卡特里娜奥佩尔曼,要分析这种文本数据,我经常使用全局变量(variablesetters/retriever)和testfilter来分类文本行,然后为每个组翻译它们(标题,表体,页脚=区域)。工作流的主要部分如下所示。亚搏在线
从fmeobjects import*def createpolygon(feature):fmegeotool=fmegeotrytools()length=int(feature.getattributeEastype(''u element_count',fme_attr_int16))如果不是length:return for i in range(length-1):x0=feature.getattributeEastype(''u list%d.Easting'%i,fme_attr_string)y0=feature.getattributeEastype(''u list%d.Northing'%i,fme_attr_string)x1=feature.getattributeasttype(''list%d;.Easting%(i+1),fm_attr_string)y1=feature.getattributeasttype(''list;%d;.Northing%(i+1),fm _attr_string)r=fefefefe.getattattribeasttype(''list;%d;.rad半径%(i+1),fm _attr _string)值=[x0,y0,y0,x1,x1,y1,y1,r]对于idx x x x x x x x x,fm %d,v在枚举中(值):如果v.strip('')='':值[idx]=0.0,否则:值[idx]=flOAT(V)X0,Y0,X1,Y1,R=值,如果R:SEG=FMEARC((FMEPoint(X0,Y0),FMEPoint(X1,Y1)),abs(R),R<0)否则:SEG=FMELINE([(X0,Y0),(X1,Y1)])如果I==0:曲线=SEG ELSE:曲线=FMEGOOTOOL.Appendcurve(curve,SEG)PG=FMEPolygon(curve)feature.setgeometry(pg)
提到高桥的工作空间,我发现整个过程是用Python实现的,这看起来更简单、更清晰。
我的解决方案如下
1。删除空白行
2。分离固定属性部分(OBJ精度、更新DTG等)和列表数据部分(方位、距离等)。
三。划分列表数据
详情请见请参阅所附的工作空间。
结果
?2019安全亚搏在线软件公司|合法的