5
- -10 10 道路から見える景観情報の活用に向けた 道路から見える景観情報の活用に向けた XML XMLによる情報提供サイト構築および活用について による情報提供サイト構築および活用について (社)北海道開発技術センター http://www.decnet.or.jp/ /(株)アドス http://www.a-dos.com/ (株)HBCフレックス http://www.hbc-flex.co.jp/ /(株)オープンループ http://www.openloop.co.jp/ (株)シー・イー ・サービス http://www.ces.co.jp/ /(株)ティアイ設計コンサルタント p1 p1 道の風景 道の風景 情報提供実験の全体構成 情報提供実験の全体構成 p02 p02 道の風景 道の風景 情報提供 情報提供 実験ページの構成 実験ページの構成 p03 p03 今後の「道の風景コンテンツ」の活用フレーム 今後の「道の風景コンテンツ」の活用フレーム p04 p04 今後の「道の風景コンテンツ」の活用方策 今後の「道の風景コンテンツ」の活用方策 (ドライブ観光の魅力アップに向けて) (ドライブ観光の魅力アップに向けて) p05 p05 「道の風景」コンテンツを利用した携帯電話向けアプリケーション 「道の風景」コンテンツを利用した携帯電話向けアプリケーション p06 p06 サンプルアプリケーション サンプルアプリケーション au版 au版 p08 p08 サンプルアプリケーション サンプルアプリケーション ドコモ版 ドコモ版 移動中の高度情報通信社会流通情報の利用技術に関する研究 2003年7月24日 RWMLデータ 静止画像(15地点) 動画像(4地点) ニセコ・羊蹄・洞爺e街道 ホームページ 道の風景情報提供実験トップページ 他サーバ ニセコ・羊蹄・洞爺e街道 実験内の15市町村内 ニセコ・羊蹄・洞爺e街道 実験内の15市町村内 インターネット ・道路関連情報のひとつであり、かつ北海道の観光支援にも寄与する「道の風景」コンテンツを提供するサイトを構築。 ・「道の風景」の写真は、ニセコ・羊蹄・洞爺e街道実験内の15市町村内で静止画15地点、動画4地点を掲載。 ・情報提供画面は利用者がわかりやすいよう地図を用いたユーザインターフェースとした。 「道の風景」 「道の風景」 情報提供実験の全体構成 情報提供実験の全体構成 p1 道の風景サーバ

Ⅱ-10 道路から見える景観情報の活用に向けた XML …ワンソース(データ) マルチユース ・目的地の情報 ・出発地の情報 様々なメディア

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ⅱ-10 道路から見える景観情報の活用に向けた XML …ワンソース(データ) マルチユース ・目的地の情報 ・出発地の情報 様々なメディア

1

ⅡⅡ--10 10 道路から見える景観情報の活用に向けた道路から見える景観情報の活用に向けた

XMLXMLによる情報提供サイト構築および活用についてによる情報提供サイト構築および活用について

(社)北海道開発技術センター http://www.decnet.or.jp/ /(株)アドス http://www.a-dos.com/ /(株)HBCフレックス http://www.hbc-flex.co.jp/ /(株)オープンループ http://www.openloop.co.jp/ /

(株)シー・イー ・サービス http://www.ces.co.jp/ /(株)ティアイ設計コンサルタント

p1 道の風景 情報提供実験の全体構成

p02 道の風景 情報提供 実験ページの構成

p03 今後の「道の風景コンテンツ」の活用フレーム

p04 今後の「道の風景コンテンツ」の活用方策 (ドライブ観光の魅力アップに向けて)

p05 「道の風景」コンテンツを利用した携帯電話向けアプリケーション

p06 サンプルアプリケーション au版

p08 サンプルアプリケーション ドコモ版

p1p1 道の風景道の風景 情報提供実験の全体構成情報提供実験の全体構成

p02p02 道の風景道の風景 情報提供情報提供 実験ページの構成実験ページの構成

p03p03 今後の「道の風景コンテンツ」の活用フレーム今後の「道の風景コンテンツ」の活用フレーム

p04p04 今後の「道の風景コンテンツ」の活用方策今後の「道の風景コンテンツ」の活用方策 (ドライブ観光の魅力アップに向けて)(ドライブ観光の魅力アップに向けて)

p05p05 「道の風景」コンテンツを利用した携帯電話向けアプリケーション「道の風景」コンテンツを利用した携帯電話向けアプリケーション

p06p06 サンプルアプリケーションサンプルアプリケーション au版au版

p08p08 サンプルアプリケーションサンプルアプリケーション ドコモ版ドコモ版

目目 次次

移動中の高度情報通信社会流通情報の利用技術に関する研究

2003年7月24日

RWMLデータ

静止画像(15地点)

動画像(4地点)

ニセコ・羊蹄・洞爺e街道ホームページ

道の風景情報提供実験トップページ

他サーバ

ニセコ・羊蹄・洞爺e街道

実験 内の15市町村内

ニセコ・羊蹄・洞爺e街道

実験 内の15市町村内

インターネット

・道路関連情報のひとつであり、かつ北海道の観光支援にも寄与する「道の風景」コンテンツを提供するサイトを構築。

・「道の風景」の写真は、ニセコ・羊蹄・洞爺e街道実験内の15市町村内で静止画15地点、動画4地点を掲載。

・情報提供画面は利用者がわかりやすいよう地図を用いたユーザインターフェースとした。

・道路関連情報のひとつであり、かつ北海道の観光支援にも寄与する「道の風景」コンテンツを提供するサイトを構築。

・「道の風景」の写真は、ニセコ・羊蹄・洞爺e街道実験内の15市町村内で静止画15地点、動画4地点を掲載。

・情報提供画面は利用者がわかりやすいよう地図を用いたユーザインターフェースとした。

「道の風景」「道の風景」 情報提供実験の全体構成情報提供実験の全体構成

p1

道の風景サーバ

Page 2: Ⅱ-10 道路から見える景観情報の活用に向けた XML …ワンソース(データ) マルチユース ・目的地の情報 ・出発地の情報 様々なメディア

2

「道の風景」「道の風景」 情報提供情報提供 実験ページの構成実験ページの構成

1.喜茂別町(相沢)

5.共和町(小沢)

9.ニセコ町(ニセコ大橋)

13.留寿都村(ルスツリゾート)

詳細ポップアップウィンドゥ(一部抜粋)詳細ポップアップウィンドゥ(一部抜粋)

●HTML版 ●RWMLデータ

point1を例示

シーニック情報<scenic>

-内容(街道景観)

場所情報<place>

-経度(140°55′03″ )

-緯度( 42°47′41″)

-地点名(喜茂別町相沢)

-属性(国道276号)

画像<image>

-内容

S_01.jpg(サイズ小:138× 94pixels)

M_01.jpg(サイズ中:320×215pixels)

L_01.jpg(サイズ大:640×430pixels)

概略<outline>

-内容

(一般国道276号喜茂別町相沢付近

からは、北海道らしい針葉樹林の後ろ

にそびえる羊蹄山を見ることができま

す。 )

地点名

内容

凡例

p2

・旅行を計画している人

・まちの写真家

・旅行を終えた人

・旅行中の人

・観光事業者

・口コミ投稿

・携帯端末

・北海道を舞台にしたい

(マスメディア関係者)

・パソコン

・カーナビ

・情報キオスク

・温泉情報

・道の駅、休憩施設情報

・気象情報

・災害情報

・経路の情報・旅行プランのある人

・気ままな旅人・地域情報

・急いでいる人

ドライブや旅行する人は、とってもわがまま。ドライブや旅行する人は、とってもわがまま。

そんなそんな様々な様々なわがままに柔軟に対応する案内人(技術)、それがわがままに柔軟に対応する案内人(技術)、それがRWMLRWML。。

・時間に余裕ができた人・個人

・店舗

・企業

・各種組織

・団体

・専門家

様々な楽しみ様々な楽しみ

・スタンプラリー

・グリーティングカード

・壁紙

・カレンダー

・北海道をもっと知りたい

・北海道のことを学びたい・思い出アルバム

・各管理者

・素敵な道の風景情報

マルチユースワンソース(データ)

・目的地の情報

・出発地の情報

様々なメディア様々なメディア

・地点の情報

※ 下図中、青字下線個所はニセコ・羊蹄・洞爺e街道実験において実現した部分

・道路通行規制情報

様々な利用者ニーズ様々な利用者ニーズ

データ(データ(RWMLRWML))様々な情報提供者様々な情報提供者

今後の今後の 「道の風景コンテンツ」「道の風景コンテンツ」 の活用フレームの活用フレーム

p3

Page 3: Ⅱ-10 道路から見える景観情報の活用に向けた XML …ワンソース(データ) マルチユース ・目的地の情報 ・出発地の情報 様々なメディア

3

□□ □□ □□□□ □□ □□ □□□□ □□□□ □□ □□

素敵な道の風景

①素敵な道の風景

コンテンツ

②他のコンテンツとの連携

● 気象情報

● 花情報

● 特産物情報

● 経路情報 等

ドライブ観光のドライブ観光の

魅力アップ魅力アップ

③携帯端末対応(GPS機能付)

「①素敵な道の風景コンテンツ」と「②他コンテンツ」を組合わせ、かつ「③携帯端末対応」することによって、ドライブ観光の魅力アップが可能 !!

【素敵な道の風景+花情報】

この近くで、いま花がみどころのところはどこかなぁ。

【素敵な道の風景+気象情報】

この先の峠の展望台からの景色はすばらしい!!って

聞いたけど、今日の天気はどうかな?

【素敵な道の風景+季節別の風景情報】

素敵な風景だなぁ。初夏に来て良かった!!

紅葉の時期や雪の時期も素敵なんだろうなぁ。

【素敵な道の風景+経路情報】

ここから先、どっちのルートを通ろうかなぁ。

そ~だ、この先の道路の風景を調べてから決めよう!!

【素敵な道の風景+特産物情報】

道路脇一面に広がるこの花は何の花だろう?

農業王国「北海道」だから、きっと食材だと思うけど !?

■ ドライブ観光におけるユーザーニーズ

etc

■ ドライブ観光の魅力アップに向けて

今後の今後の 「道の風景コンテンツ」「道の風景コンテンツ」 の活用方策の活用方策 (ドライブ観光の魅力アップに向けて)(ドライブ観光の魅力アップに向けて)

p4

「道の風景」コンテンツを利用した携帯電話向けアプリケーション「道の風景」コンテンツを利用した携帯電話向けアプリケーション

衛星

コンテンツの呼び出し

コンテンツの表示

緯 度 経 度情 報 呼 び出し

緯 度 経 度情報取得

緯度経度情報送出

生成された風景コンテンツを表示

緯度経度情報を判断して、RWMLの中からもっと

も携帯端末に近い箇所の風景を使用し、コンテンツを生成

GPS

サーバ

Web

携帯端末

対応機種F661i

対応機種A5000/C5000/A3000/C3000/A1300/A1100/A1000/C1000/C400シリーズ,C310T,C309H

docomo

au

docomo用のコンテンツの呼び出し

au用のコンテンツの呼び出し

(緯度経度情報呼び出し)device:location?http://WebServer/Original.cgi

(表示CGI受け取り)http://WevServer/Original.cgi?datum=AAA&unit=BBB&lat=XXX&lon=YYY

(緯度経度情報呼び出し)<INPUT type="submit" name="navi_pos"value="画像表示">

(表示CGI受け取り)http://WevServer/Original.cgi?pos=NXXXE YYY &geo=wgs84&X-acc=3

喜茂別町/中山大橋

付近

一般国道230号の

喜茂別町中山峠で

は、雄大な大自然

の景観を満喫することができます。

喜茂別町/中山大橋

付近■ 素敵な北の道

docomo版いまいる付近の道路

景観を表示します。

1.道路景観表示2.

位置情報を送信

します。

1.OK2.キャンセル

■ 素敵な北の道

docomo版いまいる付近の道路

景観を表示します。

1.道路景観表示

■ 素敵な北の道docomo版

クリック クリック スルー 表示

p5

Page 4: Ⅱ-10 道路から見える景観情報の活用に向けた XML …ワンソース(データ) マルチユース ・目的地の情報 ・出発地の情報 様々なメディア

4

サンプルアプリケーションサンプルアプリケーション au版au版 ((1/21/2))

p6

■ 対応機種

A5000/C5000/A3000/C3000/A1300/A1100/A1000/C1000/C400シリーズ,C310T,C309H

■ デモサイト

http://210.229.165.42/mobile/indexau.html

<HDML VERSION=3.0 MARKABLE=TRUE><CHOICE NAME=MainMenu><CENTER>■素敵な北の道 道路景観<BR>いまいる付近の道路景観を表示します。<CE TASK=GO DEST=device:location?url=http://210.229.165.42/mobile/asp/c_nicau.aspLABEL=OK>道路景観表示</CHOICE></HDML>

indexau.html①

device:location?http://210.229.165.42/mobile/asp/c_nicau.asp

GO DEST=device:locationa

b

携帯端末の緯度経度情報を取得する

取得した緯度経度情報を以下のURLに送信し、携

帯端末からもっとも近い距離にある風景を表示する

①②a

b

(2/2)へ

サンプルアプリケーションサンプルアプリケーション au版au版 ((2/22/2))

'==================HTML出力=================='画像見つかった場合If gstrImg <> "" Then

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

<html lang="ja"><head>

<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"><LINK rel="INDEX" href="../index.html">

<title>素敵な北の道</title></head><body><CENTER><HDML VERSION="3.0" PUBLIC="True"><DISPLAY NAME="01">

<%response.write gstrObj & "<BR><BR>"response.write "<IMG SRC=" & gstrImg & "><BR><BR>"response.write gstrOut & "<BR><BR>"

%></DISPLAY></HDML><a href="../indexau.hdml"> 戻る </a>

</center></body></html>

<%Else

'イメージ画像データがない場合の書き出し%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html lang="ja"><head>

<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"><LINK rel="INDEX" href="../index.html">

<title>素敵な北の道</title></head><body><BR><center>

<%

response.write "該当する写真はありません。<BR><BR>"%> <a href="../indexau.hdml"> 戻る </a>

</center></body></html>

<%End If

'==================距離算出=================='2点間の距離を求める' in :ido1,keido1 第1点緯度・経度' ido2,keido2 第2点緯度・経度' out:戻り値 距離(Km)Function GetDistance(ido1, keido1, ido2, keido2)

'ラジアン変換rido1 = ido1 * 10000 * cPAI / 1800000rkeido1 = keido1 * 10000 * cPAI / 1800000rido2 = ido2 * 10000 * cPAI / 1800000rkeido2 = keido2 * 10000 * cPAI / 1800000

ram = rkeido1 - rkeido2xx = Sin(rido1) * Sin(rido2) + Cos(rido1) * Cos(rido2) * Cos(ram)

If xx = -1 Thensig = cPAI

ElseIf xx = 1 Thensig = 0

Elsesig = Atn(-xx / sqr(-xx * xx + 1)) + cPAI / 2

End If

GetDistance = Abs(cER * sig)End Function

'==================最近距離検索=================='最近距離情報を求める' in :doc XMLオブジェクト' out:Sub SearchData(doc)

'ノードを全て求めるfor i = 0 To doc.childNodes.length -1

'緯度を検索If doc.childnodes(i).nodename = "latitude" Then

PX2 = doc.childNodes(i).textstp1 = True

End If'経度を検索If doc.childnodes(i).nodename = "longitude" Then

PY2 = doc.childNodes(i).textstp2 = True

End If'objectを検索If doc.childnodes(i).nodename="object" Then

wobject = doc.childNodes(i).textstp3 = True

End If'outlineを検索If doc.childnodes(i).nodename="outline" Then

woutline = doc.childNodes(i).textstp4 = True

End If'imageを検索If doc.childnodes(i).nodename = "image" Then

If doc.childNodes(i).text = "mobileau" Thenwimage = doc.childnodes(i).attributes.item(0).text

stp5 = TrueEnd If

End If

'全てのデータがそろったら距離を計算If stp1 = True And stp2 = True And stp3 = True And stp4 = True And stp5 = True Then

Kyori = GetDistance(PX1, PY1, PX2, PY2)'チェックの初期化stp1 = Falsestp2 = Falsestp3 = Falsestp4 = Falsestp5 = Falsepst = False'より近い情報ならばデータを交換If Kyori < gDistanceLimit Then

gstrObj = wobjectgstrImg = wimagegstrOut = woutlinegDistanceLimit = Kyori

End IfEnd If'子のノードがあればそこを検索(再帰処理)If doc.hasChildNodes Then

Set child = doc.childNodes.item(i)Call SearchData(child)

End IfNext

End Sub

%>

'----------------------------------------'ローカル関数'----------------------------------------

'==================dmsの10進数変換=================='緯度経度を10進に変換する' in :tstr 緯度または経度文字列(d.m.s.ss)' out:戻り値 緯度経度(10進deg)Function CnvDec(tstr)

CnvDec = 0

If Len(tstr) = 0 ThenExit Function

End If'文字列を.で分割するlat = Split(tstr, ".")If Ubound(lat) <> 3 Then

'4つに分割できない場合はエラーExit Function

End If

'引数->度.分.秒→度に変換するCnvDec = lat(0) + lat(1) / 60 + (lat(2) + lat(3) / 100) / 3600

End Function

<!@ Language=VBScript %><%'****************************************'* Title : 道路Webデモ *'* AU用 *'* Date : 2003/07/22 *'****************************************'--------------------'定数定義'--------------------'XMLファイルConst cXMLFILE = "../xml/scenic.xml"'πConst cPAI = 3.1415'地球の赤道下の半径KmConst cER = 6378.136

'--------------------'変数初期化'--------------------'検出距離最小範囲(Km)gDistanceLimit = 200

'検索結果クリアgstrObj = ""gstrImg = ""gstrOut = ""

'--------------------'メイン処理'--------------------

'==================端末緯度経度を10進で取得=================='引数取得'datum=request.QueryString("datum")'unit=request.QueryString("unit")PPX1=request.QueryString("lat")PPY1=request.QueryString("lon")

'クエリで得た座標値を数値化PX1 = CnvDec(PPX1)PY1 = CnvDec(PPY1)

'==================HTML出力の下準備==================If PX1 > 0 And PY1 > 0 Then

'座標値が正常'オブジェクト生成(XMLDOM)XmlPath = Server.MapPath(cXMLFILE)Set xmldoc = Server.CreateObject("Microsoft.XMLDOM")xmldoc.async = False

'XML文書の読み込みIf xmldoc.load(XmlPath) Then

'XMLファイルの読み取りができた'ルートノードの取得Set root = xmldoc.documentElement

'チェックの初期化stp1 = Falsestp2 = Falsestp3 = Falsestp4 = Falsestp5 = Falsepst = FalsePX2 = 0PY2 = 0'最近距離のデータをセットする。Call SearchData(root)

Elseresponse.write "XMLファイル読み込み失敗。"

End IfEnd If

・ XMLファイルの所在定義

・ 距離算出で使用する定数の定義

・ 距離算出に使用する変数の初期化

・ 出力データを保管する変数の初期化

・ GPSの緯度経度

情報取得

・ XMLファイルの

読み込み

・ 携帯端末からもっとも近距離にある風景コンテンツの生成

・ 携帯端末とXMLに保存されている各風景までの

距離の算出

・ 携帯端末からもっとも近距離にある

風景の情報取得

c_nicdcm.asp

・ GPSの

緯度経度情報書式をRWMLの

緯度経度情報書式に合わせる

p7

Page 5: Ⅱ-10 道路から見える景観情報の活用に向けた XML …ワンソース(データ) マルチユース ・目的地の情報 ・出発地の情報 様々なメディア

5

サンプルアプリケーションサンプルアプリケーション ドコモ版ドコモ版 ((1/21/2))

p8

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html lang="ja"><head><meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"><link rel="INDEX" href="./index.html"><title>素敵な北の道docomo版</title>

</head><body>■素敵な北の道 docomo版<br>いまいる付近の道路景観を表示します。<br><form action="http://210.229.165.42/mobile/asp/c_nicdcm.asp" method="get"

name="scenic" id="scenic"><input name="navi_pos" type="submit" id="navi_pos" value="道路景観表示"></form>

</body></html>

■ 対応機種

F661i

■ デモサイト

http://210.229.165.42/mobile/indexdcm.html

indexdcm.html①

form action="http://210.229.165.42/mobile/asp/c_nicdcm.asp"

input name="navi_pos"a

b

携帯端末の緯度経度情報を取得する

取得した緯度経度情報を以下のURLに送信し、携

帯端末からもっとも近い距離にある風景を表示する

①②a

b

(2/2)へ

サンプルアプリケーションサンプルアプリケーション ドコモ版ドコモ版 ((2/22/2))

'----------------------------------------'ローカル関数'----------------------------------------

'==================dmsの10進数変換=================='緯度経度のを10進に変換する' in :vPos 緯度・経度文字列(Nd.m.s.ssEd.m.s.ss)' vDiv "N"緯度 "E"経度' out:戻り値 緯度経度(10進deg)Function CnvDec(vPos, vDiv)

CnvDec = 0

If Len(vPos) = 0 ThenExit Function

End If

'緯度経度の文字列を取得'緯度経度文字が含まれている場合はそこで終了p = Instr(vPos, vDiv)If p = 0 Then

Exit FunctionEnd If'数字以外の文字があったらそこで終了するFor i = (p + 1) To Len(vPos)

If ((Mid(vPos, i , 1) < "0") Or (Mid(vPos, i , 1) > "9")) And (Mid(vPos, i , 1) <> ".") ThenExit For

End IfNext'長さpl = i - p - 1'緯度または経度文字列sstr = Mid(vPos, p + 1, pl)

'文字列を.で分割するlat = Split(sstr, ".")If Ubound(lat) <> 3 Then

'4つに分割できない場合はエラーExit Function

End If

'引数->度.分.秒→度に変換するCnvDec = lat(0) + lat(1) / 60 + (lat(2) + lat(3) / 100) / 3600

End Function

'==================HTML出力=================='画像見つかった場合If gstrImg <> "" Then

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

<html lang="ja"><head>

<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"><LINK rel="INDEX" href="../index.html">

<title>素敵な北の道</title></head><body>

<CENTER>

<%Response.Write gstrObj & "<BR><BR>"Response.Write "<IMG SRC=" & gstrImg & "><BR><BR>"Response.Write gstrOut & "<BR><BR>"

%><a href="../indexdcm.html"> 戻る </a>

</center></body></html>

<%Else

'イメージ画像データがない場合の書き出し%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html lang="ja"><head>

<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"><LINK rel="INDEX" href="../index.html">

<title>素敵な北の道</title></head><body><BR><center>

<%Response.Write "該当する写真はありません。<BR><BR>"

%> <a href="../indexdcm.html"> 戻る </a></center></body></html>

<%End If

<!@ Language=VBScript %><%'****************************************'* Title : 道路Webデモ *'* Docomo用 *'* Date : 2003/07/22 *'****************************************'--------------------'定数定義'--------------------'XMLファイルConst cXMLFILE = "../xml/scenic.xml"'πConst cPAI = 3.1415'地球の赤道下の半径KmConst cER = 6378.136

'--------------------'変数初期化'--------------------'検出距離最小範囲(Km)gDistanceLimit = 200

'検索結果クリアgstrObj = ""gstrImg = ""gstrOut = ""

'--------------------'メイン処理'--------------------

'==================端末緯度経度を10進で取得=================='引数取得POS = request.QueryString("pos")

'緯度に変換PX1 = CnvDec(POS, "N")'経度に変換PY1 = CnvDec(POS, "E")

'==================HTML出力の下準備==================If PX1 > 0 And PY1 > 0 Then

'座標値が正常'オブジェクト生成(XMLDOM)XmlPath = Server.MapPath(cXMLFILE)Set xmldoc = Server.CreateObject("Microsoft.XMLDOM")xmldoc.async = False

'XML文書の読み込みIf xmldoc.load(XmlPath) Then

'XMLファイルの読み取りができた'ルートノードの取得Set root = xmldoc.documentElement

'チェックの初期化stp1 = Falsestp2 = Falsestp3 = Falsestp4 = Falsestp5 = Falsepst = FalsePX2 = 0PY2 = 0'最近距離のデータをセットする。Call SearchData(root)

ElseResponse.Write "XMLファイル読み込み失敗。"

End IfEnd If

'==================距離算出=================='2点間の距離を求める' in :ido1,keido1 第1点緯度・経度' ido2,keido2 第2点緯度・経度' out:戻り値 距離(Km)Function GetDistance(ido1, keido1, ido2, keido2)

'ラジアン変換rido1 = ido1 * 10000 * cPAI / 1800000rkeido1 = keido1 * 10000 * cPAI / 1800000rido2 = ido2 * 10000 * cPAI / 1800000rkeido2 = keido2 * 10000 * cPAI / 1800000

ram = rkeido1 - rkeido2xx = Sin(rido1) * Sin(rido2) + Cos(rido1) * Cos(rido2) * Cos(ram)

If xx = -1 Thensig = cPAI

ElseIf xx = 1 Thensig = 0

Elsesig = Atn(-xx / sqr(-xx * xx + 1)) + cPAI / 2

End If

GetDistance = Abs(cER * sig)End Function

'==================最近距離検索=================='最近距離情報を求める' in :doc XMLオブジェクト' out:Sub SearchData(doc)

'ノードを全て求めるfor i = 0 To doc.childNodes.length -1

'緯度を検索If doc.childnodes(i).nodename = "latitude" Then

PX2 = doc.childNodes(i).textstp1 = True

End If'経度を検索If doc.childnodes(i).nodename = "longitude" Then

PY2 = doc.childNodes(i).textstp2 = True

End If'objectを検索If doc.childnodes(i).nodename="object" Then

wobject = doc.childNodes(i).textstp3 = True

End If'outlineを検索If doc.childnodes(i).nodename="outline" Then

woutline = doc.childNodes(i).textstp4 = True

End If'imageを検索If doc.childnodes(i).nodename = "image" Then

If doc.childNodes(i).text = "mobiledcm" Thenwimage = doc.childnodes(i).attributes.item(0).text

stp5 = TrueEnd If

End If

'全てのデータがそろったら距離を計算If stp1 = True And stp2 = True And stp3 = True And stp4 = True And stp5 = True Then

Kyori = GetDistance(PX1, PY1, PX2, PY2)'チェックの初期化stp1 = Falsestp2 = Falsestp3 = Falsestp4 = Falsestp5 = Falsepst = False'より近い情報ならばデータを交換If Kyori < gDistanceLimit Then

gstrObj = wobjectgstrImg = wimagegstrOut = woutlinegDistanceLimit = Kyori

End IfEnd If'子のノードがあればそこを検索(再帰処理)If doc.hasChildNodes Then

Set child = doc.childNodes.item(i)Call SearchData(child)

End IfNext

End Sub

%>

・ XMLファイルの所在定義・ 距離算出で使用する

定数の定義

・ 距離算出に使用する変数の初期化

・ 出力データを保管する変数の初期化

・ GPSの緯度経度情報取得

・ XMLファイルの読み込み

・ 携帯端末からもっとも近距離にある風景コンテンツの生成

・ GPSの

緯度経度情報書式をRWMLの

緯度経度情報書式に合わせる

・ 携帯端末とXMLに保存されている

各風景までの距離の算出

・ 携帯端末からもっとも近距離にある

風景の情報取得

②c_nicdcm.asp

p9