131
EWEB-3K-N063 MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル

MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

EWEB-3K-N063

MITSUBISHI三菱Web地理情報システム構築パッケージ

MapRasterizer オプション

マニュアル

Page 2: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

i

はじめに

本ドキュメントは、PreSerV for Web MapRasterizer オプションのインストール方法、

環境設定および機能の説明について記述しています。

付録として、PreSerV for Web MapRasterizer オプションで作成した画像を Web サー

ビスで配信する MapService オプションについて記述しています。

Page 3: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

ii

目次

1 MapRasterizer 概要 .................................................................................................... 1 1.1 機能説明 .............................................................................................................. 2

2 インストール .............................................................................................................. 3 2.1 環境構築 .............................................................................................................. 3 2.2 Java 動作環境の設定 ........................................................................................... 4 2.3 サーブレット動作環境、JSP 動作環境の設定 ..................................................... 4 2.4 MapRasterizer パッケージの設定 ........................................................................ 4 2.5 MapDataManager のプロパティファイルでの MapRasterizer の設定 ................. 5 2.6 MapRasterizer プロパティファイルの設定.......................................................... 9 2.7 クラスファイルの登録........................................................................................13 2.8 JAR ファイルのコピー .......................................................................................28

3 プロパティファイル ..................................................................................................29 3.1 地図オプション情報プロパティについて ...........................................................31 3.2 イベントクラス情報プロパティについて ...........................................................33 3.3 準備クラス情報プロパティについて ..................................................................34 3.4 セッション管理クラス情報プロパティについて.................................................35 3.5 情報管理クラス情報プロパティについて ...........................................................36 3.6 結果情報作成クラス情報プロパティについて ....................................................37 3.7 要求情報プロパティについて .............................................................................38

3.7.1 要求情報ユニットプロパティについて ........................................................39 3.7.2 地図オプションプロパティについて ...........................................................39 3.7.3 TmpValue プロパティについて ...................................................................40

4 MapRasterizer の仕組みについて ..............................................................................41 4.1 前後処理クラス(前処理).................................................................................42

4.1.2 準備クラス ..................................................................................................43 4.1.3 情報管理クラス ...........................................................................................43 4.1.4 セッション管理クラス.................................................................................43 4.1.5 マップ管理クラス ........................................................................................43

4.2 処理クラス .........................................................................................................44 4.2.2 イベントクラス ...........................................................................................45 4.2.3 結果情報作成クラス ....................................................................................45

4.3 前後処理クラス(後処理).................................................................................45 5 ラスターデータの表示方法........................................................................................46

5.1 HTML 返信機能 ..................................................................................................47

Page 4: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

iii

5.1.1 コーディング例 ...........................................................................................49 5.1.2 JSP ファイル...............................................................................................51 5.1.3 コーディング例 ...........................................................................................52

5.2 オブジェクト返信機能........................................................................................56 5.2.1 要求クラス ..................................................................................................56 5.2.2 コーディング例 ...........................................................................................57

6 カスタマイズ .............................................................................................................64 6.1 キャンバスクラス、スクリーンクラス、マップクラス属性を指定する方法 ......65

6.1.1 コーディング例 ...........................................................................................65 6.2 ラスターデータのカスタマイズ..........................................................................68

6.2.1 コーディング例 ...........................................................................................69 6.3 セッション開始終了時の処理 .............................................................................73

6.3.1 コーディング例 ...........................................................................................73 6.4 出力するイメージファイル名の指定 ..................................................................74

6.4.1 コーディング例 ...........................................................................................74 6.5 出力したイメージファイルの削除 ......................................................................76

6.5.1 コーディング例 ...........................................................................................76 7 V3.0 から V5.0 への移行方法.....................................................................................78

7.1 サーブレットの設定 ...........................................................................................78 7.2 地図オプション登録クラス.................................................................................78 7.3 地図操作クラス ..................................................................................................84 7.4 応答用 HTML クラス、応答用テンプレート HTML クラス .................................86 7.5 プロパティの設定 ...............................................................................................94

8 サンプルプログラム ..................................................................................................95 8.1 ディレクトリ構成 ...............................................................................................95 8.2 サンプルプログラム動作環境手順 ......................................................................96 8.3 サーブレット定義ファイル(デプロイメントディスクリプタ) ........................97 8.4 サンプルプログラムの起動.................................................................................98 8.5 サンプルプログラム ...........................................................................................99

付録 A MapService オプション ....................................................................................100

Page 5: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

1.MapRasterizer 概要

1

1 MapRasterizer 概要

本機能は、サーバ・サイド Java と言われるサーブレットを利用しベクトル地図をリ

アルタイムにラスタ化を行い、クライアントの Web ブラウザが Java をサポートして

いない、PDA、携帯電話でも地図を表示したい等、処理性能の低いクライアントでも地

図表示を可能にします。

図 1-1 MapRasterizer 概要図

MapRasterizerイメージ

ファイル ラスタ画像

生成

JSP

ファイル

+ HTML 返信

Webブラウザ

Java

アプレット

要求

要求 任意処理

処理結果返信

Page 6: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

1.MapRasterizer 概要

2

1.1 機能説明 MapViewer の機能を継承し、ユーザーの要求に応じた「ラスタ画像」を作成します。

ラスタ画像のファイル出力形式には「JPEG」「BMP」「GIF」「PNG」の4種類を利

用することができます。

MapRasterizer の機能として表 1-1 の機能を利用することができます。

地図オプション等の MapRasterizer 以外の詳細は、それぞれの取扱説明書を参照し

てください。

表 1-1 MapRasterizer 機能一覧

機能 説明

ラスタ画像生成機能 MapRasterizerオプションで提供するScreenオブジェクトに

描画した図形を、ラスタ画像に変換する機能です。

HTML 返信機能 Webブラウザから要求されたクエリー文字列を解析してラス

タ画像の生成及びラスタ画像を利用した HTML 文書を返信す

る機能を提供します。

HTML 作成には、JSP 機能を利用するため任意のフォーマッ

トにて作成することができます。

機能の詳細は、5.1 を参照。

オブジェクト返信機能 Java アプレットから要求された情報を解析し、生成した結果

を任意のオブジェクトで返信する機能です。

機能の詳細は、5.2 を参照。

Page 7: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

3

2 インストール

2.1 環境構築 MapRasterizer オプションの環境設定には以下のものが必要です。

表 2-1 動作環境一覧

内容 説明

MapViewer JAR ファイル preserv50.jar

MapDataManager JAR ファ

イル

psvmdm50.jar

MapRasterizer JAR ファイ

psvrasterizer50.jar

MapDataManager プロパテ

ィファイル

mdmprop.xml

MapDataManager

DTD ファイル

mdmprop.dtd

MapRasterizer

DTD ファイル

rasterprop.dtd

Java バージョン 実行には Java 2 Runtime Environment, Standard Edition バ

ージョン 1.3 以上、開発には Java 2 SDK, Standard Edition バ

ージョン 1.3 以上が必要です。

JAXP(Java API for XML

Processing)環境

JAXP(Java API for XML Processing)Specification 1.1 以上

(Java バージョン 1.4 以上には標準で含まれています)

Java Servlet 環境 Java Servlet 2.1 以上

JavaServer Pages 環境 JavaServer Pages 1.1 以上

注)Unix 環境では X-Window が必要となります。

MapRasterizer オプションのインストールは以下の手順で行います。MapDataManager

のインストールは「PreSerV for Web インストール手順書」を参照してください。

Page 8: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

4

2.2 Java 動作環境の設定 MapDataManager を動作させるには Java の動作環境が必要です。実行には Java 2

Runtime Environment, Standard Edition バージョン 1.3 以上、開発には Java 2 SDK,

Standard Edition バージョン 1.3 以上が必要です。

2.3 サーブレット動作環境、JSP 動作環境の設定 サーブレット動作環境、JSP 動作環境を設定します。設定方法はプロダクトにより

異なりますので、各プロダクトのインストール手順を参照してください。

2.4 MapRasterizer パッケージの設定 (1) MapRasterizer の JAR ファイルの設定

MapRasterizer の JAR ファイル( psvrasterizer50.jar )を各動作環境の

CLASSPATH に追加されるディレクトリに置くか、置いたディレクトリを

CLASSPATH に追加します。

(2) MapRasterizer のプロパティファイルの設定

MapRasterizer のプロパティファイル(rasterprop.xml)、MapRasterizer プロパ

ティファイルの定義ファイル(rasterprop.dtd)を任意のディレクトリに置きます。

(3) MapRasterizer Servlet の設定

MapRasterizer では以下のサーブレットクラスを提供しています。

MapRasterizer で提供するサーブレットクラスは HTML 機能を利用する場合に設

定します(5.1 参照)。HTML 返信機能は MapDataManager サーブレットを使用

することが出来ますが、リクエストは GET メソッドのみとなります。オブジェク

ト返信機能を利用する場合は MapDataManager で提供するサーブレットを使用す

るので設定する必要はありません。MapDataManager のサーブレット設定は

「PreSerV for Web インストール手順書」を参照してください。

表 2-2 MapRasterizer サーブレット設定

MapRasterizer サーブレット 説明

MrRasterServlet URL のアドレスにクエリー文字列を直接入力する方法

と、HTML 内の INPUT タグに定義しておき「Submit」に

よりリクエストする方法の処理を行うサーブレット。

MapRasterizer サーブレットには、初期パラメータで MapDataManger プロパティ

ファイルのパスを指定します。

表 2-3 MapRasterizer サーブレット初期パラメータ

サーブレット名 キー 指定するプロパティファイル名

MapRasterizer サーブレット prop_path MapDataManager プロパティファイル名

Page 9: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

5

(4) セッションタイムアウトの設定

MapRasterizer ではセッションで情報を管理しています。各アプリケーションサ

ーバーのセッションタイムアウト時間の設定に従って設定します。

2.5 MapDataManager のプロパティファイルでの MapRasterizer の設定 MapRasterizer は MapDataManager と連携し処理を行います。 MapDataManager

のプロパティファイル(mdmprop.xml)に設定する項目は以下の通りです。

MapDataManager プロパティファイルの項目の説明は「PreSerV for Web 概要書」を

参照してください。

図 2-2 MapDataManager プロパティファイル

Page 10: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

6

(1) MapRasterizer 用前後処理クラスの設定

MapDataManager プロパティファイルの前後処理クラス情報プロパティに

MapRasterizer 用前後処理クラスを以下のように設定します。

図 2-3 MapDataManager プロパティファイル前後処理クラス情報プロパティ リスト 2-1 mdmprop.xml MapRasterizer 用前後処理クラス設定抜粋

(2) MapRasterizer 用処理クラスの設定

MapDataManager プロパティの処理クラス情報プロパティに MapRasterizer 用

処理クラスを以下のように定義します。

図 2-4 MapDataManager プロパティファイル処理クラス情報プロパティ

リスト 3-2 mdmprop.xml MapRasterizer 用処理クラス設定抜粋

<DispatchSupporter>

<supporter name="rasterizer">

jp.co.melco.preserv.rasterizer.mrDispatchSupporter </supporter>

</DispatchSupporter>

<CallbackClass callbackname="mrCallback" classify="JSP">

jp.co.melco.preserv.rasterizer.mrCallback

</CallbackClass>

Page 11: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

7

(3) 応答 HTML 用 JSP ファイルの設定

HTML 返信機能で使用する JSP ファイルも同様に設定を行います。詳細は

「PreSerV for Web 概要書」を参照してください。

リスト 2-3 mdmprop.xml 応答 HTML 用 JSP 設定抜粋

(4) MapRasterizer 用オプションプロパティ情報の設定

MapDataManager プロパティのオプションプロパティ情報に MapRasterizer プ

ロパティファイルを以下のように定義します。

図 2-5 MapDataManager プロパティファイルオプションプロパティ情報

リスト 2-4 mdmprop.xml MapRasterizer オプションプロパティ設定抜粋

<CallbackClass callbackname="RasterJSP" classify="STANDARD"

supporter="rasterizer">

/JSP/RasterSample.jsp

</CallbackClass>

<OptionProp>

<option name="rasterizer">

[設置ディレクトリ orURL]/rasterprop.xml </option>

</OptionProp>

Page 12: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

8

(5) イメージファイルの設定

ラスターデータ作成にイメージシンボルを表示する場合、MapDataManager プ

ロパティファイルのイメージ URL 定義にイメージファイルの設定を行います。

イメージ管理クラス(psvImageManager)に登録するオブジェクトキー(イメ

ージ名称)と、使用するイメージファイル(jpeg.GIF)の登録されているURLパス

を定義します。

図 2-6 MapDataManager プロパティファイルイメージ URL 定義 リスト 2-5 mdmprop.xml MapRasterizer オプションプロパティ設定例抜粋

(6) 動作情報プロパティの設定

MapDataManager プロパティの動作情報プロパティ定義をします。動作情報プ

ロパティ定義方法は「PreSerV for Web 概要書」を参照してください。

(7) 要求情報プロパティの設定

要求に対して使用する処理クラスを明示的に行うために動作情報プロパティの

要求情報プロパティ定義に任意の数の要求情報を定義します。要求情報プロパティ

に設定する要求情報名称は MapRasterizer プロパティ―要求処理定義の要求情報

名称と同じ名称で定義します。要求情報プロパティ定義方法は「PreSerV for Web

概要書」を参照してください。

リスト 2-6 mdmprop.xml 要求情報プロパティ定義例

<ImageURL>

<Image name="arrow">

http://localhost/rasterizer/images/Icon.gif </Image>

</ImageURL>

<Request item="RasterSample">

<process loglevel="0">mrCallback</process>

<process loglevel="0">RasterJSP</process>

</Request>

Page 13: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

9

2.6 MapRasterizer プロパティファイルの設定 MapRasterizer プロパティファイルには、「要求に対する処理動作」、「地図オプシ

ョン」「ラスターデータの操作」「セッション開始終了処理」「ラスターデータ作成情

報」「ラスターデータ作成情報の管理」「応答データの作成」を定義します。「ラスタ

ーデータの操作」「セッション開始終了処理」「ラスターデータ作成情報」「ラスター

データ作成情報の管理」「応答データの作成」についてはユーザーが作成するクラスを

利用します。プロパティファイルには、ユーザーが作成するクラスを定義します。

(1) 地図オプション定義

ラスターデータ作成に使用する地図オプションの定義を行います。定義できる地

図オプションは psvMapOptionIF インタフェースを実装している地図オプション

に限ります。

リスト 2-7 rasterprop.xml 地図オプション定義例

<!--option_name=地図オプション名称-->

<!--maproot=地図データディレクトリパス-->

<!--num=座標系番号-->

<!--conv=ユーザー拡張クラス名-->

<!--attrib=属性情報-->

<!--min=表示最小値-->

<!--max=表示最大値-->

<!--layer=レイヤ操作クラス名-->

<!--trans=通信情報クラス名-->

<!--OptionMap 要素=地図オプションクラス名-->

<Map>

<OptionMap option_name="ZmdMap"

maproot=http://localhost/MAP/Z-MAP/

num="9"

conv="MapConvert" attrib="3"

min="1"

max="-1"

layer="jp.co.melco.preserv.psvLayer" trans="jp.co.melco.preserv.psvDefaultTransfer">

jp.co.melco.preserv.zmd.psvZmdMap </OptionMap>

</Map>

Page 14: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

10

(2) 準備クラス定義

ラスターデータ作成に使用するキャンバスクラス、スクリーンクラス、マップク

ラスの設定を行うクラスの定義を行います。

リスト 2-7 rasterprop.xml 地図オプション定義例

(3) セッション管理クラス定義

セッション開始終了処理を行うクラスの定義を行います。

リスト 2-8 rasterprop.xml セッション管理クラス定義例

(4) 情報管理クラス定義

ラスターデータ作成に必要な情報、処理結果を管理するクラスの定義を行います。

リスト 2-9 rasterprop.xml 情報管理クラス定義例

<!--preparation_name=準備クラス名称-->

<!--UserPreparation 要素=準備クラス名-->

<Preparation>

<UserPreparation preparation_name="Preparation">

SamplePreparation </UserPreparation>

</Preparation>

<!--session_info=セッション管理クラス名称-->

<!--UserSessionInfo 要素=セッション管理クラス名-->

<SessionInfo>

<UserSessionInfo session_info="SessionInfo">

SampleSessionInfo </UserSessionInfo>

</SessionInfo>

<!--raster_info=情報管理クラス名称-->

<!--UserRasterInfo 要素=情報管理クラス名-->

<RasterInfo>

<UserRasterInfo raster_info="RasterInfo">

SampleRasterInfo </UserRasterInfo>

</RasterInfo>

Page 15: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

11

(5) 結果情報作成クラス定義

ラスターデータを作成し、結果情報を返信するクラスの定義を行います。

リスト 2-10 rasterprop.xml 結果情報作成クラス定義例

(6) イベントクラス定義

ラスターデータを編集するクラスの定義を行います。

リスト 2-11 rasterprop.xml イベントクラス定義例

<!--create_name=結果情報作成クラス名称-->

<!--UserCreate 要素=結果情報作成クラス名-->

<Create>

<UserCreate create_name="CreateHTMLData">

SampleCreateHTMLData </UserCreate>

</Create>

<!--event_name=イベントクラス名称-->

<!--UserEvent 要素=イベントクラス名-->

<Event>

<UserEvent event_name="Event">

Event1 </UserEvent>

</Event>

Page 16: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

12

(7) 要求処理定義

要求に対しての処理動作の定義を行います。ラスターデータ処理動作時に使用す

る「地図オプション」「準備クラス」「セッション管理クラス」「情報管理クラス」

「結果情報作成クラス」「イベントクラス」「処理結果の出力ディレクトリ名」「ロ

グレベル」「付属情報」の設定を行います。

要求情報名称は MapDataManager プロパティ―動作情報プロパティの要求情報プ

ロパティに設定する要求情報名称と同じ名称で定義します。

リスト 2-12 rasterprop.xml 要求処理定義例

<!--item=要求情報名称-->

<!--event_name=イベントクラス名称-->

<!--preparation_name=準備クラス名称-->

<!--session_info=セッション管理クラス名称-->

<!--raster_info=情報管理クラス名称-->

<!--create_name=結果情報作成クラス名称>

<!--output_dir=処理結果出力ディレクトリ名-->

<!--loglevel=ログレベル-->

<!--UseOptionMap 要素=地図オプション名称-->

<!--TmpValue-->

<!--tmp_name=付属情報名称-->

<!--TmpValue 要素=付属情報-->

<Request item="RasterSample">

<ProcessUnit

event_name="Event" preparation_name="Preparation"

session_info="SessionInfo"

raster_info="RasterInfo"

create_name="CreateHTMLData"

output_dir="C:¥temp¥rasterimages¥"

loglevel="0">

<UseOptionMap>ZmdMap</UseOptionMap>

<TmpValue tmp_name="user">userValue</TmpValue>

</ProcessUnit>

</Request>

Page 17: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

13

2.7 クラスファイルの登録 (1) 準備クラス

ラスターデータ作成時に任意のキャンバスクラス、スクリーンクラス、マップク

ラスの属性の指定、MapRasterizer プロパティファイルに定義できない地図オプシ

ョンの登録をするための機能を提供する mrPreparation インタフェースを実装し

作成します。MapRasterizer オプションではデフォルトの準備クラスとして

mrDefaultPreparation クラスを提供しています。

図 2-7 準備クラス

mrPreparation インタフェース

mrDefaultPreparationクラス

パッケージで提供するインタフェース

パッケージで提供するクラス

準備クラス

Page 18: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

14

リスト 2-13 コーディング例

import java.awt.*;

import java.util.*;

import jp.co.melco.preserv.*;

import jp.co.melco.preserv.rasterizer.*;

/**

* ラスター画像作成に必要な情報を準備するクラスです.

*/

public class SamplePreparation implements mrPreparation{

/**

* キャンバスを返します

* @param frame フレームオブジェクト

* @return キャンバスクラス

**/

public Component get_canvas (Component frame){

//キャンバス作成

psvJCanvas canvas = new psvJCanvas() ;

canvas.setSize(500, 500);

((Frame)frame).add(canvas);

return canvas;

}

ーーー続くーーー

Page 19: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

15

リスト 2-13 コーディング例 続き

/**

* スクリーンを返します

* @return スクリーンクラス

**/

public psvJavaScreen get_screen(Component canvas,Vector maps,Hashtable

temp,int series_no){

//スクリーン作成

mrConvertScreen screen =

new mrConvertScreen(canvas,0,0,1000,1000);

//マップ登録

for(int i=0;i<maps.size();i++)

screen.addMap((psvAnyMap)maps.elementAt(i));

// ベクトルフォント読み込み

try {

psvJavaScreen.vftinit(null) ;

} catch(Exception e){

e.printStackTrace() ;

}

return screen;

}

/**

* マップの属性を設定します

* MapRasterizer プロパティのリクエストに指定している順でマップ単位に呼び

出されます

* @param map マップクラス

* @return マップクラス

**/

public psvAnyMap set_map_attrib(psvAnyMap map){

return map;

}

Page 20: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

16

(2) 情報管理クラス

ラスターデータ作成情報、処理結果を管理するための mrRasterInfo クラスを提

供しています。準備クラスで生成したキャンバス、マップ、スクリーンクラス等を

保 持 し ま す 。 ま た 保 持 し た 情 報 を 削 除 す る メ ソ ッ ド と し て

mrRasterInfo#clear_object()メソッドを用意しています。

図 2-8 情報管理クラス

mrRasterInfo クラス

パッケージで提供するクラス 情報管理クラス

Page 21: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

17

リスト 2-14 コーディング例

import jp.co.melco.preserv.rasterizer.*;

import jp.co.melco.preserv.*;

/**

* SampleRasterInfo クラスはラスタ画像生成情報の管理を行うためのクラスです。

*/

public class SampleRasterInfo extends mrRasterInfo{

/**

* セッション終了時の処理

* ラスタ画像作成時に取得した情報を削除するエリアです

*/

public void clear_object() {

/*-- 処理記述 --*/

}

}

Page 22: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

18

(3) セッション管理クラス

セッション開始終了時に処理を行うための mrSessionInfo クラスを継承し作成

します。

図 2-9 セッション管理クラス

mrSessionInfoクラス

パッケージで提供するクラス セッション管理クラス

Page 23: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

19

リスト 2-15 コーディング例

import java.awt.*;

import java.util.*;

import javax.servlet.http.*;

import jp.co.melco.preserv.rasterizer.*;

import jp.co.melco.preserv.*;

/**

* SampleSessionInfo クラスはセッション開始、終了時の処理を受け取るクラスです。

*/

public class SampleSessionInfo extends mrSessionInfo{

/** セッション開始時の処理 **/

public void Bound (HttpSessionBindingEvent event) {

/*-- 処理記述 --*/

}

/** セッション終了時の処理 **/

public void Unbound (HttpSessionBindingEvent event) {

/*-- 処理記述 --*/

}

}

Page 24: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

20

(4) イベントクラス

ラスターデータを編集するための mrRasterEvent インタフェースを提供してい

ます。要求情報を元に各メソッドで編集処理を行えます。MapRasterizer オプショ

ンではデフォルトのイベントクラスとして mrDefaultEvent クラスを提供していま

す。

図 2-10 イベントクラス

mrDefaultRasterEvent クラス

MrRasterEvent インタフェース イベントクラス

パッケージで提供するインタフェース

パッケージで提供するクラス

Page 25: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

21

リスト 2-16 コーディング例

import java.awt.* ;

import jp.co.melco.preserv.* ;

import jp.co.melco.preserv.rasterizer.* ;

public class Event1 implements mrRasterEvent{ // リクエスト情報の登録

public void setRequest(Object request,mrRasterInfo raster_info){}

// ユーザーイベント前処理

public void beforeEvent(){}

// イメージクリック処理

public void imageClick(Point p){}

// レイヤ変更処理

public void layerChange(int LayNo){}

// ユーザーイベント後処理

public void afterEvent(){}

}

Page 26: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

22

(5) 結果情報作成クラス

ラスターデータを作成し、結果情報をユーザーが任意のオブジェクトで返信する

ための mrCreateData インタフェースを提供しています。パラメータで渡ってくる

リクエスト情報は HTML 返信機能では mrRequestParam クラス、オブジェクト返

信機能では mrRequestItem インタフェースを実装したクラスが渡ってきます。

MapRasterizer オプションでは HTML 返信機能のみ使用できるデフォルトの結果

情報作成クラス、mrDefaultCreateHTMLData クラスを提供しています。

図 2-11 結果情報作成クラス

mrDefaultCreateHTMLDataクラス

mrCreateData インタフェース

mrDefaultCreateDataクラス

パッケージで提供しているクラス

結果情報作成クラス

パッケージで提供しているインタフェース

Page 27: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

23

リスト 2-17 コーディング例

import java.awt.*;

import java.io.*;

import java.net.*;

import java.util.*;

import javax.servlet.http.*;

import jp.co.melco.preserv.*;

import jp.co.melco.preserv.j2.*;

import jp.co.melco.preserv.rasterizer.*;

/**

*SampleCreateHTMLData クラス

*HTML 返信機能の結果情報を作成するクラスです。

*/

public class SampleCreateHTMLData implements mrCreateData{

/**

* 結果情報を返します。

* @param request リクエスト情報

* @param info ラスタ画像作成情報管理クラス

* @param event イベントクラス

* @return 結果情報

*/

public Object send_result(Object request,mrRasterInfo info,mrRasterEvent event)

throws java.lang.Exception{

mrHTMLData hd = new mrHTMLData();

mrRequestParam _request_info = null;

String file_name = "";

ーーー続くーーー

Page 28: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

24

リス 2-17 コーディング例 続き

/*-- リクエスト情報判断 --*/

if(request instanceof mrRequestParam){

_request_info = (mrRequestParam)request;

}else{

throw new Exception("SampleCreateHTMLData send_result#request

error. request should be mrRequestParam");

}

/*-- JSP に結果を渡すために HttpServletRequest に結果を格納 --*/

//情報管理クラスで管理する HttpServletRequest に予約キーを指定し結果を

登録

info.get_http_request().setAttribute("RASTER_AFT_PROP",result);

//結果を HttpServletRequest に登録したので戻り値は null にしている。

return null;

}

Page 29: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

25

(6) 要求情報クラス

オブジェクト返信機能を利用し要求を行うための mrRequestItem インタフェー

スを提供しています。結果情報作成クラスやイベントクラスで行う処理に必要な情

報を格納します。これらの要求クラスは mrRequestData クラスに格納して要求し

ます。

図 2-12 要求情報クラス

mrRequestDataクラス

mrRequestItem インタフェース

パッケージで提供しているクラス

要求情報クラス

パッケージで提供しているインタフェース

mrRequestItemインタフェース実装クラス

要求情報クラス

Page 30: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

26

リスト 2-18 コーディング例

import java.awt.* ;

import jp.co.melco.preserv.*;

import jp.co.melco.preserv.rasterizer.*;

/**

* ラスタライザ要求情報クラス

*/

public class SampleRequestItem implements mrRequestItem {

/** リクエストキー **/

private String _request_key = "SampleRequestItem";

/*** 結果情報作成クラス名 **/

private String _create_key = "";

/*** 結果情報作成クラス名 **/

private String _event_key = "";

/*** 座標系番号**/

private int _kei = 0;

/*** ラスターデータ作成モード**/

private int _mode = 0;

/** * コンストラクタ */

public SampleRequestItem (){}

/** * リクエストキーを取得します。

* @return リクエストキー

*/

public String get_request_key() {

return _request_key;

}

ーーー続くーーー

Page 31: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

27

リスト 2-18 コーディング例 続き

/**

* リクエストキーを設定します。

* @param rkey リクエストキー

*/

public void set_request_key(String rkey) {

_request_key = rkey;

}

/**

* 結果情報作成キーを返します

* @return 結果情報作成キー

**/

public String get_create_key (){

return _create_key;

}

/**

* 結果情報作成キーを設定します。

* @param MapRasterizer プロパティに定義している結果情報作成キー

**/

public void set_create_key (String key){

_create_key = key;

}

/**

* イベントクラス名を返します

* @return イベントクラス名

**/

public String get_event_key (){

return _event_key;

}

/*** イベントクラス名を設定します

* @param イベントクラス名

**/

public void set_event_key (String key){

_event_key = key;

}

ーーー続くーーー

Page 32: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2.インストール

28

リスト 2-18 コーディング例 続き

2.8 JAR ファイルのコピー 作成したクラスファイルを1つの JAR ファイルにしてサーバーの CLASSPATH

に追加します。

/**

* 座標系番号を設定します

* @param int 座標系番号

**/

public void set_keinumber (int kei){

_kei = kei;

}

/**

* ラスターデータ作成モードを返します。

* @return ラスターデータ作成モード値 0:セッション管理モード 1:セッ

ション非管理モード

**/

public int get_mode(){

return _mode;

}

/**

* ラスターデータ作成モードを設定します。

* @param int 0:セッション管理モード 1:セッション悲観利モード

**/

public void set_mode(int mode){

_mode = mode;

}

}

Page 33: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3.プロパティファイル

29

3 プロパティファイル

ラスタ画像作成に必要な地図、要求に対する処理の定義などを MapRasterizer プロパ

ティと呼びます。

図 3-1 MapRasterizer プロパティファイル MapRasterizer プロパティは xml ファイルで管理されています。

この xml ファイルを MapRasterizer プロパティファイルと呼びます。 (単にプロパテ

ィファイルと表記する場合もあります)

MapRasterizer プロパティは大きく分けて7つに分類できます。

Page 34: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3.プロパティファイル

30

表 3-1 MapRasterizer プロパティ分類

分類 要素名称 説明

地図オプション情報プロパテ

Map 地図オプションを定義します

3.1 を参照

イベントクラス情報プロパテ

Event ユーザーが任意に編集するための機能(イ

ベントクラス)を定義します

3.2 を参照

準備クラス情報プロパティ Preparation ラスターデータ作成に必要なの情報を準

備するクラスを定義します

3.3 を参照

セッションクラス情報プロパ

ティ

SessionInfo セッション開始終了処理を行うクラスを

定義します

3.4 を参照

情報管理クラス情報プロパテ

RasterInfo ラスターデータ作成に必要な情報を管理

するクラスを定義します

3.5 を参照

結果情報作成クラス情報プロ

パティ

Create ラスターデータを作成するクラスを定義

します

3.6 参照

要求情報プロパティ Request 要求に対しての処理を定義します

3.7 を参照

Page 35: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3.プロパティファイル

31

3.1 地図オプション情報プロパティについて

図 3-2 地図オプション情報プロパティ

任意の数の地図オプション情報を定義します。

定義する内容は以下の 13 つで、これらをまとめて地図オプション情報と呼び、地図オ

プション情報名称をつけて管理します。

表 3-2 地図オプション情報設定内容

定義内容 要素/値 説明

地図オプション名

option_name 地図オプションの名称を定義します。

他の地図オプション情報と異なる名称を定義

します。

必須

地図オプションク

ラス名

OptionMap

要素値

地図オプションのクラス名を定義します。 必須

地図データディレ maproot 地図データのディレクトリパスを定義しま 必須

Page 36: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3.プロパティファイル

32

クトリパス す。

座標系番号 num 座標系番号を指定します。 必須

ユーザー拡張クラ

ス名

conv ユーザー拡張クラス名を定義します。 必須

属性情報 attrib 属性情報を定義します。 必須

表示スケール最小

min 表示スケールの最小値を定義します。 必須

表示スケール最大

max 表示スケールの最大値を定義します。 必須

レイヤクラス名 layer レイヤ操作時のレイヤクラス名を定義しま

す。

必須

通信用情報クラス

trans 通信用情報クラス名を定義します。 必須

メッシュ管理クラ

mapif メッシュ情報クラスを定義します。

デフォルトオプションで提供するマップクラ

スを使用する場合、指定します。

モード情報 mode バイナリ出力モードを指定します。

デフォルトオプションで提供するマップクラ

スを使用する場合、指定します。

アプリケーション

エリア

変換クラス

appconv アプリケーションエリア変換クラスを指定し

ます。デフォルトオプションで提供するマッ

プクラスを使用する場合、指定します。

Page 37: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3.プロパティファイル

33

3.2 イベントクラス情報プロパティについて

図 3-3 イベント情報プロパティ 任意の数のイベントクラス情報を定義します。

1つのイベントクラス情報に対し、次のような情報を定義します。

表 3-3 イベントクラス情報設定内容

定義内容 要素/値 説明

イベントクラス名称 event_name イベントクラス名称を定義します。

他のイベントクラス名称と異なる名称

を指定します。

必須

イベントクラス名 UserEvent

要素値

イベントクラス名を定義します。 必須

イベントクラスにイベントクラス名称をつけて管理する事で、 長いパッケージ名称の

イベントクラスを重複して定義する事を避けることができ、 一度にイベントクラスの定

義を変更する場合にも容易に対応する事が出来ます。

Page 38: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3.プロパティファイル

34

3.3 準備クラス情報プロパティについて

図 3-4 準備クラス情報プロパティ 任意の数の準備クラス情報を定義します。

1つの準備クラス情報に対し、次のような情報を定義します。

表 3-4 準備クラス情報設定内容

定義内容 要素/値 説明

準備クラス名称 preparation_name 準備クラス名称を定義します。

他の準備クラス名称と異なる名称を指

定します。

必須

準備クラス名 UserPreparation

要素値

準備クラス名を定義します。 必須

準備クラスに準備クラス名称をつけて管理する事で、 長いパッケージ名称の準備ク

ラスを重複して定義する事を避けることができ、 一度に準備クラスの定義を変更する

場合にも容易に対応する事が出来ます。

Page 39: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3.プロパティファイル

35

3.4 セッション管理クラス情報プロパティについて

図 3-5 セッション管理クラス情報プロパティ 任意の数のセッション管理クラス情報を定義します。

1つのセッション管理クラス情報に対し、次のような情報を定義します。

表 3-5 セッション管理クラス情報設定内容

定義内容 要素/値 説明

セッション管理クラス名称 session_info セッション管理クラス名称を定義し

ます。

他のセッション管理クラス名称と異

なる名称を指定します。

必須

セッション管理クラス名 UserSession

要素値

セッション管理クラス名を定義しま

す。

必須

セッション管理クラスにセッション管理クラス名称をつけて管理する事で、 長いパ

ッケージ名称のセッション管理クラスを重複して定義する事を避けることができ、 一

度にセッション管理クラスの定義を変更する場合にも容易に対応する事が出来ます。

Page 40: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3.プロパティファイル

36

3.5 情報管理クラス情報プロパティについて

図 3-6 情報管理クラス情報プロパティ

任意の数の情報管理クラス情報を定義します。

1つの情報管理クラス情報に対し、次のような情報を定義します。

表 3-6 情報管理クラス情報設定内容

定義内容 要素/値 説明

情報管理クラス名称 raster_info 情報管理クラス名称を定義します。

他の情報管理クラス名称と異なる名称

を指定します。

必須

情報管理クラス名 UserRasterInfo

要素値

情報管理クラス名を定義します。 必須

情報管理クラスに情報管理クラス名称をつけて管理する事で、 長いパッケージ名称

の情報管理クラスを重複して定義する事を避けることができ、 一度に情報管理クラス

の定義を変更する場合にも容易に対応する事が出来ます。

Page 41: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3.プロパティファイル

37

3.6 結果情報作成クラス情報プロパティについて

図 3-7 結果情報作成クラス情報プロパティ 任意の数の結果情報作成クラス情報を定義します。

1つの結果情報作成クラス情報に対し、次のような情報を定義します。

表 3-7 結果情報作成クラス情報設定内容

定義内容 要素/値 説明

結果情報作成クラス名称 create_name 結果情報作成クラス名称を定義します。

他の結果情報作成クラス名称と異なる

名称を指定します。

必須

結果情報作成クラス名 UserCreate

要素値

結果情報作成クラス名を定義します。 必須

結果情報作成クラスに結果情報作成クラス名称をつけて管理する事で、 長いパッケ

ージ名称の結果情報作成クラスを重複して定義する事を避けることができ、 一度に結

果情報作成クラスの定義を変更する場合にも容易に対応する事が出来ます。

Page 42: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3.プロパティファイル

38

3.7 要求情報プロパティについて

図 3-8 要求情報プロパティ

任意の数の要求情報を定義します。

表 3-8 動作情報設定内容

定義内容 要素/値 説明

要求情報名称 item 要求情報名称を定義します。

MapDataManager 定義ファイルの<Behavior>

-<BehaviorUnit>-<Request>で定義する要求

情報名称を指定します。

必須

要求情報ユニット

プロパティ

ProcessUnit

要素

要求情報ユニットプロパティを定義します。

3.7.1 を参照

必須

Page 43: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3.プロパティファイル

39

3.7.1 要求情報ユニットプロパティについて 任意の数の要求情報を定義します。

表 3-9 要求情報設定内容

定義内容 要素/値 説明

イベントクラス名称 event_name イベントクラス名称を定義します。

(3.2 を参照)

準備クラス名称 preparation_name 準備クラス名称を定義します。(3.3

を参照)

セッションクラス名称 session_info セッションクラス名称を定義しま

す。(3.4 を参照)

情報管理クラス名称 raster_info 情報管理クラス名称を定義します。

(3.5 を参照)

イメージ出力ディレク

トリ

output_dir イメージを出力するディレクトリを

定義します。

必須

ログレベル loglevel ログレベルを定義します。

0:ログ出力なし 1:エラー情報

2:デバッグ情報

地図オプションプロパ

ティ

OptionMap 要素 地図オプションプロパティを定義し

ます。(3.7.2 を参照)

TmpValue プロパティ TmpValue 要素 TmpValue プロパティを定義します。

(3.7.3 を参照)

3.7.2 地図オプションプロパティについて 任意の数だけ要求に対して使用する地図オプションを定義します。

地図オプション名称は地図オプション情報プロパティで設定した地図オプション

名称を定義します(3.1 を参照)。

表 3-10 地図オプション情報設定内容

定義内容 要素/値 説明

地図オプション名称 UseOptionMa 要

素値

地図オプション名称を定義します。 ―

Page 44: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3.プロパティファイル

40

3.7.3 TmpValue プロパティについて 任意の数だけ処理に必要な付属情報を定義します。

定義した値は情報管理クラスに登録され、付属情報名称をキーに付属情報を取得す

ることが出来ます。

表 3-11 TmpValue 情報設定内容

定義内容 要素/値 説明

付属情報名称 value 付加情報名称を定義します。 ―

付属情報 TmpValue 要素値 付属情報を定義します。 ―

Page 45: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

4.MapRasterizer の仕組みについて

41

4 MapRasterizer の仕組みについて

MapRasterizer オプションは MapDataManager トランザクションエンジンを利用し

動作を行います。詳細な MapDataManager のトランザクション処理の仕組みについ

ては「PreSerV for Web MapDataManager 概要書」を参照してください。

前後処理クラスについての詳細は、4.1 前後処理クラスを参照。

処理クラスについての詳細は、4.2 処理クラスを参照。

図 4-1 トランザクション処理の仕組み

前処理の呼び出し

処理クラス呼び出し

後処理呼び出し

前処理

処理実行

MapDataManager トランザクションエンジン

MapRasterizer

処理クラス

MapRasterizer

前後処理クラス

後処理

Page 46: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

4.MapRasterizer の仕組みについて

42

4.1 前後処理クラス(前処理) MapRasterizer オプションの前後処理クラスで行う前処理動作の流れは以下の通

りです。

図 4-2 前後処理クラスの処理動作

マップクラス取得

HttpSessionにセッション管理

クラスをリスナー登録

MapRasterizer

プロパティファイル

リクエストキー

リクエストキー

リクエストキー

リクエストキー

マップ管理クラス

地図管理 地図種別

マップ

オブジェクト 使用者情報

使用者

情報

前後処理クラス(mrDispatchSupporter) 前処理

要求情報からリクエストキー

を取得

準備クラス取得

情報管理クラス取得

セッション管理クラス取得

HttpSession取得

⑦⑧

⑤⑥

③④

Page 47: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

4.MapRasterizer の仕組みについて

43

<前処理> ① トランザクションエンジンからMapDataManagerプロパティの定義情報を受け取

り、MapRasterizer プロパティ情報を読み込みます。

② リクエストキーを条件に MapRasterizer プロパティ情報から準備クラスを取得

(4.2.2 を参照)

③ リクエストキーを条件に MapRasterizer プロパティ情報からマップを取得

④ マップ管理クラスにマップオブジェクトと使用者情報(セッション ID)を登録

⑤ リクエストキーを条件に MapRasterizer プロパティ情報から情報管理クラスを取

得(4.1.3 を参照)

⑥ キャンバスクラス、スクリーンクラス等、要求情報を情報管理クラスに設定

⑦ リクエストキーを条件に MapRasterizer プロパティ情報からセッション管理クラ

スを取得(4.1.4 を参照)

⑧ セッション管理クラスに情報管理クラスを登録

⑨ HttpServletRequest からセッションを取得、セッション開始終了処理を行うため

にセッション管理クラスをリスナー登録

4.1.2 準備クラス ラスターデータ作成に使用するキャンバスクラス、スクリーンクラス、マップの設

定を行うための機能を提供します。ユーザーがキャンバスクラス、スクリーンクラス、

マップ属性の指定を独自に行う場合に作成します。

4.1.3 情報管理クラス ラスターデータを作成する情報、処理結果を管理する機能を提供します。

セッション終了処理時に処理結果の削除(出力したファイルの削除)等行う場合に

作成します。

4.1.4 セッション管理クラス セッション開始終了処理を行う機能を提供します。

セッション終了時に保持しているデータの開放等の処理を行う場合に作成します。

4.1.5 マップ管理クラス リクエストで作成されたマップクラスを、MapRasterizer プロパティで定義する地図

オプション名称とセッション ID とで関連づけ管理します。セッション終了時にセッ

ション ID から使用したマップクラスの解放を行います。

Page 48: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

4.MapRasterizer の仕組みについて

44

4.2 処理クラス

MapRasterizer オプションの処理クラスで行う処理動作の流れは以下の通りです。

図 4-3 処理クラスの処理動作

① リクエストキー OR イベントキーを条件に MapRasterizer プロパティ情報から

イベントクラスを取得(4.2.2 を参照) ② リクエストキー OR 結果情報作成キーを条件に MapRasterizer プロパティ情報

から結果情報作成クラスを取得(4.2.3 を参照)

③ 結果情報作成クラスに要求情報、情報管理クラス、イベントクラスを渡し処理結

果を取得

要求からリクエストキーを取得

イベントクラス取得

MapRasterizer

プロパティファイル

リクエストキー or イベントキー

リクエストキー or 結果作成キー

処理クラス(mrCallback)

要求情報からイベントキー取得

要求情報から結果作成キー取得

結果情報作成クラス取得

情報管理クラスから

処理結果取得

Page 49: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

4.MapRasterizer の仕組みについて

45

4.2.2 イベントクラス ラスターデータを編集するための機能を提供します。

ユーザーが任意に編集を行う場合に作成します。

4.2.3 結果情報作成クラス ラスターデータを作成し、結果情報を返信するための機能を提供します。

ユーザーが任意のオブジェクトで返信する場合に作成します。

4.3 前後処理クラス(後処理) 前後処理クラスの後処理は、処理クラスの処理終了後に、必要の無くなったオブジェ

クトの開放等の処理を行うエリアとして提供しています。MapRasterizer では後処理を

実装しておりません。

Page 50: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

5.ラスターデータの表示方法

46

5 ラスターデータの表示方法

MapRasterizer オプションで提供する HTML 返信機能(55.1 を参照)、オブジェクト

返信機能(5.2 を参照)の使用方法について説明します。

Page 51: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

5.ラスターデータの表示方法

47

5.1 HTML 返信機能 HTML 返信機能とは、Web ブラウザから要求されたクエリー文字列(URL の後ろに

クエスチョンマークで区切られて記述される文字列)を解析してラスタ画像の生成及び

ラスタ画像を利用した HTML 文書を返信する機能です。HTML 作成には JSP 機能を利

用するため、任意のフォーマットにて作成することができます。

図 5-1 HTML 返信機能

HTML 返信機能で使用する INPUT タグは以下の通りです。

表 5-1 INPUT タグ

変数名 設定 フォーマット 説明

OKIND 任意 XX 操作種別(自由に設定可能)

デフォルト値:0

SERIES 必須 XX 平面直角座標系(01 から 19)

デフォルト値:0

NL 必須 XXX.XXX.XX.XXX 度.分.秒.ミリ秒の緯度を指定(図5-1参照)

デフォルト値:0.0.0.0

EL 必須 XXX.XXX.XX.XXX 度.分.秒.ミリ秒の経度を指定(図5-1参照)

デフォルト値:0.0.0.0

SZ_w 必須 XXXX 表示するイメージの幅を指定(ピクセル)

デフォルト値:400

SZ_h 必須 XXXX 表示するイメージの高さを指定(ピクセル)

デフォルト値:400

Rasterizer 前処理 リクエスト

Rasterizer コールバック処理

WWW

ブラウザ

トランザクション

エンジン

PreSerV Map Viewer 地図オプション

JSP処理

HTML返信

ラスタ

画像

地図 データ

XML 定義

ファイル

XML 定義

ファイル

アプリケーション

サーバー

MDM Servlet

Rasterizer Servlet

GET

GET or POST

Page 52: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

5.ラスターデータの表示方法

48

SCALE 必須 XXXX 地図の表示縮尺を指定

デフォルト値:200

IKIND 任意 X ラスターファイル種別

(0=GIF,1=JPG,2=BMP,3=PNG)

デフォルト値:0

LAY - XXX レイヤ表示パターン種別番号を指定

デフォルト値:0

MV_x - XXX X 方向の移動距離(ピクセル数)を指定

デフォルト値:0

MV_y - XXX Y 方向の移動距離(ピクセル数)を指定

デフォルト値:0

RT - XXXX 画像の回転角度を設定(10 分の 1 度単位)

デフォルト値:0

CP.x - XXXX イメージをクリックした位置の X 座標

デフォルト値:0

CP.y - XXXX イメージをクリックした位置の Y 座標

デフォルト値:0

QUALITY 任意 XXXX ラスターファイルのクオリティー値(0 から

100)ファイル種別が JPG 時のみ有効

デフォルト値:75

RKEY 必須 - MapRasterizer プロパティファイルに定義し

ているリクエスト名称

CKEY 任意 - MapRasterizer プロパティファイルに定義し

ている結果情報作成クラス情報名称

定義を変更せずに結果情報作成クラスを変

更したい場合に指定

EKEY 任意 - MapRasterizer プロパティファイルに定義し

ているイベントクラス情報名称

定義を変更せずにイベントクラスを変更し

たい場合に指定

MODE 任意 - 処理モードを指定します

0=セッション管理モード

1=セッション非管理モード

デフォルト値:0

Page 53: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

5.ラスターデータの表示方法

49

5.1.1 コーディング例 MapRasterizer オプションを利用してラスターデータを表示するためには、URL

のアドレスにクエリー文字列直接を直接入力する方法と、HTML 内の INPUT タグに

定義しておき「Submit」によりリクエストする方法があります。以下にそれぞれの

表示方法を示します。(太字:クエリー文字列)

リスト 5-1 クエリー文字列例

http://localhost/rasterier/servlet/mrRasterServlet?SERIES=9&NL=35.42.23.338& EL=139.39.26.635&SCALE=1000&SZ_w=400&SZ_h=400&RKEY=RasterSample

Page 54: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

5.ラスターデータの表示方法

50

リスト 5-2 HTML 例 (HTML 内に値を設定(緯度、経度、縮尺の入力可))

リスト 5-2 HTML 例 続き

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<TITLE>表示例</TITLE>

<BODY>

<FORM NAME=RASTER

ACTION=http://localhost/rasterizer/servlet/mrRasterServlet

METHOD="POST">

<!-- パラメータ情報 -->

<INPUT TYPE=HIDDEN NAME="SERIES" VALUE=9>

<INPUT TYPE=HIDDEN NAME="SZ_w" VALUE=400>

<INPUT TYPE=HIDDEN NAME="SZ_h" VALUE=400>

<INPUT TYPE=HIDDEN NAME="RKEY" VALUE=RasterSample1>

<TABLE BORDER>

<TR>

<TD>緯度<INPUT TYPE=TEXT NAME=NL VALUE=35.42.23.338></TD>

<TD>経度<INPUT TYPE=TEXT NAME=EL VALUE=139.39.26.635></TD>

</TR>

<TR>

<TD>縮尺<INPUT TYPE=TEXT NAME=SCALE VALUE=1000></TD>

</TR>

</TABLE>

<INPUT TYPE=SUBMIT VALUE="送信">

<P>

</FORM>

</BODY>

</HTML>

Page 55: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

5.ラスターデータの表示方法

51

5.1.2 JSP ファイル HTML 返信機能利用した場合の JSP ファイル内で利用できる処理結果を格納した

Hashtable オブジェクトの予約キーについて記述します。

JSP ファイル内で処理結果のプロパティーオブジェクトを取得するには

HttpServletRequest#getAttribute()メソッドに「RASTER_AFT_PROP」を指定しま

す。

表 5-2 予約キー

変数名 説明

NowSERIES 平面直角座標系(01 から 19)

NowNL 度.分.秒.ミリ秒の緯度

NowEL 度.分.秒.ミリ秒の経度

NowSZ_w 表示するイメージの幅(ピクセル単位)

NowSZ_h 表示するイメージの高さ(ピクセル単位)

NowSCALE 地図の表示縮尺

NowIKIND ラスターファイル種別

(0=GIF,1=JPG,2=BMP,3=PNG)

NowLAY レイヤ表示パターン種別番号

NowRT 画像の回転角度(10 分の 1 度単位)

NowQUALITY ラスターファイルのクオリティー値(0 から 100)

ImageFname 出力されたファイル名

Page 56: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

5.ラスターデータの表示方法

52

5.1.3 コーディング例 以下に処理結果を格納した Hashtable オブジェクトを受け取る JSP ファイルの例

です。

リスト 5-3 JSP 例

%>

<HTML>

<%

int i;

/*-- 処理結果を格納した Hashtable オブジェクト取得 *--/

Hashtable info = (Hashtable)request.getAttribute("RASTER_AFT_PROP");

String NowLay = (String)info.get("NowLay");

String NowSeries = (String)info.get("NowSeries");

String NowMkind = (String)info.get("NowIkind");

String NowSZ_w = (String)info.get("NowSZ_w");

String NowSZ_h = (String)info.get("NowSZ_h");

String NowNL = (String)info.get("NowNL");

String NowEL = (String)info.get("NowEL");

String NowScale = (String)info.get("NowScale");

String NowRT = (String)info.get("NowRT");

String ImageFname = (String)info.get("ImageFname");

%>

<SCRIPT Language="JavaScript">

<!--

function move(SelectNo){

switch(SelectNo){

case 0: // 左上

document.forms[0].MV_x.value=200;

document.forms[0].MV_y.value=200;

break;

case 1: // 上

document.forms[0].MV_x.value=0;

document.forms[0].MV_y.value=200;

break;

―― 続く ――

Page 57: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

5.ラスターデータの表示方法

53

リスト 5-3 JSP 例 続き

case 2: // 右上

document.forms[0].MV_x.value=-200;

document.forms[0].MV_y.value=200;

break;

case 3: // 左

document.forms[0].MV_x.value=200;

document.forms[0].MV_y.value=0;

break;

case 4: // 右

document.forms[0].MV_x.value=-200;

document.forms[0].MV_y.value=0;

break;

case 5: // 左下

document.forms[0].MV_x.value=200;

document.forms[0].MV_y.value=-200;

break;

case 6: // 下

document.forms[0].MV_x.value=0;

document.forms[0].MV_y.value=-200;

break;

case 7: // 右下

document.forms[0].MV_x.value=-200;

document.forms[0].MV_y.value=-200;

break;

}

document.forms[0].submit();

return;

}

// -->

</SCRIPT>

―― 続く ――

Page 58: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

5.ラスターデータの表示方法

54

リスト 5-3 JSP 例 続き

<CENTER>

<H1>PreServ For Web MapRasterizer デモページ</H1>

<P>

縮尺: 1/<%=NowScale%><P><P>

<TABLE BORDER>

<TR>

<TD><IMG BORDER=1 SRC="../images/up_l.gif" onclick=move(0)></TD>

<TD ALIGN=CENTER><IMG BORDER=1 SRC="../images/up.gif"

onclick=move(1)></TD>

<TD><IMG BORDER=1 SRC="../images/up_r.gif" onclick=move(2)></TD>

</TR>

<TR>

<TD><IMG BORDER=1 SRC="../images/left.gif" onclick=move(3)></TD>

<TD ALIGN=CENTER><IMG src="../rasterimages/<%=ImageFname%>" ></TD>

<TD><IMG BORDER=1 SRC="../images/right.gif" onclick=move(4)></TD>

</TR>

<TR>

<TD><IMG BORDER=1 SRC="../images/down_l.gif" onclick=move(5)></TD>

<TD ALIGN=CENTER><IMG BORDER=1 SRC="../images/down.gif"

onclick=move(6)></TD>

<TD><IMG BORDER=1 SRC="../images/down_r.gif" onclick=move(7)></TD>

</TR>

</TABLE>

<P>

</CENTER>

<INPUT TYPE=HIDDEN NAME="OKIND" VALUE=1>

<INPUT TYPE=HIDDEN NAME="LAY" VALUE=<%=NowLay%>>

<INPUT TYPE=HIDDEN NAME="SERIES" VALUE=<%=NowSeries%>>

<INPUT TYPE=HIDDEN NAME="IKIND" VALUE=<%=NowIkind%>>

<INPUT TYPE=HIDDEN NAME="MV_x" VALUE=0>

<INPUT TYPE=HIDDEN NAME="MV_y" VALUE=0>

<INPUT TYPE=HIDDEN NAME="SZ_w" VALUE=<%=NowSZ_w%>>

<INPUT TYPE=HIDDEN NAME="SZ_h" VALUE=<%=NowSZ_h%>>

<INPUT TYPE=HIDDEN NAME="QUALITY" VALUE=100>

―― 続く ――

Page 59: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

5.ラスターデータの表示方法

55

リスト 5-3 JSP 例 続き

図 5-2 緯度経度図

<TABLE BORDER>

<TR>

<TD>緯度<INPUT TYPE=TEXT NAME=NL VALUE=<%=NowNL%>></TD>

<TD>経度<INPUT TYPE=TEXT NAME=EL VALUE=<%=NowEL%>></TD>

</TR>

<TR>

<TD>縮尺<INPUT TYPE=TEXT NAME=SCALE VALUE=<%=NowScale%>></TD>

<TD>回転(1/10度単位)

<INPUT TYPE=TEXT NAME=RT VALUE=<%=NowRT%>>

</TD>

</TR>

</TABLE>

<INPUT TYPE=SUBMIT VALUE="送信">

<P>

</FORM>

<P>

</BODY>

</HTML>

Page 60: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

5.ラスターデータの表示方法

56

5.2 オブジェクト返信機能 Java アプレットから要求された情報を解析し、生成した結果を任意のオブジェクト

で返信することが出来ます。

図 5-3 オブジェクト返信機能

5.2.1 要求クラス 要求に必要なクラスとして mrRequestItem インタフェースを実装したクラスを作

成します。mrRequestItem には以下のメソッドが用意されています。

表 5-3 mrRequestItem インタフェースメソッド

メソッド名 説明

get_request_key() リクエストキーを取得します。

get_create_key() 結果情報作成キーを取得します。

get_event_key() イベントキーを取得します。

get_keinumber() 座標系番号を取得します。

get_mode() 処理モードを取得します。

Rasterizer 前処理 リクエスト

Rasterizer コールバック処理

JAVAアプレット

トランザクション

エンジン

PreSerV Map Viewer 地図オプション

オブジェクト返信

地図 データ

XML 定義

ファイル

XML 定義

ファイル

MDM Servlet

アプリケーション

サーバー

Page 61: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

5.ラスターデータの表示方法

57

5.2.2 コーディング例 矩形座標、ファイル名、ファイル種別を指定してラスタ画像を生成する要求情報ク

ラスの作成例です。

リスト 5-4 要求クラス作成例

import java.awt.* ;

import jp.co.melco.preserv.*;

import jp.co.melco.preserv.rasterizer.*;

/*** ラスタライザ要求情報クラス */

public class SampleRequestItem implements mrRequestItem {

/** 検索情報 **/

private psvRegionBounds _region = new psvRegionBounds(0,0,0,0);

/** リクエストキー **/

private String _request_key = "SampleRequestItem";

/** 結果情報作成クラス名 **/

private String _create_key = "";

―― 続く ――

Page 62: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

5.ラスターデータの表示方法

58

リスト 5-4 要求クラス作成例 続き

/** 座標系番号 **/

private int _kei = 0;

/** イメージ種別**/

private int _image_kind = 0;

/**ラスターデータ作成モード **/

private int _mode = 0;

/** 出力ファイル名 **/

private String _file_name = "";

/** コンストラクタ */

public SampleRequestItem (){}

/** 矩形を設定します

* @param reg 矩形の領域クラス

*/

public void set_region(psvRegionBounds reg){

_region = reg;

}

/**

* 矩形を返します

* @return 矩形の領域クラス

*/

public psvRegionBounds get_region(){

return _region;

}

/**

* リクエストキーを取得します。

* @return リクエストキー

*/

public String get_request_key() {

return _request_key;

}

―― 続く ――

Page 63: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

5.ラスターデータの表示方法

59

リスト 5-4 要求クラス作成例 続き

/**

* リクエストキーを設定します。

* @param rkey リクエストキー

*/

public void set_request_key(String rkey) {

_request_key = rkey;

}

/**

* 結果情報作成キーを返します

*

* @return 結果情報作成キー

**/

public String get_create_key (){

return _create_key;

}

/**

* 結果情報作成キーを設定します。

*

* @param MapRasterizer プロパティに定義している結果情報作成キー

**/

public void set_create_key (String key){

_create_key = key;

}

/**

* イベントクラス名を返します

*

* @return イベントクラス名

**/

public String get_event_key (){

return _event_key;

}

―― 続く ――

Page 64: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

5.ラスターデータの表示方法

60

リスト 5-4 要求クラス作成例 続き

/**

* ラスターデータ作成モードを返します。

* @return ラスターデータ作成モード値 0:セッション管理モード 1:セッ

ション非管理モード

**/

public int get_mode(){

return _mode;

}

/**

* ラスターデータ作成モードを設定します。

* @param int 0:セッション管理モード 1:セッション非管理モード

**/

public void set_mode(int mode){

_mode = mode;

}

/**

* ファイル名を返します。

* @return ファイル名

**/

public String get_file_name(){

return _file_name;

}

/**

* ファイル名を設定します。

* @param String ファイル名

**/

public void set_file_name(String file_name){

_file_name = file_name;

}

―― 続く ――

Page 65: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

5.ラスターデータの表示方法

61

リスト 5-4 要求クラス作成例 続き

/**

* イベントクラス名を設定します

* @param イベントクラス名

**/

public void set_event_key (String key){

_event_key = key;

}

/**

* 座標系番号を返します

* @return 座標系番号

**/

public int get_keinumber (){

return _kei;

}

/**

* 座標系番号を設定します

* @param int 座標系番号

**/

public void set_keinumber (int kei){

_kei = kei;

}

/**

* イメージ種別を返します

* @return イメージ種別

**/

public int get_image_kind(){

return _image_kind;

}

}

Page 66: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

5.ラスターデータの表示方法

62

要求された情報を元にラスタ画像を生成する結果情報作成クラスの作成例です。出力

したファイル名を結果として返信します。

リスト 5-5 結果情報作成クラス例

import java.awt.*;

import java.io.*;

import java.util.Vector;

import jp.co.melco.preserv.*;

import jp.co.melco.preserv.rasterizer.*;

/**

* SampleCreateImageData クラス

* 要求情報からラスタ画像を作成し結果を返信します。

*/

public class SampleCreateImageData implements mrCreateData{

/**

* 結果情報を返します。

* @param request リクエストオブジェクト

* @param info ラスタ画像作成情報管理クラス

* @param event イベントクラス

* @return 結果情報

*/

public Object send_result(Object request,mrRasterInfo info,mrRasterEvent event)

throws java.lang.Exception{

try{

//要求クラス取得

mrRequestItem ritem = null;

if(request instanceof mrRequestItem)

ritem = (mrRequestItem)request;

else

throw new Exception("SampleCreateImageData send_result#request

should be implement mrRequestItem.");

//ラスタ画像作成クラス生成

SampleImageData im = new SampleImageData();

―― 続く ――

Page 67: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

5.ラスターデータの表示方法

63

リスト 5-5 結果情報作成クラス例 続き

//返信文字列(ファイル名)

String response = null;

try{

/*-- ラスターデータ作成 --*/

//出力したファイル名を結果として取得

response = im.makeImage(ritem,info,event);

}catch(Exception e){

throw new Exception("SampleCreateImageData send_result#

SampleCreateImageData makeImage "+e.getMessage());

}

//ファイル名を戻り値とする

return response;

} catch(Exception e) {

throw new Exception("SampleCreateImageData

send_result#"+e.getMessage());

}

}

}

Page 68: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

6.カスタマイズ

64

6 カスタマイズ

MapRasterizer オプションで提供しているクラス、インタフェースを継承、実装し独自

クラスを作成、処理を追加することで機能の拡張を行うことができます。

表 6-1 項目一覧

キャンバスクラス、スクリーンクラス、マップクラス属性を指定する方法 6.1 を参照

ラスターデータのカスタマイズ 6.2 を参照

セッション開始終了時の処理 6.3 を参照

出力するイメージファイル名の指定 6.4 を参照

出力したイメージファイルの削除 6.5 を参照

Page 69: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

6.カスタマイズ

65

6.1 キャンバスクラス、スクリーンクラス、マップクラス属性を指定する方法 使用するキャンバスクラス、スクリーンクラス、マップクラスの設定をユーザーが任

意に指定するための機能として mrPreparation インタフェースを用意しています。

mrPreparation インタフェースで用意しているメソッド、呼び出される順番は次のとお

りです。

表 6-2 mrPreparation インタフェース

メソッド名 説明

get_canvas 任意のキャンバスクラスを作成し、パラメータで渡ってくるフレーム

オブジェクトに登録します。

作成したキャンバスクラスを戻り値とします。

set_map_attrib MapRasterizer プロパティファイルのリクエストに定義しているマ

ップ単位に呼び出されます。

マップ属性等、本メソッドで変更することができます。

get_screen パラメータで渡ってくるキャンバスクラス、マップクラスを使用し任

意のスクリーンクラスを作成します。作成したスクリーンクラスを戻

り値とします。

キャンバスクラスは get_canvas メソッドで作成したキャンバスクラ

スです。

マップクラスは MapRasterizer プロパティファイルに定義している

マップクラスです。

6.1.1 コーディング例 任意のキャンバスクラス、スクリーンクラスを作成します。

リスト 6-1 準備クラス例

mport java.awt.*;

import java.util.*;

import jp.co.melco.preserv.*;

import jp.co.melco.preserv.rasterizer.*;

/**

* ラスター画像作成に必要な情報を準備するクラスです.

*/

public class SamplePreparation implements mrPreparation{

―― 続く ――

Page 70: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

6.カスタマイズ

66

リスト 6-1 準備クラス例 続き

/**

* キャンバスを返します

* @param frame フレームオブジェクト

* @return キャンバスクラス

**/

public Component get_canvas (Component frame){

//キャンバス作成

psvJCanvas canvas = new psvJCanvas() ;

canvas.setSize(500, 500);

((Frame)frame).add(canvas);

return canvas;

}

/**

* スクリーンを返します

* get_canvas の戻り値と MapRasterizer プロパティのリクエストに指定している全

マップがセットされます

* @param canvas キャンバスオブジェクト

* @param maps MapRasterizer プロパティのリクエストに指定している全マップ

* @param temp MapRasterizer プロパティのリクエストに指定している付属情報

* @param series_no 座標系番号

* @return スクリーンクラス

**/

public psvJavaScreen get_screen(Component canvas,Vector maps,

Hashtable temp,int series_no){

//スクリーン作成

mrConvertScreen screen = new mrConvertScreen(

canvas,0,0,1000,1000);

//マップ登録

for(int i=0;i<maps.size();i++)

screen.addMap((psvAnyMap)maps.elementAt(i));

―― 続く ――

Page 71: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

6.カスタマイズ

67

リスト 6-1 準備クラス例 続き

// ベクトルフォント読み込み

try {

psvJavaScreen.vftinit(null) ;

} catch(Exception e){

e.printStackTrace() ;

}

return screen;

}

/**

* マップの属性を設定します

* ラスタ定義のリクエストに指定している順でマップ単位に呼び出されます

* @param map マップクラス

* @return マップクラス

**/

public psvAnyMap set_map_attrib(psvAnyMap map){

//パラメータで渡ってくるマップに対して属性を設定します。

//例 可視属性の設定

//map.attrib(psvAnyMap.MAP_VISIBLE);

return map;

}

}

Page 72: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

6.カスタマイズ

68

6.2 ラスターデータのカスタマイズ ラスターデータをユーザーが任意に編集するための機能として mrRasterEvent イン

タフェースがあります。 mrRasterEvent インタフェースで利用するそれぞれのメソッ

ドは、次のタイミングで呼び出されます。

表 6-3 mrRasterEvent インタフェース

メソッド名 タイミング 説明

setRequest イベント処理が呼び出される前 要求情報と情報管理クラスを

受け取ります。

layerChange ユーザーからのレイヤ番号指定に

関係なく毎回呼ばれます。

デフォルトは LayNo=0

ユーザーが指定したレイヤ番

号に対応するレイヤ切り替え

処理を行います。

imageClick CP.x,CP.y のクエリー文字列が設定

されている場合、呼び出されます。

クライアント側でイメージを

クリックしたDC座標を利用

し処理を行います。

beforeEvent ラスターデータが出力される直前

に呼ばれます。

デフォルトで行う処理(移動、

回転)以外の処理を行います。

afterEvent ラスターデータが出力された直後

に呼ばれます。

後処理を行います。

Page 73: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

6.カスタマイズ

69

6.2.1 コーディング例 ユーザーがクエリー文字列で指定した任意の値を取得してラスターデータを編集し

ます。コーディング例ではクライアント PC から指定した文字列を赤で表示する処理を

行っています。

リスト 6-2 イベントクラス例

import java.awt.* ;

import java.util.Vector ;

import java.util.Enumeration ;

import jp.co.melco.preserv.* ;

import jp.co.melco.preserv.rasterizer.* ;

/*******************************/

/***** 文字列検索サンプル ******/

/*******************************/

public class Event6 implements mrRasterEvent{

private String SearchStr; // 検索文字列

psvVectorMap map; // マップオブジェクト

public mrRequestInfo _request_info; // パラメータ管理クラス

public mrRasterInfo _raster_info; // ラスターデータ作成情報

/**************************************************/

/*-- リクエスト情報、ラスターデータ作成情報の登録 --*/

/**************************************************/

public void setRequest(Object request,mrRasterInfo raster_info){

_request_info = (mrRequestInfo)request;

_raster_info = raster_info;

}

―― 続く ――

Page 74: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

6.カスタマイズ

70

リスト 6-2 イベントクラス例 続き

/****************************/

/*-- イメージクリック処理 --*/

/****************************/

public void imageClick(Point p){

psvDPoint Dp = new psvDPoint();

/*- 画面サイズ取得 -*/

Dimension d = _request_info.get_size() ;

/*- スクリーン情報取得 -*/

psvJavaScreen ri = _raster_info.get_screen();

/*- 指定座標の取得 -*/

Dp = psvSystem.YokoMercator(_request_info.get_keiNo(),

_request_info.get_ido(),_request_info.get_keido());

/*- 指定座標を中心とした縮尺で表示 -*/

psvRegionBounds rb =

((mrScreen)ri).set_scale((int)_request_info.get_scale(),(float)Dp.p2,(float)Dp.p1);

/*- 画面中心座標 -*/

Point ccp = new Point((int)d.width/2,(int)d.height/2);

/*- 現在の中心座標を地図座標に変換する -*/

psvPoint center = ri.dc_to_wc(ccp.x,ccp.y);

/*- クリックポイントを中心にする -*/

psvPoint cp = ri.dc_to_wc(p.x, p.y);

ri.translate(-(center.x-cp.x),-(center.y-cp.y),true);

}

/**********************/

/*-- レイヤ変更処理 --*/

/**********************/

public void layerChange(int LayNo){}

―― 続く ――

Page 75: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

6.カスタマイズ

71

リスト 6-2 イベントクラス例 続き

/******************************/

/*-- ユーザーイベント前処理 --*/

/******************************/

public void beforeEvent(){

/*- 画面サイズ取得 -*/

Dimension d = _request_info.get_size() ;

/*- スクリーン情報取得 -*/

psvJavaScreen ri = _raster_info.get_screen();

/*-- 検索文字列の取り出し --*/

SearchStr = _request_info.get_param("SEARCH_STR");

try{

if(SearchStr != null)

SearchStr = new String(SearchStr.getBytes("8859_1"), "SJIS");

else

SearchStr = "";

}catch(Exception e){

e.printStackTrace();

}

/*- 文字列検索処理 -*/

if(SearchStr == null) return;

/*- 表示領域取り出し -*/

psvRegionBounds rb = ri.get_view();

psvRegion ww = new psvRegion(rb.sx,rb.sy,rb.ex,rb.ey);

/*- 検索条件指定 -*/

psvStringSelect ss =

new psvStringSelect(new psvRegionSelect(null, ww), SearchStr) ;

psvSearch search = new psvSearch(ss, false) ;

―― 続く ――

Page 76: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

6.カスタマイズ

72

リスト 6-2 イベントクラス例 続き

/*- 表示可能なマップオブジェクトの取得 -*/

int scale = _request_info.get_scale();

Vector mlist = ri.getAllMap();

for(int i=0; i<mlist.size(); i++){

map = (psvVectorMap)mlist.elementAt(i);

if(map.inner(scale) == true){

break;

}

}

/*- オブジェクト検索 -*/

if( map.search(search) == true){

Enumeration objs = search.elements(0) ;

/*- 検索オブジェクトを赤で表示 -*/

while(objs.hasMoreElements()){

psvShape sany = (psvShape)objs.nextElement() ;

sany.draw(ri, new psvColor(Color.red), false);

}

}

}

/*****************************/

/*- ユーザーイベント後処理 -*/

/*****************************/

public void afterEvent(){

//レイヤ変更処理で変更したレイヤの設定を、変更前の設定に戻す処理等行な

います。

}

}

Page 77: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

6.カスタマイズ

73

6.3 セッション開始終了時の処理 ラスターデータを作成するためのデータはセッションで管理されおり、セッション終

了時に保持しているデータを開放等の処理を行う機能として mrSessionInfo クラスを

用意しています。セッション開始終了処理を行う場合は mrSessionInfo クラスの以下の

メソッドをオーバライドし、使用します。

表 6-4 mrSessionInfo クラスメソッド

メソッド名 説明

Bound セッション開始時に呼ばれます。

UnBound セッション終了時に呼ばれます。

6.3.1 コーディング例 セッション終了時に使用した地図を地図管理クラスから削除します。

リスト 6-3 セッション管理クラス作成例

import java.awt.*;

import java.util.*;

import javax.servlet.http.*;

import jp.co.melco.preserv.rasterizer.*;

import jp.co.melco.preserv.*;

/**

* SampleSessionInfo クラスはセッション開始、終了時の処理を受け取るクラスです。

*/

public class SampleSessionInfo extends mrSessionInfo{

/** セッション終了時の処理 **/

public void Unbound (HttpSessionBindingEvent event) {

/*-- 情報管理クラスから使用しているマップ種を取得 --*/

Vector maps = _raster_info.get_map_kind();

/* マップ管理クラスから使用したマップ削除 */

mrMapManager.remove_map(maps,_raster_info.get_session_id());

}

}

Page 78: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

6.カスタマイズ

74

6.4 出力するイメージファイル名の指定 ラスターデータを作成し、結果情報をユーザーが任意のオブジェクトで返信するため

の機能として mrCreateData インタフェースを用意しています。mrCreateData インタ

フェースで定義しているメソッドのパラメータから要求情報を受け取ることができる

ので、リクエストの際にファイル名を設定することで任意のファイル名でイメージの出

力が行えます。

表 6-5 mrCreateData インタフェース

メソッド名 説明

send_result パラメータで渡ってくる要求情報を使用しラスターデータを作成、

結果情報を任意のオブジェクトで返します。

6.4.1 コーディング例 リクエストパラメータにファイル名を指定し、イメージ出力を行うコーディング例

です。(太字部分:ファイル名取得処理)

リスト 6-4 結果情報作成クラス作成例

import java.net.*;

import java.util.*;

import javax.servlet.http.*;

import jp.co.melco.preserv.*;

import jp.co.melco.preserv.j2.*;

import jp.co.melco.preserv.rasterizer.*;

/** *SampleCreateHTMLData クラス

*結果情報を作成するクラスです。

*/

public class SampleCreateHTMLData implements mrCreateData{

/** 結果情報を返します。 */

public Object send_result(Object request,mrRasterInfo info,mrRasterEvent event)

throws java.lang.Exception{

mrRequestParam _request_info = null;

if(request instanceof mrRequestParam){

_request_info = (mrRequestParam)request;

}else{

return null;

} ―― 続く ――

Page 79: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

6.カスタマイズ

75

リスト 6-4 結果情報作成クラス作成例 続き

/*-- イメージファイル名の取り出し --*/ String file_name = _request_info.get_param("FNAME"); try{ if(file_name != null) file_name = new String(file_name.getBytes("8859_1"), "SJIS"); else file_name = ""; }catch(Exception e){ e.printStackTrace(); } /*-- ラスターデータ作成 --*/

mrHTMLData hd = new mrHTMLData();

Hashtable result = hd.makeImage(_request_info,info,event,file_name);

/*-- 情報管理クラスで保持する HttpServletRequest に結果情報登録 --*/

info.get_http_request().setAttribute("RASTER_AFT_PROP",result);

/*-- JSP には HttpServletRequest で結果情報の受け渡しをするので戻り値は

null にしている --*/

return null;

}

}

Page 80: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

6.カスタマイズ

76

6.5 出力したイメージファイルの削除 ラスターデータを作成する情報等、管理する機能として mrRasterInfo クラスを用意

しています。ラスターデータ作成後、出力したファイル名は mrRasterInfo クラスで管

理する付属情報に登録されます(KEY= "ImageFname")。削除を行う場合は

mrRasterInfo クラスの以下のメソッドをオーバライドし削除処理を行います

表 6-6 mrRasterInfo クラス

メソッド名 説明

clear_object ラスターデータ作成後、任意のデータをクリアするエリアです。

6.5.1 コーディング例 セッション開始、終了処理クラスからセッション終了処理時に情報管理クラスの

clear_object()メソッドを呼び、出力したイメージファイルを削除します。

リスト 6-5 セッション管理クラス作成例 (太字:情報管理クラスクリア処理)

import java.awt.*;

import java.util.*;

import javax.servlet.http.*;

import jp.co.melco.preserv.rasterizer.*;

import jp.co.melco.preserv.*;

/**

* セッション開始、終了処理クラス

* セッション終了時に情報管理クラスの clear_object()メソッドを呼びます。

*/

public class SampleSessionInfo extends mrSessionInfo{

/** セッション終了時の処理 **/

public void Unbound (HttpSessionBindingEvent event) {

/* セッション終了時に情報管理クラスクリア処理 */

_raster_info.clear_object(); }

}

Page 81: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

6.カスタマイズ

77

リスト 6-6 情報管クラス作成例 (太字:ファイル名取得キー)

import jp.co.melco.preserv.rasterizer.*;

import jp.co.melco.preserv.*;

/**

* SampleRasterInfo クラスはラスタ画像生成情報の管理を行うためのクラスです。

*/

public class SampleRasterInfo extends mrRasterInfo{

/**

* セッション終了時の処理

* ラスタ画像作成時に取得した情報を削除するエリアです

*/

public void clear_object() {

/*-- 付属情報から出力したファイル名を取得し、削除を行います --*/

/*-- ファイル名取得は"ImageFname"がキーとなります ---*/

if(_temp.get("ImageFname") != null){

Vector file_name = (Vector)_temp.get("ImageFname");

for(int i=0;i<file_name.size();i++){

/*-- ファイルの削除 --*/

File file = new File(_output_dir,(String)file_name.elementAt(i));

file.delete();

}

}

}

}

Page 82: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

7.V3.0 から V5.0 への移行方法

78

7 V3.0 から V5.0 への移行方法

ここでは MapRasterizerV3.0 での設定を V5.0 への設定へ変更する手順を説明いたしま

す。

7.1 サーブレットの設定 V3.0ではMapRasterizerオプションで提供するサーブレットRasterServletを使用し

ていました。V5.0ではMapDataManagerで提供するサーブレットクラスmdmServlet、

又は MapRasterizerオプションで提供するサーブレットクラス mrRasterServlet を使用

します。サーブレットの初期パラメータの設定を以下の様に変更します。

表 7-1 MapRasterizer サーブレット利用時の初期パラメータ

サーブレット名 キー 指定するプロパティファイル名

MapRasterizer サーブレット

mrRasterServlet

prop_path MapDataManager プロパティファイル名

表 7-2 MapDataManager サーブレット利用時の初期パラメータ

サーブレット名 キー 指定するプロパティファイル名

MapDataManager サーブレッ

mdmServlet

prop_path MapDataManager プロパティファイル名

7.2 地図オプション登録クラス V3.0 では利用する地図オプションクラスを登録するためのクラスとして

RasterMapRegist インタフェースが提供されていました。V5.0 では RasterMapRegist

インタフェースを廃止し、新たに使用するキャンバスクラス、スクリーンクラス、マッ

プクラスの設定を行う mrPreparation インタフェースを提供しています。

MapRasterizer プロパティファイルに地図オプション定義をすることでコーディング

をすることなく使用できる地図オプションもございます。下記は RasterMapRegist イ

ンタフェースを実装したクラスを、mrPreparation インタフェースを実装したクラスに

変更する例です。

Page 83: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

7.V3.0 から V5.0 への移行方法

79

リスト 7-1 V3.0 地図オプション登録クラス例

import java.awt.* ;

import java.net.* ;

import java.util.Properties ;

import javax.servlet.*;

import javax.servlet.http.*;

import jp.co.melco.preserv.* ;

import jp.co.melco.preserv.zmd.* ;

import jp.co.melco.preserv.rasterizer.* ;

// ゼンリンオプション

public class zenrinMap implements RasterMapRegist{

public psvZmdMap zmdmap ; // ゼンリンマップ

public psvLayer lay = new psvLayer(); // レイヤ情報

public zenrinMap(){

}

public void regist(Properties user_prop,

HttpServletRequest request,

String series_no,

RasterImage screen)

throws java.lang.Exception{

// レイヤ情報設定

ZmdLayer.set_lay(lay);

String BaseDir = (user_prop != null) ?

user_prop.getProperty("ZMapBaseDir") : "http://localhost/sample/";

String MapDir = (user_prop != null) ?

user_prop.getProperty("ZMapDir") : "z-map/";

―― 続く ――

Page 84: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

7.V3.0 から V5.0 への移行方法

80

リスト 7-1 V3.0 地図オプション登録クラス例 続き

try{

// ゼンリンマップオブジェクト構築

zmdmap = new psvZmdMap(new URL(BaseDir),

MapDir,Integer.valueOf(series_no).intValue(),

lay, new ZmdConvertLayer(),0,0,100000) ;

}catch (Exception e){

System.err.println("zmdmap Err "+e) ;

return;

}

//外字読み込み

try {

ZmdGaijiManager gaiji = new ZmdGaijiManager(this.getClass());

screen.setGaiji(gaiji);

} catch(Exception e) {

e.printStackTrace() ;

System.out.println(e);

}

//表示形式の指定

zmdmap.attrib(zmdmap.MAP_VISIBLE | zmdmap.MAP_AUTO_LOAD);

// マップオブジェクトを登録

screen.addMap(zmdmap);

}

}

Page 85: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

7.V3.0 から V5.0 への移行方法

81

上記コーディング例を V5.0 でコーディングする例

リスト 7-2 V5.0 コーディング例

import java.awt.*;

import java.util.*;

import jp.co.melco.preserv.*;

import jp.co.melco.preserv.zmd.* ;

import jp.co.melco.preserv.rasterizer.*;

/**

* ラスター画像作成に必要な情報を準備するクラスです.

*/

public class SamplePreparation implements mrPreparation{

/**

* キャンバスを返します

* @param frame フレームオブジェクト

* @return キャンバスクラス

**/

public Component get_canvas (Component frame){

//キャンバス作成

psvJCanvas canvas = new psvJCanvas() ;

canvas.setSize(500, 500);

((Frame)frame).add(canvas);

return canvas;

}

/**

* スクリーンを返します

**/

public psvJavaScreen get_screen(Component canvas,Vector maps,

Hashtable temp,int series_no){

//スクリーン作成

mrConvertScreen screen = new mrConvertScreen(canvas,0,0,1000,1000);

// ゼンリンマップ

psvZmdMap zmdmap = null ;

―― 続き ――

Page 86: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

7.V3.0 から V5.0 への移行方法

82

リスト 7-2 V5.0 コーディング例 続き

psvLayer lay = new psvLayer();

// レイヤ情報設定

ZmdLayer.set_lay(lay);

String BaseDir = (temp != null) ?

(String)temp.get("ZMapBaseDir") : "http://localhost/sample/";

String MapDir = (temp != null) ?

(String)temp.get("ZMapDir") : "z-map/";

try{

// ゼンリンマップオブジェクト構築

zmdmap = new psvZmdMap(new URL(BaseDir),

MapDir,series_no,lay, new ZmdConvertLayer(),0,0,100000) ;

}catch (Exception e){

System.err.println("zmdmap Err "+e) ;

return;

}

try { //外字読み込み

ZmdGaijiManager gaiji = new ZmdGaijiManager(this.getClass());

screen.setGaiji(gaiji);

} catch(Exception e) {

e.printStackTrace() ;

System.out.println(e);

}

//表示形式の指定

zmdmap.attrib(zmdmap.MAP_VISIBLE | zmdmap.MAP_AUTO_LOAD);

// マップオブジェクトを登録

screen.addMap(zmdmap);

// ベクトルフォント読み込み

try {

psvJavaScreen.vftinit(null) ;

} catch(Exception e){

e.printStackTrace() ;

}

return screen;

}

―― 続く ――

Page 87: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

7.V3.0 から V5.0 への移行方法

83

リスト 7-2 V5.0 コーディング例 続き

/**

* マップの属性を設定します

* ラスタ定義のリクエストに指定している順でマップ単位に呼び出されます

* @param map マップクラス

* @return マップクラス

**/

public psvAnyMap set_map_attrib(psvAnyMap map){

return map;

}

}

Page 88: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

7.V3.0 から V5.0 への移行方法

84

7.3 地図操作クラス V3.0 ではクライアントからのリクエスト情報以外の処理を行う場合や、特殊処理を

行うための RasterEvent インタフェースを提供していました。V5.0 では RasterEvent

インタフェースを mrRasterEvent インタフェースに変更し提供しています。下記は

RasterEvent インタフェースを実装したクラスを、mrRasterEvent インタフェースを実

装したクラスに変更する例です。

リスト 7-3 V3.0 コーディング例

import java.awt.* ;

import javax.servlet.http.*;

import jp.co.melco.preserv.* ;

import jp.co.melco.preserv.rasterizer.* ;

// 地図操作クラス

public class Event1 implements RasterEvent{

// ラスタライザ-オブジェクト登録

public void setRaster(BaseRaster rasterMap){

}

// リクエスト情報の登録

public void setRequest(HttpServletRequest request){

}

―― 続き ――

Page 89: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

7.V3.0 から V5.0 への移行方法

85

リスト 7-3 V3.0 コーディング例 続き

V5.0 の地図操作インタフェースを実装しコーディングする例(太字部分=変更点)

リスト 7-4 V5.0 コーディング例

// イメージクリック処理

public void imageClick(Point p){

}

// レイヤ変更処理

public void layerChange(int LayNo){}

// ユーザーイベント後処理

public void afterEvent(){

}

}

import java.awt.* ;

import jp.co.melco.preserv.* ;

import jp.co.melco.preserv.rasterizer.* ;

public class Event1 implements mrRasterEvent{ // リクエスト情報の登録

public void setRequest(Object request,mrRasterInfo raster_info){}

// ユーザーイベント前処理

public void beforeEvent(){}

// イメージクリック処理

public void imageClick(Point p){}

// レイヤ変更処理

public void layerChange(int LayNo){}

// ユーザーイベント後処理

public void afterEvent(){}

}

Page 90: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

7.V3.0 から V5.0 への移行方法

86

7.4 応答用 HTML クラス、応答用テンプレート HTML クラス V3.0 ではラスターデータを、応答 HTML の作成を行うための RasterDataTrans イン

タフェースと、応答用テンプレート HTML を利用し HTML 返信を行っていました。V5.0

では HTML 作成に JSP 機能を利用し HTML 返信を行います。INPUT タグについては

5.1 を参照してください。下記は応答用テンプレート HTML を JSP ファイルに変更す

る例です。

リスト 7-5 V3.0 応用テンプレート HTML コーディング例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<SCRIPT Language="JavaScript">

<!--

function move(SelectNo){

switch(SelectNo){

case 0: // 左上

document.forms[0].MV_x.value=200;

document.forms[0].MV_y.value=200;

break;

case 1: // 上

document.forms[0].MV_x.value=0;

document.forms[0].MV_y.value=200;

break;

case 2: // 右上

document.forms[0].MV_x.value=-200;

document.forms[0].MV_y.value=200;

break;

case 3: // 左

document.forms[0].MV_x.value=200;

document.forms[0].MV_y.value=0;

break;

case 4: // 右

document.forms[0].MV_x.value=-200;

document.forms[0].MV_y.value=0;

break;

―― 続く ――

Page 91: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

7.V3.0 から V5.0 への移行方法

87

リスト 7-5 V3.0 応用テンプレート HTML コーディング例 続き

case 5: // 左下

document.forms[0].MV_x.value=200;

document.forms[0].MV_y.value=-200;

break;

case 6: // 下

document.forms[0].MV_x.value=0;

document.forms[0].MV_y.value=-200;

break;

case 7: // 右下

document.forms[0].MV_x.value=-200;

document.forms[0].MV_y.value=-200;

break;

}

document.forms[0].submit();

return;

}

// -->

</SCRIPT>

<TITLE>ラスタライザーデモ</TITLE>

<BODY BGCOLOR=#FFFFFF>

<FORM NAME=RASTER

ACTION=http://localhost/servlet/RasterServlet METHOD="POST">

<CENTER>

<H1>PreServ For Web MapRasterizer デモページ</H1>

<P>

縮尺: 1/%NowScale%

<P><P>

<TABLE BORDER>

<TR>

<TD><IMG BORDER=1 SRC="../rasterizer/images/up_l.gif" onclick=move(0)></TD>

<TD ALIGN=CENTER><IMG BORDER=1 SRC="../rasterizer/images/up.gif"

onclick=move(1)></TD>

<TD><IMG BORDER=1 SRC="../rasterizer/images/up_r.gif" onclick=move(2)></TD>

</TR>

―― 続く ――

Page 92: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

7.V3.0 から V5.0 への移行方法

88

リスト 7-5 V3.0 応用テンプレート HTML コーディング例 続き

<TR>

<TD><IMG BORDER=1 SRC="../rasterizer/images/left.gif" onclick=move(3)></TD>

<TD ALIGN=CENTER><IMG src="../rasterizer/images/%ImageFname%" width=400

height=400></TD>

<TD><IMG BORDER=1 SRC="../rasterizer/images/right.gif" onclick=move(4)></TD>

</TR>

<TR>

<TD><IMG BORDER=1 SRC="../rasterizer/images/down_l.gif"

onclick=move(5)></TD>

<TD ALIGN=CENTER><IMG BORDER=1 SRC="../rasterizer/images/down.gif"

onclick=move(6)></TD>

<TD><IMG BORDER=1 SRC="../rasterizer/images/down_r.gif"

onclick=move(7)></TD>

</TR>

</TABLE>

<P>

</CENTER>

<!-- パラメータ情報 -->

<INPUT TYPE=HIDDEN NAME="OKIND" VALUE=1>

<INPUT TYPE=HIDDEN NAME="LAY" VALUE=%NowLay%>

<INPUT TYPE=HIDDEN NAME="SERIES" VALUE=%NowSeries%>

<INPUT TYPE=HIDDEN NAME="MKIND" VALUE=%NowMkind%>

<INPUT TYPE=HIDDEN NAME="MV_x" VALUE=0>

<INPUT TYPE=HIDDEN NAME="MV_y" VALUE=0>

<INPUT TYPE=HIDDEN NAME="SZ_w" VALUE=%NowSZ_w%>

<INPUT TYPE=HIDDEN NAME="SZ_h" VALUE=%NowSZ_h%>

<INPUT TYPE=HIDDEN NAME="cn" VALUE=RasterSample1>

<TABLE BORDER>

<TR>

<TD>緯度<INPUT TYPE=TEXT NAME=NL VALUE=%NowNL%></TD>

<TD>経度<INPUT TYPE=TEXT NAME=EL VALUE=%NowEL%></TD>

</TR>

―― 続く ――

Page 93: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

7.V3.0 から V5.0 への移行方法

89

リスト 7-5 V3.0 応用テンプレート HTML コーディング例 続き

上記応用テンプレート HTML を V5.0 に対応した JSP ファイルに変更するコーディ

ング例

リスト 7-6 V5.0 JSP ファイルコーディング例

<TR>

<TD>縮尺<INPUT TYPE=TEXT NAME=SCALE VALUE=%NowScale%></TD>

<TD> 回 転 ( 1 / 1 0 度 単 位 ) <INPUT TYPE=TEXT NAME=RT

VALUE="0"></TD>

</TR>

</TABLE>

<INPUT TYPE=SUBMIT VALUE="送信">

<P>

</FORM>

<P>

</BODY>

</HTML>

<%@ page

import = "java.io.*,

java.util.*,

java.sql.*"

language="java"

contentType = "text/html; charset=shift_jis"

%>

<HTML>

<%

int i;

//ラスタ画像出力結果を取得

Hashtable info = (Hashtable)request.getAttribute("RASTER_AFT_PROP");

String NowLay = (String)info.get("NowLAY");

String NowSeries = (String)info.get("NowSERIES");

String NowIkind = (String)info.get("NowIKIND");

String NowSZ_w = (String)info.get("NowSZ_w");

String NowSZ_h = (String)info.get("NowSZ_h");

―― 続く ――

Page 94: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

7.V3.0 から V5.0 への移行方法

90

リスト 7-6 V5.0 JSP ファイルコーディング例 続き

String NowNL = (String)info.get("NowNL");

String NowEL = (String)info.get("NowEL");

String NowScale = (String)info.get("NowSCALE");

String NowRT = (String)info.get("NowRT");

String ImageFname = (String)info.get("ImageFname");

%>

<SCRIPT Language="JavaScript">

<!--

function move(SelectNo){

switch(SelectNo){

case 0: // 左上

document.forms[0].MV_x.value=200;

document.forms[0].MV_y.value=200;

break;

case 1: // 上

document.forms[0].MV_x.value=0;

document.forms[0].MV_y.value=200;

break;

case 2: // 右上

document.forms[0].MV_x.value=-200;

document.forms[0].MV_y.value=200;

break;

case 3: // 左

document.forms[0].MV_x.value=200;

document.forms[0].MV_y.value=0;

break;

case 4: // 右

document.forms[0].MV_x.value=-200;

document.forms[0].MV_y.value=0;

break;

―― 続く ――

Page 95: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

7.V3.0 から V5.0 への移行方法

91

リスト 7-6 V5.0 JSP ファイルコーディング例 続き

case 5: // 左下

document.forms[0].MV_x.value=200;

document.forms[0].MV_y.value=-200;

break;

case 6: // 下

document.forms[0].MV_x.value=0;

document.forms[0].MV_y.value=-200;

break;

case 7: // 右下

document.forms[0].MV_x.value=-200;

document.forms[0].MV_y.value=-200;

break;

}

document.forms[0].submit();

return;

}

// -->

</SCRIPT>

<TITLE>ラスタライザーデモ</TITLE>

<BODY BGCOLOR=#FFFFFF BACKGROUND="../images/hanabatake_y.gif">

<FORM NAME=RASTER ACTION=http://localhost/rasterizer/servlet/mrRasterServlet

METHOD="POST">

<CENTER>

<H1>PreServ For Web MapRasterizer デモページ</H1>

<P>縮尺: 1/<%=NowScale%>

<P><P>

<TABLE BORDER>

<TR>

<TD><IMG BORDER=1 SRC="../images/up_l.gif" onclick=move(0)></TD>

<TD ALIGN=CENTER><IMG BORDER=1 SRC="../images/up.gif" onclick=move(1)>

</TD>

<TD><IMG BORDER=1 SRC="../images/up_r.gif" onclick=move(2)></TD>

</TR>

―― 続く ――

Page 96: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

7.V3.0 から V5.0 への移行方法

92

リスト 7-6 V5.0 JSP ファイルコーディング例 続き

<TR>

<TD><IMG BORDER=1 SRC="../images/left.gif" onclick=move(3)></TD>

<TD ALIGN=CENTER><IMG src="../rasterimages/<%=ImageFname%>" ></TD>

<TD><IMG BORDER=1 SRC="../images/right.gif" onclick=move(4)></TD>

</TR><TR>

<TD><IMG BORDER=1 SRC="../images/down_l.gif" onclick=move(5)></TD>

<TD

ALIGN=CENTER><IMG BORDER=1 SRC="../images/down.gif" onclick=move(6)>

</TD>

<TD><IMG BORDER=1 SRC="../images/down_r.gif" onclick=move(7)></TD>

</TR>

</TABLE><P>

</CENTER><!-- パラメータ情報 -->

<INPUT TYPE=HIDDEN NAME="OKIND" VALUE=1>

<INPUT TYPE=HIDDEN NAME="LAY" VALUE=<%=NowLay%>>

<INPUT TYPE=HIDDEN NAME="SERIES" VALUE=<%=NowSeries%>>

<INPUT TYPE=HIDDEN NAME="IKIND" VALUE=<%=NowIkind%>>

<INPUT TYPE=HIDDEN NAME="MV_x" VALUE=0>

<INPUT TYPE=HIDDEN NAME="MV_y" VALUE=0>

<INPUT TYPE=HIDDEN NAME="SZ_w" VALUE=<%=NowSZ_w%>>

<INPUT TYPE=HIDDEN NAME="SZ_h" VALUE=<%=NowSZ_h%>>

<INPUT TYPE=HIDDEN NAME="RKEY" VALUE=RasterSample>

<TABLE BORDER>

<TR>

<TD>緯度<INPUT TYPE=TEXT NAME=NL VALUE=<%=NowNL%>></TD>

<TD>経度<INPUT TYPE=TEXT NAME=EL VALUE=<%=NowEL%>></TD>

</TR>

<TR>

<TD>縮尺<INPUT TYPE=TEXT NAME=SCALE VALUE=<%=NowScale%>></TD>

<TD>回転(1/10度単位)

<INPUT TYPE=TEXT NAME=RT VALUE=<%=NowRT%>>

</TD>

</TR>

</TABLE>

―― 続き ――

Page 97: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

7.V3.0 から V5.0 への移行方法

93

リスト 7-6 V5.0 JSP ファイルコーディング例 続き

<INPUT TYPE=SUBMIT VALUE="送信">

<P>

</FORM>

<P>

</BODY>

</HTML>

Page 98: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

7.V3.0 から V5.0 への移行方法

94

7.5 プロパティの設定 V3.0 の プ ロ パ テ ィ フ ァ イ ル に 設 定 し て い た 項 目 を V5.0 で 使 用 す る

MapDataManager プロパティファイル、MapRasterizer プロパティファイルに設定し

ます。各プロパティファイルの設定項目と設定は以下のようになります。

表 7-1 プロパティ設定について

プロパティファイル名 設定項目 指定するプロパティファイル名

システムプロパティ

(raster.prop)

ログレベル MapRasterizer プロパティファイルの要求処

理定義に設定します。(2.5(7)を参照)

シンボル URL MapDataManager プロパティファイルの「動

作情報ユニットプロパティ」に設定します。

ラインシンボル

URL

MapDataManager プロパティファイルの「動

作情報ユニットプロパティ」に設定します。

地図オプションプロパ

ティ(map.prop)

地図オプション

クラス

MapRasterizer プロパティファイルの「地図オ

プション定義」に地図オプションの登録、「要

求処理定義」-「地図オプション名称」に要

求と使用する地図オプションのリンクを設定

します。設定します。(2.6(1)を参照)

応答 HTML 変換プロパ

ティ(trans.prop)

応答 HTML 変換

クラス

MapDataManager プロパティファイルの「処

理クラス情報プロパティ」に使用する JSP フ

ァイルを登録、「要求情報プロパティ」に要

求と JSP ファイルをリンクづけるための設定

します。(2.5 を参照)

イメージマネージャ

プロパティ

(image_url.prop)

オブジェクトキ

ーとイメージシ

ンボル URL

MapDataManager プロパティファイルの「イ

メージ URL プロパティユニットプロパティ」

に設定します。(2.5 を参照)

ユーザー定義プロパテ

ィ(user.prop)

キー [任意文字

列]=値[任意文字

列]

MapRasterizer プロパティファイルの「要求処

理定義」-「付属情報」に要求とユーザー定

義値のリンクを設定します。(2.4(2) を参照)

地図操作プロパティ

(mapope.prop)

要求情報クラス

と地図操作クラ

MapRasterizer プロパティファイルの「イベン

ト定義」にイベントクラスを登録、「要求処

理定義」に要求とイベントをリンクする設定

します。(2.4(2)を参照)

Page 99: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

8.サンプルプログラム

95

8 サンプルプログラム

8.1 ディレクトリ構成 サンプルプログラムのディレクトリ構成は以下のとおりです。

リスト 8-1 サンプルプログラム ディレクトリ構造図

rasterizer/ ・・・ラスタライザディレクトリ

|

+--start1 ~ 8.html ・・・HTML 返信機能サンプル起動 HTML

+--start-object.html ・・・オブジェクト返信機能サンプル起動 HTML

|

+--images/ ・・・イメージファイルディレクトリ

+--jar/ ・・・JSP ファイルディレクトリ

| |

| +--rastersample.jar ・・・サンプル JAR ファイル

+--jsp/ ・・・JSP ファイルディレクトリ

| |

| +--RasterSample ~ 8.jsp ・・・HTML 返信機能サンプル JSP

| +--Error.jsp ・・・エラー出力 JSP

|

+--prop/ ・・・JSP ファイルディレクトリ

| |

| +--mdmprop.xml ・・・MapDataManager プロパティファイル

| +--mdmprop.dtd ・・・MapDataManager プロパティファイル DTD ファイル

| +--raster.xml ・・・MapRasterizer プロパティファイル

| +--raster.dtd ・・・MapRasterizer プロパティファイル用 DTD ファイル

+--rasterimages/ ・・・ラスタ画像出力ディレクトリ

+--symbol/ ・・・シンボルディレクトリ

| |

| +--symbol.zmd ・・・シンボルファイル

+--WEB-INF/ ・・・サーブレット定義ディレクトリ

|

+--lib/ ・・・サーバサイドで使用する JAR ファイル配置ディレクトリ

|

+--rastersample.jar ・・・サンプル JAR ファイル

Page 100: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

8.サンプルプログラム

96

8.2 サンプルプログラム動作環境手順 以下のサンプルプログラムは、Webサーバーとサーブレットとして JRun4.0 を利

用した場合の設定方法になります。また、利用する地図オプションとして

「Zmap-TownII」が必要になります。サンプルプログラムの環境構築は、以下の手順に

て行います。

表 8-1 サンプルプログラム設定手順一覧 手順 No 操作

1 必要なアプリケーション及び地図データのインストールを行う。(Web サ

ーバー、JRun、Zmap-TownII データ) 2 サ ン プ ル デ ィ レ ク ト リ を 任 意 の 場 所 に 配 置 し ま す 。 ( 以 下

"c:¥work¥rasterizer"に配置した場合について説明します。) 3 サンプルプログラムをWebサーバーに登録します。

・ /rasterizer と し て 先 ほ ど 配 置 し た サ ン プ ル デ ィ レ ク ト リ

c:¥work¥rasterizer を指定します。 ・/MAP/Z-MAP として地図データをインストールしたディレクトリを指定

します。 4 c:¥work¥rasterizer¥prop にある MapDataManager 定義ファイルに、シンボ

ル URL、イメージ URL、MapRasterizer プロパティファイル URL を指定し

ます。 5 c:¥work¥rasterizer¥prop にある MapRasterizer 定義ファイルに、インスト

ールした Zmap-TownII データ URL、イメージ出力ディレクトリを指定しま

す。イメージ出力ディレクトリは c:¥work¥rasterizer¥rasterimages を指定

します。 6 c:¥work¥rasterizer¥jar に preserv50.jar、psvrasterizer50.jar、地図オプショ

ン「Zmap-TownII」「デフォルトオプション」を設置します。 7 c:¥work¥rasterizer¥WEB-INF¥lib に psvmdm50.jar、psvrasterizer50.jar、地

図オプション「Zmap-TownII」を設置します。 8 c:¥work¥rasterizer¥WEB-INF にサーブレット定義ファイルを用意します。

サーブレット定義ファイルには MapDataManager、MapRasterizer のサー

ブレット定義を行います。(8.3 を参照) 9 JRun4.0 に Web アプリケーションとしてサンプルプログラムを設定しま

す。 10 JRun ランチャー等で JRun Server"admin"を起動します。 11 JRun ランチャー等で JRun Server"default"を起動します。 12 Web ブラウザにて JRun 管理コンソール画面にログインし、JRun 管理コ

ンソール画面左フレームの「default」を選択します。 13 JRun 管理コンソール画面右フレームの「J2EE コンポーネント」-「要約」

を選択し、"default 上の J2EE コンポーネント"画面を表示します。 14 "Web アプリケーション"項目の「追加」ボタンを押下して"default へ Web

アプリケーションをデプロイ"画面を表示します。 15 "デプロイファイル"項目のソースファイルパスに"c:¥work¥rasterizer"を指

定します。 16 「デプロイ」ボタンを押下して"Web アプリケーション概要:rasterizer"画

Page 101: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

8.サンプルプログラム

97

面を表示します。 17 コンテキストパスが"/rasterizer"になっていることを確認し、「適用」ボタ

ンを押下します。例外が発生する場合がありますが、 "default 上の J2EEコンポーネント"画面に Web アプリケーションが追加されていれば成功で

す。 18 JRun ランチャー等で JRun Server"default"を再起動します。

8.3 サーブレット定義ファイル(デプロイメントディスクリプタ) サンプルで使用するサーブレット定義ファイル(web.xml)の記述例です。

リスト 8-2 デプロイメントディスクリプタ(web.xml)記述例

<?xml version=”1.0” encoding="ISO-8859-1" ?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

<servlet>

<servlet-name>mdmServlet</servlet-name>

<servlet-class>jp.co.melco.preserv.mdm.light.mdmServlet</servlet-class>

<init-param>

<param-name>prop_path</param-name>

<param-value>c:¥work¥rasterizer¥prop¥mdmprop.xml</param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>mdmServlet</servlet-name>

<url-pattern>/servlet/mdmServlet</url-pattern>

</servlet-mapping>

<servlet>

<servlet-name>mrRasterServlet</servlet-name>

<servlet-class>

jp.co.melco.preserv.rasterizer.mrRasterServlet

</servlet-class>

―― 続く ――

Page 102: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

8.サンプルプログラム

98

リスト 8-2 デプロイメントディスクリプタ記述例 続き

8.4 サンプルプログラムの起動 上記、実行環境の設定が終了後、Web ブラウザから"http://localhost/rasterizer/"を指定しデ

ィレクトリを表示させ、以下の HTML ファイルを起動させてください。

表 8-1 サンプルプログラムの説明

起動ファイル 説明

start1.html 指定した座標の地図を表示します。

start2.html クリックポイントを中心に地図を表示します。

start3.html クリックポイントにアイコンを貼り付け表示します。

start4.html レイヤ切り替えによる表示情報の間引きを行い地図を表示しま

す。

start5.html 表示地図の中心に十字カーソルを表示します。

start6.html 表示地図から指定した文字列の検索を行い表示します。

start7.html クリックポイントに文字列とアイコンを表示させ、選択した家

を赤で表示します。

start8.html 指定したファイル種別、ファイル名でラスタ画像を生成します。

start-object.html ラスタ画像を生成し地図の拡大、縮小、スクロールを行います。

<init-param>

<param-name>prop_path</param-name>

<param-value>c:¥work¥rasterizer¥prop¥mdmprop.xml</param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>mrRasterServlet</servlet-name>

<url-pattern>/servlet/mrRasterServlet</url-pattern>

</servlet-mapping>

<session-config>

<session-timeout>1</session-timeout>

</session-config>

</web-app>

Page 103: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

8.サンプルプログラム

99

8.5 サンプルプログラム サンプルプログラム、サンプルソースは ZIP 形式で圧縮しています。解凍してお使

いください。

Page 104: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

100

付録 A MapService オプション 付録 A では、PreSerV for Web MapRasterizer オプションで作成した画像を Web サー

ビスで配信する PreSerV for Web MapService のインストール方法および機能の説明

について記述しています

Page 105: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

EWEB-4K-N028

MITSUBISHI三菱Web地理情報システム構築パッケージ

付録 A

MapService オプション

マニュアル

Page 106: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

A-i

はじめに

本ドキュメントは、PreSerV for Web MapService のインストール方法および機能の

説明について記述しています。

Page 107: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

A-ii

目次

A1 概要 ..........................................................................................................................A-I A1.1 MapService オプションについて.......................................................................A-I A1.2 前提とする技術知識 ..........................................................................................A-I

A1.2.1 Web サービス .............................................................................................A-I A1.2.2 PreSerV for Web MapRasterizer ................................................................A-I A1.2.3 PreSerV for Web MapDataManager ..........................................................A-1

A2 インストール ...........................................................................................................A-2 A2.1 動作環境 ...........................................................................................................A-2

A2.1.1 ソフトウェア構成 ......................................................................................A-2 A2.1.2 環境一覧 ....................................................................................................A-3

A2.2 インストール手順 .............................................................................................A-4 A2.2.1 Java 動作環境の設定 .................................................................................A-4 A2.2.2 SOAP エンジンの設定...............................................................................A-4 A2.2.3 プロパティファイルの設定...................................................................... A-11 A2.2.4 WSDL の取得 .......................................................................................... A-15

A3 基本機能 ................................................................................................................ A-16 A3.1 ラスタ画像返信機能について ......................................................................... A-16

A3.1.1 要求データ .............................................................................................. A-16 A3.1.2 出力データ .............................................................................................. A-16 A3.1.3 出力する画像のファイル名について ....................................................... A-18

A3.2 イメージフォーマット指定について .............................................................. A-19 A3.3 レイヤ操作について ....................................................................................... A-19 A3.4 縮尺指定について ........................................................................................... A-20 A3.5 画像サイズ指定について ................................................................................ A-20

A4 カスタマイズ方法 .................................................................................................. A-21 A4.1 ファイル名へ出力ディレクトリの付加 ........................................................... A-21 A4.2 レイヤ操作 ..................................................................................................... A-21 A4.3 ラスタ画像へ文字列の付加............................................................................. A-23 A4.4 出力ファイル削除 ........................................................................................... A-24

Page 108: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

1 概要

A-I

A1 概要

A1.1 MapService オプションについて MapService は、地理的に参照された地図画像を生成するサービスです。地理空間デー

タそのものではなく、地理空間データの視覚化したラスタ地図を配信する機能を提供しま

す。

図 A 0-1 MapSerivce 概要図

A1.2 前提とする技術知識 MapService を使用するには以下の知識が必要です。

A1.2.1 Web サービス Web サービスは、SOAP/XML 形式のメッセージ交換によってネットワーク上の自

律したアプリケーションを連携させる技術です。MapService は Web サービスの技

術を利用し、ラスタ画像の配信を行います。Web サービスの知識が必要となります。

A1.2.2 PreSerV for Web MapRasterizer MapService ではラスタ画像生成に PreSerV for Web MapRasterizer を利用してい

ます。MapRasterizer の知識が必要となります。

A1.2.3 PreSerV for Web MapDataManager PreSerV for Web MapRasterizerはPreSerV for Web MapDataManagerを利用し動

作いたします。PreSerV for Web MapDataManager の知識が必要です。

画像配信サービス

画像生成

地図画像 ファイル

クライアント

要求

結果

参照

地図表示

出力

地理空間 データ

Page 109: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2 インストール

A-2

A2 インストール

A2.1 動作環境

A2.1.1 ソフトウェア構成 MapService のソフトウェア構成を下図に示します。

図 A0-1 ソフトウェア構成図

PreSerV for Web MapService

SOAP エンジン

Java アプリケーション

.NET アプリケーション

Etc

SOAP/HTTP

SOAP/HTTP

SOAP/HTTP

クライアント サーバー

Java 環境 J2SDK1.3 以上

PreSerV for Web MapDataManager

PreSerV for Web MapRasterizer

Page 110: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2 インストール

A-3

A2.1.2 環境一覧 MapService 動作環境には以下のものが必要となります。

表 A2-1 動作環境一覧

内容 説明

SOAP エンジン 動作確認済みエンジン Apache Axis1.1 JRun4 SP1 (Apache Axis 1.0 RC1)

MapService JAR ファイル psvmapservice.jar

MapDataManager JAR ファイル psvmdm50.jar

MapRasterizer JAR ファイル psvrasterizer50.jar

MapDataManager プロパティファイ

mdmprop.xml

mdmprop.dtd

MapRasterizer プロパティファイル rasterprop.xml

msrasterprop.dtd

Java バージョン 実行には Java 2 Runtime Environment, Standard Edition バージ

ョン 1.3 以上、開発には Java 2 SDK, Standard Edition バージョ

ン 1.3 以上が必要です。

JAXP ( Java API for XML

Processing)環境

JAXP(Java API for XML Processing)Specification 1.1 以上

(Java バージョン 1.4 以上には標準で含まれています)

注)Unix 環境では X-Window が必要となります

Page 111: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2 インストール

A-4

A2.2 インストール手順 MapService のインストールは表 A1-2 で示す手順で行います。

表 A2-2 インストール手順

No 手順 備考

1 Java 動作環境の設定

2 SOAP エンジンの設定

・ MapRasterizer パッケージの設定

・ MapDataManager パッケージの設定

・ MapService の設定

・Apache Axis

・JRun

3 プロパティファイルの設定

4 WSDL の取得

A2.2.1 Java 動作環境の設定 MapService を動作させるには Java の動作環境が必要です。実行には Java 2

Runtime Environment、 Standard Edition バージョン 1.3 以上が必要です。

A2.2.2 SOAP エンジンの設定 以降では、SOAP エンジン別に MapService の設定を説明します。

(1) Apache-Axis1.1

① Axis の Tomcat への配置

ダウンロードした Axis を適当な場所へ展開します。(以降、展開したディレク

トリを<AXIS_HOME>)

<AXIS_HOME>/webapps/axis ディレクトリを<TOMCAT_HOME>/webapps デ

ィレクトリ以下にコピーします。以上で Axis を Web アプリケーションとして

Tomcat に配置できます。

② SAAJ/JAX-RPC パッケージの移動

<TOMCAT_HOME>¥webapps¥axis¥WEB-INF¥lib にある saaj.jar, jaxrpc.jar フ

ァイルを<TOMCAT_HOME>¥common¥lib に移動します。 (Tomcat の仕様で

java.xxx や javax.xxx と い う パ ッ ケ ー ジ 名 を 持 つ ク ラ ス を

<TOMCAT_HOME>¥webapps 以下のディレクトリから読み込まないため)

表 A2-3 SAAJ/JAX-RPC パッケージ説明

名称 正式名称 説明

jaxrpc.jar Java API for XML-based RPC

(JAX-RPC)

Java で XML リモート・プロシー

ジャ・コール(RPC)を実行する

Page 112: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2 インストール

A-5

ための機能を提供。SOAP を利用

した RPC を動かすための API saaj.jar SOAP with Attachment API for Java

(SAAJ) SOAP 通信を行うための機能を

提供。SOAP 1.1 の仕様に準拠。

SOAP with Attachment(SOAPの添付ファイル対応)に対応。

JAXM 仕様(Java API for XML Messaging)の機能の一部

③ 動作確認

Axis エンジンの稼動を確認するために、Web ブラウザで以下の URL にアクセ

スします。 http://localhost:8080/axis/index.html

アクセス後、以下のページが表示されると Axis の配置が正常に出来ています。

図 A2-1 Axis index.html 画面

④ MapRasterizer パッケージの設定

(a) JAR ファイルの配置

MapRasterizer の JAR ファイル(psvrasterizer50.jar)を

<TOMCAT_HOME>¥webapps¥axis¥WEB-INF¥lib

に配置します。

(b) プロパティファイル

MapRasterizer で使用するプロパティファイル(rasterprop.xml)を任意のデ

ィレクトリに配置します。プロパティ記述については A2.2.3 プロパティファイ

ルの設定を参照してください。

Page 113: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2 インストール

A-6

⑤ クラス作成

(a) 準備クラス

使用するマップクラスが psvMapIF インタフェースを実装している場合、プロ

パティファイルに定義することで自動登録が行えますが、実装していない場合、

マップクラス登録に必要な準備クラスを作成する必要がございます。準備クラ

スの作成方法は MapRasterizer マニュアルを参照してください。

(b) イベントクラス

レイヤ操作処理を行う場合、イベントクラスを作成します。イベントクラスの

作成方法は MapRasterizer マニュアルを参照してください。

作成したクラスは

<TOMCAT_HOME>¥webapps¥axis¥WEB-INF¥classes

に配置、もしくは JAR ファイル化し、

<TOMCAT_HOME>¥webapps¥axis¥WEB-INF¥lib

に配置します。

⑥ MapDataManager パッケージの設定

(a) JAR ファイルの配置

MapDataManager の JAR ファイル(psvmdm50.jar)を

<TOMCAT_HOME>¥webapps¥axis¥WEB-INF¥lib

に配置します。

(b) プロパティファイル

MapDataManager で使用するプロパティファイル(mdmprop.xml)を任意の

ディレクトリに配置します。プロパティ記述については A2.2.3 プロパティ設定

を参照してください。

⑦ MapService パッケージの設定

(a) JAR ファイルの配置

MapService の JAR ファイル(psvmapservice.jar)を

<TOMCAT_HOME>¥webapps¥axis¥WEB-INF¥lib

に配置します。

⑧ Web サービスの登録

配置した MapService を Web サービスとして Axis に登録します。登録には

配置記述子(以下 WSDD)ファイルを使用します。WSDD ファイル名は任意でかま

いません。WSDD ファイルの記述は以下の通りです。

Page 114: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2 インストール

A-7

リスト 2-1 WSDD ファイル記述(deploy.wsdd)

WSDD ファイルには、配置した MapDataManger プロパティファイルのパスを

記述します。MapService を Web サービスとして配置は、Axis の AdminClient コ

マンドにて行います。配置コマンドは次のとおりです。

java org.apache.axis.client.AdminClient deploy.wsdd

配置の確認は図 A1-1 Axis index.html 画面内にある View で確認することがで

きます。

<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java" xmlns:mapservice = "urn:mapservice"> <handler name="init" type="java:org.apache.axis.handlers.JAXRPCHandler"> <parameter name="prop_path" value="MDM プロパティパス"/> <parameter name="className"

value="jp.co.melco.preserv.service.mapservice.msInitHandler"/> </handler> <service name="MapService" provider="java:RPC"> <requestFlow> <handler type="init" /> </requestFlow> <namespace>urn:mapservice</namespace> <parameter name="className"

value=" jp.co.melco.preserv.service.mapservice.MapService"/> <parameter name="allowedMethods" value="*"/> <parameter name="scope" value="application"/> </service> </deployment>

Page 115: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2 インストール

A-8

(2) JRun4

JRun4では Axis を標準でサポートしているため、SOAP 環境は設定する必要あり

ません。JRun では Web サービスの配置は、標準 Web アプリケーションをデプロ

イするのと同様の手順でおこないます。以下のディレクトリ構成を例に Web サー

ビスとして登録する手順を説明いたします。

リスト A2-2 ディレクトリ構成

① ディレクトリの配置

mapservice ディレクトリをデプロイディレクトリ (デフォルトでは、<JRun のル

ートディレクトリ>/servers/<JRun サーバー>) に配置します。

② MapRasterizer パッケージの設定

(a) JAR ファイルの配置

MapRasterizer の JAR ファイル(psvrasterizer50.jar)を

mapservice¥ WEB-INF¥lib

に配置します。

(b) プロパティファイル

MapRasterizer で使用するプロパティファイル(rasterprop.xml)を任意のデ

ィレクトリに配置します。プロパティ記述については A2.2.3 プロパティファイ

ルの設定を参照してください。

③ クラス作成

(a) 準備クラス

使用するマップクラスが psvMapIF インタフェースを実装している場合、プロ

パティファイルに定義することで自動登録が行えますが、実装していない場合、

マップクラス登録に必要な準備クラスを作成する必要がございます。準備クラ

スの作成方法は MapRasterizer マニュアルを参照してください。

(b) イベントクラス

レイヤ操作処理を行う場合、イベントクラスを作成します。イベントクラスの

mapservice/

WEB-INF/

service_config.wsdd

web.xml

lib/

psvmapservice.jar

psvmdm50.jar

psvrasterizer50.jar

・・・Web サービス配置記述子

・・・デプロイメントディスクリプタ

・・・MapService JAR ファイル

・・・MapDataMangaer JAR ファイル

・・・MapRasterizer JAR ファイル

Page 116: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2 インストール

A-9

作成方法は MapRasterizer マニュアルを参照してください。

作成したクラスは

mapservice¥ WEB-INF¥classes

に配置、もしくは JAR ファイル化し、

mapservice¥ WEB-INF¥lib

に配置します。

④ MapDataManager パッケージの設定

(a) JAR ファイルの配置

MapDataManager の JAR ファイル(psvmdm50.jar)を

mapservice¥ WEB-INF¥lib

に配置します。

(b) プロパティファイル

MapDataManager で使用するプロパティファイル(mdmprop.xml)を任意の

ディレクトリに配置します。プロパティ記述については A2.2.3 プロパティ設定

を参照してください。

⑤ MapService パッケージの設定

(a) JAR ファイルの配置

MapService の JAR ファイル(psvmapservice.jar)を

mapservice¥ WEB-INF¥lib

に配置します。

⑥ Web サービスの登録

MapService を Web サービスとして JRun に登録します。

登録には配置記述子(以下 WSDD)ファイルを使用します。JRun では配置記述

子を mapservice¥ WEB-INF ディレクトリに置くことで自動的に Web サービス

として配置されます。WSDD ファイル名は server-config.wsdd とする必要があ

ります。

Page 117: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2 インストール

A-10

リスト A2-3 WSDD ファイル記述(server-config.wsdd)

<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java" xmlns:mapservice = "urn:mapservice"> <handler name="init" type="java:org.apache.axis.handlers.JAXRPCHandler"> <parameter name="prop_path" value="MDM プロパティパス"/> <parameter name="className"

value="jp.co.melco.preserv.service.mapservice.msInitHandler"/> </handler>

<handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>

<service name="MapService" provider="java:RPC"> <requestFlow> <handler type="init" /> </requestFlow> <namespace>urn:mapservice</namespace> <parameter name="className"

value=" jp.co.melco.preserv.service.mapservice.MapService"/> <parameter name="allowedMethods" value="*"/> <parameter name="scope" value="application"/> </service> <transport name="http"> <requestFlow> <handler type="URLMapper"/> <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/> </requestFlow> </transport> <transport name="local"> <responseFlow> <handler type="java:org.apache.axis.transport.local.LocalResponder"/> </responseFlow> </transport> </deployment>

Page 118: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2 インストール

A-11

A2.2.3 プロパティファイルの設定 ここでは MapDataManager、MapRasterizer の各プロパティファイルの記述につい

て説明いたします。

(3) MapDataManager プロパティファイル

MapDataManager プロパティファイルでは以下の設定を行います。

① MapRasterizer プロパティファイルパスの設定

配置した MapRasterizer プロパティファイルのパスを<OptionProp>タグに記述し

ます。

リスト A2-4 MapRasterizer プロパティファイルパス記述例

② シンボルファイルパスの設定

シンボルを使用する場合、<BehaviorUnit>タグの symbol_url タグに使用するシ

ンボルファイルのパスを記述します。

リスト A2-5 シンボルファイルパス記述例

③ ログパスの設定

出力するログファイルパスを記述します。記述がない場合、ログは出力されませ

ん。

リスト A2-6 ログファイルパス記述例

<OptionProp>

<option name="rasterizer">MapRasterizer プロパティファイルパス</option>

</OptionProp>

<Behavior useunitname="RASTERIZER">

<BehaviorUnit unitname="RASTERIZER" symbol_url="シンボルパス" ・・・・・

<LogPath>

C:¥temp¥log¥MapService.log </LogPath>

Page 119: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2 インストール

A-12

(4) MapRasterizer プロパティファイル

MapDataManager プロパティファイルでは以下の設定を行います。

① マップクラスの設定

<OptionMap>タグにマップクラスの設定を行います。設定できるマップクラスは

psvMapOptionIF インタフェースを実装したクラスのみです。Preparation インタ

フェースを実装したクラスでマップクラスの登録を行う場合は記述の必要はあり

ません。詳細は MapRasterizer マニュアルを参照してください。

リスト A2-7 ログファイルパス記述例

② 準備クラスの設定

psvMapOptionIFインタフェースを実装していないマップクラスなどの登録処理を行

う準備クラス(jp.co.melco.preserv.rasterizer.mrPreparation)の設定を<Preparation>タ

グで行います。使用しない場合は記述する必要はございません。クラス作成方法は

MapRasterizer マニュアルを参照してください。

リスト A2-8 準備クラス記述例

<OptionMap option_name="ZmdMap" maproot="マップルートパス" num="9" conv="ユーザー拡張クラス" attrib="3" min="1" max="-1" layer="jp.co.melco.preserv.psvLayer" trans="jp.co.melco.preserv.psvDefaultTransfer"> jp.co.melco.preserv.zmd.psvZmdMap </OptionMap>

<Preparation>

<UserPreparation preparation_name="SamplePreparation">

sample.SamplePreparation

</UserPreparation>

</Preparation>

Page 120: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2 インストール

A-13

③ イベントクラス

<Event>タグでイベントクラス(jp.co.melco.preserv.rasterizer.mrRasterEvent)の

定義を行います。使用しない場合は記述する必要はありません。

リスト A2-9 イベントクラス記述例

④ 要求処理定義の設定

<Request>タグで要求処理の定義を設定します。要求処理定義では以下の設定を

行います。設定の詳細は MapRasterizer マニュアルを参照してください。

(a) ②で設定した準備クラスの名称を preparation_name 要素に指定します。準備ク

ラスを使用しない場合は指定する必要はありません。

リスト A2-10 準備クラス名称記述例

<Request item="msXYRequestItem">

<ProcessUnit

preparation_name="SamplePreparation"

</ProcessUnit>

</Request>

<Event>

<UserEventevent_name="SampleEvent">

jp.co.melco.preserv.rasterizer.mrDefaultEvent

</UserEvent>

</Event>

Page 121: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2 インストール

A-14

(b) ③で設定したイベントクラスの名称を event_name 要素に指定します。イベン

トクラスを使用しない場合は指定する必要はありません

リスト A2-11 イベントクラス名称記述例

(c) イメージファイル出力ディレクトリを output_dir 要素に指定します。クライア

ントから参照可能なディレクトリを指定してください。ファイル出力をしない

場合は指定する必要はありません。

リスト A2-12 ファイル出力ディレクトリ記述例

(d) ①で設定したマップクラス名称を<UseOptionMap>タグに指定します。準備ク

ラスでマップクラスを登録する場合は設定する必要はありません。

リスト A2-13 マップクラス名称記述例

<Request item="msXYRequestItem">

<ProcessUnit

output_dir="c:¥temp¥prop¥"

</ProcessUnit>

</Request>

<Request item="msXYRequestItem">

<ProcessUnit

event_name="SampleEvent"

</ProcessUnit>

</Request>

<ProcessUnit> ・

・ <UseOptionMap> ZmdMap </UseOptionMap>

</ProcessUnit>

Page 122: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

2 インストール

A-15

(e) <TmpValue>タグに(c)で指定したイメージファイル出力ディレクトリの URL

を記述することができます。記述した場合、URL+ファイル名でクライアントへ

結果返信されます。記述しない場合、ファイル名をクライアントへ結果返信し

ます。tmp_name 属性に指定するキー名称は「URL」と指定ください。

リスト A2-14 URL 記述例

A2.2.4 WSDL の取得 Web ブラウザで WSDL 取得用の URL にアクセスすることで表示されます。URL

は使用する SOAP エンジンにより異なります。また使用する環境によっては WSDL

取得のツール等、提供されています。WSDL 取得方法は各環境のマニュアル等参照

してください。 以下は Web ブラウザを使用し、Apache Axis に配置した Web サー

ビスの WSLD を取得する例です。

リスト A2-15 WSDL 取得 URL(Apache Axis 例)

<ProcessUnit> ・

・ <TmpValue tmp_name=”URL”> http://localhost/images/ </UseOptionMap>

</ProcessUnit>

http://localhost:8080/axis/services/MapService?wsdl

Page 123: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3 基本機能

A-16

A3 基本機能

MapService で提供する機能についての説明です。

A3.1 ラスタ画像返信機能について A3.1.1 要求データ

ラスタ画像生成に必要な要求情報を表 A3-1 に記述します。

表 A3-1 要求情報

設定値 データ型 説明

平面直交座標系(19系) int 型 1~19

緯度経度 文字列

フォーマット:

XXX.XXX.XX.XXX

イメージ出力対象緯度経度座標

度分秒ミリ秒の緯度経度を指定

(表示中心座標 or 矩形指定*1)

座標

直交座標 float 型 イメージ出力対象直交座標

(表示中心座標 or 矩形指定*1)

イメージサイズ(幅) int 型 出力するイメージサイズ(ピクセル)

イメージサイズ(高さ) int 型 出力するイメージサイズ(ピクセル)

表示スケール int 型 地図表示スケール

イメージ種別 int 型 生成するイメージ種別

0:GIF 1:JPEG

2:BMP 3:PNG

クオリティー int 型 出力イメージのクオリティー値(0

~100)

JPEG のみ指定可能

レイヤ操作種別番号 int 型 レイヤ表示パターン種別番号

*1:矩形指定は矩形の中心点を基準とし、指定されたイメージサイズでイメージを出力

します。

A3.1.2 出力データ MapService では 2 種類の方法でラスタ画像出力結果を送信します。

(5) バイト配列

生成したラスタ画像をバイト配列として送信します。クライアントは、受け取っ

たバイト配列からイメージの復元処理を作成する必要があります。

Page 124: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3 基本機能

A-17

図 A0-1 バイト配列返信

表 A3-2 出力情報

設定値 データ型 説明

バイト配列 Base64 バイナリ型 ラスタ画像のバイト配列

(6) URL 文字列、ファイル名

出力したラスタ画像の URL 文字列またはファイル名を返信します。クライアン

トは、URL 文字列、ファイル名から出力したラスタ画像の参照、ダウンロードを

おこないます。URL 文字列を取得する場合、MapRasterizer プロパティファイル

への設定が必要となります。A2.2.6 プロパティファイルの設定 MapRasterizer

プロパティを参照してください。

クライアント

結果 byte[]

要求情報

座標 etc

地理空間 データ

PreSerV for Web MapDataManager

PreSerV for Web MapRasterizer オプション

MapService 画像生成

Page 125: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3 基本機能

A-18

図 A0-2 ファイル名返信

表 A3-3 出力情報

出力値 データ型 説明

ファイル名 文字列 出力したラスタ画像ファイ

ルの URL 文字列、又はファ

イル名

A3.1.3 出力する画像のファイル名について 出力するファイル名は以下のフォーマットで出力されます。

リスト A3-1 出力ファイルフォーマット

リスト A3-2 出力ファイルフォーマット例

クライアント

要求情報

座標 etc

地図画像

出力

参照 クライアント参照可能 ディレクリ

地理空間 データ

PreSerV for Web MapDataManager

PreSerV for Web MapRasterizer オプション

MapService 画像生成結果 ファイル名

URL 文字列

年月日(8桁) 識別子

YYYYMMDDXXXXXXX.拡張子

20040311359828852.gif

Page 126: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3 基本機能

A-19

A3.2 イメージフォーマット指定について

MapService では PreSerV for Web MapRasterizer のオブジェクト返信機能を利

用し、要求に応じた「ラスタ画像」を作成します。生成する画像形式を表 A3-4 に記述

します。

表 A3-4 サポートフォーマット

画像フォーマット

JPEG

GIF

PNG

BMP

A3.3 レイヤ操作について

任意のレイヤのみを表示したラスタ地図の作成が行えます。レイヤの操作を行う

場合はカスタマイズが必要となります。詳細は A4.2 レイヤ操作を参照してくださ

い。

図 A0-3 レイヤ操作出力イメージ図

レイヤ操作なし 建物以外を表示

Page 127: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3 基本機能

A-20

A3.4 縮尺指定について

クライアントからの要求に応じて任意の縮尺でのラスタ地図作成が行えます。

図 0-4 縮尺指定出力イメージ図

A3.5 画像サイズ指定について

任意のサイズ(幅、高さ)を指定し、画像の生成が行えます。サイズ指定値は0以

上を指定します。

図 0-5 サイズ指定出力イメージ図

1/2500 を指定し出力 1/5000を指定し出力

Page 128: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3 基本機能

A-21

A4 カスタマイズ方法

A4.1 ファイル名へ出力ディレクトリの付加 MapRasterizer プロパティファイルの要求処理定義に、付加情報として画像を出力す

るディレクトリ URL を記述しておくことで、ファイル名にディレクトリ URL を付加

し結果として返信します。(付加情報記述については A2.2.6 プロパティファイルの設

定 MapRasterizer プロパティを参照)

図 A0-1 付加情報+ファイル名

A4.2 レイヤ操作 レイヤ操作は MapRasterizer で提供する mrRasterEvent インタフェース

#layerChange メソッドを実装し処理を行います。

リスト A4-1 mrRasterEvent インタフェース

public interface mrRasterEvent {

/**

* レイヤ種別に従い、レイヤ情報を変更します.

* <p>

* @param Layno レイヤ種別

*/

void layerChange(int Layno);

<TmpValue>

http://XXX/images/

</TmpValue>

画像生成

XXX.jpeg

MapRasterizer

プロパティファイル

参照可能ディレクトリ

結果返信http://XXX/images/XXX.jpeg

クライアント

http://XXX/images/XXX.jpeg参照

ファイル名

出力するディレクトリの

URL を TmpValue に記述

付加情報

Page 129: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3 基本機能

A-22

リスト A4-2 layerChange メソッド実装例

// レイヤ変更処理 public void layerChange(int LayNo){ //LayNo=レイヤ操作種別 // スクリーン情報取得 psvJavaScreen ri = _raster_info.get_screen(); psvLayer lay = null; // ゼンリンマップのみ対象 Vector mlist = ri.getAllMap(); for(int i=0; i<mlist.size(); i++){ psvAnyMap map = (psvAnyMap)mlist.elementAt(i); if(map instanceof psvZmdMap){ lay = map.layer(); break; } } if( lay == null) return; switch(LayNo){ //レイヤ操作種別番号1を指定した場合の処理 case 1: // 建物名称、目標名、建物面、建物線非表示 lay.attrib(106, 0) ; lay.attrib(109, 0) ; lay.attrib(117, 0) ; for(int i=82; i<92; i++) lay.attrib(i, 0) ; for(int i=98; i<104; i++) lay.attrib(i, 0) ; break; default : } }

Page 130: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3 基本機能

A-23

A4.3 ラスタ画像へ文字列の付加 ラスタ画像へ文字列の付加は MapRasterizer で提供する mrRasterEvent インタフェ

ース#afterEvent メソッドを実装し処理を行います。

リスト A4-3 mrRasterEvent インタフェース

ラスタ画像への文字列の挿入は、psvJavaScreen で提供する文字列描画メソッドを

利用します。以下は、ラスタ画像に出力日付を挿入するでサンプルです。

リスト A4-4 afterEvent メソッド実装例(日付挿入)

public interface mrRasterEvent {

/**

* 画像生成を行った直後に呼び出されます.

*/

void afterEvent ();

// レイヤ変更処理 public void afterEvent(){ // スクリーン情報取得 Component _canvas = _raster_info.get_canvas(); psvJavaScreen _sc = _raster_info.get_screen(); Dimension d = _canvas.getSize() ; //キャンバスの左下に日付文字列を表示 int x = 10; int y= d.height; /*--日付表示処理 --*/ //日付取得処理 Calendar cal = Calendar.getInstance(); String year = Integer.toString(cal.get(Calendar.YEAR)); String month = Integer.toString(cal.get(Calendar.MONTH)+1); if(month.length() == 1) month = "0" + month; String day = Integer.toString(cal.get(Calendar.DAY_OF_MONTH)); if(day.length() == 1) day = "0" + day; //色設定 _sc.set_color(new psvColor(Color.blue)); //文字描画方向指定 _sc.set_text_orientation((int)psvTextContext.TX_HORIZONTAL,false); //文字間隔指定 _sc.set_text_space(0f,false); //文字幅指定 _sc.set_text_width(_sc.get_wc_width(16),false); //文字高さ指定 _sc.set_text_height(_sc.get_wc_height(16),false);

Page 131: MITSUBISHI...MITSUBISHI 三菱Web地理情報システム構築パッケージ MapRasterizer オプション マニュアル i はじめに 本ドキュメントは、PreSerV for Web

3 基本機能

A-24

リスト A4-4 afterEvent メソッド実装例(日付挿入)続き

A4.4 出力ファイル削除 MapService では出力したファイルを削除する機能はございません。出力したファイ

ルの削除は以下の方法が考えらます。

(7) バッチプログラムの利用

ユーザーにてバッチプログラム等を利用して削除をおこなう。

//フォント指定

_sc.set_font(psvTextContext.TX_GFONT);

//文字描画処理

_sc.dc_text(x,y,(short)1,year+"."+month+"."+day);

/*--日付表示処理 END --*/

}