C/C++教程

[ArcPy Tips-4] 找到一个ShapeFile里面积最大的多边形!

本文主要是介绍[ArcPy Tips-4] 找到一个ShapeFile里面积最大的多边形!,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
import arcpy,os,sys
import arcpy.da

srcDir = "E:\\Sentinel_1\\2018S1\\"##自行修改,shp所在的目录

for file in os.listdir(srcDir):
    if os.path.splitext(file)[1] == ".shp":
        print(file)
        input = file
        areaShp = "AREA_"+file
        if not os.path.exists(srcDir+"\\"+areaShp):
            featureCount = arcpy.GetCount_management(srcDir+"\\"+input)[0]
            if int(featureCount)>0:
                print(input)
                arcpy.CalculateAreas_stats(srcDir+"\\"+input, srcDir+"\\"+areaShp)

        maxPolygonID = 0
        maxArea = 0
        with arcpy.da.SearchCursor(srcDir+"\\"+areaShp,("Id","F_AREA")) as cursor: #Id需为唯一值
            for row in sorted(cursor):
                print(str(row[0])+"_"+str(row[1]))
                if row[1] > maxArea:
                    maxArea = row[1]
                    maxPolygonID = row[0]
        
        maxPolygonShp = "MAX_Polygon_"+file
        arcpy.Select_analysis(srcDir+"\\"+areaShp,srcDir+"\\"+maxPolygonShp," Id = "+str(maxPolygonID))

 

这篇关于[ArcPy Tips-4] 找到一个ShapeFile里面积最大的多边形!的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!