ラベル Tool の投稿を表示しています。 すべての投稿を表示
ラベル Tool の投稿を表示しています。 すべての投稿を表示

2013年3月2日土曜日

Googleマップ上に経路を表示する方法

タイトルのGoogleマップ上で経路を表示するとは、以下のようなイメージを最終目標としてる。
下の画像では開始から終了まで経路をすべて表示しているけど、実際には、画面下に表示される「Next」ボタンで経路と説明は順番に表示されるようになる。


動画だとこんな感じ。

では、実際に使い方を以下にまとてみる。
手順は大きくわけて以下の通り。

1. 経路の位置情報リストを作る
2. 位置情報リストを貼り付ける

以下、詳細。

1. 経路の位置情報リストを作る


以下が、位置情報リストを作成するURLになる。

位置情報リスト作成

開くと、以下のようなGoogleマップを含むページが表示される。


拡大や移動などの機能を使って、経路としたい点をマウスでクリックしていく。
たとえば、東京から名古屋への経路であれば、以下のようになる。
大きな欠点がひとつあって、間違えてもやり直しが出来ないのが問題だ。


経路を描けたら画面下部にある「出力」ボタンを押すと、
ボタンの下に経路の位置情報が出力されるので、コピーしておく。


2. 位置情報リストを貼り付ける


コピーした位置情報を貼り付けるソースコードを以下から取得する。

地図表示


開いたらブラウザ上で右クリックして「ページのソースを表示」などでソースコードを表示する。


開いたら、コードの中に「位置情報リスト」という部分があるので、それをコピーしておいたリストと置き換える。
以下の画像参照。


置き換えられたら、拡張子をhtmlで保存する。
たとえば、「sample.html」など。
あとは、保存したファイルをブラウザで開けば経路情報を表示できる。

上でも書いたけど地図表示がオデュッセウスの経路のサンプルなのでそちらでどんな感じになるのか確認出来る。

補足


位置情報リストには、位置情報の他に、「コメント」と「連続表示処理の有無」の項目がある。

「コメント」にはサンプルのようにhtmlで画像を表示することも出来る。
「連続表示処理」の項目に、"1"などと何か入れておくと、一度の「Next」で連続して進められる。

2012年9月9日日曜日

日常での炭火焼き生活に憧れて炭火焼きコンロを買った。

日常生活で炭火を使うことを、夢として抱いている人も少なくない気がする。
でもなかなか都会では使えないなと思っていたんだけど、小さめの炭火コンロに出会った。
写真のコンロ本体と網、コルク、トングと炭がセットになっている。


炭を入れる五徳を、本体の上に置く構造になっていて、本体の底には水をはって使う。
小さな七輪だと炭をおこしにくそうだけど、そこも考慮されていて、
炭を入れる五徳に穴が空いているため、ガスコンロに置くとちょうど火が炭にあたるようになっている。
慣れてくると5分くらいで、火をおこすことができるかな。


炭を入れたところを上から撮るとこんな感じ。
小さいので炭は少しで十分。


コプチャン(小腸)と鶏肉を焼いたところ。
これくらいしか乗らないけど、二人で食べるには十分。
コプチャンは煙がすごいので、部屋が真っ白になる。


ベーコンとアサリなら煙はほとんど出ないので安心。


秋刀魚も煙がすごいけど、焼き肉などと違って換気扇の下で焼けばなんとかなる。
一番味の違いが出たのがこの秋刀魚だった。
下に落ちた脂の煙が皮に味をつけるのか、いつものグリルで焼いたものと違った。

わざわざ炭をおこさなきゃいけないので、
買うときは何回も使うか不安だったけど、購入から2ヶ月で3回使用なら十分な稼働率。
さらにこれから寒くなるのでもっと使う機会も増えるのではないかな。

2011年3月21日月曜日

Graphvizで短歌を視覚化してみた

久しぶりの休みかつ三連休だけど、電車で出かけたりするのはどうも気が乗らない。自転車で行ける範囲じゃないと、なんとなく不安な気がして、結局遠くまでは出かけなかった。

時間があったので、かつてから試してみたかった短歌の視覚化を試してみた。

やったことは以下のこと。

1. 石川啄木の『悲しき玩具』を青空文庫から取得
2. 短歌を日本語形態素解析YahooAPIで解析して、Graphvizのフォーマットに変換
3. Graphvizでグラフ出力

詳細は以下。

1. 石川啄木の『悲しき玩具』を青空文庫から取得

青空文庫から、テキストファイル(ルビ入り)のファイルを取得した。
XHTMLファイルの中身も見たけども、簡単にルビを取り除くならテキストファイルの方が簡単そうだったのでこちらを選択した。ルビは正規表現にて削除して短歌だけを取り出せるようにした。

2. 短歌を日本語形態素解析YahooAPIで解析して、Graphvizのフォーマットに変換

手順1で取得した短歌をYahooAPIで構文解析した。
日本語形態素解析とは「日本語文を形態素に分割し、品詞、読みがなの付与、統計情報を取得できる機能」。
MeCabもインストールしてみたけど、MeCabの結果はテキストで帰ってくるようだった。YahooAPIでは、結果がXMLで取得でき、BeautifulSoupで簡単に処理できたので、YahooAPIを利用した。Pythonから直接Graphvizを利用する方法も調べたんだけど断念して、Graphvizのフォーマットに合わせたファイルを出力するようにした。

3. Graphvizでグラフ出力

Graphvizというグラフ視覚化ソフトで手順2までで生成したファイルをグラフ化した。
これはもう、ファイルを読み込ませて画像を出力させるだけ。

実際には『悲しき玩具』のすべての短歌をグラフ化してるんだけど、サンプルとして以下の2つのみをアップ。
思っていたより、大した結果を得られなかったので全部載せる必要もないかと。

ある日、ふと、やまひを忘れ、牛の啼く真似をしてみぬ、――妻子の留守に。

あの頃はよく嘘を言ひき。平気にてよく嘘を言ひき。汗が出づるかな。

以上の実装は、初のPythonでの実装。
Python使いやすい。
でも自分にはPyDevを使ってIDEで開発しないとダメだなってわかった。

2009年3月15日日曜日

文体とリズムの視覚化 Part3

 前回で必要なクラスの設計も終わったので、「2.1 構成要素への分割」を実装してみた。文章を入力すると、Yahooデベロッパーの形態素解析で処理して構成要素に分けるって部分です。Yahooの出力結果は、デフォルトで、品詞と読みと表示が得られるので、とりあえず品詞と読みを表示してみた。
 
 Word Chain version 0.1

 無料レンタルサーバに登録して、YahooデベロッパーIDを取得。前回のRubyのクラスを使用してYahooデベロッパーを呼び出して、結果を成形して表示する。すべて無料。とりあえずサービスの名前は「単語連鎖」という意味でWord chainという名前にした。
 次回は、単語の繋がりの処理は後回しにして、Processing.js による表示を優先したい。

2009年3月8日日曜日

文体とリズムの視覚化 Part2

 前回は、目的と全体の概要などを述べた。
 
 ※ コード部分読みにくい色になってます。後で修正します。 修正しました。

 今回は、文章を入力してそれを構成要素に分ける部分の実装を行う。手順は以下のようになる。

1.  入力文字列を設定する.
2.  Yahooデベロッパーの日本語形態素解析に、要素に分けてもらう.
3.  結果を保持する.

 保持したものは今後の視覚化に使う、ということになる。

 上記の機能を持つクラスをRubyで実装する。
 単語の品詞、表記、読みを1つの単位として、入力された単語数分が結果として得られる。単語の扱いを簡単にするために、単語を扱うWordクラスを作った。こんな感じ。
#!/usr/bin/ruby -Ku

class Word

attr_accessor :surface #表記
attr_accessor :pos #品詞
attr_accessor :reading #読み

end

 実際に、YahooデベロッパーのAPIを呼び出すのは以下のMorphemeクラス。入力する文字列を設定できて、YahooデベロッパーのAPIを呼び出すことができる。結果は、上のWordクラスの配列に保持する、という単純な感じ。
#!/usr/bin/ruby -Ku

require 'open-uri'
require 'rexml/document'
require 'word.rb'

class Morpheme

attr_accessor :sentence, :words

def initialize(sentence = nil)
@appid = 'YourID'
@xmluri = 'http://api.jlp.yahoo.co.jp/MAService/V1/parse'
@results = 'ma'

@sentence = sentence
end

def morpheme
@words = Array.new

body = open("#{@xmluri}?appid=#{@appid}&results=#{@results}&sentence=" + URI.encode("#{@sentence}"))

doc = REXML::Document.new(body).elements['ResultSet/ma_result/word_list']
doc.elements.each('word') do |item|

word = Word.new

word.pos = item.elements["pos"].text
word.surface = item.elements["surface"].text
word.reading = item.elements["reading"].text

@words << word
end
end
end

 これで、Yahooデベロッパーを使って、形態素解析をしてくれる処理はとりあえず揃ったかな。

2009年2月28日土曜日

文体とリズムの視覚化

1. きっかけと目的

 小説を読んでいると、「この 人の文章って、あの人の文章に似てるな」と感じるときがある。でも、実際にそう感じたことが正しいかどうかを調べるには、小説をパラパラとめくりながら似 たような文章を探したりしないといけない。けっこう時間がかかるし、本を読む時間が減ってしまう。
 簡単に似てる似てないの判断ができるような仕組みがあればいいなぁ、と思って作ってみようと思い立った。リズムなんだから聴覚化(音楽化?)の方がストレートな気もするけど、技術的にまずは視覚化を実現したい。

 ※今回だけでは、視覚化しません。今回は、今後の方向性を示すもの具体的な作業は次回からになります。連載物になります。

2. 処理内容

 ある文章を入力すると、それを構成要素にわけ、文章の意味から自由な、意味にとらわれない単語の繋がりとして再構成し、視覚化する。以下が全体のイメージ。

図.全体のイメージ

2.1. 構成要素への分割


 構成要素へ分けるには、Yahoo!デベロッパーの日本語形態素解析を用いる。日本語を形態素に分割し、品詞や読み仮名を返してくれるサービス。
 Rubyで実装する予定。
 
2.2. 繋がりからの再構成
 詳細は未定。きっとここが一番のキモとなる箇所と思われる。

2.3. 視覚化

 Processing または、Processing.js を用いて視覚化する予定。

3. 成果物

それとなくでも違いがわかるようにしたい。
まずは、ローカルでいろいろ試しながら、最終的には、出来ればWeb上で動くようにしたい。