依据变程再次抽稀
下面将依据计算得到的变程值进行城市对象的再次抽稀。基本思路是:对于每一个城市对象,在其变程范围查找,若存在大于该对象面积值的城市对象则将该对象标记为 0,否则标记为1。最后提取全部标记值为1的城市对象完成第二次抽稀。
#python#arcpy
使用场景:这个名字不好起,我用文字更详细的描述下
假设有两个矢量文件,文件1为shp_1和文件2为shp_2,这两个矢量文件在空间上有交叉、重叠,且这两个矢量文件均有多个要素(或者叫图斑),我想将文件1与文件2相交的位置对应的文件1的图斑的某个字段全部赋值为特定值,具体如下操作:
shp1 = r'' # 需要字段赋值的矢量文件,赋值的字段名字为mark,将该字段赋值为999
shp2 = r'' # 进行位置判断的矢量文件
arcpy.MakeFeatureLayer_management(shp1, 'target_lyr')
arcpy.SelectLayerByLocation_management('target_lyr', 'INTERSECT', shp2) #INTERSECT表示相交
matchcount = int(arcpy.GetCount_management('target_lyr')[0])
if matchcount == 0:
print('目标位置内没有带操作的矢量图斑.....')
else:
cursor = arcpy.UpdateCursor('target_lyr')
for row in cursor:
row.setValue("mark", 999)
cursor.updateRow(row)