FAQ
ArcPy (ArcMap): 選択したフィーチャのラベルを表示する

ナレッジ番号:2839 | 登録日:2023/05/29 | 更新日:2024/11/21

概要

Python を用いて選択したフィーチャのラベルを表示する方法をご紹介します。

マップに追加している一番上位のレイヤを対象としています。

Python サンプル コード

変数 exp に代入するラベル条件式(フィールド名)は適宜変更してください。あらかじめフィーチャを選択してから実行してください。

# coding:cp932
#
#-------------------------------------------------------------------------------
# Name:          ShowLabel_SelectFeature
# Purpose:      選択したフィーチャのラベルを表示
#
# Author:        ESRI Japan
#-------------------------------------------------------------------------------

# ArcPy サイト パッケージのインポート
import arcpy

mxd = arcpy.mapping.MapDocument ("current")
df = arcpy.mapping.ListDataFrames(mxd)[0]
lyr = arcpy.mapping.ListLayers(mxd,"",df)[0]

Label = lyr.labelClasses[0]
exp = '[SIKUCHOSON]'

desc =arcpy.Describe(lyr)
FIDField = desc.OIDFieldName
cur = arcpy.SearchCursor(lyr)
IDs = []
for row in cur:
    IDs.append(row.getValue(FIDField))
strIDs = str(IDs)

sql = '"' + FIDField + '" IN' + strIDs.replace("[","(").replace("]",")")
Label.expression = exp
Label.SQLQuery = sql
lyr.showLabels = True
arcpy.RefreshActiveView()

こちらのサンプルはあくまでもコーディングの見本であり、実行時に発生したエラーの対処方法につきましては、サポート対象外とさせていただきます。また、操作方法やソースコードに関するご質問は別途有償の開発者サポート契約にてご対応させていただきます。なお、コードを実行して生じたいかなる損害についても弊社では責任を負いかねます。

メタデータ

種類

製品