goo blog サービス終了のお知らせ 

にやにや製作:GoogleMapとGPSを自転車で使う

お気楽・ごくらく ( ・∀・)ニヤニヤ
     
製作 かるかる

Googleマイマップがおかしい・以前の状態に戻ってる?

2008年08月27日 21時23分30秒 | Google Hacks
KMZのアップロードが失敗する

今年の1月にGoogleマイマップがGoogle EarthのKMZファイルに対応したと、動画付きでマイマップへのアップロード方法を祝Google マイマップ アップデート ローカルKMLファイルがインポート可能に!!
に書きましたが、またまたアップロードに失敗する状態に戻っております。

おかしい

使えてる人いるのかな?
とりあえず報告しておいた。

Google Code にExifを扱うライブラリのプロジェクトを立ててみたので備忘録

2008年08月03日 23時11分17秒 | Google Hacks
Subversionでやり取りできるまでの過程

きっかけ
ウノウラボ中村氏の「PHPで携帯位置情報を扱うライブラリ「Geomobilejp_Converter」を作りました 」の記事を見てGoogle Code上にプロジェクトを立ててみたくなり、実際やってみると次にすんなり行く自信が無かったので、備忘録として作成


公開したソースは?
C#上でExifの中身を覗いたり書いたりするライブラリなら汎用性があるかなと思いDLLに出来る形に書き換えて準備

今回公開したExif_Bitmap.dllはGMM2.exe用に作った物のため、
ジオタグ(geotag)関連の緯度経度等を扱うルーチンは組んであるけど、カメラメーカ名や焦点距離等を扱う部分は実装していない。
パッチやらで送ってくれると楽できてうれしい。(MITライセンス)


サンプルやリポジトリ
サンプル:Google Code exifbitmap ダウンロードリスト
リポジトリ: http://exifbitmap.googlecode.com/svn/trunk/


対象
Subversion クライアントTortoiseSVNの使用者向けの内容となっております。


参考にしたページ
Google ガジェット/デベロッパー ツールGoogle Code でのホスティング
この参考にしたページがどうにも読みにくいため、画像付きの備忘録としたのが今回の内容
---------------------------
以下備忘録


1.プロジェクトの作成

Google Codeで公開したいプロジェクトを建てます。ここは説明いりませんね。

新しいプロジェクトの作成


2.プロジェクトのチェックアウト

微妙な内容がここから始まります。どうにも何をしたいのかわからない文書じゃないですかコレ?
要はGoogleCode上にリポジトリを作成して、ローカルで用意したプロジェクトをGoogle Codeへ移動させるまでの手順、それだけなのに読みにくい。

プロジェクトのチェックアウト


2.1 Google Codeに Subversion管理領域作成

まずはGoogle CodeにプロジェクトのSubversion用管理領域(リポジトリ)を準備します。
上記画像(プロジェクトチェックアウト)の例にある様に、コンソール(コマンドプロンプト)上で行いました。
ブラウザでGoogleのアカウントにログインした状態で行っています。

プロジェクト名はexifbitmap ユーザ名がgazofileなので
svn checkout https://exifbitmap.googlecode.com/svn/trunk/ --username gazofile
として実行

プロジェクトのチェックアウト

このとき入力するパスワードは、GoogleCode.com Password でもらっておく。
SVN password

コマンドプロンプトの画面に、「リビジョン1をチェックアウトしました」と出れば作戦完了


2.2 ローカル環境に カラ内容をチェックアウト

ローカルの環境に2.1で作った「何にもない状態」をチェックアウトします。
右クリックで表示される「SVNチェックアウト(K)」を選択して、
リポジトリのURL:に2.1で入力したリポジトリのディレクトリを入力し
チェックアウトディレクトリ:には、その展開先を入力します。

実行すると隠しディレクトリ.svn がGoogle Codeからローカルの展開先へ落ちてきます。
右クリックして、[SVN チェックアウト]-1



2.3 空ディレクトリにファイルをコピー

この時点では、隠しディレクトリ.svnのみが存在するだけです。

この空ディレクトリにローカルで作成してきたプロジェクトをコピーしてコミットすることで、リモートサーバGoogle Codeのリポジトリにプロジェクトを実質的に登録します。
この作業が終わると、ローカルで管理していたプロジェクトがリモートのGoogle Code上で行えることになります。

ローカルプロジェクトのコピーExit_Bitmapがそれです。
プロジェクトDIRコピー

そして、コミット
コミット

リモートのリポジトリ(Google Code)に格納されて....
コミットファイル管理
これでプロジェクトはリモート(Google Code)へ移りました。



3.Google Codeプロジェクトのチェックアウト

リモートに存在するプロジェクトをローカルに落としてくる作業です。

Google Codeのプロジェクト「Sourse」タブを押して、リポジトリURLを確認
右クリックで出てくる「SVNチェックアウト(K)」で出てくるダイアログに情報を入れて「OK」ボタンを押す。
チェックアウト方法


チェックアウトディレクトリにダウンロードされて、チェックアウト終了
チェックアウト状況


後は弄ってコミット、さわってコミット...

お手軽にサイト構築できる Google Sites に存在するバグを回避するTipsを書いてみる

2008年06月26日 23時05分10秒 | Google Hacks
じゃんじゃん更新ファイルが作られるサイトには使いよい

Google Sitesが一般公開されて1ヶ月、今更出来ることの列挙はしません。
手順書サイトを立ち上げて遭遇したバグとその回避方法を書きます。
あらかじめ情報があれば、おかしな動作にも悩みません。

元ネタは2008/7/1に正式公開の 手順書ページ
ほーむ


ブログで手順書を公開する問題点

今までblogで機能説明やら手順やらをダラダラ書いてきたわけですが、
以下の問題点があります。

1.昔の記事に修正を加えるのは難しい。
2.blog内記事を検索しても、必要で最新の手順を探し当てるとは限らない。
3.人力で常に新しい手順一覧をリストアップするのは手間

特に3.に付いてはblog上で行うことを最初からあきらめており、
手間かけずに一覧出来るページやスクリプト、サイトが欲しかった。

そんななかブログを書く程度の手間で上記の問題が解決出来るGoogle Sitesが使えるようになり早速構築を始めました。もともとWikiのため、情報を次々に変更修正していくのはおてのもの。
List表示


バグは存在する

時間を無駄にしてしまうかも知れない不具合

表計算の行と列の様に情報を管理するページタイプの「List」があります。
List

コラム内容の設定が非常に簡単で、目的にあったリストが簡単に用意できて
使いやすいのですが、これには得体の知れんバグがあり出来上がったページを丸ごと削除したことも。
List改造


バグの内容

一度出来上がった「アイテム(行)」を変更するとそれは発生します。
たとえば、下のファイルについての更新日を変更したりすると
このリストページからは、登録したアイテム(行に登録したページ)にアクセス出来なくなります。
List修正

具体的には「Web address:に登録したURLが書き換わってしまい」アクセス出来なくなる。
 _, ._
( ゜ Д゜) ・・・
  _, ._
( ´ Д⊂ ゴシゴシ
  _, ._
( ゜ Д゜) ・・・
ちなみに手動でWeb addressの内容を書き換えても、不具合の連鎖が続くだけね。


バグの回避方法

1.リスト表示に登録したアイテム(行)は変更しない、変更する場合はその行を削除して新たに追加する。

2.バグを忘れて項目を変更してしまった場合、変更した周辺(上、下)行のアドレスを確認する。
(周辺の行にも被害が拡大している場合があるため)

消極的な回避方法ですが、このリストアイテムを変更してはいけない鉄則を見つけるまで何回リストページ自体放棄したことか....

         *'``・* 。
        |     `*。
       ,。∩      *    もうどうにでもな~れ
      + (´・ω・`) *。+゜
      `*。 ヽ、  つ *゜*
       `・+。*・' ゜⊃ +゜
       ☆   ∪~ 。*゜
        `・+。*・ ゜

というわけで、手順書のページはブログから分離してGoogle Sitesへ移動します。

最新のFirefox 3はGoogleマップが断然速い!!

2008年06月18日 06時40分02秒 | Google Hacks
省略して速くせよ!!

Firefox 2やIE6では普通にGoogle Maps APIのポリラインを使ってGPSの軌跡を表現させると、縮尺に関わらず(見えない範囲)も律儀にラインを引いていたようですが、新しいFirefox3の動作を見ると変更されています。

サンプル:2008年版 ツールド三河湖 エキスパートコース 私家版

以前のバージョン:ラインが細かい(正確)
FF2

Firefox 3:明らかに省略されている
FF3
省略してるだけ速い、目に見えて速い!!、はしょってりゃ速い。
もちろん近づけば細かいところも描画されるので全然問題なし。
いやどっちかというと省略されすぎのような (゜ε゜)キニシナイ!!


今までGMM2.exeで間引きプログラムを作らなかったのは、ブラウザ側(or API)で対応するのを待っていたからですが、ついにそのときが来ました。
また次のGMM.exeでも間引き機能を搭載したためますます速い描画


ついでにプロフィールマップも滑らかなラインを引くようにしました。
7月1日にアップデート予定
Before
改良前 プロフィールマップ
After
改良後 プロフィールマップ

追記:Opera9.50も省略ポリラインが表現できるためFirefox3と同じような描画をします。

グーグルマップでYouTube動画を再生する

2008年04月15日 19時09分47秒 | Google Hacks
ブラウザ上で何でもやってしまうのね

RSSに入れているGoogle-latlongYouTube videos in Google Maps からの情報で、題名の通りの事ができるようになりました。
YouTube in Google Maps


[1. KMLを使って Google MapsにYouTube動画を表示する方法]

YouTubeからの埋め込みタグ(<object~で始まる埋め込み文字列)をそのままDescription項目へ放り込むだけで動画対応が可能です。
既にGoogle Earth用で使われるKMLでは以前から動画再生が可能であったことから、
YouTubeが吐き出す埋め込みタグの入ったKMLをGoogleマイマップにインポートするだけでもGoogle Maps上に動画表示が出来ます。
つまりGoogle Earth/Google Mapsと作り分ける必要はありません、KML/KMZの作成だけで事足ります。


[2.Google マイマップならもっと簡単]

マイマップなら、HTMLの編集にYoutubeからもらってきた<object~で始まる埋め込み文字列を放り込むだけ、下の画像ではテキストになってるけどHTMLの編集に変更してからやってね
マイマップの場合

というわけでサンプル、動画は毎度毎度の使い回しになっている犬山城直下の木曽川に架かる橋「ライン大橋・犬山頭首工」、台風通過後の増水時の様子です。

今回リンク先のサンプルは以前Google Earthが動画対応した時に紹介したKMLをそのままGoogleマイマップにインポートしただけで特別Google Maps用に作った物ではありません。(1.の方法)
また当Gooブログでは、直接Google Mapsを表示できないためリンクになっております。

サンプルマイマップ

....と書いてみたものの現在、元ネタにあった「タブ」の簡単な作り方わかんね~のため、直接ポイントに埋め込む方法のみup


参考:
祝Google マイマップ アップデート ローカルKMLファイルがインポート可能に!!
GoogleEarthでYouTube動画を表示する
YouTubeにAVI動画をUpする覚え書き
・GE Maniacs「★バルーンに動画を埋め込んでみた」

Google Earthでカスタムアイコンを使うときに注意する点をまとめてみた

2008年03月30日 00時46分51秒 | Google Hacks
Google Earth には標準で140ものアイコンが用意されている

Google Earthに表示するアイコンは、だけでなく
用意されている140以上のアイコンとユーザーが用意するカスタムアイコンが使用可能です。

デフォルトのから変更するには、プレイスマークのプロパティ画面でアイコンをクリックして表示されるアイコンリストから使いたい物を指定することになります。
カスタムアイコン

サンプルのKMZ:Google Earth用 (SkyDrive使用)
sample.kmz


ピンポイント指定するアイコンに必要な3つの条件

1.サイズは64x64
 64x64以外だと縮小拡大時にポイントがずれる。

2.pngであること
 透過pngファイルを用意します。さもないと四角い箱がアイコンとして表示される。

3.HotSpot属性を指定する必要がある。HotSpot By Google KMLリファレンス
 HotSpot(中心点)を指定します。デフォルトのだと、x=20 Y=2の位置が自動で指定されるようになっており
hotspot 左下(0,0) 右上(64,64)

open-diamondなら、x=32 Y=32の位置hotspot2

矢印 はx=54 Y=42、具体的には <hotSpot x="54" y="42" xunits="pixels" yunits="pixels"/ >と指定します。上の3つはGoogle Earth標準のアイコンですから、HotSpotの値はGoogle Earth自体が用意しているため手入力の必要はありません。

Google Earthに標準で入っているアイコンについては、ある程度自動でHotSpotの値を入れてくれます。(一部不正確?な物もあり)


カスタムアイコンについては、必ずHotSpotを指定する必要がある!!

独自に用意するカスタムアイコンについては、HotSpot(中心とする座標)をKMLに手入力する必要があります。
前述のピンポイント指定のための3条件がそろわないと、縮尺を変える度に指し示した位置と大幅にズレる。いっぺん体感すると使えんな~と思うくらズレる、しかしアイコン毎に座標の指定はめんどくさい、でも必須。

ま・こんなことを書いているのも、自動化ツールを作り込んでネタができたからですが
アイコン選択
アイコンをマウスでクリックすることで、中心点(HotSpot)を指定します。(紫のラインの重なったところ)これによりHotSpotの入力は自動化されました。

ただ、実際に動かすと140以上のアイコンをファイルから読み込んで表示させるための時間がかかり実用化していません。exe内にリソースとしてアイコンを取り込んでしまえば早いのでしょうが、著作権上無理でしょうから他の方法を考え中であります。良さげな方法があったら教えてね。
ついでなのでGoogle Earthだけでなく Google Mapsにも使えるようにしてからリリース。

  △
 (・∀・) <まだまだ リリースは先~
 ∪∪
  ν


参考:
リスト中にあるGoogle Earth標準以外のアイコンは
Cyber Cyclist's Home Page
ロボ氏がフリーで提供している「GoogleMapsAPI用マーカーアイコン」


Googleの新マップAPI Google Static Maps APIって役に立つ?

2008年02月22日 13時41分14秒 | Google Hacks
新サービスだけど新規性がない

RSSリーダーの新着に入ってきた新しいGoogleのサービスGoogle Static Maps API
端的に言うとぐりぐりできないグーグルマップ
新しくても動かない「マップサービス」に何の利点があるかわかりません
元ネタ:Google LatLong Blog

利点/欠点
利点:
1.地図表示にJavaScriptはいらない
ここのgooブログのようにスクリプトが使えないサイトにはちょっとだけ恩恵、非力な携帯電話での表示が可能
2.地図画像を用意しなくて良い
以前出たGoogle ChartAPIと同じようにサーバーを用意したりFTPで画像を転送する必要がなくなる

欠点:
1.ぐりぐりできない
2.Google Maps API Keyが必要

緯度経度を自分で探し出したりAPIKeyを用意するのが面倒ですが、これについてはどこかのサイトが表示された位置をタグにして使えるようなサービスを始めるでしょう
APIKeyの取得は面倒ですね、Google ChartAPIのようにいらないようにならないでしょうか?


必須パラメータ
パラメータの必須項目は 4つで
http://http://maps.google.com/staticmap? に必須項目の
center =34.839547 ,134.694164
中心点の緯度,経度
zoom = 15
ズームレベル 0~19
size = 300x300
縦x横
key = ABQIAAAA-QcoW5zvLg1ssMan_JxTGBTutm4zRTiiMENh14OGYztx6KY321gQ
Google Maps API Key
を設定するだけ.....って面倒
このURLを画像を表示すると同じくimgタグで包む、扱いとしてはGIFイメージです。

サンプル:
http://maps.google.com/staticmap?center=34.839547,134.694164&zoom=15&size=300x300&markers=34.839747,134.694164,blues&key=ABQIAAAA-QcoW5zvLg1ssMan_JxTGBQIDpmt4W8lo5e-5qirFw4J8v3PiBQs_eyB0d-NILIUOu29KGJD1PThoQ
Static Maps API

とりあえず提供するから使い方は考えろってコトね。

簡易ツール:
Static Maps Wizard

関連記事:
Google Code Chart API で GPSデータを表現する


GoogleEarthを取り込んだアプリ「3D Route Builder」

2008年02月12日 19時47分56秒 | Google Hacks
久々にマネしたいソフトを見つけた

オランダの企業 Hybrid DSP が開発した3D Route Builder
3D Route Builderは TCX などのルートデータを Google Earth と連携して編集するソフトでフル機能の有料版と既存データの保存ができないフリー版があります。

たまたまEdgeシリーズがサポートするTCXの仕様を調べようと
GoogleでTCXとGPSを検索して出てきたYouTube動画から発見しました。
WorkOutを扱うTCXフォーマットということで特に自転車専用ではありませんがGarminのTraning Centerを使う際のサポートとして使えそうです。



アプリケーション(3D Route Builder)の1ウインドウ中にGoogle Earthが収まっておりGEとの連携がばっちり。
今までGeoSetterのようにGoogle Mapsを取り込んだものはありましたがGEは初めて、コレもGoogle Earth COM APIを使うことで実現しています。
ただしちょっと新しめのEarthlib.dllが必要です。

Myアプリ中でGEが動くとうれしい

この動画を見て、GMMのウィンドウ内にGoogle Earthのウインドウを直接表示をさせたくなりました。
とりあえずさくっと、別プロジェクトを用意してGEを表示してみたのが下
GE取り込みアプリ-s
Google Earthと同じように画面中でぐるぐる動かせます。

2/14追加しました



作ってみて気が付きましたが、アプリ中にGoogle Earthを直接取り込むということは、モニターのサイズに使い勝手が制限されます。
GMMはブラウザでGoogleマップ、独立アプリとしてGoogle アースを表示させながら編集を行うことを前提としているためウインドウサイズを小さく作ってあります。
GEを取り込んで使うなら、ここで拡張するより新しいアプリとして作り直すのが良いのかも?
そういった訳でGEを取り込んだGMM2.exeのリリースはまだちょっと先へ

早く来い来い GPS

おNewのGPSであるEdge705を注文してから早1ヶ月、「2月中に到着!!」は妄想に終わるようです。
発注したJ&HにはExpectedの日付は出ていませんがGPS Cityだと2月26日、日本語でも注文できると聞くREIだと3月半ば
日本のIDAだと2月26日入荷予定分の予約は終了...とか
このことからから、どうやら第一便は2008年2月26日
J&Hが今月中に発送してくれれば、3月の浜名湖には間に合う?

追加:英国アマゾンは2/29

----------------
参考になるサイト:Google Earth COM API と その関係書籍
巨匠.NET
Earth on Cubic-Sight
GE Maniacs

関連記事:
Garmin GPS Edge 705注文!!
心拍変化をGoogleEarthに書き出す試み・カラー設定を装備して公開

Google マップ 地形モードは「街道マニアックス」 だったんだ!!

2007年12月14日 23時20分19秒 | Google Hacks
「な・・・・なんだってー!!」AA略

ちょっと前に「Google マップ」に「地形」モードが出来て高低を3D地図のように
表現するモードが追加された事がWEBニュースで取り上げられていました。
ココでは3D表現ではなく「道の名前、街道」というのが
シッカリ記述されていることがネタです。

国道一号線「東海道」、国道9号線「山陰道」の大きな道から
姫街道」といった脇街道、箱根新道沿いの「旧東海道
薩摩カイコウズ街道」「水郷ハナミズキ街道」と最近名づけられた街道(愛称)
日光ロマンチック街道」wなんて恥ずかしい名前の道とか
御岳へ登る県道473号の「白崩林道」、私設道路の「伊吹山ドライブウェー
「TOYO TIRESターンパイク」は「箱根ターンパイク」の旧名称
山中湖に伸びる「道志道」はなぜか「道志みち
西近江路」「中山道」「~バイパス」等々、
国道県道~号線名が一切入っていない代わりに街道が延々と描かれている

この辺りだと「佐屋街道」は載っているが「津島街道」は載っていないとか
出雲街道も「間地峠」を通らず日野川沿いになってるとか....
まぁそんな細かいことは良いとしてこんな名前の街道があったのかと発見できて面白い。

そして誤植の数々...
大阪
多摩市
草津市
一体Googleが参考にした地図ってなんなんでしょう街道地図?

誤植直しますから金ください to Google


Google Code Chart API で GPSデータを表現する

2007年12月07日 21時17分23秒 | Google Hacks




な感じのグラフが手軽に用意できるAPIがGoogleから公開

Google Maps用のプロフィールマップの代替に使えるかと思い、
GPSのトラックデータを「Google Chart API」に変換するプログラムを作ってみた。
GGPXCC
内容はGPX/TRK/LOG等のGPSデータを放り込むと
そのままWEBページに張れる文字列を生成するツール。
GMM用に作ったGPSデータ扱いのクラスを流用し適当にGUIを付けた物のため
新規に作った部分って50行無いかも?

でやってみるとこのAPI、ポイントデータ(chd)が200以上あるとデータを受け付けない。
GPSデータのように数百~数千もあるようなデータを食わせると
BAD
となってしまう事がわかったため、グラフ表示だけで打ち止め。

せっかくなので公開:(要 .NET2.0)
エラーが出ない程度のGPSデータと
Google Chart API」用の文字列を出力するツールGPXCC.exeが入っています。
同梱のGPSデータをGPXCC.exeにドロップしてお試しください。
GPXCC.lzh 2007年12月7日 c46a298b9e24d95587159b733dd2c78b

---------------------------
今回このAPIを使うことで、グラフ内のデータを割合で指定するという体験をした。
たとえば1200mの標高で600mの位置を表すのに600として扱わず、50として扱う。
割合を扱うことから数値の表現が簡単になってグラフのサイズの変更や丸め処理が楽できそう。
今後のプロフィールマップ改良に応用してみようかと....