麦酒堂
RSS
エントリ一覧
カテゴリ一覧
月別一覧
スープカレー[10 entries]
AH-K3001V[5 entries]
Beer[881 entries]
Books[11 entries]
Camera[16 entries]
Cygwin[10 entries]
iPhone[2 entries]
Java[9 entries]
JavaScript[6 entries]
Linux[67 entries]
mac[12 entries]
Movabletype[15 entries]
.NET[2 entries]
Photos[24 entries]
PHP[8 entries]
Ruby[7 entries]
Underground[11 entries]
WX310SA[4 entries]
早起きブログ[11 entries]
2010年03月[9 entries]
2010年02月[18 entries]
2010年01月[17 entries]
2009年12月[22 entries]
2009年11月[13 entries]
2009年10月[6 entries]
2009年09月[11 entries]
2009年08月[33 entries]
2009年07月[19 entries]
2009年06月[16 entries]
2009年05月[17 entries]
2009年04月[15 entries]
2009年03月[16 entries]
2009年02月[35 entries]
2009年01月[11 entries]
2008年12月[20 entries]
2008年11月[18 entries]
2008年10月[18 entries]
2008年09月[16 entries]
2008年08月[12 entries]
2008年07月[11 entries]
2008年06月[18 entries]
2008年05月[15 entries]
2008年04月[4 entries]
2008年03月[13 entries]
2008年02月[13 entries]
2008年01月[10 entries]
2007年12月[11 entries]
2007年11月[21 entries]
2007年10月[11 entries]
2007年09月[16 entries]
2007年08月[11 entries]
2007年07月[14 entries]
2007年06月[24 entries]
2007年05月[20 entries]
2007年04月[15 entries]
2007年03月[29 entries]
2007年02月[24 entries]
2007年01月[21 entries]
2006年12月[14 entries]
2006年11月[14 entries]
2006年10月[26 entries]
2006年09月[28 entries]
2006年08月[16 entries]
2006年07月[37 entries]
2006年06月[30 entries]
2006年05月[27 entries]
2006年04月[25 entries]
2006年03月[32 entries]
2006年02月[22 entries]
2006年01月[31 entries]
2005年12月[19 entries]
2005年11月[25 entries]
2005年10月[37 entries]
2005年09月[14 entries]
2005年08月[30 entries]
2005年07月[23 entries]
2005年06月[16 entries]
2005年05月[33 entries]
2005年04月[14 entries]
2005年03月[12 entries]
2005年02月[26 entries]
2005年01月[16 entries]
2004年12月[28 entries]
2004年11月[10 entries]
2004年10月[19 entries]
2004年09月[13 entries]
2004年08月[17 entries]
2004年07月[19 entries]
2004年06月[10 entries]
2004年05月[16 entries]
2004年04月[17 entries]
2004年03月[32 entries]
2004年02月[23 entries]
2004年01月[35 entries]
2003年12月[29 entries]
2003年11月[25 entries]
2003年10月[15 entries]
麦酒堂 TOP > >
  • 001548
    JavaScript で測地系の変換 - Geodetic Datum Transformation
    miz 2009-08-05 06:57
    このエントリーを含むはてなブックマーク はてなブックマーク - JavaScript で測地系の変換 - Geodetic Datum Transformation

    以前、測地系の変換ライブラリを PHP で実装しました。 今回これを JavaScript に移植しました。

    • 測地系の変換 - Geodetic Datum Transformation - 麦酒堂
    • geodetic_datum_transformation_v1.0.tar.gz

    以前書きましたが、Geolocation API により JavaScript から直接緯度経度を扱うことができる環境が整ってきています。

    • Geolocation API について三鷹プログラマーズカフェで話してきた - 麦酒堂

    Geolocation API では次のように WGS84 を使うことが (non-normative ながら) 定められています。

    This specification is limited to providing a scripting API for retrieving geographic position information associated with a hosting device. The geographic position information is provided in terms of World Geodetic System coordinates [WGS84].

    しかし、国産のサービスでは Tokyo を用いているものもまだいくつかあります。 こういったサービスをブラウザから直接利用する場合に、サーバー・サイドで変換を行う PHP では不十分なので、JavaScript で測地系の相互変換が行えるようにと考えました。 もともと PHP で書かれていたコードを JavaScript で書き直しただけなので、使用したデータは前回同様こちらです。

    • Geodetic Datum Overview
    • Reference Ellipsoids and Geodetic Datum Transformation Parameters (Local to WGS-84) From NIMA 8350.2 4 July 1977 and MADTRAN 1 October 1996

    以下の環境で動作確認済みです。

    • Firefox 3.5
    • Internet Explorer 7
    • Safari (iPhone OS 3.0)

    使い方はこんな感じです。

    // Datum クラス (測地系を表現) のインスタンス化
    var WGS84 = new net.mizba.geo.Datum("WGS 1984");
    // "WGS84" と "Tokyo" については定数も定義しています
    var TOKYO = net.mizba.geo.Datum.TOKYO;
    
    // Datum クラスのインスタンスから、
    // GeoPoint (地球上の地点) のインスタンスを取得します
    var nemuroStation   = WGS84.createGeoPoint(43.326774,145.58269);
    // 高さを指定することも可能です
    // var nemuroStation   = WGS84.createGeoPoint(43.326774,145.58269, 0);
    
    // 測地系の変換を行います
    // WGS84 から取得した GeoPoint を TOKYO へと変換します
    var r_nemuroStation   = TOKYO.transform(nemuroStation);
    
    // 結果はこのように取り出せます
    var result_lat = r_nemuroStation.lat;
    var result_lon = r_nemuroStation.lon;
    
    // Datum のインスタンスは再利用可能です
    var tokyoStation    = WGS84.createGeoPoint(35.680838,139.76724);
    ...
    

    正直なところ、WGS84 と Tokyo を扱うことができれば十分で、汎用的な測地系変換は不要かもしれませんが……。

    [ permalink ] [ 0 comment(s) ] [ 0 trackback(s) ]
  • 000381
    JavaScript 用ロギングユーティリティ
    miz 2004-08-18 23:47
    このエントリーを含むはてなブックマーク はてなブックマーク - JavaScript 用ロギングユーティリティ

    最近ちょっと思い立って,久し振りに JavaScript をいじっているのですが,JavaScript でいつも問題になるのが実行時のログ取得です.

    Mozilla ならば,URI 欄に "javascript:" と入力して Enter を押すと JavaScript Console が起動してくれます. エラーや警告が順に表示されるので,これはこれで便利. でも,開発者が自由にログを表示させることは出来ません.

    もうひとつ考えられる方法は alert 関数です. これは JavaScript のビルドインで,呼ばれるごとにメッセージウィンドウがポップアップします. alert 関数をコードの必要な箇所に埋めておけば,自由にログを表示させられます. しかし問題があって,このウィンドウが表示されるごとにいちいち実行が停止します. 大量のログを吐かせる用途には向きません.

    そこで今回,ロギング用ユーティリティを作ってみました.

    log4js.js

    コードを覗いてもらえればわかるけれど,かなり単純かつ強引です. でもまぁ,ログ取得の目的は達せられますし,実行を止めることもありません. ただ,パフォーマンスにはかなり影響を及ぼすようです. ここは,今のところ対処しようがなかったのでご了承ください.

    使い方はコード中にもコメントで書いてありますが,一応説明.

    1. コード中に
      <script src="log4js.js" type="text/javascript" language="JavaScript"></script>
      を記述.
    2. 上記コードを記述したページを Web ブラウザで開く
    3. ログウィンドウがポップアップ
    4. log ( p_message ) 関数が呼ばれるごとにログを表示
    [ permalink ] [ 0 comment(s) ]
  • 000246
    JavaScript で OOP
    miz 2004-01-28 19:16
    このエントリーを含むはてなブックマーク はてなブックマーク - JavaScript で OOP

    修論も提出し終えたので,前から気になっていたこのサイトの "new" 表示のロジックを見直しました.そこで必要になったのが,java.util.Map に相当する機能です.Array が惜しかったのだけれど,マッピングの状態を保存できないので今回は使えません.

    まぁ,この程度の機能ならそれほど手間はかからないだろうと思い,実装してみました.

    Map.js

    java.util.Map の機能のうち,

    • put
    • get
    • remove
    • containsKey
    • containsValue
    • clear
    といったあたりを実装しています.中では Array に値を詰め込んでいて,サーチは単純に for で回すという汚い方法ですが,動いてはいます

    今回はこれに加えて,キー,値がすべて文字列か数字の場合にのみ使える,マッピングの状態を保存する機能を実装しました.toString () でマッピングの内容を文字列化し,同じ文字列をコンストラクタの引数に与えることでマッピングを再現できます.あまり凝った使い方は試していませんが,Cookie に保存するくらいであれば大丈夫でした.

    ニーズがないような気もしますが,もしよろしければ持っていってお使いくだされ.

    [ permalink ] [ 0 comment(s) ]
  • 000234
    見渡せる距離
    miz 2004-01-20 04:03
    このエントリーを含むはてなブックマーク はてなブックマーク - 見渡せる距離

    先ほど酒の席で話した,ある標高から見渡せる距離の話です.文体が気取っていてこっぱずかしいのですが,ひとまず以前授業で書いた匿名コラムをアップします.どういうモデルで計算しているかはこれを参照してしてください.

    初日の出を早く見たければ,山へ登ろう [2003-01-07]

    で,実際に数字を入力して見渡せる距離を計算するスクリプトを組んでみました.裏のロジックは上の文章内にあるとおりです.

    標高 m からは km 先までを見渡すことができます.
    [ permalink ] [ 4 comment(s) ]
  • 000231
    JavaScript でコード表 - その2
    miz 2004-01-18 16:51
    このエントリーを含むはてなブックマーク はてなブックマーク - JavaScript でコード表 - その2

    再び JavaScript で文字コードをいじってみました.

    W3C XML1.0 の仕様の付録 などには,Unicode で記述された導出規則があるのですが,実際どんな文字にマップされているのかが判りにくいので,JavaScript で無理矢理表示させてみました.

    W3C EBNF Converter

    テキストエリアに導出規則を貼ってください.現在のところ,対応しているのは以下の二つ書式のみです.

    • #xN
    • [#xN-#xN]

    IE では動かないようです.mozilla1.6 で動作確認済み.

    [ permalink ] [ 0 comment(s) ]
  • 000211
    JavaScript でコード表
    miz 2004-01-05 19:36
    このエントリーを含むはてなブックマーク はてなブックマーク - JavaScript でコード表

    実験で文字コード表が必要になったのですが,
    Google でうまく見つけられませんでした.
    ならば,と,作ってみましたので,
    よろしければお使いください.

    文字コード表

    おそらく,
    HTML 4.01 Specification
    の
    24 Character entity references in HTML 4
    あたりに基づいているはずです.

    すべてクライアントサイドで生成するので,
    ちょっと重いかもしれませんが,
    落ちることはないはずです.

    [ permalink ] [ 5 comment(s) ]
概要
時には(ユーザからも,デベロッパからも)忌み嫌われる JavaScript ですが,案外面白いことができる筈です.
最近のコメント
  • new 03/02 出張三日目 : Sydney [4]
    last comment : miz : 03/04 21:31
  • new 01/04 出張一日目 : 東京 - Dublin [3]
    last comment : miz : 01/08 15:08
  • new 2009年 冬 青春18きっぷの旅 五日目 [2]
    last comment : miz : 12/15 18:00
  • new 2009年 冬 青春18きっぷの旅 四日目 [2]
    last comment : miz : 12/14 20:13
  • new 祝 パクチー初収穫 [2]
    last comment : miz : 12/03 20:40
  • new Windows Mobile (Advanced W-ZERO3 [es]) から iPhone へ電話帳データを移行 [2]
    last comment : miz : 12/03 20:39
  • new 裁判員制度スタートということで傍聴に行ってきた [2]
    last comment : miz : 10/25 23:41
  • new 時間軸上で発生するイベント同士がとりえる関係についての考察 [2]
    last comment : miz : 08/31 21:04
  • new 今年の変な病気 - 黄色ブドウ球菌による感染症 [2]
    last comment : miz : 07/12 18:10
  • new ビアフェスを楽しむ10のコツ [6]
    last comment : miz : 07/09 10:06
最近のエントリ
  • 03/08 出張九日目 : Sydney
  • 03/07 出張八日目 : Sydney
  • 03/06 出張七日目 : Sydney
  • 03/05 出張六日目 : Sydney
  • 03/04 出張五日目 : Sydney
  • 03/03 出張四日目 : Sydney
  • 03/02 出張三日目 : Sydney
  • 03/01 出張二日目 : 東京-Sydney
  • 02/28 出張一日目 : 東京-Sydney
  • 飲みました - クラフト ブリュー シトラス アルト - サッポロビール
  • and more ...
このページの被検索語(最新20件)
  • oracle 1438
  • ORACLE エラーコード 6502
  • ORACLE エラーコード一覧
  • HashMap java 入力
  • Oracle エラーコード一覧
  • ORACLE エラーコード一覧
  • php JavaScriptの実行
  • javascript エラーコード 0
  • オラクル エラーコード一覧
  • javascript hashmap
  • オラクルエラーコード
  • ORACLE 文字コード一覧
  • JavaScript HashMap
  • javascript array サーチ
  • oracle エラーコード表
  • Java JSP JavaScript 綣??
  • [search.live.com]
  • javascript HashMap
  • pracle エラー一覧
  • javascript 文字化け IE ポップアップ
(C) Copyright 2003-2009 miz

Some rights reserved.
You can copy the contents in this page (including text and photographs, except program code) and/or redistribute it under the terms of the Creative Commons Attribution-ShareAlike 2.5 License.
(C) Copyright 2003-2009 miz