選択したフィーチャからレイヤーを作成しても、ダイナミックレイヤーは作成されません。結果のレイヤーは動的ではありません。FIDsetに基づいています。
ソースデータを変更すると、FIDが変更され、選択レイヤーが破損します。
選択レイヤーにはwhere句はありません。FIDset(「選択したフィーチャからレイヤーを作成」を使用したときに選択されたFID)に基づいています。
ソースデータにレコードを追加または削除すると、FIDが変更され、選択レイヤーに誤ったレコードが表示されることに注意してください。
選択レイヤーとクエリーレイヤーを混同しています。クエリーレイヤーはwhere句を格納し、動的です。
編集:選択レイヤーのフィーチャのリストはメモリに保存されます。選択レイヤーが壊れると元の選択を回復する方法がないため、一時的な作業以外の選択レイヤーを使用することは悪い習慣です。
選択レイヤーでフィーチャのリストを検索するには、SearchCursorなどのさまざまな方法を使用してIDのリストを作成できます。
このようなもの:
OIDlist = []
with arcpy.da.SearchCursor(layer, 'OBJECTID') as scur:
for row in scur:
OIDlist.append(row[0])
crmackeyのコメントから:
また、describeを使用してFIDSetを取得する組み込みの方法もあります。これは文字列ですが、リストに簡単に変換できます。
OIDlist = map(int, arcpy.Describe(layer).FIDSet.split(';'))