Archive for the Tag 'ArcGIS'

Index polygonを作るArcScriptの紹介

以前、複数のラスタの配置図を作るという記事でインデックスポリゴンの作成方法を紹介しましたが、もっと使いやすいArcScriptが公開されていましたのでご紹介します。

Create Raster Index Shapefile

インストールは、インストーラーがついていますので、setup.exeをダブルクリックし、インストール先フォルダを選択するだけです。

ボタンを表示するには、
ツール>カスタマイズ>コマンド>Query Tools>Create Raster Index Shapefile
とすすみ、適当な所にボタンを配置します。

設定は以下の通り、誰でも分かる簡単な内容です。

  • Input Folder:ラスタが入っているフォルダを選択
  • Output Shapefile:保存先及び名前を指定
  • Process Subfolders:サブフォルダも検索してくれます
  • Project polygons WGS84:座標系をWGS84に変換してくれます

あとは、Create Indexボタンを押せば、サブフォルダにあるラスタデータも全て統合した、使いやすいインデックスポリゴンを作成してくれます。進捗率だけではなく、どのファイルを処理中かも表示されますので、本当に作業中なのか不安になることがありません。

で、出来上がるシェイプファイルも扱いやすい。ジオメトリが壊れているのでそのままでは使えなかったり、パス名が長いと途中でパス名が切れてしまうような、困った仕様ではありません。

属性テーブルも扱いやすいです。

  • Shape:当然Polygon
  • NAME:ファイル名
  • PATH:ファイルの保存先(ファイルパス)&ファイル名
  • FORMAT:ファイル形式(TIFFとかJPEG)
  • COMP:圧縮タイプ(無圧縮ならNone)
  • PYRAMID:ピラミッドの有無(作成済みだとTrue)
  • BANDS:バンド数
  • PIXEL_TYPE:画素タイプ(8ビットとか)
  • SP_REF:そのラスタが設定されている空間参照
  • UNIT:単位
  • SIZE_X:ピクセルサイズX(X方向の画素数)
  • SIZE_Y:ピクセルサイズY(Y方向の画素数)
  • COLS:何かを基準にした列数
  • ROWS:何かを基準にした行数
  • X_MIN:X座標の最小値
  • X_MAX:X座標の最大値
  • Y_MIN:Y座標の最小値
  • Y_MAN:Y座標の最大値

これだけの情報がリスト化されていれば、属性で表示すべきラスタをフィルタリングしたり、ハイパーリンクを付けたりが容易ですね。コレは、誰にでもお勧めできて、ぜひ常用したいArcScriptです。

オーバーフローアノテーションエラーの対処法

ArcGISで綺麗にレイアウトを行うために、ラベルの配置位置を微調整する場合があります。ラベルを自由に移動できるようにするには、レイヤを右クリックすると出てくるメニューより「ラベルをアノテーションに変換」を実行します。

ただ、これがくせ者で、全て変換されない場合があるのです。その時に表示されるエラーダイアログが「オーバーフローアノテーション」です。

このエラーダイアログには、配置できなかったアノテーション(ラベル名)がズラズラと表示されていますので、一つ一つ選択して右クリックし、「アノテーションの追加」を実行してください。

AutoCADで言うところのオフセットをしたい

ArcGISにはオフセットというコマンドがありません。
ただし、機能が無いかというと、コマンド名が違うだけです。

ArcGISのツールバーより、

  1. エディタ>編集の開始
  2. オフセットしたい線を選択
  3. 『平行コピー』を選択
  4. 距離(長さ)やサイド(オフセットする方向)を指定すれば、OKです。

『平行コピー』という名称からは、オブジェクトを平行にコピーするだけの機能と受け取ってしまいますが違います。
AutoCADのオフセットコマンドのように、指定したポリラインから一定の距離を保ちつつ、元のポリライン形状と同じようなポリラインを作図してくれます。

平行コピー機能に気づかないと、ポリラインをバッファ処理して、ジオメトリ変換ツールでポリラインに直して、余計なところを削除、、、とかやってしまいそうですね。

ArcGIS9.0でエラーが出てインストールできない場合の対処法

windowsXP_SP2がインストールされているパソコンに、ArcGIS9.0をインストールしようとすると、以下のエラーメッセージが出てインストールが止まってしまう場合があります。 

Error 1904: failed to register c:\Program Files\ArcGIS\Bin\3dsymbolsui.dll
or
Error 1904: failed to register c:\Program Files\ArcGIS\Bin\xmlsupportui.dll

ESRIのサポートページに書いてあるのですが、サポート料金を払っていないと見えないため、サポート切れの人は情報を知ることができません。

  1. Cドライブに、boot.iniというファイルがあるのでメモ帳などで開く。
  2. [operating systems]という行の下に
    “Microsoft Windows XP Professional” /fastdetect /NoExecute=OptIn
    等と書いてあるのを確認。
  3. [/NoExecute=OptIn] の部分を[/NoExecute=AlwaysOff]に変更して保存する。
  4. パソコンを再起動すれば、インストール可能な状態になります。

○十万円するソフトなのですから、致命的なエラーに対する対処方法くらい、サポートに入っていなくても知ることができて然るべきだと思うのですが・・・。

複数のポリゴンを1つにするには?

同じシェイプファイル内であれば、エディタツールバーの中にあるマージを使います。

複数のシェイプファイルから1つのポリゴンを作成するには、ArcToolbox(赤いアイコン)にあるマージを使います。

ArcToolbox > データ管理ツール > 一般 > マージ

ただ、マージしただけだと元々のファイルの境界線が残ってしまいます。すこしでもスッキリさせたい場合には、さらにArcToolboxにあるディゾルブを使うとよいでしょう。

ArcToolbox > データ管理ツール > ジェネラライズ > ディゾルブ

ディゾルブコマンドでは、複数のシェイプを何も考えずに1つのポリゴンにしてしまう事も可能ですし、もし元々のポリゴンに属性を持たせているのであれば、その属性値をもとにくっつけることもできます。例えば同じ市町村名ごとに結合させるとか、地目ごとに合成させる等が可能です。