2014-05-13 5 views
0

waterlevelDifference이라는 .gdb 및 1 기능 클래스가 있습니다. 레이블 (텍스트 필드) 및 차이점 (이중 필드)이라는 두 개의 열이 있습니다. 차이 열에는 숫자가 들어 있지만 레이블 열은 비어 있고 채워지기를 기다리고 있습니다. 내가 원하는 무엇Arcpy - 특성 선택 및 특성 클래스에 특성 추가

차이 (예를 들어 차이> 0.30)에서 선택 속성이며, 다음 채우는 라벨 (예 : 라벨 = "보다 큼 0.30") 선택에 기반. 처음에 나는 (웁니다) (속성을 선택) arcpy.SelectLayerByAttribute_management을 사용하고 arcpy.CalculateField_management를 사용하려고했지만, 당신은 기능 클래스에 arcpy.SelectLayerByAttribute_management을 사용할 수 없습니다.

제 질문은 피쳐 클래스를 사용하여 속성을 선택하고 채우는 다른 방법은 무엇입니까?

답변

2

가장 쉬운 방법은 ArcMap의 필드 계산기에서 파이썬 코드 블록을 사용하는 것입니다. 그러나 스크립트에서이 작업을 수행하려면 arcpy.UpdateCursor()를 작성한 다음 값을 계산하십시오 레이블에 대해 행별로 추가하십시오.

feature_class = r"path\to\class" 
cursor = arcpy.UpdateCursor(feature_class) 
for row in cursor: 
    label = "" 
    difference = row.getValue('Difference') 
    if difference == 0: 
    label += "Label is 0" 
    elif difference > 0.30: 
    // ... 
    row.setValue("Label", label) 
    cursor.updateRow(row) 
+0

치료법처럼 효과가 있습니다 !! 많은 도움에 감사드립니다 !! – TsvGis