我有一个复杂的脚本,有多个功能,我跑得很快(总共从10分钟到4分钟)。但是,我遇到的空间连接问题比我认为的要长。每当我在空间连接中使用要素图层时,只需12-13分钟就可以完成脚本的空间连接步骤。所以我尝试先从图层创建文件(使用CopyFeatures),空间连接将在大约1.5分钟内运行,但它增加了大约另一分钟来运行2个复制功能。我已经粘贴了代码中发生这种情况的部分(字段映射需要一瞬间,所以不是这样,它绝对是在使用print语句来解决之后挂起的空间连接)。我的问题,首先是关闭,我有什么搞砸的事情导致时间的流逝吗?其次,是否有更好的方法可以使用除空间连接之外的其他东西来实现同样的事情?我查看了游标的使用,但我不确定是否可以做我想要的。任何帮助深表感谢。感谢。
IfExists(TargetFile)
arcpy.CopyFeatures_management(HexLyr, TargetFile)
IfExists(JoinFile)
arcpy.CopyFeatures_management(PtLyr, JoinFile)
fieldmappings = arcpy.FieldMappings()
fieldmappings.addTable(TargetFile)
fieldmappings.addTable(JoinFile)
FinalNormIndex = fieldmappings.findFieldMapIndex("Final")
fieldmap = fieldmappings.getFieldMap(FinalNormIndex)
field = fieldmap.outputField
fieldmap.outputField = field
fieldmap.mergeRule = "mean"
fieldmappings.replaceFieldMap(FinalNormIndex, fieldmap)
NullPctIndex = fieldmappings.findFieldMapIndex("NullPct")
fieldmap = fieldmappings.getFieldMap(NullPctIndex)
field = fieldmap.outputField
fieldmap.outputField = field
fieldmap.mergeRule = "sum"
fieldmappings.replaceFieldMap(NullPctIndex, fieldmap)
IfExists(SpatialJoinFile)
arcpy.SpatialJoin_analysis(TargetFile, JoinFile, SpatialJoinFile, field_mapping = fieldmappings, match_option = "CLOSEST", distance_field_name = "Dist")