The GIS Professional Group

ArcCatalogでフォルダ内のフィーチャクラスを効率よく取得する方法

2010/7/14 (水)

後輩からこんな質問を受けました。

「あるフォルダに47都道府県の子フォルダがあり、その中一つずつジオデータベースがあります。ジオデータベースにはたくさんのフィーチャクラスがあるんですが、これらすべてのフィーチャクラスにすべてメタデータをインポートしたいです。今日はノー残業デーなので早く帰りたいです。」

かわいい後輩のためなら仕方がないと一肌脱ぎました。

フォルダの再帰検索をやればいいんだろうとは思ったんだけど、ぱっと思いつかなかったので楽にコードをかける方法を考えました。

ArcCatalogの検索機能を使うと指定したフォルダ以下を指定したデータ タイプに絞り込んで検索してくれます。検索結果はカタログ ツリーのSearch Results以下にSearchResultsオブジェクトとして取得できるので、これをIEnumObject::Next()で取得する方がコード量的にも簡単でした。コードにはメタデータのインポート方法は割愛して ます。

 

手順は以下のとおりです。

  1. [ArcCatalog] → [編集]メニュー → をクリック
  2. ダイアログで任意の条件を指定してボタンをクリック
  3. 結果がカタログ ツリーの[Search Results] → [マイ サーチ](デフォルト名)として出力されるので、これを選択
  4. 以下のマクロをArcCatalogに貼り付けて実行

後で再帰検索の方法も考えてみました。

「ありがとうございます。助かりました。」後輩と固く握手を交わし、彼女は定時で帰っていきました。

自分はノー残業できなかったです。

フォルダの再帰検索をやればいいんだろうと考えたのがこれ。コードにはメタデータのインポート方法は割愛して ます。

  • B!