Archive for the 'ArcGIS' Category

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

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

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

超高速3次元データビューアー

航空レーザー測量により取得したデータは、広範囲の標高をある程度正確に取得できて大変有用なのですが、ノーマルのArcGISでは描画が遅くイライラします。

そこで、3次元の点の集まりであるレーザープロファイラデータの処理に特化したフリーソフトの紹介です。また、同サイトでは、xyz座標が記載されたcsvテキストファイルをASCII Gridに変換するフリーソフトも公開されています。ArcGISのプラグインではなく、単体で動くソフトです。

このソフトが無料とは信じられません。これはすごいです。

以下に紹介するどちらのソフトも、日本語化されていませんが、ごくごく簡単な英語なので、誰でも使えます。また、ライセンス取得等も必要がないので、ソフトをダウンロードしたらすぐに使えます。インストール自体は、特にオプションはないので迷わず行えます。

■超高速3次元ポイントビューアー
LViz - LiDAR / ALSM 3D Visualization tool
http://lidar.asu.edu/LViz.html (LViz-1.4.1.1.exe)

●LVizの使い方

  1. x,y,z座標が記載されたテキストを用意します。
  2. LVizを起動します。
  3. メニューの『Import』から、『Import Multi-Column Point Cloud File』を選択
    Filename > 座標を記載したファイルを指定
    File Delimeter > csvファイルの区切りを指定
    Get Headersをクリック
    X,Y,Z > 表示したい列を選択する。csvファイルにidとかが記載されている場合は、適宜指定する。
  4. Importが終わると、ArcGISやAutoCADでは考えられないような描画スピードで、膨大なポイントデータを表示してくれます。

■テキストからラスタ(ASCII Grid)に高速変換するソフト
GEON Points2Grid Utility
http://lidar.asu.edu/points2grid.html (GEON-points2grid-Utility-Setup-v1_3.exe)

●GEON Points2Gridの使い方

  1. x,y,z座標が記載されたテキストを用意します。
  2. GEON points2Gridを起動します。
  3. いきなり入力ダイアログが表示されるので、適宜入力する。
    Input File > 上記テキストを指定
    Grid Type > Min,Max,Mean,IDW,Point Countのうち好きなのを選択
    Algorithm Parameters > Grid Resolution 例えば10mメッシュが欲しければ10と入力
    Search Radius Value 特に変更不要
    Output Directory > 出力先フォルダを指定
    Output File > ファイル名を指定
  4. あとは、OKボタンを押すだけで、あっという間にラスタ変換が終わります。

これでフィルタリング処理もできれば最高ですが、フリーソフトでここまで出来れば文句ありませんね。

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

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

ArcGISのツールバーより、

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

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

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

フリーのGISソフトQGIS(Quantum GIS)を試してみる

QGISは、シェイプファイルやラスタファイルを扱える、割と扱いやすいオープンソース(フリーソフト)のGIS(地理情報システム)です。

QGISの特徴としては、以下のような事が言えます。
・フリーソフトなので、ライセンスが不要。
・見た目がESRI社のArcGISに似ているので、ArcGISが使える人は直感的に扱いやすい。
・ArcExplorerよりも動作が安定して高速、また編集も可能。
・GRASSというGISの機能の一部をプラグインとして使用することができる。
 ※GRASSもWindowsにインストールできますが、日本語化されていませんし、QGISの方が見た目が綺麗でとっつき易い。
  QGISに慣れてからGRASSを扱うと良いのではないかと思います。

まずは、使えるようにしてみましょう。

1.公式ページにアクセス
http://qgis.org/

2.ダウンロードページを開く
http://download.qgis.org/downloads.rhtml

3.PlatformがWindowsになっているファイルをダウンロード
 (Macを使っている方はPlatformにMacを選択する)
http://download.osgeo.org/qgis/win32/QGIS-0.10.0-Setup.exe

4.インストールは、上記ファイルをダブルクリックするだけでOKです。

■扱えるファイルについて

扱えるベクタファイルは、OGRというライブラリによりサポートされており、GIS処理でよく用いられるShapeファイル、Mapinfo Fileなどを扱えます。詳しく知りたい人は以下URLで確認してください。
http://www.gdal.org/ogr/ogr_formats.html

ラスタファイルはGDALというライブラリによりサポートされており、GIS処理でよく用いられる、GeoTIFF、USGS ASCII DEM、ArcSDE Raser、ArcInfo ASCII Gridなどを扱えます。詳しく知りたい人は以下URLで確認してください。
http://www.remotesensing.org/gdal/formats_list.html

■日本語の扱いについて

QGISでは、日本語(マルチバイト文字)を含むファイルについても、普通に扱うことができます。
ファイル名が日本語でも問題ないですし、テーブル名に日本語を使っていても問題ありません。

QGISのメニューやダイアログは一部日本語化されていますが、英語の表示となっている箇所が多数あります。
難しい英語は少ないので何とかなると思いますが、若干古いですが以下のページにQuantumGISのユーザガイド日本語訳PDFがありますので、必要ならご確認ください。
http://ebisushi.srv7.biz/

■測地系について

ArcGISとは異なり、配置したシェイプファイル等の測地系を自動的に認識してくれません。そのため、配置したオブジェクト同士の位置関係が変なときは、測地系があっているか確認してください。

●GRASS
最新版のGRASS6は以下のページよりダウンロードできます。
http://grass.itc.it/
※windows版があります

GRASS5であれば、日本語版を以下のページよりダウンロードできます。
http://www.orkney.co.jp/product/grassgis
※Linux版のみです