OpenJUMPの導入

これまでの記事で何度かOpenJUMPが登場してきています。
せっかくですので、導入方法と簡単な使い方をご紹介します。

OpenJUMPとは

以前の記事でもご紹介しましたが、OpenJUMPは、JTS(Java Topology Suite 幾何計算ライブラリGEOSのJava版)などを開発していたカナダのViVid Solutions社が開発していたデスクトップGISです。
特徴は、QGISに比べて動作が軽い点と、すべてJavaで作られている点だと思います。ただ、機能的には圧倒的にQGISの方が豊富ですし、特にOpenJUMPはラスター関係の機能が弱いように感じます。
OpenJUMPはSOURCE FORGEで公開されており、現在の最新バージョンは1.14.1-r6147(2019.3.14)です。ここ1年近く更新がなく心配な状況です。
画面は以下のような感じです。

OpenJUMPの画面

物件のダウンロードと起動

1.物件のダウンロード
OenJUMPはSourceforgeにて実行モジュールとソースが公開されています。最新版は、下記からダウンロードします。
https://sourceforge.net/projects/jump-pilot/files/OpenJUMP/1.14.1/
ダウンロードするファイルは、以下がよいでしょう。
OpenJUMP-Portable-1.14.1-r6147-PLUS.zip

2.起動準備
起動の前にはJavaの実行環境(JREでよいです)を導入しておいてください。
その後、 物件を適当なフォルダーに解凍します。

OpenJUMP-1.14.1-r6147-PLUS
├─bin
│ └─OpenJUMP.app
├─lib
│ ├─ext   (プラグイン用ディレクトリ)
│ │ ├─BeanTools
│ │ ├─FillPatterns
│ │ ├─VertexImages
│ │ ├─dbdatastore
│ │ ├─imageio-ext
│ │ ├─jaxb
│ │ ├─jumpdbquery-1.1.1
│ │ ├─jython
│ │ ├─kml
│ │ ├─lib
│ │ ├─set_attributes
│ │ ├─sextante
│ │ └─wfs
│ ├─icons
│ └─native
└─licenses

3.起動
起動はbinフォルダに収容されている”OpenJUMP.exe”をダブルクリックします。
最新版では下記エラーが発生発生するのですが、動作には影響ないようですので、OKボタンを押下して画面を消します。

使用方法

OpenJUMPにてベクトル、イメージデータの表示、ラベル表示、座標系変換を行ってみましょう。

地図表示はウィンドウ上にドロップ

シェープファイルなどを表示したい場合は他のGIS同様、地図ウィンドウ上にドロップすれば表示されます。以下は地下鉄とJRのシェープファイルを表示した例です。

画面左側にドロップしたシェープファイルがレイヤとして表示されますので、表示非表示切り替えやプロパティ設定(右クリックして行います)はこちらから行います。

同様に、イメージデータもドロップ操作にて表示できます。

オラクルデータの表示

次にオラクル上の空間データを表示してみましょう。
DBQueryというプラグインを使うのですが、下記設定作業を事前に行います。

1.オラクルJDBCドライバーの導入
JDBCドライバーは、Javaからデータベース接続に必要なドライバーで、導入製品ごとに提供されています。今回はオラクル接続を行いますので、オラクル製のドライバーを導入します。
オラクル製のドライバーは、オラクル社のホームページよりダウンロードするかオラクルクライアント物件からコピーします。
インスタントクライアントを例にすると、ドライバーは基本パッケージ(12cの場合 instantclient-basic-nt-12.2.0.1.0.zip)の中に含まれています。
ドライバーは1ファイルですので(ojdbc8.jar)、これを先に示したOpenJUMPのディレクトリの lib/ext の下にコピーします。

2.接続情報ファイルの設定
データベースへの接続情報は、先ほどと同じディレクトリ lib/ext のファイル dbquery.properties に設定します。
ファイルをテキストエディタで開き”oracle1”で検索して以下のように修正します。

#”oracle1″ database
jump.dbquery.queryclass.oracle1=org.freevoice.jumpdbqueryextension.oracle.JumpOracleDbQuery
jump.dbquery.driver.oracle1=oracle.jdbc.driver.OracleDriver
jump.dbquery.jdbcurl.oracle1=jdbc:oracle:thin:@hoge_svr:XXXX/hoge_sid
jump.dbquery.username.oracle1=hoge_user
jump.dbquery.password.oracle1=hoge_pwd

JDBCデータベース接続情報(サーバー名:ポート番号/SID名)と、ユーザー名、パスワードを設定します。
その後、念のためOpenJUMPを再起動してください。

3.SQLの発行と地図表示
これで準備が整いましたので、DBQueryプラグインを起動しましょう。
[ファイル]メニューから[DB Query]を選択すると、以下の画面が表示されます。

DBQueryの画面上部から先ほど設定した接続情報”oracle1”を指定し、SQLを入力後に”Run Query”ボタンを押下すると検索が実行されます。(SQL上の日本語は化けますが、正しく処理されます。。)

これまでに使用した国勢調査の小地域データと街区レベル位置参照ジュ応報を重ね合わせたイメージが上記になります。

ラベルの表示

地図画面に属性から文字(ラベル)を表示してみましょう。
対象のレイヤを選択した状態で、画面上部の”スタイルの変更”アイコンをクリックします。

表示される”スタイルの変更”ダイアログにて以下の操作を行います。
1.”ラベル”タブを選択
2.”ラベル表示を有効にする”をチェック
3.ラベルの属性に属性データの一覧が表示されるので任意の項目を選択
5.OKボタンの押下

OKボタン押下後、以下のように地図表示されます。

座標系の変換

ベクトルレイヤに限り座標系の変換もできますので、手順を示します。
座標系を変換したいレイヤを選択した状態で、メニュー[レイヤ]、[Set SRID]を選択すると、ダイアログが表示され設定されているSRIDが表示されます。未設定の場合は設定してください。

JGD2000のSRID 4612が設定されている

今回は、JGD2000の平面直角9系(SRID 2451)の画像と重ね合わせます。
操作は以下となります。
1.ベクトルレイヤを右クリックし、画面上部の”編集可能にする”をチェック
2.再度同じレイヤを右クリックし”Coordinate Transformation”を選択
3.表示されるダイアログにて変更後のSRID(2451)を指定しOKボタンをクリック

地図のレイヤ表示順を変えるなど見栄えを設定すると以下のような地図になります。

まとめ

今回は、デスクトップGISのOpenJUMPをご紹介しました。
他にもいろいろと機能はありますが、重戦車のようなQGISにはかなわないと思います。
ただ、軽くて素直な動きという特徴がありますので、場面により使い分けるとよいと思います。