Tôi đang cố gắng viết một macro python cho ArcGIS 10.2 để tự động hóa quá trình ghi nhãn điểm trong một lớp dựa trên các loại căn hộ khác nhau. Ví dụ: một kiểu căn hộ sẽ có hình vuông màu xanh với chữ in đậm màu trắng làm một nhãn; một cái khác sẽ có một hình vuông màu hồng với chữ đậm màu đen; một cái khác sẽ có hình vuông màu đỏ với chữ in đậm màu trắng, v.v.
Biểu thức hoặc chức năng nào bạn sẽ sử dụng trong arcpy để thay đổi kiểu của các nhãn này?
Hiện tại, kịch bản gắn nhãn các căn hộ theo mã bản đồ và thay đổi tên của nó trong TOC thành căn hộ.
Bây giờ tôi muốn thay đổi phông chữ, đồ họa và kích thước của các nhãn để tạo một nhãn duy nhất cho mỗi nhãn, sau đó tạo nút để nhấn và tự động hóa quy trình bất cứ khi nào chúng tôi phải thực hiện một trong các lớp này.
Có cách nào để thay đổi phông chữ, nhãn và đồ họa bằng cách sử dụng tập lệnh Python (ArcPy, IDLE, v.v.) không?
Tôi quyết định chỉnh sửa bài đăng này để đưa ra một mô tả cuối cùng về những gì tôi sẽ làm ở đây để không có sự nhầm lẫn. Về cơ bản, các điểm trên bản đồ sẽ đi từ trông giống như hình trên đến đây:
Tôi đã thử sử dụng lblClass.expression
chức năng, tuy nhiên mã tôi đang cố sử dụng không hoạt động. Tôi nghĩ rằng đó có thể là bước đi đúng hướng. Dưới đây là một số mã mà tôi đã cố gắng sử dụng chỉ để lấy nhãnClass.expression để thay đổi phông chữ của nhãn.
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])