回答:
ArcCatalogでmxdを右クリックし、[データソースの設定]をクリックして、そこから一括変更します。ただし、このツールは警告します:
注:このダイアログの主な目的は、公開するマップドキュメントを準備することです。このダイアログを使用してデータソースを更新すると、カスタマイズ(VBAコード、UIコントロール、カスタムツールバー)、グラフ、およびテーブルウィンドウの外観プロパティが.mxdファイルから削除されます。これらを保持するには、代わりにArcMapのデータソースを更新します。
また、arcpy.mapping pythonライブラリを使用することもできます。
ArcGIS 10を使用していて、Pythonの使用に関心がある場合は、arcpy.mappingを使用したデータソースの更新と修正およびLayerオブジェクトのメソッドに関するヘルプを参照してください。
例:
import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project_SDE1.mxd")
mxd.findAndReplaceWorkspacePaths(r"Database Connections\Connection to GISSDE1.sde",
r"Database Connections\Connection to GISSDE2.sde")
mxd.saveACopy(r"C:\Project\Project_SDE2.mxd")
del mxd
レイヤーのソースがすべて同じ元の接続ファイルではない場合、または新しいSDEでターゲットフィーチャクラス名が異なる場合は、Layer.replaceDataSource
代わりに使用する必要があります。
これにより、MXD内のレイヤーを含むすべての赤い感嘆符が削除され、新しく作成されたデータソースがポイントされます。一度にこれを行うことができます。毎回赤い感嘆符をクリックして、データソースをクリックして設定する必要はありません。
http://arcscripts.esri.com/details.asp?dbid=14922
リンクは、GDKツールと呼ばれる古いArcscriptへのリンクであり、他のサイトから入手できます。プログラムは、選択したレイヤー(必要な任意のレイヤー。これはSDE接続またはSDEからローカルファイルジオデータベースへのソース間で変更可能)のソースを変更できるツールバーを作成します(SDEの名前はSDEユーザー、そしてドット。
これは非常に便利ですが、おそらくarcgis 9.3のみで可能です
1つのmxdでは、デフォルトのESRIツールで十分です。しかし、リンクが壊れている複数のmxdを修正するのは悪夢です。UpdateLayerRefsツールを試して、無制限のMXDを数秒で修正します:https : //github.com/jswagger/UpdateLayerRefs 入力MXDの名前をリストとして提供するだけです["Name1.mxd"、 "Name2.mxd"、 "Name3.mxd "]
この記事は古いようですが、これを機能させることはできません:コードは次のとおりです:
import arcpy, glob
#specify MXD location to change source data
mxd = arcpy.mapping.MapDocument(r"C:\\Users\\jrender\\Documents\\LandbaseEditing PreProd Pub Check.mxd")
workspaceCurrent = r"Database Connections\Connection to PP_GISLand_Landbase.sde"
workspaceTarget = r"Database Connections\Connection to PP_Publication_GISLand.sde"
mxd.findAndReplaceWorkspacePaths(workspaceCurrent, workspaceTarget)
#save a new copy of MXD
mxd.saveACopy(r"C:\Users\jrender\Documents\LandbaseEditing PreProd Pub Check Repathed.mxd")