Hatak::Techlog

Verba volant, scripta manent.

GeoTechTalk 東京に行ってきた

GTUG 主催の GeoTechTalk 東京に参加してきました。 前日の Yahoo! 主催のカンファレンスとはまた雰囲気が異なり面白いものでした。新サービスなどの発表がない分、技術的な話題が多かったように思います。

New Features and Features You Hadn’t Heard About Google Maps and Earth

講演資料 Google Senior Developer Adovocate の Mano Marks (ManoMarks) さんの講演。Google は多くの GeoProducts を提供していて、Location はとても重要な要素として位置づけられている。

New features and weys to use Fusion Table

データをアップロードし、視覚化するためのツール。 FusionTable は以下のような特徴を持つ。 - SpatialQuery (空間クエリ) - 高パフォーマンス – クリック可能なラスタ画像 – 100,000 行以上のデータのレンダリング - 簡単に利用可能 - クラウド上でのデータストア - BackendAPI SpatialQueries によって近隣抽出や一定半径内、矩形のバウンディングボックス内などの空間検索が可能となる。

Demo

Real world examples of Styled Maps

JS, Flash, StaticMap などで色やサイズをカスタマイズする使い方。

Demo

Customizing Street View

Demo

The Google Earth API

Demo

ストリートビューのおはなし

株式会社鳥人間 郷田まり子さん (@MaripoGoda) の講演。

Web 版のストリートビュー AP

ストリートビュー API でできることは、大きく次の4つ。

  • 表示する – 地図 – 付随するストリートビュー
  • 変更する – 視点位置 – 方向
  • 移動する – 道 (ストリートビュー自身が道の情報を持っている)
  • 物を置く – 空間内におくことができる – 座標計算もやってくれる

概念としては「パノラマ」と「POV (Point of View)」の2つを理解することが大事。

  • パノラマ – ストリートビューの画像 – この集まりでストリートビューが構成されている — StreetViewLink でつながっている
  • POV – 視点 — heading (方位) — pitch (仰角) — zoom (拡大縮小)

イベントハンドリングも行える。

  • pano_changed – パノラマIDの変更 – 別のパノラマになったとき
  • position_changed – 位置が変更になったとき – pano_changed に近い
  • pov_chaneged – カメラの向きが変わったとき
  • link_changed – リンクしてるパノラマが変更されたとき
  • visible_changed – streetview の表示設定が変更されたとき

また、オーバーレイ機能を使うと位置情報付きのマーカーをパノラマ中に表示することができる。Marker オブジェクトを使うだけなので好きな画像も利用でき、クリック検知なども可能とのこと。

Android での利用

Android では、Web ページからは URL スキーム “google.streetview” に反応するようになっている。アプリから開きたい時は Intent を飛ばすことで実現できるが、ブラウザ版ほどいろいろできる訳ではないので今後に期待。

Hack のヒント

ToriSat:国際宇宙ステーションの見え方をシミュレーションしてくれる、ちょっと AR っぽい使い方

自転車連動:Proce55ing でクライアントアプリを作り、自転車をこぐとストリートビューが移動する使い方 (VRっぽい)

ドキュメントは Google Maps API の一部として扱われているので、そこを参照するとよい。

GoogleMaps と GoogleAppEngine を用いたAndroid 端末のトラッキング

株式会社ゴーガ 小山文彦さん (@fumi231) の講演。

企画の流れ

2009年 : トーマラ

HT-03A が発売され、何か Android ならではのアプリを作りたいという思いがきっかけでリリース。実際に制作をしてみた結果、課題が見えてきた。

  • 電池が長く持たない – 予備電池が必須?
  • 参加者へのアプローチがひとつ – 利用するメリットをできるだけ多く – がんばって作ったが — 記事掲載数本 — 数名が登録 – 東京マラソンの記載が — 商標になってるので使えない — ニュースリリースに載せちゃった → おこられた

2010年 : 箱根駅伝速報マップ

Google + KDDI + TOYOTA + NTV の協力を得て箱根駅伝中継時に位置をトラッキングするサイトをリリース。

  • 往路のテレビ中継でアナウンス – その後サイト停止状態に — memcache のキャッシュが切れる瞬間に4桁アクセスで落ちた – 2時間後に応急処置終了 — Android アプリ側がタイムアウトで停止 – 先頭だけ表示する予備コンテンツで対応
  • 課題 – サイト — AppEngine ログを分析して修正 – アプリ — タイムアウトしても動くように見直し
  • 結果 – 復路は問題なく稼働

2010年 : ONE TOKYO

東京マラソンに合わせて第2弾として、トーマラを改良したサービスをリリース。

  • 利用者 – 10人くらい
  • Androidアプリ – 10秒ごとに GET で位置送信 – 1分ごとに latitude 送信 – Google Maps 表示 — 走行距離 — 折り返し対応 — 予想ゴールタイム
  • 管理ツール – 裏でフジテレビにも使ってもらったため、アプリ側からの送信ができてないとき表示されるように

開発時の検討事項

サービスをリリースしてみての工夫した点など。ちなみに、今回はサーバサイド AppEngine + Python で構築していたとのこと

  • コードの単純/極小化 – 通常は一瞬で終わる処理でも高負荷時には時間かかるようになることもある – 複数処理を非同期でつなぐように工夫
  • hashを使ったマッチング – メールアドレスなどで利用
  • 時刻は GMT のままで表示する時に補正
  • トランザクション内で処理完結
  • appstatsの活用
  • TaskQueueの活用
  • batch get の活用 – その処理が user のリクエストで動かなきゃいけないのか判断して切り分ける
  • Memcache のキャッシュ期限が切れるタイミングをどうするか – 今回は20秒に設定 – 二重化するなどで対応できるかも?

1日サービスの課題

1日だけしか使われないサービスの場合、考慮しなければならないポイントがいくつかある。

  • いつリリースするか
  • 本当にリリースされるかわからない不安
  • できることとできないこと、優先度の振り分け
  • 当日までの体裁をどうするか- 終了後をどう見せるか
  • データがない状態でうまく説明する方法 – 当日朝に flush するので、S-in 直後はデータがない状態
  • 負荷テスト必須
  • できれば第三者レビューも

インクカートリッジ里帰りプロジェクトの地図検索機能における業務適用事例

セイコーエプソン株式会社 石丸 健太郎さん (@kehi) の講演。使用済みインクカートリッジを回収するインクカートリッジ里帰りプロジェクトでの Google Maps の活用事例。

実例

もともと回収箱のリストが PDF で公開されているだけだったので、シンプルに地図を表示するようにしたとのこと。

  • 位置取得 – HTML5 の GeoLocationAPI を利用
  • 地名で移動 – GeoCoder を利用
  • 外観表示 – StreetView
  • 道案内 – DirectionsService に引数を渡すだけ
  • 情報表示 – ステータスに連動した機能を実装 – 投函した日から状況を計算するなど

Tips

  • v3 ではマーカーは自力消去が必要 – setMap(null) などで可能 – マーカーをアニメーションさせていたので気づけた
  • 大人の事情で異なる文字コードの共存する状態 – iflame 使うといい- URL から引数を取得してピンポイントに表示できるような URI 設計 – 個別の項目にリンクをはれる – 導線を考慮したサービスになる
  • とにかく動くものを見せることが大事 – 政治層を突破するきっかけになる
  • サービスの機能やデータは API で公開するとよい – MashUp などで活用してもらえる

その他

個人的に作成されてるサービスとして rememberbox を紹介。位置にリマインダを登録しておくサービスで、iPhone/Android 対応とのこと。

Google Maps/Earth Now

株式会社エクサ 安藤幸央さん (@yukio_andoh) の講演。WebAPI の中でも、Mapping 系の API が最もよく使われていることが調査からわかっている。

最近の動向

  • Google Maps for mobile in 3D – Google Maps の 5.0/5.2 では 3D 表示が可能 – 5.2 では Google place (おみせメモ) にも対応
  • Maps API Docs – Google Maps JavaScript API V3 ドキュメントがかなり充実 – 特に FAQ には利用規約などたいていのことが書かれている
  • Google Places API – パブリックβにはなってる – まだキーがもらえないので、公開を待つしかない
  • Google Art Project – StreetView + AppEngine + Picasa の技術を組み合わせている – 美術館内をストリートビューで見れるような感じ

面白いサイトなどの紹介

  • PuchiPuchiEarth – Android au のキャンペーン
  • 東京時層地図 – 今後は時間の流れ、履歴を保持することも課題かもしれない
  • シムシティのような3D地図 – BaiduE都市
  • 宇宙戦艦ヤマトのキャンペーン
  • InstaRamen – 流行のサービスと地図情報は組み合わせられるのでは
  • VirginAtralntic の機内で表示される地図が Google Maps
  • mapyourvalentine.com – バレンタイン次期限定のサービス – 思い出の場所にピンが重なって立っていてハート形になってる