ArcPyを介して、ArcMapが編集セッションにあるかどうかを確認していますか?
あるフィーチャクラス属性を別の属性クラスにコピーすることで、同僚のワークフローをスピードアップするのに役立つPythonアドインボタンを作成しました。これは、arcpy.UpdateCursor関数を使用して、ターゲットフィーチャクラスの行を更新します。現在存在するため、このボタンスクリプトは編集モードに関係なく実行できます。明らかに編集セッションで実行する場合、ユーザーは編集を停止して変更を保存しないことを選択できますが、スクリプトが編集セッション外で実行される場合はそうではありません。 ArcMapが現在編集セッションにない場合にスクリプトの実行を停止するチェックをスクリプトに追加するにはどうすればよいですか? これは、ArcMap 10および10.1に関係します。 また、他のArcMapユーザーに確認して、編集セッションに参加しない限り、テーブルの更新が通常許可されないことを確認したいと思います。 では、このスクリプトは編集セッションの外でどのように実行されるのでしょうか。 このスクリプトは、リストから2番目のフィーチャクラステーブルを更新したときに、たまたま機能するArcMapが実行する一見偶然のような選択順序に関する別の質問も表示しますが、それは別の日です。 これが現在動作するスクリプトです(10.1エディター実装なし)。 ユーザーが編集セッションにいることを確認するチェックを追加するにはどうすればよいですか? def onClick(self): #Reference mxd mxd = arcpy.mapping.MapDocument("CURRENT") #Reference the main Data frame mm = arcpy.mapping.ListDataFrames(mxd, "MainMap")[0] #Reference the Water System Valve feature class waterValves = arcpy.mapping.ListLayers(mxd, "Water System Valve", mm)[0] #Reference the fire hydrant feature class fireHydrants = arcpy.mapping.ListLayers(mxd, "Water Hydrant", …