Arcpy中Feature to Polygon工具未保留折线要素类字段问题求助
问题描述
我是Arcpy新手,现有一个折线要素类,使用Feature to Polygon工具生成面要素类。工具可正常运行,但未保留折线要素类的全部字段,生成的面要素类中缺少Polygon_ID字段,希望得到解决方法。
折线要素类属性表

转换代码
# 将折线转换为面的代码 import arcpy arcpy.env.overwriteOutput = True arcpy.env.workspace = r"D:\LPA\SourceXY\Default.gdb" arcpy.FeatureToPolygon_management("polygon_line","polygon","", "ATTRIBUTES") print("\nScript Completed")
生成的面要素类属性表

解决方法
- 先确认折线要素类里的
Polygon_ID是常规字段(比如长整型、文本型),如果是OID这类系统字段,ATTRIBUTES参数无法传递它。 FeatureToPolygon的ATTRIBUTES参数只会保留组成同一个面的所有折线字段值都相同的字段。如果一个面由多条Polygon_ID不同的折线构成,这个字段会被自动排除。- 要保留
Polygon_ID,可以先按该字段融合折线,再转面:import arcpy arcpy.env.overwriteOutput = True arcpy.env.workspace = r"D:\LPA\SourceXY\Default.gdb" # 按Polygon_ID融合折线,确保同一组折线对应同一个ID arcpy.Dissolve_management("polygon_line", "polygon_line_dissolved", "Polygon_ID") # 融合后的折线转面,此时ATTRIBUTES参数会保留Polygon_ID arcpy.FeatureToPolygon_management("polygon_line_dissolved","polygon","", "ATTRIBUTES") print("\nScript Completed") - 也可以先完成转面,再用空间连接把原折线的
Polygon_ID关联到面要素:选择"一对一"匹配规则,匹配方式设为"面包含折线",这样面就能获取对应的Polygon_ID值。
内容的提问来源于stack exchange,提问作者ITE
相关产品推荐
相关产品推荐

