2008/8/2 土曜日

minidiary0.13リリース!

Filed under: 開発メモ, xoops — matoyan @ 7:40:42

xoopsの日記モジュール、minidiary0.13をリリースしました!
diary.gif
新たに以下の修正/機能追加を行いました。

- サーバ時刻が日本以外の場合に時刻がずれる不具合を修正
- YouTubeの動画貼り付け機能を追加
- 顔文字の量が多いときに自動改行するように修正

RSSの読み込み不具合は未対処ですが、Update&公開しました。

⇒ ダウンロードはこちらから。

2008/2/22 金曜日

minidiary0.08リリース!

Filed under: xoops — matoyan @ 0:57:01

xoopsの日記モジュール、minidiary0.08をリリースしました!
diary.gif
要望を踏まえて、新たに以下の修正/機能追加を行いました。

- block表示の際にコメントが表示できない不具合を修正
- スレッド表示設定にしているアカウントでコメントが表示できない不具合を修正
- 管理画面、設定項目を追加
- メニューのレイアウトを変更可能に
- プレビュー文字数を変更可能に
- ブロック表示の件数を変更可能に
- 写真の最大サイズを変更可能に
- 写真の縮小保存を変更可能に
- コメント表示モードを変更可能に
- xsnsとの連携機能を追加 ※友人まで公開、友人の友人まで公開、を追加

RSSの読み込み不具合は未対処ですが、まずはUpdate&公開しました。

⇒ ダウンロードはこちらから。

2008/2/9 土曜日

ヤマレコの日記モジュール(minidiary)を公開しました!

Filed under: 開発メモ, xoops — matoyan @ 23:50:32

ヤマレコで使っているXOOPS向け日記モジュールを公開してみました。

minidiary screenshot
急いで公開用に準備したので、説明不十分なところがありますが、まずは使ってみてください。
シンプルな日記を探している方にはちょうど良いのではないかと思います。

ダウンロードは、当BLOGメニューの「xoopsモジュール配布」からどうぞ。

2008/1/6 日曜日

各地図のWebサービスが縮尺を明記しない理由

Filed under: 開発メモ — matoyan @ 0:36:22

電子国土の地図では一応1/18000地形図とか、地図の縮尺を記載してはいるのですが、縮尺の幅をかなり広く書いてあります。また、GoogleやYahooの地図では1~10のような数字で、縮尺を明記していません。

これは、地図の作り方として、1)ドラッグできる地図(即ち1枚の地図になっていること)と、2)地図上の縮尺が北と南で違うこと、が原因のようです。
なんでかなーと思っていたのですが、やっと理由がわかりました。(でも推測なので勘違いかも知れません。ご注意を。)


■ポイント1:地図は1枚の大きな地図

最近のWebサービスで提供してもらっている地図は、1枚の大きな地図があって、その一部が表示用の窓を経由して見えているような作りになっています。
つまり、ずーーーーーっとドラッグしても地図が切れない、1枚の四角い地図になっています。
map-1.gif

■ポイント2: 地図上の縮尺は北と南で違う

例えば電子国土Webサービスの地図の作り方は
『地図上の長さに対して経度/緯度が同じように作る』
方式で作られているようです。
この作り方を「メルカトル図法」といいます。

map-2.gif ※イメージ図

この図法は、球面である地球を四角い地図の上に投影する方法であり、北半球の場合は北になればなるほど地図を横に長く引き伸ばします。
その結果、1枚の大きな日本地図があった場合、北海道の地図上の4cmと沖縄の地図上の4cmでは、実際は北海道の方の距離が短くなってしまいます。

言い方を変えると、日本地図の中心において1/25000に合わせた地形図を作っても、北海道側では1/23000とか、沖縄側では1/29000とか、違う縮尺になってしまいます。


■結論

上記ポイント1と2を合わせると、1枚の大きな地図を表示するWebサービス上では、座標位置により縮尺が大きく変わるので、正確な縮尺は明記できなくなる、という結論になります。
(本当か?)


■疑問: 国土地理院の「1/25000地形図」は何故明記できる?

日本地図のレベルでは1枚の地図ではないので、上側と下側の距離の違いは誤差として計算するか、距離が同じになるような図法を使っていると思います。(距離が同じになるような図法としては、「正距方位図法」とかがあるらしいですが、よく知りません)

例えば、ウォッちずなどの地形図では、狭い地域ごとに1枚ずつ地図を表示するので、どの地図を開いても、ほぼ1/25000になるようにすることができます。
そのかわり、すべての地図をつなげようとしても、微妙にずれていて1枚にはならないのではないかと。
これは書店で売っている1/25000地形図も同じだと思います。(推測の域を出てませんが)


■所感
メルカトル図法、とか名前自体は昔授業で聞いた記憶はありますが、どんな図法かすっかり忘れてました。
今回のことで復習というか1から勉強になりました。

あと、地図プリの縮尺は、この意味で今の表示は正しくないです。多分北や南に行くほどズレてます。
明日あたり直そうかな・・・。

———–追記————-
ここの図法と書いていたのは、正確には「投影法」というらしいです。
ESRIジャパン 投影法について
このサイトが直感的にわかりやすかったです。

国土地理院の25000分の1地形図では、メルカトル図法ではなくて「ユニバーサル横メルカトル図法(UTM図法)」というものを使っているようです。

電子国土の方は、(縦)メルカトル図法と書かれています。
非ActiveX型電子国土Webシステムの構築

このあたりはさっぱりわからないので、勉強するしかないっす。。

2008/1/1 火曜日

地図印刷サポートサイト「地図プリ」仮オープン!

Filed under: 開発メモ — matoyan @ 13:41:08

ヤマレコの姉妹サイトとして、地図の印刷サイト「地図プリ」をオープンしました!


最初は電子国土(国土地理院)の地図を表示・印刷する機能のみですが、今後いろいろと機能を増やしていこうと思います。

地図プリを使うと・・・
・山に行く前に、国土地理院の25000分の1地形図を印刷したり
・地図の上に磁北線を書きいれたり
・ヤマレコのルートを印刷したり
色々できるようになってます。

「他の方法で地図を用意してるし、そんなのいらねーよ」という人のために、パターン別にアピールポイントも作ってみました。


■ウォッちずの画像編集をしている人へ
A4用紙に収まるように領域を調整して印刷画面を作ってくれるので、国土地理院の地図画像を画像ソフトを使ってつなぎ合わせる作業が不要になります。
磁北線も自動で引いてくれるので、簡単です!


■カシミール3Dの印刷機能を使っている人へ
例えば25000分の1地形図を印刷して比較してもらえるとわかりますが、画質がきれいです。
まぁ、カシミールが縮小印刷していないだけとも言えますが。。。
カシミールで印刷すると文字がボロボロで読みにくかったところも、綺麗に読みやすくなります!


HikingMapを使っている人へ
ソフトをインストールする必要がないので、面倒な作業が要りません。
普段インターネットを見ている環境で、そのまま印刷できます!
あとは、国土地理院以外の地図も印刷できる(ようになります)。


■国土地理院の地図を購入している人へ
国土地理院の地図は有料だけあって、明らかにきれいです。そちらを使い続けるべきだとおもいます。
ただ、旅行直前で地図を買い忘れた/売り切れていたときの保険として、使ってみるのはどうでしょうか。

ちなみに、国土地理院の地図はこちらから購入できます。


★ヤマレコとの連携について

ヤマレコにルート登録すると、そのルートを含む地図を印刷できます。
手順は以下の4Stepで好きな場所の地図をお手元に!

1)山行記録の詳細ページにアクセス。
2)地図の右下にある「地図プリで印刷」のリンクを押す。
3)地図プリの印刷設定画面に移るので、必要事項を記入して印刷画面を表示。
4)ブラウザの印刷機能でページを印刷する。
(Internet Explorerの場合、ファイル⇒印刷から)

山行計画/入山の際に使う地図印刷などにも活用できるかと思います。
ぜひご利用ください!

電子国土の地図で更新ボタンエラー

Filed under: 開発メモ — matoyan @ 13:08:41

電子国土の地図API(Javascript)で、IEの更新ボタンを押すと
「実行しましたが、ページでエラーが発生しました」
と表示されてしまいます。

詳細を見ると

ライン: 4663
文字: 37
エラー: 終了していない文字列型の定数です。
コード: 0

と表示されています。

色々試行錯誤したところ、ページの文字コードをShift_JISにすると、エラーが無くなりました。
ページをUTF-8やEUC-JPにするとエラーが出るので、このあたりが原因かと。
良く見ると、電子国土サイトのサンプルもShift-JISで書かれているし。

いまさらShift_JISのサイトを立ち上げるのも悲しいのですが、動かないサイトを作っても仕方がないので、まずはShift_JISに統一しました。


電子国土の地図はiframeでHTMLファイルを読み出す形式なので、サイトのメインコンテンツはUTF-8で記述しておいて、iframeの中だけShift_JISにしているつもりだったんだけど、やり方が悪かったのかも。
HTTPヘッダもメタタグも指定していたつもりなんだけどなぁ。

Wordpressでソースコード貼り付け

Filed under: 開発メモ — matoyan @ 12:24:17

Wordpressでは、改行コードが自動挿入されてしまうので、textareaタグなどを使ったソースコード貼り付けができません。
pre/codeタグを使えばできるらしいのですが、折角なのでプラグインを使ってみました。

iG:Syntax Hiliter
⇒ リンク先の記事中にdownloadと書かれています。

各コードごとの専用のタグ(Javascriptなら[js]とか)を入れるだけで、
行番号付き&色つきのソースコードが表示されます。

JavaScript:
  1. <script type="text/javascript">
  2. <!--
  3. function test(){
  4.   alert('hello');
  5. }
  6. // -->
  7. </script>


行番号なしのモードと切り替えもできるので、コードをコピーすることもできるし、
結構便利です。

しばらく使ってみよっと。

2007/12/13 木曜日

A4サイズ印刷に収めるためのピクセル数とは?(ブラウザ版)

Filed under: 開発メモ — matoyan @ 0:26:26

個人的に、「ブラウザで印刷することを想定して、どの程度のサイズでサイトを設計しておけばいいのか?」という疑問があったので、ちょっと調べてみました。





1.A4に印刷する場合のピクセル数

一般的なA4印刷に対するpixel計算の考え方は、はてなに質問がありました。
http://q.hatena.ne.jp/1175654835

■A4 の大きさは 297mm x 210 mm ですが、これをピクセル変換した値を教えてください

解像度によって異なりますが、
72dpiの場合 842px X 595px
150dpiの場合 1754px X1240px
300dpiの場合 3508px X 2480px


結局、ミリメートルやインチのような物理的な長さに対して、どれだけのピクセルを割り当てるかは表示デバイス(画面:ディスプレイ/紙:プリンタ)のDPI設定で決まるらしい。
ということがわかりました。





2.ブラウザを使って印刷する場合

で、本題のブラウザはどうかというと、IEでもFirefoxでも印刷設定をみても
DPI設定するところはなさそう。
画面のDPIに準じて96dpiにしてあるらしいです。

■印刷時、1pxは何mmになるのか
http://mynotes.jp/blog/2006/12/resolution

印刷時の解像度は96dpi、よって1px = 1/96inch = 約0.26mm (on Windows)


■印刷時、1pxは何mmになるのか(その2)
http://mynotes.jp/blog/2006/12/resolution2

ディスプレイの解像度を72dpiにしたときの、UAの印刷時の解像度



ディスプレイの解像度を72dpiにしたときの、UAの印刷時の解像度
UA500px1px解像度
Internet Explorer 713.25cm0.265mm95.849dpi = 約96dpi
Firefox 217.7cm0.354mm71.751dpi = 約72dpi
Opera 917.7cm0.354mm71.751dpi = 約72dpi


なお、macだと画面のDPIが異なるようなので72dpiになる模様。
本当は調査してみたいんですが、手元のmac-miniが死亡しているので確認できない・・・

上記の記事を見ると画面のDPI設定に依存するので、例えば文字を大きくする、などの設定にすると、印刷範囲が変わってしまうとのことです。

まずは96dpi前提で作って良さそうだが、必要に応じてDPI値をカスタム入力する必要があるかもしれません。





3.計算

上記を踏まえて96dpiでA4印刷する場合は
・A4サイズは210mm x 297mm
 - IEの場合、上下左右に19.05mmの余白
 - Firefoxの場合、上下左右に12.7mmの余白
⇒ 余白を38.1mmとして、171.9mm x 258.9mmの幅に96dpi印刷する場合

1インチ=2.54cm
17.19cm/2.54*96= 649.7px
25.89cm/2.54*96= 978.5px





4.結論

印刷時のマージンを考えて、だいたい640px x 970px ぐらいになるようにコンテンツを用意しておけば、A4印刷ではみ出ないことが保障できるのかなぁと。

FirefoxやIE7の場合は、そもそも縮小印刷できるので縮小してもいい場合はあまり気にしなくてもいいようですが、ここの話題は「そのままのサイズで」印刷してもらうことを目的にした場合の話なので、対象外ということで。

何度か見かけていた「サイトは640px幅で」という主張について、印刷面でもとりあえず納得できる理由が確認できました。

2007/11/10 土曜日

ルート貼り付けサンプル

Filed under: 開発メモ — matoyan @ 1:43:19

ヤマレコに登録したルートをほかのサイトでも表示できるような機能を追加しました。

実行デモ





iframe埋め込みで表示するようにしています。

もちろんヤマレコのサーバが落ちたら表示できませんのでご注意を。



最近の日記はヤマレコに移ってしまいましたが、開発メモはこっちにも書いた方がいいかな。

■最近の日記

http://www.yamareco.com/modules/diary/67

2007/6/20 水曜日

Yahoo!WebAPIコンテストでグランプリを頂きました!

Filed under: 開発メモ — matoyan @ 12:51:15

本日発表された「Yahoo! Web APIコンテスト」(Yahooのサービスを使った開発者向けのコンテスト)で、なんとヤマレコが「グランプリ」
をいただきました!!!

apilogo.png

山に関する情報をどなたでも簡単に共有できるようなサイトを目指して、今後も使いやすさの向上と機能の充実を図っていきたいと思います。

今後ともよろしくお願いします!


なお、Yahoo!地図情報を使ったルートと標高グラフ作成時のメモも残していますので、興味のある方はぜひご覧ください。


Yahoo Maps上にルート作成

(1)GPSファイルの取得

(2)GPXファイルの解析

(3)測地系の変換

(4)Yahoo!Map上に線を描く

(5)線画座標と経度・緯度座標の変換



GPSデータからグラフ作り

(1)折れ線グラフを書く

(2)GPXのファイル読み込み

(3)経度・緯度で指定した2地点間の距離を求める

(4)経度・緯度で指定した各地点の標高データを求める(SRTMから標高取得)


2007/6/19 火曜日

この記録に関連する記録、を見せるためには?

Filed under: 開発メモ — matoyan @ 0:08:26

山行記録を見たあとに関連する記録が表示されていれば、他の人の記録も見やすくなるし、自分と活動範囲が近い人を探しやすいだろうと思ってます。

そこで、ある記録に対して関連する記録リストを見せたいんですが、
そのためには
1)リストに載せるかどうか
2)リスト上の並び順
の2点の観点が必要です。

対応する実現技術としては
1)記録間の関連付け ← リストに掲載するか
2)記録のスコア(ランク付け) ← 並び順
ぐらいだと思ってます。あとはリストの見せ方もあるかな。


■記録のスコアについて

YahooやGoogleの検索を使ってうまく作りたいところですが、各記録に対してリンクが貼られていないので、Pagerankによる順位づけだけではあまり意味がない可能性があります。がやってみる価値はありそう。
これを使う場合、2)の部分として記録からキーワードを抽出する機能を自分で実装することになります。

で、ランク付けを最初から作るなら、

・記録の内容量
・記録の新しさ
・どの程度記録が見られたか
・お気に入りに入っている数
・その山の人気度

とか、いろんな観点の総合スコアになるはず。
パラメータがいろいろあって大変かも。


■記録間の関連付けについて

こっちは、まずは場所の名前を抽出できればいいと思います。
日本語のような文章からキーワードを抽出するには、形態素解析とか、文字の切り出し技術が必要。でも既存のライブラリで山の名前とか正しく抽出してもらえる気がしない。
また勉強かな・・・。

あとは、記録という特性から、キーワードだけじゃなくて、「場所の近さ」のようなロケーションに関する情報でも関連性を抽出できる様な気がします。

このときに別々に表示すればいいかというと、「関連する記録」と「近辺の記録」とか言われても、言葉だけ見ると「近辺の記録」は「関連する記録」に含まれるから、一緒に並べてほしい気もするし、別々の方が探しやすい気もする。

他にも、ジャンルとか、山行の季節とかで関連付けるやり方もありそう。

んー、きちんと整理しないと発散してしまいそう。


■その他

他にも、お勧め的な機能を考えてみると、普段行く山の近くで、自分と近いジャンルの価値ある記録を教えてほしい。というのもあります。

他にも作りかけの機能もあったりして、自分としてやりたいことが一杯出てきてますが、優先度付けしてぼちぼち作っていきますので気長にお付き合いくださいませ。

2007/6/14 木曜日

xoopsのイベント通知のデフォルトを変更する方法

Filed under: xoops — matoyan @ 0:42:00

xoopsはデフォルトのイベント通知はPM(プライベートメッセージ)になっています。
メールをデフォルトのイベント通知にするには、本体のHackが必要です。

kernel/user.php
98行目あたり。

$this->initVar('notify_method', XOBJ_DTYPE_OTHER, 1, false);



$this->initVar('notify_method', XOBJ_DTYPE_OTHER, 2, false);

とすると、ユーザ新規登録後に「メール」がデフォルト通知になります。


ただ、そもそもPMの存在意義があるのかもよくわからないです。
PMの受信箱にメッセージが届いたかどうかはサイトにログインしないと分からないですし。
せめてメールでメッセージ到着の通知ができればなぁ。

次のページ »

HTML convert time: 0.706 sec. Powered by WordPress ME