torutkのブログ

ソフトウェア・エンジニアのブログ

GISコミュニティフォーラム(第0日)

地理情報システム(GIS)関連で世界有数の企業であるEsri社製品(代表製品がArcGIS)の日本総販売代理店ESRIジャパンが主催する年1回の国内GIS関連セミナー、展示会「GISコミュニティフォーラム」が今年も5/29-31に開催されています(参加費無料)。場所は六本木の東京ミッドタウンです。
http://www.esrij.com/events/gcf/gcf2013/

ArcGISは、個人で使用するには少々値が張るソフトウェアですが、GISに必要な機能が一揃い整っており、GISソフトウェアでは一番メジャーな製品です。3年前に仕事で使う機会があり、それ以来ちょこちょこと使っているソフトウェアです。

今日は、プレセミナー・フォーラムという位置づけで、GIS技術に関するセミナーが午後開催されました。5並行トラック5コマで、すこし選択になやむところがあったのですが、以下セッションを聴講しました。

  • SQLと空間データベース
  • 今日から使える!ジオプロセシングツール活用
  • ラベリングのヒントとコツ〜地図の注記にとことんこだわろう
  • ArcGIS Runtime SDK for WPF で軽量デスクトップ アプリ開発
  • そうだったのか! ArcObjects

SQLと空間データベース

ArcGISGISのデータをジオデータベースとよぶ形で管理しており、ジオデータベースを管理するデータベースには、ファイルシステムの他、いくつかのRDBMSを使うことができます。OracleSQLServerPostgreSQLDB2が選択可能です。標準で地理データ型を有するSQLServerを除いて、地理データ型の拡張オプションが必要になります。
ArcGISソフトウェアを介してジオデータベースをアクセスする以外に、ArcGISのバックエンドで動くRDBMSSQLを使って直接アクセスすることが可能です。そのときの使い方、注意点などを紹介するセッションです。

なんとなく聴講したのですが、ArcGISファイルシステムでしか使ったことがなく、またSQLの知識も少ないので、ちょっと難易度が高かったかなと思います。

なお、講師の方がSQLの本ならこれが一番と薦めていた本がこれです。最新の第4版の日本語訳書がつい最近出たばかりとのことです。

プログラマのためのSQL 第4版

プログラマのためのSQL 第4版

今日から使える!ジオプロセシングツール活用

ArcGISには、地図データに対する各種処理を行うジオプロセシングツールが多数(数百個)搭載されています。今回はこのツールを使うときに便利なテクニックをいくつか紹介していました。
まず、ArcGIS上でツールを選択すると大抵処理の入力データと出力先を指定するのですが、この入力欄にレイヤをドラッグ&ドロップすることができるのはこのセッションで初めて知りました。複数選択してドラッグ&ドロップもできます。
つぎに、モデルビルダーを使って複数のツールの入出力をデータフロー図のようにビジュアルにつなぐと大きな一つの処理ができあがるというモデル機能の紹介がありました。ある種のビジュアルプログラミングですが、GISデータのようにIPOが明確な処理ではよく適合します。繰り返しや条件分岐もデータフロー図から逸脱しないよう工夫されて作られています。

しかし、この手のビジュアルな操作はマニュアル(ヘルプ)を読んでもよく分からないので、実際に使っているところを見るに限ります。

ラベリングのヒントとコツ〜地図の注記にとことんこだわろう

地図に記載される文字は、よく考えられて配置されています。川に沿って河川名が書かれているのをみると、芸術的にレイアウトされています。また、交差点名、駅名、建物名なども巧みに配置されています。

こうした配置を制御するのがラベリング機能です。ある意味職人芸な作業をうまく制御しているラベリング機能はすごいです。

ArcGIS Runtime SDK for WPF で軽量デスクトップ アプリ開発

ArcGISを、お仕着せのツールを使うのではなく自分たちで作るアプリケーションの中に地図表示するところで使う場合、今まではArcObjectsと呼ばれるライブラリ群を使っていましたが、それとは別に昨年新たにリリースされたArcGIS Runtime SDKを使うことも可能です。

ArcGISのArcObjectは数千個のクラス群からなる巨大ライブラリで機能豊富な反面、Microsoft COM形式のAPIC++Java、.NETのラッパーAPIはあるがCOMの流儀を色濃く残している)を使うので癖があること、全体/詳細を把握するのが大変なことなど課題もあります。また、現時点では32bit版しか提供されていないので、複雑なアプリケーションを作るとメモリ不足に陥ります。

そこで、Java、.NET、次のバージョンからC++(Qt)でネイティブに作られたライブラリが新たに作られました。32bit/64bit対応です。APIも新規に作られ、アプリケーションの配布も簡単になっていますが、機能はArcObjectsに比べ少ないのでちょっと微妙かも。ただ、アプリケーションを実行するマシンへのランタイム費用が安くなって(Basic版は無償)、コストを重視するとRuntimeがよい選択かもしれません。

ちなみに現時点ではESRIジャパンが日本国内で正式サポートするのは.NET版で、JavaとQtは検討中という記載がありました。

そうだったのか! ArcObjects

ArcGISのアドインを作るとき、フルスクラッチGISアプリケーションを開発するときに使うライブラリです。先に書いたとおり巨大なライブラリなので、いろいろ情報が欲しくなるのですが、このセッションでは開発情報のありかについても紹介していたので役立ちました。

感想のようなもの

GISコミュニティフォーラムは昨年も参加しました。昨年は、投影法、きれいな地図の作り方といった地図よりなセッションを聞いていましたが、今年はArcGISツールに関するものばかりとなりました。

地図やGISについての基本的な知識を説明しているセッションから、ArcGISを使っている人向けの濃い内容、開発者向けの内容と選択肢が豊富です。ArcGISをつかったことがなくても地図としての知識を得ることができます。

参加者も結構多く、セッションによってはほぼ満席ということもあります。受付がさばききれず、開始時間が5分延長になるほどでした。

さて、明日からは展示、事例紹介、技術セッションなどが織り交ざったフォーラムとなります。