一度に数千のデータ(シェープとJPG画像)に投影法を定義することになった.なぜってそりゃあ,投影法が定義されていないデータだから(涙).
ArcView3の頃は,シェープファイルが入ったフォルダを指定するとそのフォルダに入っているシェープを一挙に投影法定義をしてくれる機能があった気がするのだが,最近のArcGISではフォルダを選択しようとしてもフォルダの階層を降りて行くだけのむなしーやり取りをArcGISとの間でしていた.
うーんしかし,めんどっちすぎる.どうにかならないものかと思い,方法を探してみたらArcToolboxのバッチ処理というトピックを発見した.ツール名上を右クリックして「バッチ」と選ぶと,複数の入力ファイルを選択し処理を実行できるモードでそのツールが起動する.
入力ファイルの方はArcCatalogを開いておいて,そこからファイルをえいやっとドラッグすれば指定ができる.バッチっぽく手間なしだ.
しかし肝心の投影法の方は,1つ1つその行(というかセル)をダブルクリックして,投影法を指定するか,一度指定した投影法の定義(.prjの中身そのもの)をコピーして,1行1行ペーストするかしかやりようがなかった.というより,その方法しか知らなかったし,ESRIのページを検索しても「コピペしなさい」って書いてあるし.
おかげさまで,数千のファイルにそれを設定したときは,右腕が痛かったですわ.
ここまでが前回投影法を定義した時のお話.ArcGISのバージョンは9.3だった.
で,また投影法をたくさん定義することになった.今回はArcGIS10だ.「何かもっと方法があるんでは」とまた思い直し,いろいろかちかちとバッチモードのArcToolboxをいじっていたら,「他の行に適用」という選択肢があるではないか.
ArcToolboxのパラメタ(入力ファイル名とか,投影法名とか)を指定するセルを右クリックするとこの選択肢が出現する.おおー!もしかして超便利?!
試しに「他の行に適用」してみたのだが,全然他の行に適用されない.ちぇー.バグ?それとも私のオペちょん?
ちょっとがっかりしつつ少し考えてみて,適用したい行を選択した状態(行番号をクリックして水色になった状態)にしてから,値が入ったセルに戻って「他の行に適用」するとうまくいくことが分かった.ぶらぼー.
ただし,空白セル上で「他の行に適用」すると,行を選択していなくてもそれは適用されて,今までパラメタを指定した内容まで消えるので注意が必要だ.
#やっぱりちょっとバグっぽいと思う.ぼそ.
9.3の時はこんな選択肢あったかなー.記憶が定かじゃないけど,バッチ処理するときセルを右クリックしたことがなかったから,もしかするとあったのかもしれない.
パイソンとかがすらすら書ければこんな苦労はしないんだろうけど...まぁ,バッチが本当にバッチっぽく処理が実行できるようになってよかったことよ.
ArcView3の頃は,シェープファイルが入ったフォルダを指定するとそのフォルダに入っているシェープを一挙に投影法定義をしてくれる機能があった気がするのだが,最近のArcGISではフォルダを選択しようとしてもフォルダの階層を降りて行くだけのむなしーやり取りをArcGISとの間でしていた.
うーんしかし,めんどっちすぎる.どうにかならないものかと思い,方法を探してみたらArcToolboxのバッチ処理というトピックを発見した.ツール名上を右クリックして「バッチ」と選ぶと,複数の入力ファイルを選択し処理を実行できるモードでそのツールが起動する.
入力ファイルの方はArcCatalogを開いておいて,そこからファイルをえいやっとドラッグすれば指定ができる.バッチっぽく手間なしだ.
しかし肝心の投影法の方は,1つ1つその行(というかセル)をダブルクリックして,投影法を指定するか,一度指定した投影法の定義(.prjの中身そのもの)をコピーして,1行1行ペーストするかしかやりようがなかった.というより,その方法しか知らなかったし,ESRIのページを検索しても「コピペしなさい」って書いてあるし.
おかげさまで,数千のファイルにそれを設定したときは,右腕が痛かったですわ.
ここまでが前回投影法を定義した時のお話.ArcGISのバージョンは9.3だった.
で,また投影法をたくさん定義することになった.今回はArcGIS10だ.「何かもっと方法があるんでは」とまた思い直し,いろいろかちかちとバッチモードのArcToolboxをいじっていたら,「他の行に適用」という選択肢があるではないか.
ArcToolboxのパラメタ(入力ファイル名とか,投影法名とか)を指定するセルを右クリックするとこの選択肢が出現する.おおー!もしかして超便利?!
試しに「他の行に適用」してみたのだが,全然他の行に適用されない.ちぇー.バグ?それとも私のオペちょん?
ちょっとがっかりしつつ少し考えてみて,適用したい行を選択した状態(行番号をクリックして水色になった状態)にしてから,値が入ったセルに戻って「他の行に適用」するとうまくいくことが分かった.ぶらぼー.
ただし,空白セル上で「他の行に適用」すると,行を選択していなくてもそれは適用されて,今までパラメタを指定した内容まで消えるので注意が必要だ.
#やっぱりちょっとバグっぽいと思う.ぼそ.
9.3の時はこんな選択肢あったかなー.記憶が定かじゃないけど,バッチ処理するときセルを右クリックしたことがなかったから,もしかするとあったのかもしれない.
パイソンとかがすらすら書ければこんな苦労はしないんだろうけど...まぁ,バッチが本当にバッチっぽく処理が実行できるようになってよかったことよ.