2005年11月30日 (水)

BREWでWEBサービス

BREW端末でゲートウェイを介さずに直接.NET対応のWEBサービスを呼ぶことに成功したらしい。BREWでSOAP通信をするためのミドルウェアをKDDIが開発したそうだけど、これってKDDI-Profileとして公開されないかなあ。ぜひともKDDIさんにはお願いしたいところです。WEBサービスが使えるとより柔軟なモバイル・ソリューションが実現できそうですね。

| | コメント (0) | トラックバック (0)

2005年11月20日 (日)

緯度経度から住所を求める(その2)

前回の続き。

緯度経度から住所を求めるには、緯度経度と住所とを対応付けたデータが必要になる。今回は、国土計画局の街区レベル位置参照情報ダウンロードサービスでダウンロードできるデータを利用した。これは「xx市xx地区xx丁目」くらいのレベルまでのデータが整備されている(場所により違いがあるかもしれません)。

ダウンロードしたデータをDBに格納しておき、指定された緯度経度から最も住所をDBより検索し、取得した住所を返すASP.NETアプリを作成しておく。本当はWEBサービスで実装したかったが、BREWアプリからWEBサービスを呼ぶ方法が分からないので、WEBアプリで妥協することにした。

で、IPOSDET_GetGPSInfo()インタフェースで取得した緯度経度データを上記のASP.NETアプリに渡し、返ってきた住所を画面に表示するようにBREWアプリを作成する。実行するとこんな感じ。このままだと精度は低く実用には使えませんが、これを応用することで携帯のGPS機能を使った面白いシステムが作れるかもしれません。
ReverseGeoCoding

| | コメント (0) | トラックバック (0)

2005年11月19日 (土)

緯度経度から住所を求める(その1)

11月17日のブログに書いたとおり、BREWアプリでGPS位置情報を取得し、これを元に度数表記の緯度経度を計算することはできた(BREWエミュレータ環境で、ですけどね)。
しかし、例えば北緯35度41分18秒、東経139度41度32秒が具体的にどこの住所を指しているかは分かんないですよね。

じゃあ緯度経度から住所を求めるには?
緯度経度と住所の変換はそれなりにニーズはあるようで、住所から緯度経度を求めることをジオコーディング、反対に緯度経度から住所を求めることを逆ジオコーディングなどと呼ぶらしい。
で、ジオコーディングや逆ジオコーディングを売りにした製品が存在している。

これを使えばオッケーとなるだろうが、もちろん有償なので、気軽に検証環境で試してみることができない。
とりあえず自分ができる範囲で、ってことでやってみた。

続く。。。

| | コメント (0) | トラックバック (0)

2005年11月17日 (木)

緯度経度の計算

BREW SDKのIPOSDET_GetGPSInfo()インタフェースを呼ぶと緯度経度は以下のような10進数の数値が返ってくる。
 緯度:6652839
 経度:26040518
これじゃどこだか分からん。
これを北緯xx度xx分、東経xxx度xx分のような度数表記にするには?

BREW APIヘルプによるとIPOSDET_GetGPSInfo()インタフェースで取得できる緯度経度のフォーマットは次の通り。
 緯度:180/2^25度 WGS-84楕円
 経度:360/2^26度 WGS-84楕円
このことから、IPOSDET_GetGPSInfo()で得られた値を度数表記にするには次のように計算すればOKっぽい。

 (dwLat*180)/2^25 = 緯度(北緯が正)
 (dwLot*360)/2^26 = 経度(東経が正)

ちなみに上記の10進数値を計算すると・・・
 緯度:(6652839*180)/2^25 = 35.6886094809 = 35度41分18秒9941
 経度:(26040518*360)/2^26 = 139.6922242641 = 139度41度32秒0074

この緯度経度を国土地理院のサイトで検索してみた。
少々見にくいですが、東京都庁の辺りを指していますね。blog


 

 

ちなみにGoogle mapの場合はこちら

| | コメント (0) | トラックバック (0)

2005年11月12日 (土)

GPS位置情報取得

IPOSDETインタフェースを使ってGPS位置情報取得を実装してみました。BREWエミュレータで実行すると、IPOSDET_GetGPSInfo()をコールするタイミングでプライバシーアラートがでるのですが、これはこれで普通なんだろうか。さらに、取得した位置情報の緯度経度が0になってしまうのも普通?

BREWエミュレータにはGPS情報をシリアルポートから取得するのと、BREW GPSファイル(.bgp)」から取得する方法があるらしいけど、bgpファイルってどうやって作るんだ?

| | コメント (0) | トラックバック (0)

2005年11月 9日 (水)

BREWアプリとASP.NETの連携

IHTMLViewerインタフェースで画面を作り、そこで入力したデータをASP.NET WEBサーバーに送信し、データを永続化する検証アプリを作ってみました。やはりJavaや.NETでWEBアプリケーションを作るのとは違いますね。BREWアプリを作るときの概念が掴めてきたように思います。

今後のため、検証アプリ作成ではまった事をメモ書き。

  • WEBに接続する場合、BREWアプリケーションに適切な特権レベルを付与する必要がある。これはMIFエディタで行える。
  • SDKをインストールしたままの状態だと、エミュレータからローカルのWEBサーバーに接続することができない。そこで、BREWデバイスコンフィギュレータドキュメント(qscファイル)をエディタ等で開き、「SOCKETS」のある行を適切に編集する。

| | コメント (0) | トラックバック (0)

BREWの画面GUI

BREWアプリで入力インタフェースを持つ画面一つを作ることさえ、手順が良く分からなくて難儀しました。図書館で借りた書籍によると方法は2つ。

  • BREWダイアログを使う。
  • IHTMLViewerインタフェースを使う。

腕があれば、コントロールとして自前で作成してしまうのも一つの方法です。これは自分にはできません。他にBREW向けのGUI開発支援ツールを使う方法もありますね。

| | コメント (0) | トラックバック (0)

2005年11月 4日 (金)

こんにちはBREW!

初めてのBREWアプリ作成に挑戦した。昨日借りてきた書籍を参考にしながら、BREWエミュレータで「こんにちは BREW!」を表示させることに成功。

さらにステップアップしてBREWアプリでデータ入力して、リモートのDBと通信しながらデータをやり取りすることをしたいのですが、まずC/C++で画面インタフェースをどう実装するのかがよく分からない。Javaや.NETと比較して、BREWアプリ開発は情報も少なくて敷居が高いですね。

| | コメント (0) | トラックバック (0)

図書館に行ってきた

仕事でBREWアプリの作成について調査する必要があり、その参考書籍が欲しいと思い、近くの図書館に寄ってみた。するとBREWプログラミング実践バイブルという書籍が置いてあったので借りてきた。約5,000円もする専門書籍が市内の図書館に置いてあるとはビックリ!でも借りたいテーマの書籍があって良かったです。

この書籍ですが、ぱっと見た感じ難しそうです。というか、BREWアプリってC/C++で作るんですか。恥ずかしながら知らなかった(BREWアプリのための独自言語があると思っていた)。Cの経験は少しありますが5~6年程のブランクがあります。今はもうほとんど覚えてません。ともかく明日、会社で初めてのBREWアプリに挑戦する予定です。やっぱ定番の「Hello world!」かな。果たしてどうなることやら。

| | コメント (0)