다른 유형의 아파트를 기반으로 레이어의 포인트 레이블 지정 프로세스를 자동화하는 ArcGIS 10.2 용 Python 매크로를 작성하려고합니다. 예를 들어, 한 스타일의 아파트는 하나의 레이블로 흰색 굵은 텍스트가있는 파란색 정사각형을 갖습니다. 다른 하나는 검은 굵은 글씨로 된 분홍색 사각형입니다. 다른 하나는 흰색 굵은 글씨로 된 빨간색 사각형이 있습니다.
이 레이블의 스타일을 바꾸기 위해 arcpy에서 어떤 표현이나 함수를 사용 하시겠습니까?
현재 스크립트는 맵 코드로 아파트에 레이블을 지정하고 TOC의 이름을 아파트로 변경합니다.
이제 레이블의 글꼴, 그래픽 및 크기를 변경하여 고유 한 레이블을 만든 다음 이러한 레이어 중 하나를 수행해야 할 때마다 프로세스를 누르고 자동화하는 버튼을 만듭니다.
Python 스크립팅 (ArcPy, IDLE 등)을 사용하여 글꼴, 레이블 및 그래픽을 변경할 수있는 방법이 있습니까?
나는이 게시물을 편집하여 내가 여기에 가고있는 것에 대한 최종 설명을 제공하기로 결정했기 때문에 혼란스럽지 않습니다. 기본적으로 맵의 포인트는 위의 그림에서 다음과 같이 보입니다.
lblClass.expression
함수를 사용해 보았지만 사용 하려는 코드가 작동하지 않습니다. 나는 그것이 올바른 방향으로 나아가는 단계라고 생각합니다. 아래는 labelClass.expression을 사용하여 레이블의 글꼴을 변경하려고 시도한 일부 코드입니다.
for lblClass in aptLayer.labelClasses:
lblClass.showClassLabels = True
def getLabel (Code, Type):
if Type == "MRR":
return "<FNT name = 'Arial' size = '12'>" & Code & "</FNT>"
elif Type == "TAX":
return "<FNT name = 'Arial' size = '12'>" & Code & "</FNT>"
elif Type == "MRT":
return "<FNT name = 'Arial' size = '12'>" & Code & "</FNT>"
elif Type == "GSS":
return "<FNT name = 'Arial' size = '12'>" & Code & "</FNT>"
elif Type == "TGS":
return "<FNT name = 'Arial' size = '12'>" & Code & "</FNT>"
else:
return "<FNT name = 'Arial' size = '12'>" & Code & "</FNT>"
lblClass.expression = getLabel( [Map_Code],[Type])