1

金曜日に Python を使い始めたので、かなり基本的なレベルです。いくつかのレイヤーを持つ .mdx があり、特定の名前付きインスタンスを一気に削除したいと考えています。

そのため、「複数の or」を使用してレイヤーを選択し、それらを ToC から削除します (ディスクからは削除しません)。以下の「if」行はどちらも機能しません。

# Remove source features from TOC
for lyr in arcpy.mapping.ListLayers(mxd, "", df):

 if (lyr.name == "name1") or (lyr.name() == "name2") or (lyr.name() == "name3"

 if (lyr.name == ("name1" or "name2" or "name3"):

   arcpy.mapping.RemoveLayer(df, lyr)

ご提案いただきありがとうございます。

4

1 に答える 1

0

アルゴリズムはわかりませんが、次のものが必要だと思います。

for lyr in arcpy.mapping.ListLayers(mxd, "", df):
    if lyr.name() in ['name1', 'name2', 'name3']:
        arcpy.mapping.RemoveLayout(df, lyr)
于 2013-04-29T12:44:12.873 に答える