• 検索結果がありません。

STIMS STIMS GBD GBD STIMS.

N/A
N/A
Protected

Academic year: 2021

シェア "STIMS STIMS GBD GBD STIMS."

Copied!
43
0
0

読み込み中.... (全文を見る)

全文

(1)

ICS-03B-902

時空間情報管理システムにおける

オブジェクトの表示管理

指導教官

大澤 裕 教授

平成

15 年 2 月 13 日

工学部情報システム工学科

59702

青木 秀晃

埼玉大学工学部情報システム工学科 大澤研究室

埼玉県さいたま市下大久保

255

(2)

目次

論文概要

... 7

第1章

はじめに ... 8

1.1 研究背景... 8 1.2 研究目的... 8

第2章

時空間情報管理システム STIMS ... 9

2.1 STIMS の概要... 9 2.2 位相構造(トポロジー)... 10 2.2.1 トポロジー明示方式... 10 2.2.2 トポロジー暗示方式... 11 2.2.3 地図データ変更時の比較... 12 2.3 GBD 木 ... 14 2.3.1 GBD 木の概要... 14 2.3.2 領域式 ... 15 2.4 STIMS の現状での機能 ... 16 2.4.1 対応データフォーマット... 16 2.4.2 拡大縮小... 17 2.4.3 基本的な空間演算 ... 18 2.4.4 トポロジーキャッシュ ... 18 2.4.5 データベース接続 ... 18 2.4.6 地図編集... 19 2.4.7 マルチメディア ... 19 2.4.8 印刷... 19

第3章

デジタルアルバム HTML 出力機能の実現... 21

3.1 デジタルアルバム ... 21 3.1.1 デジタルアルバム概要 ... 21 3.1.2 デジタルアルバムの特徴... 22 3.1.3 現状のデジタルアルバム機能... 23 3.2 HTML 出力機能とは... 23 3.3 アイテムデータ表示の種類 ... 24 3.4 HTML 出力機能の実現 ... 25 3.4.1 データレコードフォーマット... 25 3.4.2 テンプレート HTML 用置換コード,制御コード... 27 3.5 実装結果... 29 3.5.1 単体表示結果... 30 3.5.2 アルバム表示結果 ... 32

第4章

多重注記の間引き機能の実現 ... 33

4.1 注記の間引きを実現するアルゴリズム(1) ... 34 4.2 注記の間引きを実現するアルゴリズム(2) ... 35

第5章

まとめと今後の課題... 41

5.1 まとめ ... 41

(3)

5.2 今後の課題 ... 41

謝辞

... 42

参考文献

... 43

(4)

図目次

図 2-1 STIMS 全体構成 ... 10 図 2-2 明示的トポロジーの説明... 11 図 2-3 暗示的トポロジーの説明... 11 図 2-4 地図データ更新前 ... 12 図 2-5 リンク追加前(トポロジー明示方式) ... 12 図 2-6 リンク追加後(トポロジー明示方式) ... 13 図 2-7 リンク追加前(トポロジー暗示方式) ... 13 図 2-8 リンク追加後(トポロジー暗示方式) ... 14 図 2-9 GBD 木の概要... 15 図 2-10 領域式による方形領域の記述 ... 16 図 2-11 拡大縮小によるレベル管理(1)... 17 図 2-12 拡大縮小によるレベル管理(2)(図 2-11 の拡大図) ... 17 図 2-13 ボロノイ図動作画面... 18 図 2-14 編集画面... 19 図 2-15 印刷プレビューウィンドウ ... 20 図 3-1 デジタルアルバム全体構成 ... 22 図 3-2 デジタルアルバム詳細 ... 23 図 3-3 アイテムデータ表示のイメージ... 24 図 3-4 HTML 出力の流れ ... 25 図 3-5 データ変換の流れ ... 26 図 3-6 写真用サンプルテンプレート ... 29 図 3-7 リンク付き単体表示結果(1 ページ目) ... 30 図 3-8 リンク付き単体表示結果(2 ページ目) ... 31 図 3-9 図 3-7 拡大図... 31 図 3-10 リンク付きアルバム表示結果(1 ページ目)... 32 図 3-11 リンク付きアルバム表示結果(2 ページ目) ... 32 図 4-1 無駄な同名注記により見づらい地図... 33 図 4-2 簡易型注記間引きの処理概要 ... 34 図 4-3 簡易型注記間引きの結果... 35 図 4-4 改良型注記間引きの処理概要 ... 36 図 4-5 注記間引き前 ... 37

(5)

図 4-7 拡張版注記間引きの結果(表示個数 2) ... 39 図 4-8 拡張版注記間引きの結果(表示個数 3) ... 40

(6)

表目次

表 3-1 アイテムデータ管理用レコード... 26 表 3-2 HTML 書き出しモジュール用レコード... 26 表 3-3 アイテムデータ置換コード ... 27 表 3-4 出力 HTML 制御用コード ... 27 表 3-5 サンプルアイテムデータ内容 ... 29 表 4-1 注記の一時保持レコード... 36 表 4-2 TStimsStringObject 型 ... 36

(7)

論文概要

本研究では,時空間情報管理システムSTIMS を基盤として開発している,写真,動画管 理システムであるデジタルアルバムにおける,アイテムデータ閲覧機能の実現を行った.ま た,基盤となるSTIMS において,地図上の無駄な同一注記の表示制御を実現した. 本論文は,これらの機能の実現に関する背景やアルゴリズムなどをまとめたものである. また,本論文の章立ては以下のようになっている. 第1 章では,研究の背景と目的について触れる. 第2 章では,デジタルアルバムの基盤となる STIMS 自体について述べている. 第3 章では,デジタルアルバムにおける,アイテムデータ閲覧方法について述べている. 第4 章では,同一注記間引き機能の実現について述べている. 第5 章では,本論文のまとめと今後の課題について触れている.

(8)

第1章 はじめに

1.1 研究背景

近年,GIS は国が進めている電子政府や電子自治体の構築に向けて重要な技術の一つと して注目されている.また,マーケティング戦略,山林管理者による山火事の延焼シミュレ ーション,下水やガスなどのパイプライン管理者による大地震後の被害把握や復旧計画,電 力会社の配電線管理や工事計画など,様々な分野での利用または導入の検討が積極的になさ れている. また,管理面においては,従来のデータベースでのデータ管理に比べ,地図というグラフ ィクスを見ながら管理ができることによって人にとって直感的に分かりやすくなり,さらに, 空間の全体を見渡しながら管理ができるので,一部のデータを見ていただけでは分かりにく かった事がより簡単に分析,解析できるようになるというメリットもある. しかし,現在日常生活において,人々は刻々と移動し,建物や道路も新しく建設されたり, 取り壊されたりと変動を止まない.このような,“時間によって変わる事柄”といった情報 を地図上に表すには,従来のGIS のデータ構造として用いられてきたトポロジー(位相) 明示方式では不向きといえる. 本研究室では,このような刻々と変わるデータを統合的に管理したいという社会要求に応 えるため,時間データの管理ができる時空間GIS として,位相構造にトポロジー暗示方式 を用いた時空間情報管理システム(STIMS : Spatio-Temporal Information Management System)を研究,開発している.すでに基本部分は完成しており,今はその機能を拡張, 改良し,より良いものにする段階である. そして現在,STIMS の一応用として,沖電気工業株式会社との間で STIMS をベースと した,写真,動画,メモ書きなどを地図上で表示,管理することのできる「デジタルアルバ ム」というアプリケーションを共同研究,開発中である.これは,一般家庭や学校教育向け として開発されているもので,自分で撮影した写真や動画などを簡単な操作で地図上に貼り 付けられ,簡単に閲覧できるというものである.また,デジタルアルバムではSTIMS をベ ースに開発されているため,時間情報の管理が行える.これは例えば,毎年の運動会の写真 などを管理する場合,データを貼り付ける場所が同じでも時間情報が異なるため問題なくデ ータが管理,閲覧できるといったような特徴を持っている.

1.2 研究目的

本研究は,デジタルアルバムにおける写真,動画やメモ書き(データオブジェクト)の閲 覧時の表示管理や,地図データ表示の際における注記オブジェクトの表示管理改善の実現に 関する研究である.

(9)

第2章 時空間情報管理システム

STIMS

2.1 STIMS の概要

本研究室では,前述したように時空間GIS として STIMS を研究開発している. STIMS は位相構造に,トポロジー暗示方式を用いている.また,トポロジー暗示方式を用いること によって生まれる検索時間の増大というデメリットを解消するために,図形データ管理に GBD 木という木構造を用いるなどして図形データを効率よく管理し,データ検索の速度向 上を計っている. また,STIMS は本研究室のホームページよりフリーウェアとして配布しており,誰でも 自由に使うことができる.さらに,データフォーマットに関しても公開型データフォーマッ トを用いており,システムの拡張に伴いデータフォーマットを変更するといったことも容易 にできるようになっている.

STIMS は現在,STIMS Core と STIMS VCL と GUI Surface の3つの部分から構成され ていて(図2-1 参照),Windows 上で稼働するアプリケーションである.STIMS Core は C++で,STIMS VCL と GUI Surface は Delphi でコーディングされている.また,それぞ れの内容は以下のようになっている.

GUI Surface はユーザからの操作を受け取るためのボタンや,画面表示などを行う部分 で,画面の拡大,最短経路探査の通過点追加,地図オブジェクトの表示切り替えなどの様々 な機能の操作部分を提供するアプリケーションである.

STIMS VCL は STIMS Core の少し複雑な機能をラッピングし,簡単な関数呼び出しに なおしたラップ関数を提供する部分である.また,ここではGUI 部に近い機能である,航 空写真の合成,アイコンのイメージ読み込みと描画,バッファの描画などの処理も行われて いる.

STIMS Core は GIS としての基本機能を含んだコア部分であり,DLL 化されている.こ こでは,データ管理,空間解析,編集機能,データベース処理,そのほかマルチメディア関 連の処理などを一手に引き受けている.

(10)

GUI Surface

STIMS VCL

STIMS Core

ユーザインタフェース部分

DLL接続部

STIMS Coreコントローラ

バッファ描画など

GISコア(DLL)

地図データの読み込み,ノード展開など

図 2-1 STIMS 全体構成

2.2 位相構造(トポロジー)

GIS におけるトポロジーとは,地図オブジェクト同士の接続の関係を表すものである. ここでは,従来のGIS で用いられてきたトポロジー明示方式と,STIMS で用いられている トポロジー暗示方式について述べる.

2.2.1 トポロジー明示方式

トポロジー明示方式では,各地図オブジェクトがユニークなID を持っている.地図オブ ジェクト同士の接続情報はID のポインタや関係式をデータ中に明示的に保持しておくこと によって管理されている. 以下の図2-2 を例にとって説明する.トポロジー明示方式なので,図中のそれぞれのノー ド,リンクには固有のID が割り振られている.このとき,ノード 1 でのリンクの接続情報 が知りたい場合には,各ノードのリンクの接続情報はデータ中に明示されているので,ノー ド1 でのリンクの接続情報を元にたどるだけで簡単にデータを検索することができる.

(11)

ノード:1

リンク:1

リンク:2

リンク:3

ノード

接続しているリンク

1

1, 2, 3

IDによる関連付け

図 2-2 明示的トポロジーの説明 このように,トポロジー明示方式はID やポインタ,関係式をデータ中に保持しているた め,計算機が貧弱な環境でも素早くトポロジーが復元できるということで,従来のGIS で 用いられていたのである. しかし,後述するが,トポロジー明示方式では時間の進行とともに,地図データに変更が あった場合のデータ更新が複雑になってしまうという欠点があり,時空間GIS には不向き といえる.

2.2.2 トポロジー暗示方式

トポロジー暗示方式では,線分は端点の座標値データしか保持しておらず,地図オブジェ クト同士の接続情報はデータ中に持っていない.接続情報が必要になったときに初めて演算 によってそれを求めるという方式である. 以下の図2-3 の例で,座標値(x3, y3)を持つノードに接続しているリンクを調べるときに ついて説明する.まず,調べたいノードの座標値(x3, y3)を端点に含むリンクを全てのリン クデータの中から探し出す作業を行っていく.すると,リンク1,リンク 2,リンク 3 が端 点座標に(x3, y3)を含む事がわかり,この時点で初めてトポロジーが復元されることになる.

リンク:1

(x1, y1)

リンク

端点座標

1

(x1,y1), (x3,y,3)

座標値による関連付け

(x2, y2)

(x3, y3)

(x4, y4)

リンク:2

リンク:3

2

3

(x3,y3), (x2,y2)

(x3,y3), (x4,y4)

リンク1, 2, 3は接続

図 2-3 暗示的トポロジーの説明

(12)

このように,トポロジー暗示方式では線分が端点の座標値しか保持していないため,記憶 するデータ量を減らすことができる.しかし,端点情報を元にして演算によってトポロジー を復元するため,どうしても明示方式よりもトポロジーの復元に時間がかかってしまうのが 欠点なのだが,これは近年のコンピュータの性能向上や,キャッシュアルゴリズムにより実 用が可能なレベルになった.また,トポロジー暗示方式は,明示方式に比べデータ構造が単 純で,更新も容易となっているため,時間変化する地図データの記述に適しているといえる.

2.2.3 地図データ変更時の比較

現実世界では,道路や線路が新設,変更,廃止されるといったことが日常的に起こりうる. このような場合,トポロジー明示方式とトポロジー暗示方式とでデータの変更がどのように 行われるかを図2-4 を例にとって,新しい道路が追加されたといった場合について考え,両 方式の比較をしてみる.

ノード:1

ノード:2

リンク:1

追加するリンク

図 2-4 地図データ更新前 まず,トポロジー明示方式について考える. 更新前の状況は以下の図2-5 のようになっている.

ノード

接続しているリンク

1

リンク1

2

リンク1

ノード:1

ノード:2

リンク:1

図 2-5 リンク追加前(トポロジー明示方式) 新たなリンクの追加後は以下の図2-6 のようになる.

(13)

ノード:1

ノード:2

リンク:2

リンク:3

リンク:4

ノード:3

ノード:4

ノード

接続しているリンク

1

リンク2

2

リンク3

3

4

リンク4

リンク2,リンク3,リンク4

図 2-6 リンク追加後(トポロジー明示方式) 図2-5 の状態から,図 2-6 のリンク追加後の状態になるまでを順を追って説明すると以下 のようになる. 1.まず,追加するべきリンク(リンク:4)とノード(ノード:3)を追加する 2.しかし,1.を行っただけでは既存のリンク:1 との交差点において接続関係が正しく 記述されていないため,リンク1 を削除し,交差点に新たなノード(ノード:4)を置 く 3.ノード:4 とノード:1,ノード:2 との間にそれぞれ新たなリンクを追加する(リン ク:2, リンク:3) トポロジー明示方式では,これら1∼3 の動作の際に,地図データ中のトポロジー情報もそ のつど変更していかなければならないため,明示方式で時間によって変化するデータを記述 すると非情に煩雑になってしまうのである. 次に,トポロジー暗示方式について考える. 更新前の状況は以下の図2-7 のようになっている.

リンク

端点座標

1

(x1, y1), (x2, y2)

リンク:1

(x1, y1)

(x2, y2)

図 2-7 リンク追加前(トポロジー暗示方式) 新たなリンクの追加後は以下の図2-8 のようになる.

(14)

リンク

端点座標

2

(x1, y1), (x4, y4)

リンク:2

リンク:3

リンク:4

(x1, y1)

(x2, y2)

(x3, y3)

(x4, y4)

3

4

(x4, y4), (x2, y2)

(x3, y3), (x4, y4)

図 2-8 リンク追加後(トポロジー暗示方式) トポロジー暗示方式の場合の手順も前述した明示方式の1∼3 の手順とほとんど同じであ るが,トポロジー情報を記憶しているノードを置く必要がなく,また各ノードでのリンクの 接続情報の更新なども必要ない(はじめからそのような情報は持っていないため)ので,ト ポロジー明示方式に比べて更新作業が少ないため,時間によって変化するデータを記述する には優れているといえる.

2.3 GBD 木

2.3.1 GBD 木の概要

ここでは,STIMS で用いられている GBD 木について説明する.GBD 木は階層的にデー タの存在する空間において空間分割を行い,その分割過程を木構造で管理するというデータ 管理構造で,大規模な図形データベースの管理に適している管理方式である.

(15)

A

*b

*c

*a

B

*d

*e

C

*g

*f

F

E

*j

*k

*h

*i

D

G

F G

A B C

D E

a b c

d e

f g

h i

j k

(b). (a)に対応するGBD木の木構造 (a). 空間分割の様子 level 2 1 0 図 2-9 GBD 木の概要 GBD 木は,階層的にデータの存在する空間の分割を行い,その分割過程を木構造で管理 する図形データ管理構造である.図2-9 は GBD 木の概要を示している.図 2-9(a) は空間 分割の様子で,また,図2-9(b) がその分割を管理する木構造に対応している(図中の*は図 形オブジェクトを表す).木構造は任意の整数N 個(図 2-9 では 3 個)のスロットを持つノ ードで構成されている.各スロットには子ノード(葉ノードでは図形データ自身)へのポイ ンタと,その子ノードが対応する空間を表す領域式および子ノードを根とする部分木中の全 データを包含する外接長方形が置かれている.葉ノード(図でレベル 0 のノード,*a ∼*k と表している)の各スロットは個々の図形に対応している.またこれらのスロットの外接長 方形は破線で示す長方形である.図 2-9(b)のレベル 2 のノード(図ではこれが根ノードに なっている)にはF と G の2つのスロットが存在しており,各々ABC を合わせた領域お よびDE を合わせた領域に対応している.図中に 1 点鎖線で示されているのが F と G の 外接長方形である.

2.3.2 領域式

GBD 木で管理する領域の形は分割座標軸を交互に変えながら,面積2等分割を繰り返す ことにより得られる正方形,または縦横比が1:2 の長方形である.この領域の位置と大き さを表すのが領域式であり,領域式は「0」,「1」およびパターンの終了を表す記号「*」で 表現される.

(16)

Y

X

(0, 0)

0110*

図 2-10 領域式による方形領域の記述 図2-10 は x 軸,y 軸で交互に2等分割を行うことにより作られる領域の例を示しており, 中央部にあるハッチングされた領域の領域式は「0110*」である.この空間分割過程と領域 式との対応は次のようになっている. 1. 領域式中のビット「0」は空間を2等分割したときの座標原点に近い側の領域に, 「1」は遠い側の領域に各々対応している.図 2-10 では,y 軸と平行な線で2等分割 されたとき,領域式中のビット「0」は左半分,「1」は右半分に対応し,x 軸と平行 な線で2等分割されたときには,「0」は下半分,「1」は上半分に対応している. 2. 領域式の最も左側のビットが最初の空間分割に対応しており,右側にいくに従い小 さな領域の分割に対応している

2.4 STIMS の現状での機能

現状のSTIMS が持つ機能には以下のものがある.

2.4.1 対応データフォーマット

STIMS では(財)日本地図センター発行の JMC マップ,国土地理院発行の数値地図 2500 が扱えます.この2つのフォーマットについては,STIMS に付属するコンバートプログラ ムによってSTIMS の独自フォーマットに変換することが可能である.

(17)

2.4.2 拡大縮小

地図データを拡大または縮小したときに,現在表示している地図の縮尺に合わせて,表示 する地図オブジェクト(道路,注記,行政境界など)を変更するオブジェクトのレベル管理 が可能となっている. 図 2-11 拡大縮小によるレベル管理(1) 図 2-12 拡大縮小によるレベル管理(2)(図 2-11 の拡大図) このように,レベル管理によって,図2-12 では埼玉大学という文字が見えるが,図 2-11 では文字は見えないようにするといった動作が可能である.

(18)

2.4.3 基本的な空間演算

基本的な空間演算として,面復元,最近点検索,最短経路探索,最小木演算が可能である. また,空間解析機能としてボロノイ図の生成が可能となっている. 図 2-13 ボロノイ図動作画面

2.4.4 トポロジーキャッシュ

STIMS はトポロジー暗示方式であるため,トポロジーが必要とされるとそのつど演算に よってトポロジーを復元しなくてはいけない.近年のコンピュータの性能向上によって,演 算時間は短くなっているが,さらに処理時間を少なくするために,一度復元したトポロジー 情報をメモリ上に保存しておくキャッシュアルゴリズムを使用している.

2.4.5 データベース接続

STIMS では,ODBC インタフェースを用いて,PostgreSQL, MySQL, Microsoft Access などの汎用データベースとの接続が行える.これにより,ユーザ側で用意した汎用データベ ースとの接続が可能となり,属性情報の参照などが可能となる.

(19)

2.4.6 地図編集

地図データを編集(追加,変更,削除)することができる.編集したデータは,直接地図 データに統合(コミット)されるのではなく,ユーザが明示的にコミットを行うまでトラン ザクションファイルに蓄えられるようになっている.これによって,編集内容に間違いがな いかなどの検証を十分行った後にコミットするといった,長い期間に渡る編集作業を行って いる最中でも,地図データの正当性を損なうことがない. 図 2-14 編集画面

2.4.7 マルチメディア

地図上に,画像,動画,URL,音声にリンクしているシンボルを追加することができる 機能である.シンボルをクリックすることにより,画像や動画などが表示される.

2.4.8 印刷

画面に表示されている地図を印刷するこができる機能である.指定範囲印刷も可能となっ ている.

(20)
(21)

第3章

デジタルアルバム

HTML 出力機能の実現

冒頭の研究背景でも触れたように,現在STIMS の一応用として,沖電気工業株式会社と の間でSTIMS をベースとする,デジタルアルバムというアプリケーションを共同研究,開 発中である.このアプリケーションは,動画,静止画,メモ書きを地図上に簡単に貼り付け て管理,検索,閲覧ができるというものである.本章では,それらアイテムデータ閲覧時の 表示管理の実現例として,HTML 出力機能の実装に関して述べる.

3.1 デジタルアルバム

まず,デジタルアルバムについて簡単に説明する.

3.1.1 デジタルアルバム概要

デジタルアルバムは,近年,一般家庭や教育現場に急激に普及したパソコン上にこのアプ リケーションを導入し,デジタルカメラやデジタルビデオで撮影した情報(それが,いつ, どこで,どんな情報(写真、映像)だったのかといった撮影情報)をGIS で管理すること により,今まで一般にはあまり浸透していないGIS を実際に身近に利用してもらうことを 目的としたアプリケーションである.さらに,簡単な操作性,GIS ならではの優れた情報 抽出能力,データの管理機能などを通してGIS を身近に感じてもらい,一般における GIS の有効的な普及手段となることを目的としたものである. 例えば,デジタルアルバムを用いることによって,デジタルカメラやデジタルビデオなど で撮影した写真や動画を簡単なメモ書きと一緒にし,撮影場所などの情報を元にGIS で管 理することで,ある地域を特定とした写真や動画の一覧作成,また,時空間GIS の特徴を 生かした,撮影の履歴による地図上での時系列を追ったビジュアル的な記録,表示をするこ とが可能である. なお,使用する地図データは,国土地理院発行の地図データ,数値地図 25000(空間デ ータ基盤),数値地図2500(空間データ基盤)である.

(22)

デジタルアルバム

STIMS VCL

STIMS Core

GISエンジン(STIMS)

図 3-1 デジタルアルバム全体構成 上図3-1 のように,デジタルアルバムは GIS エンジンとして STIMS を用い,その上に, データ管理,表示管理構造を備えたプログラムを載せることにより構築されるアプリケーシ ョンである.

3.1.2 デジタルアルバムの特徴

デジタルアルバムの主な特徴としては以下のものが挙げられる. ・ デジタルカメラやデジタルビデオカメラで撮影した静止画や動画を,その撮影場所に登 録することができる. ・ 静止画や動画と同時に,撮影時の状況などをメモとして記入することができる. ・ 静止画や動画の単体表示,連続表示,アルバム(一覧)表示ができる. ・ 時空間 GIS 機能との連動により,静止画,動画の撮影日時,撮影場所情報により,実 際の移動軌跡に沿って静止画や動画を見ることができる. ・ メモの記入や,データ検索機能,地図の拡大縮小,属性データによる表示方法の変化に より,静止画や動画の整理整頓,一発検索が可能となり,通常のアルバムや紙地図では 得られなかったGIS やデジタル空間データの有用な使い方ができる.

(23)

3.1.3 現状のデジタルアルバム機能

デジタルアルバムは,現在共同研究,開発中のアプリケーションであるが,現状での機能 は以下のようなものがある. ・ 登録シンボルの地図上への表示機能 ・ シンボルの内容表示機能 ・ シンボル一覧表示 一覧表の作成 一覧表の情報表示 一覧表から選択したシンボルのみを地図上に表示 ・ アイテムデータ登録,編集,削除機能 ・ 駅名,住所,地名による地図検索機能 ・ アイテムデータ検索機能 日付検索 時刻検索 キーワード検索 撮影場所検索 地図ポリゴン検索 点バッファ検索 ・ 検索結果の一覧表示機能 ・ 地図操作機能 拡大,縮小 移動 ・ アイテムデータのHTML 書き出し機能

3.2 HTML 出力機能とは

アルバムでは,片づけて整理した写真や動画が,見たいときに見られなくては保管してい る意味がない.よって,デジタルアルバムにおいて,撮影場所,時間,メモといった情報を 用いて検索するなどして得られた結果アイテムデータ(単体データ,複数データ)の内容を ユーザが見られるようにするのは当然である.

デジタルアルバム GUI Surface

アイテムデータ表示

地図表示・操作(GUI基本機能)

HTML書き出しモジュール

アイテムデータ登録・検索

図 3-2 デジタルアルバム詳細

(24)

図3-2 は図 3-1 中にあるデジタルアルバム部分の詳細内容である.デジタルアルバムは, 地図の表示や拡大縮小などの基本操作を備えた「GUI 基本機能部分」と,写真,動画,メ モ書きのデータを登録,検索する「アイテムデータ管理部分」,そして,検索などで得られ た写真,動画といったアイテムデータをユーザに見やすく表示する「アイテムデータ表示部 分」に分けて考えることができる.ここで,HTML 出力機能と呼んでいるのは,このアイ テムデータ表示部分のことであり,本実装ではこれを別モジュールとして作成し,アイテム データ閲覧を実現した. 今回の実装では,写真や動画などの情報を表示する手段としてデータ内容をHTML に出 力する方法をとっているが,最近のコンピュータで,インターネットブラウザを搭載してな いものはほとんどないといってよいと思うので,この表示方法に問題はないと思われる.

3.3 アイテムデータ表示の種類

図3-3 は,アイテムデータ表示のイメージ例である.図 3-3(a)のように,1 ページに 1 つ のアイテムを表示する単体表示方式と,図3-3(b)のように,1 ページに複数のアイテムデー タを表示するアルバム(一覧)方式について実装した.表示したいファイルが複数ある場合 には,次や,前のHTML へのハイパーリンクがついた HTML ファイルを出力することが 可能である. (a)単体表示 写真,動画 タイトル 撮影日時 撮影場所 メモ書き 写真,動画 タイトル 撮影日時 撮影場所 メモ書き 写真,動画 タイトル 撮影日時 撮影場所 メモ書き (b)アルバム(一覧)表示 前へ 次へ 前へ 次へ 図 3-3 アイテムデータ表示のイメージ

(25)

3.4 HTML 出力機能の実現

アイテムデータの各フィールド(タイトル,撮影日時,撮影場所など)は,3.3 節で例を 挙げた表示イメージに限らずに,任意の配置にてHTML 出力ができるほうが,汎用性があ り望ましい.そこで,本実装では,テンプレートHTML ファイルというものを用意し,そ の HTML 中の特定のキーワードとアイテムデータの各フィールドを置換することにより, 任意の配置でのHTML 出力を実現することにした.

アイテムデータ

任意の

テンプレートHTML

HTML書き出し モジュール

出力HTML

ファイル

図 3-4 HTML 出力の流れ

3.4.1 データレコードフォーマット

まず,デジタルアルバムにて用いられているデータレコードフォーマットを示す.デジタ ルアルバムには,通常のデータ管理時に用いる,STIMS 搭載の簡易マルチメディアデータ レコードを拡張したものと,表示管理に用いるHTML 書き出しモジュール用データレコー ドがある. また,以下の表の各データ型はDelphi7 で使用される型である.

(26)

表 3-1 アイテムデータ管理用レコード フィールド 型 備考 x Integer x 座標 y Integer y 座標 Category − オブジェクトカテゴリ(列挙型) Path String マルチメディアコンテンツへのファイルパス InfoFile String メモファイルへのパス Icon_Num Integer アイコンの判別番号 Index Integer レコードのインデックス(オリジナルの通し番号) Check Boolean 表示、非表示 Place String 拡張フィールド:場所 Title String 拡張フィールド:タイトル Time TDateTime 拡張フィールド:撮影時間情報 TemplateName String 拡張フィールド:テンプレートの名前 表 3-2 HTML 書き出しモジュール用レコード フィールド 型 備考 ItemType − アイテムデータの種類(写真,動画,メモ書き)の判別 (列挙型) Title String タイトル FileName String 写真,動画へのファイルパス DateTime TDateTime 日時 Place String 場所 MemoStr String メモ書きの内容 HTML を出力する際には,表 3-1 のデータ管理用レコードからデータ表示に必要な情報 を集め,表3-2 の HTML 書き出しモジュール用データレコードを作成し,それを HTML 書き出しモジュールに渡すことになる. アイテムデータ 管理用レコード データ変換 HTML書き出し用 レコード HTML書き出し モジュール 図 3-5 データ変換の流れ

(27)

そして,HTML 書き出しモジュール側では,表 3-2 のデータレコードを受け取り,その 各フィールドの情報と,テンプレートHTML の内容とを置換していくことにより,HTML ファイルを出力する.

3.4.2 テンプレート HTML 用置換コード,制御コード

テンプレートHTML 中で用いられる置換用コードは以下の表 3-3 の通りである. 表 3-3 アイテムデータ置換コード アイテムデータ 置換コード タイトル [E-ALBUM_TITLE] 写真,動画へのファイルパス [E-ALBUM_MOVIE_FILENAME] [E-ALBUM_PICTURE_FILENAME] 日時 [E-ALBUM_DATETIME] 場所 [E-ALBUM_PLACE] メモ書きの内容 [E-ALBUM_MEMO] この置換コードを用いて,テンプレートHTML ファイルを作ることにより,任意の配置 にアイテムデータを表示することができる. さらに,アイテムフィールド置換コードとは別に,出力HTML 制御用として以下のよう なコードがある. 表 3-4 出力 HTML 制御用コード コード 説明 [E-ALBUM_BEFORE] 前のアイテムへのハイパーリンク作成用 [E-ALBUM_NEXT] 次のアイテムへのハイパーリンク作成用 [E-ALBUM_ITEM_START] アルバム(一覧)表示用 [E-ALBUM_ITEM_END] 〃 制御用コードは,単なる置換ではなく,特殊な処理をする場合があるため,使用する際に は少し注意が必要である.具体的には,制御用コードを含んだ行は,プログラム側で処理さ れる際に削除されたりする可能性があるため,その制御用コードの記述に関連する HTML タグ以外を書いてはいけない.また,関連タグも同じ行内で完結されている必要がある(以 下の例を参照). 例) ○ <a href="[E-ALBUM_BEFORE]">前へ</a> × <a href="[E-ALBUM_BEFORE]">前へ </a> × <a href="[E-ALBUM_BEFORE]">前へ</a><br>あいうえお<br>

(28)

それぞれの制御用コードについての説明を以下に述べる. [E-ALBUM_BEFORE], [E-ALBUM_NEXT]はそれぞれ,前と次のアイテムデータ表示 HTML へのハイパーリンク作成用である.複数の HTML ページが出力される場合には,こ のコードが,リンクを貼るべき実際のファイル名に置換される.リンクを貼るべきページが 存在しない場合には,アンカータグの間にある文字列がそのまま出力され,リンクは作成さ れない. 例) テンプレート:『<a href="[E-ALBUM_BEFORE]">前へ</a>』 ↓ 出力ファイル:『<a href="hogehoge1.htm">前へ</a>』または,『前へ』 [E-ALBUM_ITEM_START], [E-ALBUM_ITEM_END]は,1 つのテンプレートで単体表 示,アルバム表示の両方を実現したい場合に用いる制御コードである.アルバム表示には, 別の専用テンプレートを作るなどの方法も考えられるが,本実装では,1 つのテンプレート で単体表示とアルバム表示ができるような方法をとった. このコードを使用するときは,まず,[E-ALBUM_ITEM_START]の記述がある行から, [E-ALBUM_ITEM_END]の記述がある行の間に,アイテムデータの置換コードを書くよう にする.アルバム表示が指定された際には,このSTART∼END の間を 1 つのアイテム記 述として記憶し,それを複数個HTML に埋め込むことによって,1 ページに何個ものアイ テムを出力するという処理を実現している. アルバム表示の際の,アイテム記述部以外の全体的なHTML テンプレート(<body>タグ など)には,アルバム表示にて,最初に表示されるアイテムのテンプレートが用いられる. なお,[E-ALBUM_ITEM_START], [E-ALBUM_ITEM_END]のコードが記述されている 行は,最終的なHTML には出力されない(行は削除される)ので注意が必要である.

(29)

以降に,テスト用に作成したサンプルテンプレートHTML ファイルと,それを使用した 場合の結果を掲載する.

<html> <head>

<title> Picture Sample </Title> </head> <body> [E-ALBUM_ITEM_START]<!-- この行は無視されます --> [E-ALBUM_TITLE]<br> [E-ALBUM_DATETIME]<br> [E-ALBUM_PLACE]<br> <br> <img src="[E-ALBUM_PICTURE_FILENAME]"><br> [E-ALBUM_MEMO] <br><hr> [E-ALBUM_ITEM_END]<!-- この行は無視されます --> <br> <a href="[E-ALBUM_BEFORE]">前へ</a> <br> <a href="[E-ALBUM_NEXT]">次へ</a> </body> </html> 図 3-6 写真用サンプルテンプレート

3.5 実装結果

図3-6 にある写真用サンプルテンプレートを使用して,実際に HTML 出力をした結果は 以下のようになる. また,実装結果を確かめるために生成した,10 個のサンプルアイテムデータの内容は表 3-5 の通りである. 表 3-5 サンプルアイテムデータ内容 アイテムデータ 内容 タイトル 「Title0」 ∼ 「Title9」

ファイルパス D:¥My Documents¥My Pictures¥サンプル.jpg(固定) 日時 2002 年 11 月 26 日 am 1:59(固定)

(30)

メモ書きの内容 「メモ書き 0:1 行目 メモ書き0:2 行目」 : : 「メモ書き9:1 行目 メモ書き9:2 行目」

3.5.1 単体表示結果

図 3-7 リンク付き単体表示結果(1 ページ目)

(31)

図 3-8 リンク付き単体表示結果(2 ページ目)

図 3-9 図 3-7 拡大図

図3-7 のように,1 ページ目では「前へ」のリンクは存在しないため,リンクが貼られる ことはない(図3-9).

(32)

3.5.2 アルバム表示結果

図 3-10 リンク付きアルバム表示結果(1 ページ目)

(33)

第4章 多重注記の間引き機能の実現

3.1.1 節のデジタルアルバム概要でも書いたが,デジタルアルバムに用いる地図データは, 国土地理院発行の地図データ,数値地図 25000(空間データ基盤),数値地図 2500(空間 データ基盤)である.しかし,これら地図データには無駄な同名注記文字列が含まれてしま っているため,そのままでは地図が見づらくなってしまっている.また,今後国土地理院か ら発行される予定となっている全国の1/25000 精度地図である地理情報標準(XML 形式) でも同様の現象が起きてしまう. これは,デジタルアルバムに限らず,STIMS にも共通の問題点である.そこで,本章で は同名注記の表示個数を自由に制御するための機能の実装について述べる. 図 4-1 無駄な同名注記により見づらい地図

(34)

4.1 注記の間引きを実現するアルゴリズム(1)

今までのSTIMS では,1 つの注記の描画命令がくるたびに,すぐさま指定された注記を 描画していた. まずは,簡単な間引きの方法として,すでに描画されている注記文字列を記憶しておくリ ストを作り,ある注記の描画が要求された時点で,その記憶リスト内を検索してすでに同じ 注記が 1 つ描画されているかどうかのチェックを行い,描画済み注記であった場合には描 画せず,未描画の注記であった場合には,要求のあった注記を画面に描画するとともに,記 憶リストに追加する,という方法で簡単な同一注記の間引き機能を実現してみた.

描画済み

注記の描画要請

すでに同じ注記が1つ描画

されているかどうかチェック

描画する注記をリストに記憶

注記を描画

未描画

一度描かれている注記なので

描画しない

図 4-2 簡易型注記間引きの処理概要 このアルゴリズムを用いて,図4-1 の同一注記を間引いてみた結果は次のようになる.

(35)

図 4-3 簡易型注記間引きの結果 図4-3 の結果では,うまい具合に同一注記が間引かれているが,この間引きアルゴリズム には欠点があった.それは,同一注記のうちで一番初めに描画要求がきたものしか描画しな いという処理であるために,画面に表示される注記が画面端の方に片寄ってしまうというも のである. そこで,この問題点を少しでも改善しようと次の改良型アルゴリズムを考えた.

4.2 注記の間引きを実現するアルゴリズム(2)

前述の問題点の解決をふまえた,より高度な間引きのためには,処理の対象である同一注 記文字列すべてを見渡しながら処理を行う必要がある.しかし,注記の描画要求順序は,そ の注記がGBD 木から読み出された順であり,必ずしも同一注記の描画要求が連続している わけではないため,前述の方式ではどうにもできない. そこで,改良型のアルゴリズムでは注記の描画要求がきた際にその場で処理をするのでは なく,処理の対象となる注記文字列すべてを一旦リストに保持しておき,それら全体に対し て何らかの処理を施した後に描画するようにするようにするべきであると考えた. 以下,改良型アルゴリズムについて説明する.

(36)

描画要求された注記を

全てリストに蓄える

リスト全体を同じ注記名によって

ソート

同一注記をx座標によってソート

表示する注記を選択

図 4-4 改良型注記間引きの処理概要 1.まず,描画要求のあった注記文字列をすべてリストに蓄える.この際リストには,描 画要求のあった注記の情報をまとめているデータレコードを保存する.そのデータレコード は以下の通りである. 表 4-1 注記の一時保持レコード フィールド 説明 x 注記のx 座標 y 注記のy 座標 str 注記文字列 StringObj TStimsStringObject 型 ここで,TStimsStringObject 型は注記の文字列情報以外のさまざまな情報を格納するた めのレコードであり,次の通りである. 表 4-2 TStimsStringObject 型 フィールド 説明 Angle 文字列の角度 FontSize フォントサイズ FontColor フォントカラー LineInfoNumber 線状注記文字配置情報総数 LineAngle 線状注記の各文字角度(配列) LinePoint 線状注記文字配置原点座標(配列) 注記には角度付き注記と線状注記の2 つがあり,フィールドの Angle は角度付き注記の みで有効な情報であり,LineInfoNumber, LineAngle, LinePoint は線状注記のみで有効と

(37)

なる情報である.なお,線状注記とは,文字列の1 文字 1 文字が異なる角度をもっている ような注記である. また,角度については,x 軸を基準として反時計回りの方向が正となるような向きである. 2.すべての注記データがリストに格納された後で,リストを注記文字列によってソート する.これによって,リスト内では同一注記が連続している状態になる. 3.続いて,同一注記内でx 座標の昇順にソートする. 4.最後に,表示する注記を選択する. 本実装では,画面に表示する注記の個数を制御できるようになっており,画面に表示する 個数に応じて最後にリスト内から注記を選ぶことになる. 選択法は,同一注記の個数をN,注記表示個数を disp とすると

1

+

=

disp

N

Interval

で,与えられるInterval を元にして,同一注記内の

)

,

,

1

:

(

n

disp

Interval

n

×

  

L

で与えられる位置の注記を画面上に表示する注記として選択する. このアルゴリズムを用いた同一注記の間引き結果は以下の通りである. 図 4-5 注記間引き前

(38)

図 4-6 拡張版注記間引きの結果(表示個数 1)

同一注記表示個数を1 に設定した場合の結果.表示個数が 1 に設定してあるので図 4-5 の 煩雑な注記群の中で,それぞれの注記のほぼ中心の位置にある注記のみが表示されている.

(39)

図 4-7 拡張版注記間引きの結果(表示個数 2)

同様に,注記表示個数を 2 に設定した場合の結果.同一注記群をほぼ3等分した位置にあ る注記が表示されている.

(40)

図 4-8 拡張版注記間引きの結果(表示個数 3)

(41)

第5章 まとめと今後の課題

5.1 まとめ

本研究により,写真,動画などのアイテムデータのHTML 表示出力機能がデジタルアル バムに実装され,選択した単体または複数アイテムデータの閲覧機能が実現された.また, 無駄な同一注記の表示制御機能について,簡易版と拡張版の同一注記間引き機能を実装し, デジタルアルバム,STIMS 両方において同一注記表示の制御が実現された.

5.2 今後の課題

今回,デジタルアルバムにおけるHTML 出力モジュールについて,1 つのテンプレート HTML ファイルで単体表示,アルバム表示に対応できるような方法をとったが,アルバム 表示の際のアイテムデータ配置レイアウトなどに限界がある.そこで,アルバム用テンプレ ートの使用に関して考察を行いたい. また,テンプレートHTML ファイルは事前に作成した決めうちのものが使用されるよう になっているが,ある程度の範囲でGUI 上にてユーザが自由にアイテムデータの配置を変 えられるようなシステムというのも,実現できたら面白いのではないかと思ったので,それ についての考慮もしてみたい.

(42)

謝辞

研究ならびに生活面においてご指導を賜りました大澤裕教授、本当にありがとうございま した. また,先輩としていつもよきアドバイスをくださいました,郭 微氏,Thanda oo 氏,笠 原 直氏,桜井 政幸氏,林 悌二郎氏,福田 航氏,根岸 幸生氏,山崎 治美氏,山﨑 将志 氏,宮本 充徳氏,そして苦学を共にした,大島 雄太氏,桑原 浩氏,丸山 達生氏,徐 慶 大氏,研究生の畢氏,そして同期学生の皆様,並びに私を暖かく見守っていただいた両親を はじめとする周囲のすべての皆様に深く感謝いたします.

(43)

参考文献

1.大沢裕, 坂内正夫, “2種類の補助情報により検索と管理性能の向上を図った多次元デー タ構造の提案”, 電子情報通信学会論文誌 D-1, Vol.J74-D-1, No.8, pp.467-475 (1991-8) 2.埼玉大学情報システム工学科大沢研究室, “トポロジー暗示型時空間情報システム STIMS” (2001)

図  2-15 印刷プレビューウィンドウ
表  3-1 アイテムデータ管理用レコード  フィールド  型  備考  x Integer x座標  y Integer y座標  Category  −  オブジェクトカテゴリ(列挙型)  Path String  マルチメディアコンテンツへのファイルパス InfoFile String  メモファイルへのパス  Icon_Num Integer  アイコンの判別番号  Index Integer  レコードのインデックス(オリジナルの通し番号)  Check Boolean  表示、非表示  Plac
図  3-8 リンク付き単体表示結果(2 ページ目)
図  3-10 リンク付きアルバム表示結果(1 ページ目)
+5

参照

関連したドキュメント

3 当社は、当社に登録された会員 ID 及びパスワードとの同一性を確認した場合、会員に

三洋電機株式会社 住友電気工業株式会社 ソニー株式会社 株式会社東芝 日本電気株式会社 パナソニック株式会社 株式会社日立製作所

東京電力ホールディングス株式会社(以下,東電HDという。 ) ,東京電力パワーグリ ッド株式会社(以下,東電PGという。

関係会社の投融資の評価の際には、会社は業績が悪化

ダイダン株式会社 北陸支店 野菜の必要性とおいしい食べ方 酒井工業株式会社 歯と口腔の健康について 米沢電気工事株式会社

当所6号機は、平成 24 年2月に電気事業法にもとづき「保安規程 *1 電気事業用 電気工作物(原子力発電工作物) 」の第

○齋藤第一部会長 もう一度確認なのですが、現存の施設は 1 時間当たり 60t の処理能力と いう理解でよろしいですよね。. 〇事業者

 工学の目的は社会における課題の解決で す。現代社会の課題は複雑化し、柔軟、再構