ArcMapドキュメントの複数のレイヤーのデータソースを変更しますか?


9

リモートサーバーで作業しているデータのマスターコピーがあります。時々、処理時間を短縮するためにローカルドライブにコピーを作成しますが、MXDのデータソースはまだリモートサーバーを指しています。

Pythonスクリプトなどを使用せずに、ArcMapのすべてのレイヤーのデータソースをすばやく簡単に更新できるかどうか疑問に思っています。レイヤーのプロパティを使用して個々のデータソースを更新できることを知っており、回避策を使用しています。リモートサーバーへのリンクを「解除」してから、1つのレイヤーを新しいソースに向けます(TOCに赤い感嘆符が付いている場合)。これにより、他のレイヤーが相対ソースを見つけることができます。これを行うよりエレガントな方法はありますか?

回答:


12

「ArcCatalogでのマップドキュメントの「データソースの設定」ツールの使用」で説明されている手順では、ArcCatalogでのマップドキュメントのデータソースの設定ツールの使用方法について説明しています。

ArcCatalogでマップドキュメント(* .mxd)ファイルを右クリックすると、[データソースの設定]コマンドが表示されます。これによりダイアログボックスが開き、マップ内のファイルベースのデータソースへの参照の一部またはすべてを簡単に更新または修復できます。デフォルトでは、このダイアログボックスは.mxdファイルのコピーを作成します。このオプションは、公開されたマップ(.pmf)ファイルを右クリックしても使用できますが、公開されたときにArcGISアプリケーションのコンテンツへのフルアクセスを提供しないように.pmfファイルの発行者が選択した場合は無効になります。

データソースの設定ツールを使用して、ArcSDEジオデータベース内のデータへの参照を更新または修復することはできません。

データソースの設定ツールはVBAのカスタマイズをサポートしていません。VBAのカスタマイズは、出力MXDには含まれません。

現時点では、データソース設定ツールはパーソナルジオデータベースアノテーションレイヤーをサポートしていません。これは既知の制限であり、ソフトウェアの将来のリリースで修正される予定です。

手順次の手順に従って、ArcCatalogでMXDのデータソースを設定します。

  1. ArcCatalogでMXDを右クリックし、[データソースの設定]をクリックします。デフォルトでは、MXDのコピーが作成されます。コピーを使用し、元のMXDをバックアップとして保持することをお勧めします。ただし、既存のMXDは、それを選択するか、フルパスを入力することで上書きできます。
  2. データフレームまたはすべてのデータフレームを選択します。レイヤーを選択するか、[すべて選択]ボタンを押します。

  3. [置換]または[すべて置換]をクリックします。[置換]ダイアログボックスは、データへのパスに対して「検索と置換」を行います。「検索および置換」テキストを入力して、データと一致させます。たとえば、すべてのデータがC:\ GISDataにあったがC:\ GISData2に移動された場合、[検索する文字列]テキストボックスにはC:\ GISDataが表示され、[置換後の文字列]テキストボックスにはC:\ GISData2が表示されます。置換をクリックします。[データソースの設定]ダイアログボックスで[OK]をクリックします。

UCLAサンドボックスには、MXDデータソース置換スクリプトも含まれています。


これでうまくいきます。唯一のビーフは、ファイルパスを入力する必要があることです(必要なデータソースを見つけるためのブラウザーはありません)。これは大きな問題ではありません。MXD自体から実行できるかどうかを確認しますでも。
DUNカーン

1
@ダンク-1つのレイヤーを参照して変更し、その1つのレイヤーの値を指定すると、それをコピーして残りのレイヤーに一括で貼り付けることができます。
ミダバロ

@Midavaloありがとうございます。これが最善の方法であるようです。
DUNカーン

3

「データソースの修復」ツールを使用しました。レイヤーを右クリックし、[データ]、[データソースの修復]の順に選択します。新しい場所を選択します。これにより、ある場所から同じ新しい場所に移動したMXDのすべてのレイヤーが更新されます。


2

ArcMapでは、[ファイル]> [ドキュメントプロパティのマップ...]に移動し、[パス名]で[データソースへの相対パス名を保存する]をオンにします。MXDが「メイン」フォルダーにある限り、同じまたはchidフォルダー内のすべてのデータは、データソースを置き換える必要なく、他のマシンでも見つかります。MXDからデータが保存されている子フォルダーまでフォルダーツリーを保持するだけです。


1
おそらく私の質問に直接答えることはできませんが、予防策として知っておくととても良いです、ありがとう!ときに私がすることができ、今...私はこれをやって始めましょう
DUNカーン

0

1つのmxdでは、デフォルトのESRIツールで十分です。しかし、リンクが壊れた複数のmxdsを修正することは悪夢になる可能性があります。GitHubで私のUpdateLayerRefsツールを試して、無制限のMXDを数秒で修正します。

入力MXDの名前をリストとして提供するだけです["Name1.mxd"、 "Name2.mxd"、 "Name3.mxd"]


1
重複する回答は避けてください:gis.stackexchange.com/a/253545/8104。詳細はこちら:meta.stackexchange.com/q/104227
アーロン

申し訳ありませんが、行います。参考になろうとしています:)
Jeremy Swagger 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.