概要
Python を用いて選択したフィーチャのみを表示する方法をご紹介します。Python からレイヤのフィルタ設定を行っています。
今回は、マップに追加している一番上位のレイヤを対象としています。あらかじめフィルターで表示したいフィーチャのみを選択してから、以下のサンプル コードを実行してください。
Python サンプル コード
# coding:cp932
#
#-------------------------------------------------------------------------------
# Name: DispSelectFeature
# Purpose: 選択したフィーチャのみを表示
#
# Author: ESRI Japan
#-------------------------------------------------------------------------------
import arcpy
mxd = arcpy.mapping.MapDocument("current")
lyr = arcpy.mapping.ListLayers(mxd)[0]
cur = arcpy.SearchCursor(lyr)
list = []
desc = arcpy.Describe(lyr)
OID = desc.OIDFieldName
for row in cur:
list.append(row.getValue(OID))
lyr.definitionQuery = '"' + OID + '" IN' + str(list).replace("[","(").replace("]",")")
arcpy.RefreshActiveView()
arcpy.SelectLayerByAttribute_management(lyr,"CLEAR_SELECTION")
こちらのサンプルはあくまでもコーディングの見本であり、実行時に発生したエラーの対処方法につきましては、サポート対象外とさせていただきます。また、操作方法やソースコードに関するご質問は別途有償の開発者サポート契約にてご対応させていただきます。なお、コードを実行して生じたいかなる損害についても弊社では責任を負いかねます。
このナレッジはお役に立ちましたか?
フィードバックをいただきありがとうございます!