方法

ArcPy を使用してマップ ドキュメントのエンタープライズ ジオデータベースのデータ ソースを更新する

Last Published: September 28, 2021

サマリー

データ ソースを修復したり、異なる場所にリダイレクトしたりする必要がある理由はさまざまです (新しいコンピューターへの移行など)。 影響を受けたすべてのマップ ドキュメントを手動で更新することは困難になる可能性があります。 arcpy.mapping スクリプト環境を使用すると、マップ ドキュメントを開かなくても、共通のワークスペースで個々のレイヤーまたは同時にすべてのレイヤーのデータ ソースを自動で更新できます。

手順

ArcPy を使用してエンタープライズ ジオデータベースのデータ ソースを更新する手順を次に示します。

  1. 必要なモジュールをインポートして、マップ ドキュメントの場所を指定します。
import arcpy mxd = arcpy.mapping.MapDocument(r"mxd_source_location")
  1. 新しいエンタープライズ ジオデータベースのデータ ソース パスを指定します。
new_sdeworkspace_path = r"new_enterprise_source_location"
  1. マップ ドキュメントで使用可能なレイヤーをループ処理し、古いソースをステップ 2 で指定した新しいソースに置き換えます。
for lyr in arcpy.mapping.ListLayers(mxd): print lyr.name lyr.replaceDataSource(new_sdeworkspace_path, "SDE_WORKSPACE")
  1. マップ ドキュメントを保存します。
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

記事 ID:000017448

ArcGIS の専門家からヘルプを受ける

テクニカル サポートへのお問い合わせ

Esri Support アプリのダウンロード

ダウンロード オプションに移動

関連情報

このトピックについてさらに調べる