さまざまなタイプのアパートメントに基づいて、レイヤー内のポイントにラベルを付けるプロセスを自動化するArcGIS 10.2用のPythonマクロを記述しようとしています。たとえば、1つのスタイルのアパートメントには、1つのラベルとして白い太字のテキストが付いた青い正方形があります。もう1つは、太字の黒いテキストが付いたピンク色の四角形です。もう1つは、白い太字のテキストが付いた赤い正方形などです。
これらのラベルのスタイルを変更するには、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])