2007年9月22日土曜日

つくもノヲ”X="1≠ 213




さて、先日実験したGPS情報と実際に歩いたルートをGoogleEarthに
読み込ませてみた。青い線が実際に歩いたルート、赤い線が30分に
1回取得したGPS情報を頂点に直線で結んでみたものだ。

青い線については、Googleのマイマップでシコシコと作成したものを
kmlファイルでダウンロードし(画像の赤丸部分をクリックする)、
赤い線について下記のようなkmlファイルを作成して、
それぞれのkmlファイルをGoogleEarthで開く。

赤い線のkmlファイルは次のようにxmlで書いていく。


<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">

<Document>

<Style id="linestyleExample">

<LineStyle>

<color>7f0000ff</color>

<width>5</width>

</LineStyle>

</Style>

<Placemark>

<styleUrl>#linestyleExample</styleUrl>

<LineString>

<coordinates>

139.444641666667,35.5442027777778,0
139.444188888889,35.5414388888889,0
139.421166666667,35.5602222222222,0
139.379127777778,35.5906333333333,0
139.351488888889,35.6022694444444,0
139.31555,35.6058138888889,0
139.290016666667,35.6134555555556,0
139.277241666667,35.612425,0
139.295861111111,35.6108055555556,0
139.314280555556,35.6015916666667,0
139.338577777778,35.5975611111111,0
139.355766666667,35.5822833333333,0
139.384980555556,35.5679722222222,0
139.412222222222,35.5551444444444,0
139.4346,35.5372833333333,0
139.437305555556,35.5308444444444,0
139.438883333333,35.5294916666667,0

</coordinates>

</LineString>

</Placemark>

</Document>

</kml>

xmlの基礎知識があったほうが良いが、なくてもwebにある関連情報を
参考にするだけでもなんとか書ける。
Googleにはkmlの公式のリファレンスがあるが、全て英語。
なんとか勘を働かせて、試行錯誤した結果が上のxmlなのである・・・・

<Style id="linestyleExample">

<LineStyle>

<color>7f0000ff</color>

<width>5</width>

</LineStyle>

</Style>


このStyleタグで囲まれている部分で引く線の色、太さを指定する。
「id="linestyleExample"」はstyleUrlタグにある
「#linestyleExample」にリンクしている。HTMLのアンカーに
相当するものだろう。

LineStringタグによって、coordinatesタグ(これは必須)に書かれた
経度、緯度、高度を頂点に直線が引かれていく。

LineStringタグの代わりにPointタグで囲むと、目印が表示される。
目印を一つだけ表示させることは簡単にできたが、複数表示させる方法が
今のところ見つからない。

上のxmlのように経度、緯度、高度を複数指定したり、
それぞれの経度、緯度、高度をcoordinatesタグで囲んでみたりと
いろいろと試して見たが、どれも違った。

直線がこうして引けるのだがら、目印を複数置くこともそれほど
難しくはないとは思うのだが・・・。

技術的な問題はまったり試行錯誤するとして、

こうして青い線と赤い線を見てみると、30分に一回の頻度とはいえ、
GPS情報の軌跡は実際の歩いたルートをよく捕捉しているのではないだろうか。
これならさらに頻度を上げれば、より正確な歩行ルートができそうだ。
ただ携帯電話の電池が減るという問題があるが。
そうなるとGPS受信端末には足元にも及ばない。

0 件のコメント: