#执行相交
pixelPolygonShp = arcpy.MakeFeatureLayer_management(pixelPolygon, "pixelPolygonShp")
#加载进源shp,判断是否相交
SourceShp = arcpy.MakeFeatureLayer_management(shp, "SourceShp")
# 使用Intersect_analysis对两个要素集合对象求交
intersect_fc = arcpy.Intersect_analysis([pixelPolygonShp, SourceShp], "intersect_fc")
arcpy程序最好不要MakeFeatureLayer_management,这样会在arcmap中产生图层layer,再去调用类似相交分析的功能时,就会在gis中执行,减慢运行速率。
可以选择使用CopyFeatures_management函数先将生成的文件保存到本地,然后在执行其他函数时,函数输入参数不要写为arcmap里现有的图层,而是指定为已经在本地的文件的绝对路径,这样就不会在gis中执行函数,大大提高了运行速率。
pixelPolygon = arcpy.Polygon(array).projectAs(spatial_ref)
array.removeAll()
#保存到本地
pixelPolygon_shp = os.path.join(rootDir, "pixelPolygon.shp")
arcpy.CopyFeatures_management(pixelPolygon, pixelPolygon_shp)
shp = ...(..绝对路径\\*.shp)
intersect_fc = arcpy.Intersect_analysis([pixelPolygon_shp, shp], intersect_fc)