開発メモ

ご意見箱の設置

Cookpadというサイトでは、ユーザからの意見をいつでも簡単に入力できるために、ご意見を送るフォームをサイトの右側に準備しているという話を前に聞いていました。ヤマレコでも、簡単にご意見を伺うような機能が必要だろうと思い、同じような機能を準備しま…

ユーザに対して「自分の行きたそうな記録」を見せたい(3)

今日はユーザーインタフェースの部分と、高速化のためのデータベースの見直しをしてました。 機能の名前 昨日も書きましたが、ユーザーにお勧めの記録を選ぶ機能なので「コンシェルジュ検索」という機能の名前にしようと思います。 キャラクター コンシェル…

ユーザに対して「自分の行きたそうな記録」を見せたい(2)

前回、ユーザが自分の行きたいと思う記録が分かるように、標高差と距離の2次元のブロックを作って記録を提示する機能を考えました。今日も引き続き検討してました。 理想形はボタンを押すだけ そもそも使う人の立場からすると、自分がどんな記録を探したい…

ユーザに対して「自分の行きたそうな記録」を見せたい(1)

今のヤマレコは検索の機能が貧弱で、キーワードの検索やデータベースの各項目の検索しかできません。今後の機能追加として、自分に合った記録を適切に提示してくれるような機能が欲しいと思って色々検討してます。結果的にシステムから見ると、記録の検索機…

サーバー上のファイルに開発した後からアクセス制限をかける方法

サーバー上のファイルに対して、クライアントからのアクセス制限をかける場合、 HTTPサーバーがファイルにアクセスする手前にプログラムを 埋め込まないといけません。 制約条件とか 通常は、クライアントにアクセス権限判断用のプログラムを呼び出す URLを…

1000以上のルートを、ユーザごとの地図に投影する方法(7) - まとめ&ソースコード

前回までで、個々の技術説明は終わりました。 まとめとしてスクリプトを晒してみます。 マップ作成の考え方 記録1、記録2、記録3の3つの記録がある場合を サンプルに考えます。 ユーザ1、ユーザ2の2名がいて、それぞれ ユーザ1が記録1、記録2 ユー…

1000以上のルートを、ユーザごとの地図に投影する方法(6) - 複数のタイル画像を重ね合わせるための方法

あらかじめ、線以外の領域を透過色として作成したルートの画像を 用意しておいて、Image::Magickを使って2つの画像を重ね合わせます。 画像1 画像2 重ね合わせた後 この重ね合わせのコードはこちら。 #!/usr/local/bin/perl -w use strict; use Image::Mag…

1000以上のルートを、ユーザごとの地図に投影する方法(5) - Google Map上に作成したオーバレイ用のタイル画像を表示

前回エントリで作成したオーバレイ用のタイル画像を 表示するためのJavascriptを作成します。 <script type="text/javascript" charset="utf-8"> function initialize() { if (GBrowserIsCompatible()) { // タイル画像のコピーライトを準備 var myCopyright = new GCopyrightCollection("(c) "); myCopyrigh…

1000以上のルートを、ユーザごとの地図に投影する方法(4) - 複数のタイル画像をまたがる線画

前回から1回飛んでしまいましたが、今度はGoogle Map用の タイル画像を準備する方法です。 前提として、GPSのログファイルはGPX形式で保存されているものとします。 タイル画像の作成手順概要 タイル画像作成の手順は GPXファイルを読み込み、経度・緯度情報…

1000以上のルートを、ユーザごとの地図に投影する方法(3) - 座標とタイル画像のピクセル位置の変換

今回は少し技術的な内容になります。 ルートを高速に表示するために、あらかじめルートを 画像として用意しておいて、Google Mapのオーバーレイ機能を 使って表示させます。 そのためのタイル画像の準備をします。 タイル画像の準備 Google Mapの地図は、256…

1000以上のルートを、ユーザごとの地図に投影する方法(2) - 課題解決の方針

今回は、前回の2つの課題への対応の方針検討です。 課題1:地図データの画像数が膨大になる(HDD容量)。 地図画像は縮尺が小さくなるに従って、縦横の長さが2倍になります。 つまり、必要になる画像枚数は縮尺を変えるたびに枚数が 4倍, 16倍, ...と増えて…

1000以上のルートを、ユーザごとの地図に投影する方法(1) - はじめに

最近日記が続けられているので、技術的なネタも書いてみようかと思います。 一気に書くのも大変ですし、複数回に分けて書きます。 今のヤマレコの機能として、「地図上にルートをクリックして残す」 というものがあります。 そうすると「自分が行ったルート…

Hyper Estraierを使って類似記事の表示機能を追加する方法

今回は類似記事の検索機能を作ってみました。 私の運営するサイトは山の記録をみんなで投稿するサイトなのですが、 記事間の関連がいまいち希薄だったので、類似記事の検索機能を付けてみました。 機能としては記録に対して関連する記事を表示するだけでいい…