サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
hwat.sakura.ne.jp
GPX Casual Editor は、 Google Maps の地図上で GPX 形式のデータを手軽に作成・編集するためのインタフェースを提供します。 GPX Casual Editor は、 GMapWidget の特定のプラグインのセットを取り込んだ、 HTML のコントローラです。これを便宜的に GPX Casual Editor と云っています。ダウンロード配布物の中にある editor.html になります。 このツールで作成・編集した GPX データは、 GPX をサポートしている GPS レシーバにアップロードしたり、そのほか GPS 関連や地図関連の様々なアプリケーション(たとえば、カシミール 3D や、もちろん Google Earth )でもそのまま読み取らせる事ができます。 また Google マイマップにアップロードするなどのために、 KML 形式での書き出しも
GMapWidget GPX on Google Maps + ← GMapWidget.Control Control Google Maps API from HTML <body onload="new GMapWidgetControl('/lib/GMapWidget/');"> <a href="javascript:void(0);" title="open();" class="GMapWidget">open</a> <a href="javascript:void(0);" title="setCenter(34.99620,135.75971,12);" class="GMapWidget">Kyoto</a> open Kyoto GPX Casual Viewer View GPX on Google Maps easily
HTML と JavaScript 、そしてそれをロードするブラウザだけで──平たく言えばサーバやほかのアプリケーションを用いること無しに、画像ファイルの EXIF 情報を読み取ることができる。ということを知って、試してみた。やや昂奮気味に。 実際の様子は、そのことを知った次のところでデモできるし、コードも示されている。 exif.js が EXIF を読むためのインタフェースで、表向きはそれが主題。でもそこで用いられるライブラリ binaryajax.js 、その中の BinaryFile クラス。これが肝だ。 そのクラスを用いることで、バイナリデータとして、ファイルの内容を読み取るようにすることができる。もちろん対象は EXIF に限らない、つまりファイルならなんでも、そのバイナリ・データにアクセスできる。 そのことは、ここ最近でいちばんの驚きだった。これまでできないと思っていたことが
(「プロジェクト・ディレクトリ」のつづき) Trac のドキュメントでは、 login についての Apache の設定も Location ディレクティブを用いて行っている。しかし先に述べたように Location は .htaccess には書けないディレクティブなので、ひと工夫する必要があった。 ログインの仕組みを知らなくともその挙動から見たとき、ここの要件は、 trac.cgi をリクエストされたとき、 PATH_INFO に "/login" がセットされていたら、 Apache が認証を要求するようにすればよいと思われた。言い換えれば、 trac.cgi が動くとき、 PATH_INFO に "/login" があったら、ユーザ名を環境変数 REMOTE_USER から取って来れるかどうかで、認証しているのだろう。 しかし trac.cgi が起動されたあとに Apache の
(2) Trac のビルド Trac のビルドに際しては、 Trac が依存するツール類を先に入れる。 (2-1) ClearSilver ClearSilver http://www.clearsilver.net/ バージョンは 0.10.4 を持って来た。いちおうこのときの最新版だったので。もし、 python が 2.5 だったら、このバージョン以降でないといけないようだけれど、 sakura のレンタルサーバに入っている python は 2.4 なので、以下に記すように、遭遇したハマリどころには関係ないはず。 そう、 ClearSilver にはハマった。 まず何気なく、やってみると、 make でエラーに遭遇した。 $ wget http://www.clearsilver.net/downloads/clearsilver-0.10.4.tar.gz $ tar xzf
コマンドラインから svn して、慣れていければいいけれど、 Mac を使っているのだから Mac らしい svn クライアントがないかと探してみたら、 Finder のプラグインで SCFinderPlugin というのがあった。 Windows だと通称「亀さん」という手放せないものがあるけれども、それと同じようなものだ。 ただ SCFinderPlugin はまだ発展途上みたいで、部分部分機能が欠けている様子。でも日常的なコマンドはだいたいカバーされているから、それだけでも重宝する。特に、 commit の際に、ターミナルからだと日本語が入れられないのだけれども(やり方を知らない)、 SCFinderPlugin から commit すれば、開いたウィンドウに日本語でコメントを入力できる。 さて、しかしこの記事では、そういった高級クライアントを使う以前の基礎の所で、 svn クライア
(「Trac に login するための Wrapper」のつづき) Trac にプラグインをインストールするメモ。これも Trac のドキュメントのとおりなので、特にメモするほどのことでもないけれども、ざっと様子を記しておこう。 下準備 setuptool setuptool http://peak.telecommunity.com/DevCenter/setuptools プラグインをインストールするためには、 setuptool という工具が必要との事で、これをまずはインストールする。 setuptool は、 ez_setup.py というのを介して、インストールするもののようだ。これは、馴染みのある Perl でいうところの cpan シェルみたいなものだろうかしら? おそらく、そんなような Python の流儀のうちなのだろうと想像するも Python に馴染みがないので何
地図コンテンツを Google Maps で作る時に、いつも悩ましく思っていたことに、たくさんの印(マーカーやポリライン)を置けないということがあった。置ける事は置けるけれども、闇雲に置いてしまうと、地図上がマーカーだらけになったり、ポリラインもそれだけでうちのブラウザの動作を重たくするので、なにかしらの工夫を施さなければならない。 つまるところ、密集するマーカーと、巨大なトラックログの描画、というふたつのテーマが、当初からの大きな課題の二本柱だった。──いっぺんにそれらを置こうとしなければいいのだろうけれど、いっぺんに置きたいのだもの。 ポリラインのほうは、エンコードすることで、劇的に扱いやすくなってひとまずの解決をみた。なにより巨大なトラックログも描画できるレベルになったのが、いち日に、数千トラックポイントを集めて来るじぶんにとっては、革命的だった。 一方、マーカーのほうはどうか。 し
The Prototype 1.5.1 makes Safari crash. 最近リリースされた prototype.js のバージョン 1.5.1 は、うちの Safari ( Safari 1.3.2 )をクラッシュさせる。 困った。機能が使えないということはさておいて、 Prototype はとてもポピュラーなライブラリだから、あちこちのサイトで利用されているだろう。つまり、あちこちのサイトで、うちのブラウザがクラッシュしてしまうことに、なるだろうから。 それを発見したのは、 Prototype を拡張するほかのライブラリを試してみた時だった。とてもよいライブラリだったのでぜひ使いたかったのだけれども、どうしてもクラッシュする。がっかりした。 でもやっぱり使いたいほうが勝って、せめてどこが悪いのかその場所だけでも突きとめて、作者に「 Safari を見捨てないで」と言う願いをこめた
じぶんが契約して使っているレンタルサーバ sakura インターネット(スタンダード)に Subversion と Trac をインストールしたので、インストールメモ。 Subversion 1.4.3 Trac 0.10.4 Subversion (svn) を使ってみようとしたとき、最初は、手元の iBook (Mac OS X v10.3.9) に入れようと思ったけれど、 Subversion を入れるなら Trac も入れたくなるのが自然な成り行きなので、そうすると Apache も稼働させないといけなくなる。でもこれが、メモリの少ないうちの iBook にはつらかろうと思われた。たかだか Apache を常駐させるだけなのに、それがつらいというのも情けないけれど、そうなのだ。なので、ほかに使えるマシンといえば sakura しかないので、そこに入れてみようと思ったのだった。 と、
じぶんは GPS レシーバに集めたデータを、一次データとして GPX 形式にして保存しているので、それを他のなにかしらのソフトに読み込ませるには、なにかしらに合わせた形へ、ある程度の加工が必要だった。尤も、いろんな形へ持って行くのに都合がよかろうということで、一次データとして信頼して採用した形式が GPX ではあったのだから、なにかしらにつけての変換の必要は致し方のないところでもある。 もちろん GPX をそのまま取り込めるツール類もたくさんある。 Google Maps ならばページの検索欄に GPX の URL を入れれば、その GPS データを(制限付きで)マーカーやポリラインとして見る事ができる。しかし、このとき、 GPX ファイルを、どこかしら外部( Google )から参照できる URL に置かないと、いけない。ひとに見せるものならともかく、じぶんだけでちょいと確認程度に見たい
数エントリー前に書いた「テンプレートで Match させたい」の悩み事はここに答があった。探し方が足りなかった。 Template Toolkit Manual: VMethods http://www.tt2.org/docs/default/Manual/VMethods.html ... テンプレートの中にマッチの問題を持ち込むことは許されても、プラグインにすることはナンセンスだったみたいだ。恥ずかし :-p ──これだけでは何なので、も少し見てみる。そのほか、便利なメソッド(仮想メソッド)がたくさんあった。例えば; リストのサイズは、 list.length じゃなくて、 list.size だったんだ(!)──とか。 お値段などを表示させるとき、3桁ごとにカンマを加えるとか。これはこれは。 [% number = 1234567; number.chunk(-3).join(
Excite ブログから Seesaa ブログへの移行:その3 Excite ブログに書いた記事には、非公開の部分もありうる。非公開に設定した記事と、非公開のオプションを付けられたコメント。 これらを閲覧するには、ログインする必要がある。ログインした状態で閲覧すると、非公開の部分も見えるようになる。 ただし、特にコメントについては、 Seesaa ブログにはないオプションだから、そのデータを移行させる必要の是非には一考の余地がある。投稿者が非公開を前提にしたものを、無思慮に公開するわけにはいかないから。でもバックアップという側面では取っておきたいデータには違いないし、取得だけしておいて、移行する際にはそのとき捨てればよい。 ということで、移行させるデータとしてはいちおう、これらの部分もカバーしたいので、 HTML ページを取得する際には、ログインした状態で取得するとする。 Excite ブ
ChangeCategoryCollectively について この Movable Type 用のプラグインは、エントリーの編集の場面に、選択されたエントリーのカテゴリーを一括して変更するためのインタフェースを提供します。 エントリーのリストされた編集画面には「その他の操作... 」というプルダウンメニューがありますが、このプラグインをインストールすると、その内容に、カテゴリーを操作するメニューが新たに加わります。 カテゴリーをすべて外す 選択されたエントリーについて、カテゴリーをすべて削除します。 カテゴリーを付ける 選択されたエントリーについて、選ばれたカテゴリーを付加します。プライマリカテゴリーを持っていないエントリーは、選ばれたカテゴリーがプライマリになり、既にプライマリーカテゴリーを持っている場合は、サブカテゴリーとして追加します。 あるカテゴリーだけを外すには、すべてを外して
WhereIsPhoto について この Perl スクリプトは、 GPX データに含まれるトラックポイントの時刻に対して、写真の撮影時刻を照らし合わせ、そこから撮影時のおおよその位置の緯度と経度を探し出します。そして、位置がおおよそ特定できた画像の情報をウェイポイント(要素 wpt )とした GPX データを書き出します。 そもそもは GPX Editor JS の補助ツールとして作りましたが、その他のシーンでももしかしたら有用かもしれません(?)。 写真は JPEG 形式の画像ファイルに限ります(これは拡張子で判別しています)。オリジナルの画像にはなにも書き込まないので影響はありません。なお、特定した位置を Exif に書き込むことはほかのツール類に委ねます( 'GPSPhotoLinker' などなど)。オリジナルの画像には Exif を書き込まないで、しかし位置を特定したい場合には
Safari での問題。 先のエントリーにも関係するのだけれども、"GPX Editor JS" で、フォームのあるオブジェクトの prototype を設定して使っていたら、あるとき JavaScript エラーが出ていることに気がついた。トリガーは、 Google Maps のズームの変更時で、ただそれによって動作しないとかいう問題は見られなかった。 JavaScript を書く時には、テストに Firefox (むかしだったら Netscape )を使う。これは JavaScript コンソールが便利だからだ。テスト中にはいつも JavaScript コンソールを開いておくので、何かエラーが出ればすぐ気がつくのだけれども、でもその問題は、 Firefox の JavaScript コンソールには出て来なかった。 ときに Safari にも JavaScript コンソールがいちおう(
Google Maps をきっかけに、数年ぶりに JavaScript に手をつけ始めて、それからしばらく。いろいろ試行錯誤したりして、それなりに最近のスタイルが解って来たつもりなのだけれども、これまではその仕組みやら原理やらを知るためにも、世に出回っている各種「便利なライブラリ」には敢えて触れないで、なんとかがんばって自作するようにして来た。 でも、もう、その、ブラウザごとの癖をどうにかすることに頭を悩ませるのはウンザリにも程がある、ということで、ついにその便利なライブラリの世話になる事に決めた。我慢してないではやく使っていればいいのに。 いくつかのサイトをまわってサンプルや機能を見てみると、 script.aculo.us というプロジェクトのそれ[参考1]が、いまじぶんが欲しい機能をスマートに実現してくれそうだった。 とくに Ajax.InPlaceEditor と、それから Dra
最近 prototype.js (1.5.0_rc1) を使うようになってから、おやと思ったことがある。 onclick などのイベントの処理を簡単に登録できるのはいいけれど、それを任意に発動させるトリガーにあたる機能がない? たとえばほかに使っているライブラリ Google Maps API にはあるので、できないこともないのだろうけど、なぜこの有名な prototype.js にないのだろう。 一方で scriptaculous.js (v1.6.4) はと見てみると、 unittest.js の中に、それらしい機能が埋め込まれていた。 Event.simulateMouse とか、 Event.simulateKey とか。しかしこれらには experimental というコメントが付けられていたし、それにぱっと見ただけで制作途中であるような感じでもあった。 こうして scripta
Google Maps API に Encoded Polyline が提供されたのはいいけれど、それを作るにあたっては、ラインの精度にかかわるパラメータである numLevels と zoomFactor 、これらはどういった値を与えれば、どんなシーンにおいて適切か。といった、加減というか調整というか、設定。その値の見極めができないでいた。 とくにカギを握っているであろうパラメータ zoomFactor の意味がわからない。「 numLevels で指定された異なるズームレベル・グループ間の倍率を反映する」とはいかに。倍率、これはズーム1レベルに応じて変化する地図の倍率? そもそもそれは、ズームレベルに比例するものなんだろうか、またその倍率はどこを調べたらいいのかしらん? For optimization, the zoomFactor parameter should reflect
Excite ブログから Seesaa ブログへの移行:その4 ブログデータ移行の際、非公開の部分に関して、問題をいったんは先送りしたものの、ちょっとしたアイデアが浮かんだ。暗号化して、記事データに埋め込んでしまおうと。 暗号化といえば、 PGP かと思った。 PGP で暗号化して、 HTML コメントの形ででも埋め込んでおけば、データを損なうことなく、かつ、じぶんだけが閲覧できる記事(コメント)になる。 そこで Perl で、 PGP が扱えるインタフェースがないかと探してみると、Crypt::OpenPGP というのがあった。ドキュメントを見ると、じぶんが使っている GnuPG にも互換しているということで、これを試してみようとインストールをはじめた。すんなり行く筈はないと思いながらも、いざ始めてみると、やっぱり躓いた。ので、ここにメモを残しておくことにする。 ところで、先の Back
先週くらいだったか、 Google Maps API のリファレンスを見ようとページを訪れてみたら、あたらしい new マークが目についた。巨大なトラックを描こうと野心を抱いていた(そして挫折した)じぶんとしては、その new マークのついた新機能にめざとく反応した。 API のバージョンは 2.63 。 きっと巨大なトラックを軽々描くための秘策が隠されているに違いないと、根拠はないけど、期待と思い込みを強く持ちつつ、眠たくなりそうな小さい文字のドキュメントを読んでみる。 まず、ポイントをエンコードすることによって、データを圧縮することができるということが判った。なるほど? そして、もうひとつ。その圧縮した各ポイントには、最低ズームレベルを指示するための属性を持たせる事ができるということ。つまり、詳細図レベルではたくさんのポイント情報による詳細な線分を、そして広域図ではより少ないポイント数
(「AppleScript で Perl に GUI をつける」のつづき) AppleScript に久しぶりに触れたのをきっかけに、その勢いのあるうちに、ひとつ浮かんだアイデアを試してみる事にした。 位置情報を持った画像があったとき、それを Finder で選択して、コンテクストメニューから「地図で開く」ようなことができれば、これ以上ないアクセシビリティが実現する。ほかにツールを介する事なく、ダイレクト。 はじめは、 Finder のコンテキストメニュー・プラグインを Objective-C で!と理想を高く掲げたのだけれども、残念ながらそうはいかないのも判っているので、代替手段を講じる。幾つかのツールを組み合わせれば、できないこともない、ハズだ。 画像から位置情報を抜き出すのは exiftool [参考1]、これは別途インストールが必要だけれど、もうインストールしてあるのでOK。 Ap
(「Perl で Exif を扱う」のつづき) Xcode を使って、 Perl スクリプトに AppleScript の GUI を付けてみて、そこそこうまくいったので忘れないように、いや、忘れるので、忘れないうちにメモ。 AppleScript から do shell script という命令を使うと、 UNIX コマンドを起動する事ができる。コマンドが起動できるということはつまり、なんでもできるということになるかしら? それはさておき、その仕掛けを使えば、無愛想なコマンドライン・ツールであった Perl スクリプトに GUI をかぶせて Mac OS X 用のアプリケーションに仕立てる事もできる。 Objective-C を使わなくとも(いえ、知らないんです) Perl (や他の言語でもいいけどそれら)と、少しの AppleScript の知識があれば、それっぽいものが「手軽に」でき
(「写真(の場所)はどこですか?」のつづき) Perl で Exif を扱うには CPAN でも配布されている ExifTool [参考1]を使うと簡単、便利。これには Perl モジュール Image::ExifTool のほかにも、コマンドラインツール exiftool も含まれていて、プログラミングをしなくともちょいと使う事ができるらしい。 面白いのは、こんなふうにすると、 Exif 情報をバイナリでダンプして、しかもとても気の利いた HTML ページとして見られる: $ exiftool -htmlDump DSCF5851.JPG > out.html; open out.html モジュールを使うユーザとしてはここまで深いところは気にしなくてもいいけれど(そのためのモジュールだから)、書き込んだ値がどうも怪しい、といった時にはデバッグの助けにはなる。──とは言ってみたものの、
システム要件 Google Maps が利用できる環境であれば動作します。ただし Internet Explorer では動作しません。現時点での GPX Editor JS の動作の確認状況をブラウザごとに次に示します。 GPX Editor JS の動作確認状況 Mac OS X (Leopard) Safari 3.1.1 Firefox 2.0.0.14 Mac OS X (Panther) Safari 1.3.2 Firefox 1.5.0.x / 2.0 Windows 2000 Professional Firefox 1.5.0.x サンプル 実際に動作するサンプルは、次の、サンプル置き場のページに置いています。ここで配布しているものとは内容が異なる場合があります: http://homepage.mac.com/hwat/maps/editor/ 使用許諾 GPX E
ここのところどっぷり Google Maps に嵌って──ハマっていて、試行錯誤を繰り返しながらも、しかしまだゴールが見えない。ゴール、それは「一万を超える超巨大なトラックポイントの描画(オーバレイ)」。データがヘビーすぎて、じぶんのチープ iBook には無理だろうと察するは容易なのだけれど、どうしても描きたい。そしてブラウザをハングさせまくっておる今日この頃。 Firefox にはまだ望みがありそうな気もするのだけれど、一方 Safari はどうしようもないという思いが確固たるものに結晶しつつある。 でもその件についてはまだ志半ばなのでまたの機会にまとめるとして、この記事では、その間に作ったツールについて。 Google Maps を用いて GPX 形式の XML データを作成する JavaScript を含んだ HTML ページ。 Figure 1: Screen Shot [693
Firefox (1.5.0.6) での話。もしかしたら Safari でも出るのかしら? フォームの input タグ(属性 type="text" )にスクリプトから focus() させたらば、こんな例外を投げられた: エラー: [Exception... "'Permission denied to set property XULElement.selectedIndex' when calling method: [nsIAutoCompletePopup::selectedIndex]" nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)" location: "JS frame :: file:///.../filename.js :: anonymous :: line 123" data: no] ソースファイル:
サイト: hPod » カテゴリー: » 記事: moved [編集... ] 記事日付: 2008年04月23日 / 著者: hiroaki フィードバック: コメント (0) / トラックバック (0) きのう、 RSS リーダを開いたら、ふだん印の点くことのないフォルダに印が点いた。おや、こんなところになにか登録していたかしら? とその中を見てみると、 "Announcing SCPlugin Version 0.7" とあった。そのツールのニュースを通知するように設定したのはじぶんに違いないのだけれど、正直なところ「はて?」と思った。アナウンス自体が半年以上ぶりのようだ。久しぶりの友人を街で見かけたような。 RSS を登録したときでももう既に半年くらいのスパンが空いていたような気がする。登録するときだって、もしかしたら開発も止まっているのかなあと想像もしたりしていたくらいだった。
このページはこのツールのバージョンごとのページで、古い場合があります。 最新版のページをチェックしてください: ChangeCategoryCollectively ChangeCategoryCollectively - 0.01 ChangeCategoryCollectively について この Movable Type 用のプラグインは、エントリーの編集の場面に、選択されたエントリーのカテゴリーを一括して変更するためのインタフェースを提供します。 エントリーのリストされた編集画面には「その他の操作... 」というプルダウンメニューがありますが、このプラグインをインストールすると、その内容に、カテゴリーを操作するメニューが新たに加わります。 カテゴリーをすべて外す 選択されたエントリーについて、カテゴリーをすべて削除します。 カテゴリーを付ける 選択されたエントリーについて、選ばれ
次のページ
このページを最初にブックマークしてみませんか?
『http://hwat.sakura.ne.jp/』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く