方法
データ ソースを修復したり、異なる場所にリダイレクトしたりする必要がある理由はさまざまです (新しいコンピューターへの移行など)。 影響を受けたすべてのマップ ドキュメントを手動で更新することは困難になる可能性があります。 arcpy.mapping スクリプト環境を使用すると、マップ ドキュメントを開かなくても、共通のワークスペースで個々のレイヤーまたは同時にすべてのレイヤーのデータ ソースを自動で更新できます。
ArcPy を使用してエンタープライズ ジオデータベースのデータ ソースを更新する手順を次に示します。
import arcpy mxd = arcpy.mapping.MapDocument(r"mxd_source_location")
new_sdeworkspace_path = r"new_enterprise_source_location"
for lyr in arcpy.mapping.ListLayers(mxd): print lyr.name lyr.replaceDataSource(new_sdeworkspace_path, "SDE_WORKSPACE")
mxd.saveACopy(r"save_location_path") del mxd
以下に、完全なスクリプト例を示します。
import arcpy mxd = arcpy.mapping.MapDocument(r"E:\Data\Mxd\test\old.mxd") new_sdeworkspace_path = r"E:\Data\Connections\GISADMIN@GEODATA.sde" for lyr in arcpy.mapping.ListLayers(mxd): print lyr.name lyr.replaceDataSource(new_sdeworkspace_path, "SDE_WORKSPACE") mxd.saveACopy(r"E:\Data\Mxd\test\new.mxd") del mxd
ArcGIS エキスパートのサポートを受ける
Esri Support アプリのダウンロード